安全篇 ━━ HTTP.sys整数溢出漏洞的检测和修复

一、概述

Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server 2008 R2/Server 2012/Server 2012 R2以及Windows 7/8/8.1操作系统都受到这个漏洞的影响。

Http.sys 是一个位于 Windows 操作系统核心组件,能够让任何应用程序通过它提供的接口,以 Http 协议进行信息通讯。微软在 Windows 2003 Server 里引进了新的 HTTP API 和内核模式驱动 Http.sys,目的是使基于 Http 服务的程序更有效率。其实在 Windows XP 安装 SP2 后,Http.sys 已经出现在系统里了,但事实上操作系统并没有真的使用这个内核级驱动,而 XP 上自带的 IIS 5.1 也没有使用 HTTP API。

此漏洞是一个整数溢出类型的漏洞,微软安全公告称最大安全影响是远程执行代码。

官方通报:
《MS15-034:HTTP.sys 中的漏洞可能允许远程执行代码:2015 年 4 月 14 日》

安全篇 ━━ HTTP.sys整数溢出漏洞的检测和修复_第1张图片

二、检测

检测的方法有运行Py文件,扫描工具(类似Burp Suite)等。

主要方法就是在请求包中添加Range字段,通过返回错误来判断是否存在该漏洞。

简单点的话,我们可以通过Postman来进行检测。
但Postman必须通过Chrome安装,而chrome的网上商店也不是那么好打开的,你懂的。
《Postman 安装及使用入门教程》
《Postman中文文档——沙盒(Sandbox)》

安装完postman后,在headers中添加Params并Send,如下:

Range: bytes=0-18446744073709551615
  • 响应400:证明不存在HTTP.sys远程代码执行漏洞。
  • 响应416:证明存在HTTP.sys远程代码执行漏洞。

因为postman是通过Chrome执行的,所以如果你的Chrome使用了代理,可能会出现407错误,具体错误列表参考:
《HTTP请求错误200、300、400、401、402、403、404、405、406、407、412、414、415、500、501、502解析》
安全篇 ━━ HTTP.sys整数溢出漏洞的检测和修复_第2张图片
本图只是参考,京东用iis么???返回错误不做解释~~

三、修复

1.下载http.sys漏洞补丁包 (推荐本方案)

官方补丁集:
《KB3042553》
《Microsoft Security Bulletin MS15-034 - Critical》或《Microsoft Security Bulletin MS15-034 - Critical》

windows2008的补丁地址:
《Security Update for Windows Server 2008 R2 x64 Edition (KB3042553)》

出现无法安装的提示
看看下面的链接能否解决问题,我有几台2008服务器,只有两台安装成功。。。
《windows server2008 R2 standard版本KB3042553补丁提示此更新不适用于您的计算机》

其它补丁地址参考上面的补丁集,比如windows server 2012 r2的话,复制框线地址下载:
在这里插入图片描述

安装后用检测工具再测试一下,看看返回错误是否变为400即可。
在这里插入图片描述

2.禁用IIS内核缓存 (缓解方案)

如果系统无法升级补丁,那么可通过禁用IIS内核缓存来临时缓解此漏洞的危险,但需要注意这可能会导致IIS性能下降。

执行方法参考:
《Enable Kernel Caching (IIS 7)》

3.IIS7加固方案:

虽然IIS7中http.sys已经独立出来成为系统级驱动程序,但以史为鉴,建议用户在安装补丁的同时也需要考虑IIS加固事项。

操作方法请参考:
Configure Web Server Security (IIS 7)

四、参考

《IIS 系列 Http.sys 处理 Range 整数溢出漏洞》
《HTTP.sys漏洞的检测和修复(附补丁包下载)》
《每日漏洞 | HTTP.sys远程代码执行》
《Windows Server 2012 R2 Microsoft Windows HTTP.sys远程代码执行漏洞 (MS15-034)(CVE-2015-1635)》

你可能感兴趣的:(安全,服务器,安全,http,服务器,windows,iis)