分析杀毒软件BitDefender中的整数溢出漏洞(第一部分)

Pagefault的阐发并没有在这里停止

在软件破绽的“万神殿”中,安然软件中呈现的破绽被觉得比其他软件中的破绽加倍严重我们寄托安然软件来抵御进击者,是以我们的防御系统中的破绽不仅容许进击者造成危害,还会给我们带来差错的安然感我们以为自己是受保护的,着实不然这也是我们为什么分外关注有关于Bitdefender Internet Security一个被表露的破绽案例的缘故原由之一,假如该破绽被使用,Bitdefender Internet Security可能容许远程代码履行这个现在已经被修复的破绽是因为整数溢出引起的,并值得我们仔细察看

接下来是提交案例的钻研者的评论这名钻研职员的笔名为plume Pagefault,他出色地描述了这个破绽,我们觉得其他人会有兴趣看到一种措施来使用今世软件中的整数溢出,只管有DEP和ASLR下面是他对这个破绽的描述,这个破绽容许在受影响的系统上远程履行代码

Bitdefender的简介

Bitdefender供给了多种具有防病毒(AV)功能的产品,并且所有这些AV产品都安装了vsserv.exe SYSTEM办事该办事用于处置惩罚AV扫描哀求正如你所期望的AV引擎一样,它经由过程一系列具有.xmd或.cvd扩展名的压缩可履行文件(位于%PROGRAMFILES%Common FilesBitdefenderBitdefender Threat ScannerAntivirus_XXXXPlugins目录下)来处置惩罚各类文件类型(如PDF、JPG、DOC、EXE)和EXE包然而,该引擎还有一个不太为人知的功能是模拟碰到的可履行代码,用于检测未知或肴杂的病毒

当碰到x86可移植可履行文件(PE)时,Bitdefender经由过程包孕在cevakrnl.xmd和ceva_emu.cvd文件中的高度繁杂的代码仿真器来虚拟履行PE 仿真器创建一个私有虚拟地址空间,处置惩罚字节码解释,供给各类Windows API的实现,并为频繁履行的地址创建实时(JIT)代码

破绽的简介

当仿真器检测到对函数的调用时,cevakrnl.xmd!sub_366F4D0()会被调用该函数处置惩罚仿真函数中的第一条指令,经由过程一个常量表搜索匹配项在处置惩罚以下指令时,算法会斟酌说冥器确当前状态换句话来说,对付每个匹配的指令,都将搜索另一个匹配表以查找以下指令

当函数中的前16个字节被仿真器匹配时,或者当指令序列未知时,初始搜索停止

常量表中着末的匹配项会供给函数肇端位置之前的许多已知字节,以及函数肇端位置之后的16字节

[X bytes before]

FUNCTIONSTART:

16 bytes already matched

[Y bytes after]

然后,读取和反省字节,以确定它们是否匹配已知的AV署名假如匹配,则调用检测到的代码署名对应的处置惩罚法度榜样以进行进一步处置惩罚

深入阐发

当碰到Themida 加壳对象代码序列时,将调用sub_36906D0()函数,以便对匹配的序列履行代码解释

在解释代码中,独一的变量是读取ebx的值的ebp偏移量“X”该函数从代码流中提取偏移量,并应用它从仿真客栈中获取ebx的值

接下来将解释mov ecx, [ebx]指令,并从ebx保存的模拟地址中提取ecx的值

接下来解释下面的代码序列:

该进程会根据ecx + dword[ecx + 0x78 + word[ecx+0x3c]] 谋略出仿真esi

接下来从仿真esi中提取统共0x28字节,并且在偏移0x18处读取dword(对应仿真代码中的mov edi,[esi + 18h])

该dword(N)乘以4,但没有进行整数界限反省,并在malloc()的调用中通报这导致了一个大年夜小不够的缓冲区的分配

接下来进入一个轮回,在该轮回中,缓冲区添补了在仿真客栈上的偏移处找到的N个字符串的CRC32校验和当字符串的偏移量过大年夜时,轮回也会中止

这供给了我们履行代码所需的统统,第一个是可以用我们自己的内容覆盖随意率性数量字节的能力这必要包孕所谋略出的CRC具有期望值(例如反向CRC)的字符串所包孕的CRC32算法长短标准的,由于它斟酌了每个字符串的终止零字节然而,经由过程蛮力进击,逆向阐发它是可能的

当调用匹配的函数时,破绽会被触发,期望数量的字节随随意率性内容溢出

结论(第一部分)

经由过程深入阐发,我们可以看到,进击者可以在受影响的Bitdefender版本上履行随意率性代码供应商应用更新73447办理了此破绽(及其他破绽)对付Bitdefender的用户而言,应该确保自己的系统应用的是更新后的版本或可用于系统的更新在我们的下一篇博客中,我们将评论争论破绽使用本身,以及若何避免受到DEP和ALSR的影响

赞(0) 打赏
分享到: 更多 (0)
免责申明:本站所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,不保证真实性,并不承担任何法律责任

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

阿里云优惠网 更专业 更优惠

阿里云优惠券阿里云大礼包