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

日期: 2012-07-03 作者:Gary McGraw翻译:杨帆 来源:TechTarget中国 英文

不良软件成为恶意软件的Vector   Vector是一个具有许多含意的词语中。在数学上,Vector是带有大小和方向的一条线。在传染病学中,Vector是将传染病从一个宿主到传输另外一个上的有机体。使用第2种定义,我们能够将软件缺点(以及造成的不良软件)概念化为用于恶意代码传播的途径。

  为什么这个如此重要?因为恶意软件问题追根到底必然涉及不良软件。这就是传染病学的101军规,根除传播途径。知道为什么消灭蚊子对于战胜疟疾至关重要么?因为蚊子是一种vector。杀完蚊子接着你能直接影响疟疾的传播。

我们所有为提高软件安全所作的事情都是针对不良软件。因为解决它也有助于控制恶意软件问题。   当不……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

不良软件成为恶意软件的Vector

  Vector是一个具有许多含意的词语中。在数学上,Vector是带有大小和方向的一条线。在传染病学中,Vector是将传染病从一个宿主到传输另外一个上的有机体。使用第2种定义,我们能够将软件缺点(以及造成的不良软件)概念化为用于恶意代码传播的途径。

  为什么这个如此重要?因为恶意软件问题追根到底必然涉及不良软件。这就是传染病学的101军规,根除传播途径。知道为什么消灭蚊子对于战胜疟疾至关重要么?因为蚊子是一种vector。杀完蚊子接着你能直接影响疟疾的传播。我们所有为提高软件安全所作的事情都是针对不良软件。因为解决它也有助于控制恶意软件问题。

  当不良软件成为恶意软件,或是邪恶的开发人员无法无天

  你认为我们已经做得足够了。但是这是计算机安全,所以当然有一些特殊的情况需要考虑,假设我们“以坏人的方式”去思考。比如:想象下某个怀着邪恶意图的开发人员有目的地在他编写的软件中安放bug,以便他可以在产品上架后售卖零日漏洞给歹徒。还有:想象一下某个邪恶的开发人员将时间炸弹木马植入到他编写的代码中,并且随后使用这个时间炸弹来敲诈依赖这些代码进行必要业务过程的公司。再有:想象一下邪恶的开发人员故意地编写代码来耗尽所有可用的计算机资源,所以运行该程序的计算机缓慢直到瘫痪。再来一个现代版超级精英的例子:想象一下某个开发人员为移动手机编写了一个简单的游戏应用,该应用看起来毫无害处还有趣,但是实际上将用户的数据从手机上导出并且发送给攻击者。这些问题的可能性是无穷无尽的。

  我们是否可以做一些事情,来寻找木马、以及解决像这样故意在源代码中放置bug的问题呢?我们能够战胜邪恶的开发人员么?或许会有些希望。

  首要的事情:在一些情形下,了解是否能够信任开发人员是至关重要的,在安全策略中应该制定这点。例如,美国的NSA已经发布了“解决恶意代码风险指导意见”来应对这个问题。还有大型的跨国银行有类似技术的规定。Cigital公司的顾问Marina Khainson一直在探索侦测她称之为“恶意设计的要素”的思路,使用的是标准问题静态分析技术。她最近在OWASP上讨论的“恶意代码侦测:突破静态分析”一书介绍了使用静态分析技术侦测恶意代码的前期工作,并拿安卓移动手机应用的木马功能为例。

  这儿的基本思路是什么?寻找确定的可能是可疑的静态字符串,例如“chmod 777”或是一块高熵数据(可能意味着是经过加密的东西)。提防看起来不需要的奇怪的打包文件,或是高权限的系统调用。这些请求中的一些可以是自动化的(例如,运行对于二进制的字符串检查能够产生有意思的东西)。其它可能需要人工的分析。结果令人振奋。

  同不良软件的战斗无处不在

  比起讨论没有尽头的安全bug、讨论恶意软件或许更加有趣和令人愉快,但是如果打算战胜恶意软件,我们必须从不良软件开始。不管怎么样,大多数的开发人员不是邪恶的,是吧!?

相关推荐