设为首页收藏本站language 语言切换
查看: 1350|回复: 1
收起左侧

根除不良软件 解决恶意软件(2)

[复制链接]
发表于 2013-10-8 09:57:52 | 显示全部楼层 |阅读模式
不良软件成为恶意软件的Vector
Vector是一个具有许多含意的词语中。在数学上,Vector是带有大小和方向的一条线。在传染病学中,Vector是将传染病从一个宿主到传输另外一个上的有机体。使用第2种定义,我们能够将软件缺点(以及造成的不良软件)概念化为用于恶意代码传播的途径。
为什么这个如此重要?因为恶意软件问题追根到底必然涉及不良软件。这就是传染病学的101军规,根除传播途径。知道为什么消灭蚊子对于战胜疟疾至关重要么?因为蚊子是一种vector。杀完蚊子接着你能直接影响疟疾的传播。我们所有为提高软件安全所作的事情都是针对不良软件。因为解决它也有助于控制恶意软件问题。
当不良软件成为恶意软件,或是邪恶的开发人员无法无天
你认为我们已经做得足够了。但是这是计算机安全,所以当然有一些特殊的情况需要考虑,假设我们“以坏人的方式”去思考。比如:想象下某个怀着邪恶意图的开发人员有目的地在他编写的软件中安放bug,以便他可以在产品上架后售卖零日漏洞给歹徒。还有:想象一下某个邪恶的开发人员将时间炸弹木马植入到他编写的代码中,并且随后使用这个时间炸弹来敲诈依赖这些代码进行必要业务过程的公司。再有:想象一下邪恶的开发人员故意地编写代码来耗尽所有可用的计算机资源,所以运行该程序的计算机缓慢直到瘫痪。再来一个现代版超级精英的例子:想象一下某个开发人员为移动手机编写了一个简单的游戏应用,该应用看起来毫无害处还有趣,但是实际上将用户的数据从手机上导出并且发送给攻击者。这些问题的可能性是无穷无尽的。
我们是否可以做一些事情,来寻找木马、以及解决像这样故意在源代码中放置bug的问题呢?我们能够战胜邪恶的开发人员么?或许会有些希望。
首要的事情:在一些情形下,了解是否能够信任开发人员是至关重要的,在安全策略中应该制定这点。例如,美国的NSA已经发布了“解决恶意代码风险指导意见”来应对这个问题。还有大型的跨国银行有类似技术的规定。Cigital公司的顾问Marina Khainson一直在探索侦测她称之为“恶意设计的要素”的思路,使用的是标准问题静态分析技术。她最近在OWASP上讨论的“恶意代码侦测:突破静态分析”一书介绍了使用静态分析技术侦测恶意代码的前期工作,并拿安卓移动手机应用的木马功能为例。
这儿的基本思路是什么?寻找确定的可能是可疑的静态字符串,例如“chmod 777”或是一块高熵数据(可能意味着是经过加密的东西)。提防看起来不需要的奇怪的打包文件,或是高权限的系统调用。这些请求中的一些可以是自动化的(例如,运行对于二进制的字符串检查能够产生有意思的东西)。其它可能需要人工的分析。结果令人振奋。
同不良软件的战斗无处不在
比起讨论没有尽头的安全bug、讨论恶意软件或许更加有趣和令人愉快,但是如果打算战胜恶意软件,我们必须从不良软件开始。不管怎么样,大多数的开发人员不是邪恶的,是吧!?
发表于 2013-10-8 11:07:54 | 显示全部楼层
沙发 2013-10-8 11:07:54 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-1-31 12:29 , Processed in 0.051338 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表