2013年是0-day的高发期,也是安全工程师和黑客之间的博弈最为激烈的一年,微软在这一年推出了很多新的安全机制,黑客们也在尝试很多新颖的攻击思路,下面就来看在2013年对弈双方如何妙招迭出。
正文:
在过去的一年里,Micrsoft修复了大量的漏洞,其中包括操作系统上的漏洞,和一些捆绑软件上的漏洞,比如Office ,IE。在补丁发出之前,这些漏洞被称作0-day 漏洞,他们可以协助攻击者入侵他们的目标。而在这些漏洞中IE浏览器的漏洞,是最被关注的一种。
我们可以说,2013年是0-day漏洞的高发期,海量的漏洞被用于APT攻击。在下面这个表中你可以看到在2013年微软修复的漏洞。
标红的漏洞,是被用于真实入侵的漏洞。
下面是这些漏洞的详细信息。
我们可以看到,攻击者为了绕过ASLR,在一些没有经过ASLR保护的文件中搜寻可以被ROP利用的代码片段(我对溢出不算是很在行 :-(),其中一个例子是,Microsoft Office 2007-2010 库中的没有被ASLR保护的 hxds.dll,这个编号为MS13-106的绕过漏洞 (called Security Feature Bypass),在十二月周二的补丁中被修复。
下面的内容是2013年的安全通告(security advisories SA)
下面的柱状图,展示了windows组件的补丁数量。目前windows支持的版本范围桌面系统从windows xp sp3 到 windows 8.1,服务器系统从Windows Server 2003 到 2012 R2.
下图是加上了Office (2003 – 2013 for Windows)的情况。
下图是这些漏洞的利用方式以及所造成的影响。
Drive-by download 路过试下载:就是偷偷在你的电脑里面装东西。
Local Privilege Escalation (LPE, Elevation of Privilege) 本地权限提升:这是一种获得本地最高权限的方法。通常他会利用内核态代码逃过用户态的一些限制。
Remote Code Execution (RCE):攻击者可以通过页面,E-mail,即时消息等方式,远程激活代码。
从上面的图中我们看到,IE浏览器,.Net 框架,Silverlight 插件,等这些产品都出现过远程代码执行漏洞。这些漏洞大多都是通过IE浏览器触发的。攻击者会用一个精心构造的页面来触发上述软件中的漏洞。用户可以通过,IE浏览器中的一些选项来防止自己被攻击。 Enhanced Protection Mode (EPM) 或者 sandbox mode都可以达到这种效果。
IE 11 在 Win8 64 位下的截图
默认情况下,windows 8 以及以后版本,IE标签栏使用32位的进程来运行,因为32位进程的内存地址比64位小很多,这使他们更容易被堆喷射攻击。堆喷射也经常被用于绕过ASLR,Office 的漏洞经常被用作于钓鱼攻击的辅助手段,通过一封诱惑性的邮件,让你下载并点击其中的一个DOC文档,一旦你打开DOC文档,恶意代码就会成功运行。
现在最新版的 Microsoft Word 2013 和 OutLook 2013 已经包含了特殊的安全选项。这些安全选项会禁止一些不安全的机制。举个例子说,Outlook会使用低权限来运行Word进程,这种做法可以有效地防止shellcode执行功能。
一些运行在内核态的组件也可以帮助入侵者提升权限或者绕过用户态的一些限制,比如图形界面子系统驱动(Windows GUI-subsystem driver),win32k.sys ,一些系统驱动 和 ntoskrnl (OS内核)。其中win32k.sys 这个驱动程序是问题最多的,下图是2013年和2012年的漏洞情况。灰色的条条是2012年的数据。
我们看到2013年的漏洞数呈压倒性优势,其中图形界面子系统驱动(Windows GUI-subsystem driver),win32k.sys 和IE浏览器做了很大的贡献。
下图是0-day漏洞被使用的时间,和使用的组织。可以说,2013年是APT和水坑攻击泛滥的一年。水坑攻击越来越被入侵者青睐,他攻击你常去的网站,间接地让你中招。在2014年,水坑攻击也将会是最热门的攻击手法之一。
对于2013年的漏洞频发,微软也作出了相应的对策。主要的改动集中在它的内存分配机制,去除了SharedUserDat 中ntdll函数的很多指针(防ASRL绕过),禁止向不信任的程序提供内核对象指针信息(防KASLR绕过)。
另一个比较有趣的在windows 8 上的改进是,所有微软编辑的文件都包含一个加强版的ASLR选项(High Entropy ASLR, HEASLR)。所有windows 8 及其以上版本,都支持了High Entropy ASLR, HEASLR选项,在一定程度上防止了漏洞被利用(/HIGHENTROPYVA linker flag).
你也可以使用 ProcExp tool这款工具检查,High Entropy ASLR, HEASLR,是否被使用。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/58099.html