恶意软件的历史和应对措施
美国前赛博安全主管Richard Clarke曾说:“如果你在咖啡上的开销比IT安全方面还要多,你将受到黑客的攻击,而且是咎由自取。”本文讲述恶意软件的历史和应对的基本措施,希望能提高大家的安全意识。恶意软件的历史到20世纪80年代晚期与90年代早期,PC病毒已经是个大问题,并直接促使了反病毒软件编写与咨询行业的诞生。很多人都认为这种情况不能持续太久,从DOS变迁到“更正确的”操作系...
·
美国前赛博安全主管Richard Clarke曾说:“如果你在咖啡上的开销比IT安全方面还要多,你将受到黑客的攻击,而且是咎由自取。”本文讲述恶意软件的历史和应对的基本措施,希望能提高大家的安全意识。
“Football ... Need we say more? Know all the games, what time, what channel and all the stats. Never be in the dark again with this online game tracker”其中包含一个到指定 URL 的链接,点击链接后,受害者将会下载一个名为 tracker.exe 的文件,该文件会在用户的计算机中安装一个 rootkit 。使用类似这样的技术——实质上是专业的在线营销—— 就可以不断扩大僵尸网络的规模。 尽管媒体将 Storm 作为一个“蠕虫”进行宣传,但实际上它并不算是蠕虫,而是一个木马与 rootkit ,受害者在安装之前必须点击一些警告信息, Windows 会报警声称该软件没有经过签名,并询问是否确实要安装该软件。然而, Windows 经常会弹出一些让人厌烦的对话框,大多数人都已经习惯于关闭了事。 在 Storm 案例中, 9 月 11日时微软的恶意软件删除工具可以对该病毒进行定位, Redmond 报告称有 25 万台以上的计算机中该病毒已被清除;他们还估计, Storm 包括 50 万台活跃计算机,还可能有几十万台计算机处于非活跃使用状态,该网络—— 这个星球上最强大的超级计算机—— 被出租给哄抬股价的操作员和制药业骗子以牟利。还有另外两个包含 50 万台左右计算机的网络也被识别出来,分别是 Gozi 与 Nugache ,使用的是与 Storm 一样的点对点体系结构,到 2007 年年末时,这些僵尸网络变得日益高级和复杂,使用了很多新的犯罪模式 。 因此,恶意软件行业目前以产业化的模式运作,顶级的僵尸网络拥有者控制的计算机数量几乎与 Google 的计算机数量差不多。大的产业是建立在这样一个事实之上的,即用户还是会点击来路不明的链接。随着恶意软件走向产业化,木马变得比病毒更加常见,病毒通过电子邮件将自身从被感染的计算机向别处传播,会引起更多的关注并更有可能被清除,而木马则将感染数据流直接发送,并能施加更好的控制 。安装软件时,并不能确定这是否是一个 rootkit ,或者是使用键盘记录程序盗取银行密码的恶意间谍软件,或者是简单地收集个人数据以便卖给出价最高买主的间谍软件。说实话,清晰地进行恶意软件种类区分是困难的。 应对措施 1987 年,在第一个 PC 病毒出现之后的几个月之内,就已经有公司成立并销售反病毒软件,并导致了一场竞赛,每一家公司都试图战胜其他厂商。早期的防病毒软件有两种基本形态,扫描器(scanners)与校验和检查器(checksummers)。 扫描器是一种用于对可执行文件进行搜索的程序,目的是寻找已识别病毒中已知的字符串。病毒编写者采用了多种方法来防止被扫描出来,比如对流行的防病毒程序的特定反击,最常用的技术是多态化(polymorphism)。多态化的思想是,病毒或蠕虫每次复制自身时都改变代码,这会增加编写有效的扫描器的难度。常用的技术是使用简单的加密器对代码进行加密,并包含一个简短的头部,其中含有解密代码。每次复制时,病毒都在一个不同的密钥下对自身进行重新加密,并通过替换等价的指令序列对解密代码进行调整。 校验和检查器将系统中所有授权的可执行程序及其原始版本的校验和信息保存至一个列表,通常校验和是使用哈希函数计算得出的。病毒对此主要的应对措施是隐蔽(stealth),在这里的含义是病毒对校验和检查器使用的所有系统调用进行监测,并在检测时隐藏自身。 研究者还对恶意软件复制的理论进行了研究。要使得病毒的传染行为能有效持续,就必须超过流行病阈值(epidemic threshold)—— 也即传染的速度超过被清除的速度 。这不仅取决于病毒本身的传染性,还取决于联网计算机中存在漏洞计算机的数量。医学中的传染病模型在这里具有一定的适用性,但由于受软件交互 ( 软件共享是高度本地化的 )的不同拓扑结构影响,预测到的高传染率要高于实际观察到的 ( 后面会对拓扑结构进行讨论 )。人们还尝试使用免疫系统模型来改进分布式的恶意软件检测策略 。来自医学领域的一个似乎可借鉴的教训是,最有效的组织级的应对措施是集中式报告和响应 ( 使用精选的接种疫苗 ) 。 在实践层面上,反病毒软件和管理策略在一定程度上可以互相替代。但想要真正有效,就必须将工具、动机与管理等各种因素结合起来。在基于 DOS 的文件病毒时代,这意味着提供一个面向所有事件的集中式报告点,并对组织内计算机上的所有软件进行控制。主要的风险是来自于那些同时用于工作和其他事务 ( 比如孩子玩游戏 ) 的 PC 机上的文件,以及来自于其他组织的计算机上的文件。但是,怎样才能让员工对所有到来的邮件进行过滤并阻挡病毒呢?伦敦一家律师事务所采用了一种有效的策略,是给每个发现病毒的人奖励一盒巧克力—— 之后会将发票开给发送该被感染文件的公司。 恶意软件大部分都是通过电子邮件附件或网页引入的,通常的解决方案就是技术手段,包括自动过滤与集中报告等。公司可以在防火墙处对可执行程序进行过滤,并要求用户对系统采用谨慎的默认设置—— 比如禁用浏览器中的活动内容以及Word 文档处理中的宏。当然,这与可用性的要求会有一些冲突。人们还会创建各种类型的未授权通信通道,因此,过滤机制不可能尽善尽美,还必须对员工进行培训,让他们不要打开可疑的电子邮件附件,还要对员工进行恢复过程培训,使其可以处理感染的备份文件。简而言之,问题很复杂、很麻烦。但正如机体的疾病一样,预防胜于治疗;软件“保健”还涉及对非法软件复制、未授权私人使用等问题的控制。 最近,反病毒软件的有效性持续下降。僵尸网络与计算机渗透攻击的商业化意味着恶意软件编写者有更好的工具与更好的培训机会。几乎所有木马与其他攻击工具在初次使用时都不会被当前的反病毒软件产品识别出来—— 因为编写者对其进行了完全的测试—— 针对目标计算机特性进行测试使其不会被防毒软件检测。从效果上看,在 21 世纪头几年,防毒软件可以检测几乎所有病毒,而到了 2007 年,典型的防毒软件产品只能检测三分之一的病毒与其他攻击工具。 甚至像rootkit ,编写技巧也比几年前有所提高,很少会引起目标计算机所有者的警觉。有些 rootkit 甚至会安装及时更新的防毒软件,以便防止有竞争性的僵尸网络接管目标计算机。他们还使用各种隐蔽技术来逃避检测器。并且, rootkit 的销售者还提供售后服务,如果有清除工具出现,销售者会很快推出反制措施。 技术防御措施是否跟上了恶意软件的步伐,并不明确。在全球范围内,针对大型犯罪团伙的警察行动是必要的,尽管刚开始加强,但还有很长的路要走。运营良好的公司可以使用管理策略来对威胁进行管理和容纳,但对个人 Windows 用户而言,前景却不容乐观。一项调查表明,新 PC 销售中的 8% 是卖给了那些因为原有计算机上遍布广告软件和其他垃圾软件而变得不可用的人 。并且,来自于按键记录器 (keylogger)的威胁也日益增长,这种软件可以捕获用户在其计算机上的一切操作。有些这种软件就是将个人信息出售给市场商人的间谍软件,其他一些软件则致力于寻找银行密码和其他可用于诈骗犯罪的关键数据。 本文节选《信息安全工程》(第2版),Ross Anderson著, 齐宁、韩智文、刘国萍译,由清华大学出版社发行。
更多推荐
所有评论(0)