漏洞8个cpu新漏洞

8个CPU新漏洞  时间:2021-05-05  阅读:()
如何在3个月发现12个内核信息泄露漏洞陈唐晖李龙百度安全实验室2019目录0.
我是谁1.
认识漏洞2.
研究漏洞堆栈数据污染检测漏洞技术CVE实例分析3.
成果4.
总结和思考我是谁百度安全实验室资深安全研发工程师百度杀毒、卫士主防设计者和负责人十多年的windows内核研究和开发经验深谙Rootkit技术,内功深厚,剑法独到偶然涉入漏洞挖掘领域TanghuiChenchenhui00530@163.
com什么是内核信息泄露漏洞Windows内核存在很多信息泄露漏洞,可能导致绕过KASLR或系统关键信息泄露,攻击者可以利用它们得到一些重要信息,比如:加密密钥内核对象关键模块地址…漏洞是如何产生的如CVE-2018-84431.
用户态调用ZwDeviceIoControlFile(.
.
.
,0x7d008004,Output,…);2.
ZwDeviceIoControlFile经过系统调用进入内核3.
返回用户态后,Output包含内核栈中未初始化的数据现有的挖掘技术BochsPwnCPU指令模拟DigTool重量级VT技术插桩…挖掘信息泄露漏洞的方法第1步:堆/栈数据污染方法HookKiFastCallEntry,内核栈污染HookExAllocatePoolWithTag,内核堆污染对堆和栈的内存数据填充特殊标志数据,如AA等在HookKiFastCallEntry中,通过IoGetStackLimits获取内核栈内存,填充特殊标志数据IoGetStackLimits(&LowLimit,&HighLimit);__asm{xoreax,eax;moval,g_cFlags;//0xAAmovedi,LowLimit;movecx,Esp_Value;subecx,LowLimit;cld;repstosb;}栈的污染在调用ExAllocatePoolWithTag分配内存时,填充特殊标志数据PVOIDNTAPIHOOK_ExAllocatePoolWithTag(.
.
.
){PVOIDBuffer=NULL;Buffer=pfn_ExAllocatePoolWithTag(PoolType,NumberOfBytes,Tag);if(Buffer){memset(Buffer,g_cFlags,NumberOfBytes);//将内存初始化特殊数据,如0xAA}returnBuffer;}堆的污染堆栈数据污染的思考堆和栈数据污染技术相对简单,并不存在方法优劣内存中可能存在和污染标记相同的数据,有误报的可能性采用随机污染标记减少误报第2步:数据检测技术研究目前已经有基于CPU指令模拟、VT等数据检测技术.
那是否还有更简捷的方法呢数据检测技术研究经过探索,我们提出了三种新的用于数据检测技术:Nirvana(首次应用于内核信息泄露漏洞挖掘)memcpy/memmove,后称memcpy(最轻量级的方法)movsdNirvana是Microsoft提供的一个轻量级的动态translation框架,可用于监视和控制正在运行的进程的执行,而无需重新编译或构建进程中的任何代码(fromHookingNirvana@AlexIonescu),首次被我们应用于内核信息泄露漏洞挖掘.
通过Nirvana可设置系统调用返回到用户态时的回调函数,在回调函数中能够检测栈数据.
ZwSetInformationProcess(NtCurrentProcess(),ProcessInstrumentationCallback,&Info64,sizeof(Info64));typedefstruct_PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION{ULONG_PTRVersion;ULONG_PTRReserved;ULONG_PTRCallback;}PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION;Nirvana概述__declspec(naked)VOIDInstrumentationCallback(){__asm{//代码有省略.
.
.
moveax,fs:[0x8];movedi,fs:[0x4];cmpdwordptr[eax],g_cFlag;//如0xAAAAAAAAjz__find;addeax,4;cmpeax,edi;//代码有省略.
.
.
jmpdwordptrfs:[0x1B0];}}Nirvana检测技术的实现Nirvana捕获到的现场16Nirvana检测技术的优点WindowsVista之后系统都支持Nirvana使用系统提供接口,实现非常简单兼容性好Nirvana检测技术的缺陷只能检测栈数据,几乎无法检测堆数据抓不到泄露现场,分析和编写POC相对困难memcpyWindows内核层向应用层写入数据一般都使用memcpy/memmovekernelspaceuserspace用户态内存内核态内存memcpy(dst,src,size);检测Hookmemcpy/memmove,检测dst是否用户态内存,数据是否包含特殊标志数据void*__cdeclHOOK_memcpy(void*dst,void*src,size_tcount){//代码有省略.
.
.
if((ULONG_PTR)dstMmSystemRangeStart){pOffset=(PUCHAR)src;while(pOffset<=(PUCHAR)src+count-sizeof(DWORD)){if(*(DWORD*)pOffset==g_dwDwordFlags){//checked}}}//代码有省略.
.
.
}memcpy检测技术的实现memcpy检测技术特点实现简单,性能突出几乎没有性能损失兼容性好能够抓到漏洞第一现场,分析和编写POC简单优点突出,几无缺点memcpy深入研究size为变量,直接调用memcpysize为常数,memcpy被优化size为较大常数,优化为movsdmemmove不会被优化movsd检测方法探索memcpy会被优化成了什么最终都是编译成movsd指令通过movsd检测数据解决极个别情况下memcpy覆盖面不够的问题movsd如何实现检测movsddst,src;(F3A5)int20h;(CD20)都是两字节扫描nt模块代码段,替换所有movsd为int20h自定义int20h中断处理函数,KiTrap20KiTrap20中检测内存数据if(*(WORD*)pOffset==0xA5F3){//repmovsdwordptres:[edi],dwordptr[esi]MdlBuffer=GetMdlBuffer(&Mdl,pOffset,2);*(WORD*)MdlBuffer=0x20CD;//int20}__declspec(naked)VOIDHOOK_KiTrap20(){__asm{//代码有省略.
.
.
pushfd;pushad;callDetectMemory;popad;popfd;repmovsdwordptres:[edi],dwordptr[esi];//也可以检测类似指令iretd;}//代码有省略.
.
.
}movsd检测技术的实现VOIDDetectMemory(PVOIDDestAddress,PVOIDSrcAddress,SIZE_TSize){//代码有省略.
.
.
if((ULONG_PTR)DestAddress.
.
}}movsd检测技术的实现movsd检测技术特点检测数据较memcpy覆盖更全面能够抓到漏洞第一现场,分析和编写POC简单第3步:漏洞分析捕获到疑似漏洞时,通过调试器现场分析确认让代码执行回到用户态,确认用户态内存中是否存在特殊标志数据,如果存在那么就是内核信息泄露漏洞通过分析调用栈和逆向用户态的系统调用的相关代码,编写POC漏洞分析有些漏洞内存经过多次拷贝,造成分析和编写POC非常困难我们专门实现了一套内存追踪的工具来辅助分析,支持:内存trace内存条件断点这是win1017134x64检测到的一个漏洞现场,该漏洞已分配CVE-2018-8443CVE实例分析回溯到mpssvc.
dll,确认用户态内存是否包含特殊标记CVE实例分析回溯到mpssvc.
dll,找到漏洞触发代码CVE实例分析CVE实例分析最终完成pocCVE实例分析使用三个月就已挖掘windows内核信息泄露漏洞12个,都已分配CVE其中7个CVE获得当时最高5000$奖金成果思考仅此而已吗…用户态内存只读(去掉PTE写位)反向追踪…ThankyouTanghuiChenchenhui00530@163.
com

香港 E5-2650 16G 10M 900元首月 美国 E5-2660 V2 16G 100M 688元/月 华纳云

华纳云双11钜惠出海:CN2海外物理服务器终身价688元/月,香港/美国机房,免费送20G DDos防御,50M CN2或100M国际带宽可选,(文内附带测评)华纳云作为一家专业的全球数据中心基础服务提供商,总部在香港,拥有香港政府颁发的商业登记证明,APNIC 和 ARIN 会员单位。主营香港服务器、美国服务器、香港/美国OpenStack云服务器、香港高防物理服务器、美国高防服务器、香港高防I...

A400互联1H/1G/10M/300G流量37.8元/季

A400互联是一家成立于2020年的商家,本次给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐。目前,商家推出香港cn2节点+cmi线路云主机,1H/1G/10M/300G流量,37.8元/季,云上日子,你我共享。A400互联优惠码:七折优惠码:0711A400互联优惠方案:适合建站,个人开发爱好者配置...

乌云数据(10/月),香港cera 1核1G 10M带宽/美国cera 8核8G10M

乌云数据主营高性价比国内外云服务器,物理机,本着机器为主服务为辅的运营理念,将客户的体验放在第一位,提供性价比最高的云服务器,帮助各位站长上云,同时我们深知新人站长的不易,特此提供永久免费虚拟主机,已提供两年之久,帮助了上万名站长从零上云官网:https://wuvps.cn迎国庆豪礼一多款机型史上最低价,续费不加价 尽在wuvps.cn香港cera机房,香港沙田机房,超低延迟CN2线路地区CPU...

8个CPU新漏洞为你推荐
甘肃省核地质二一九大队数字化医用X射线企业建网站一般中小型企业建立网站需要多少费用?多大的空间?163yeah网易yeah邮箱登陆补贴esetyixingjia通配符的使用方法宜人贷官网宜信信用贷款上征信吗免费代理加盟哪有免费的代理可以做的?申请400电话申请400电话需要什么条件美国独立美国是什么时候独立的?discuz论坛discuz论坛怎么做
联通vps n点虚拟主机管理系统 电影服务器 rackspace info域名 网通服务器ip 长沙服务器 hnyd 网通ip 域名接入 cdn加速原理 服务器是干什么的 linux服务器维护 美国免费空间 789电视剧 超级服务器 双线机房 太原联通测速 美国凤凰城 独立主机 更多