反病毒引擎设计
日期:2008年5月11日 作者:清风网络学院 查看:[大字体 中字体 小字体]-
在WIN9X下进程虚拟地址空间中映射共享系统代码的部分(3G--4G)中除了最上面4M页表有页面保护外其它地方可由用户程序读写。如果你用Softice(系统级调试器)的PAGE命令查看这些地址的页属性,则你会惊奇地发现U RW位,这说明这些地址可从用户态直接读出或写入。这意味着任何一个用户程序都能够在其运行过程中恶意或无意地破坏操作系统代码页。由此病毒就可以在GDT(全局描述符表),LDT(局部描述符表)中随意构造门描述符并借此进入核心态。当然,也不一定要借助门描述,还有许多方法可以得到Ring0。据我所知的方法就不下10余种之多,如通过调用门(Callgate),中断门(Intgate),陷阱门(Trapgate),异常门(Fault),中断请求(IRQs),端口(Ports),虚拟机管理器(VMM),回调(Callback),形式转换(Thunks),设备IO控制(DeviceIOControl),API函数(SetThreadContext) ,中断2E服务(NTKERN.VxD)。由于篇幅的限制我不可能将所有的方法逐一描述清楚,这里我仅选取最具有代表性的CIH病毒1.5版开头的一段代码。
人们常说CIH病毒运用了VXD(虚拟设备驱动)技术,其实它本身并不是VXD。只不过它利用WIN9X上述漏洞,在IDT(中断描述符表)中构造了一个DPL(段特权级)为3的中断门(意味着可以从Ring3下执行访问该中断门的INT指令),并使描述符指向自己私有地址空间中的一个需要工作在Ring0下的函数地址。这样一来CIH就可以通过简单的执行一条INTXX指令(CIH选择使用INT3,是为了使同样接挂INT3的系统调试器Softice无法正常工作以达到反跟踪的目的)进入系统核心态,从而调用系统的VMM和VXD服务。以下是我注释的一段CIH1.5的源代码:
; *************************************
; * 修改IDT以求得核心态特权级 *
; *************************************
push eax
sidt [esp-02h] ;取得IDT表基地址
pop ebx
add ebx, HookExceptionNumber*08h+04h ;ZF = 0
cli ;读取修改系统数据时先禁止中断
mov ebp, [ebx]
mov bp, [ebx-04h] ;取得原来的中断入口地址
lea esi, MyExceptionHook-@1[ecx] ;取得需要工作在Ring0的函数的偏移地址
push esi
mov [ebx-04h], si
shr esi, 16
mov [ebx+02h], si ;设置为新的中断入口地址
pop esi
; *************************************
; * 产生一个异常来进入Ring0 *
; *************************************
int HookExceptionNumber ;产生一个异常
当然,后面还有恢复原来中断入口地址和异常处理帧的代码。
刚才所讨论的技术仅限于WIN9X,想在WINNT/2000下进入Ring0则没有这么容易。主要的原因是WINNT/2000没有上述的漏洞,它们的系统代码页面(2G--4G)有很好的页保护。大于0x80000000的虚拟地址对于用户程序是不可见的。如果你用Softice的PAGE命令查看这些地址的页属性,你会发现S位,这说明这些地址仅可从核心态访问。所以想在IDT,GDT随意构造描述符,运行时修改内核是根本做不到的。所能做的仅是通过加载一个驱动程序,使用它来做你在Ring3下做不到的事情。病毒可以在它们加载的驱动中修改内核代码,或为病毒本身创建调用门(利用NT由Ntoskrnl.exe导出的未公开的系统服务KeI386AllocateGdtSelectors,KeI386SetGdtSelector,KeI386ReleaseGdtSelectors)。如Funlove病毒就利用驱动来修改系统文件(Ntoskrnl.exe,Ntldr)以绕过安全检查。但这里面有两个问题,其一是驱动程序从哪里来,现代病毒普遍使用一个称为“Drop”的技术,即在病毒体本身包含驱动程序二进制码(可以进行压缩或动态构造文件头),在病毒需要使用时,动态生成驱动程序并将它们扔到磁盘上,然后马上通过在SCM(服务控制管理器)注册并最终调用StartService来使驱动程序得以运行;其二是加载一个驱动程序需要管理员身份,普通帐号在调用上述的加载函数时会返回失败(安全子系统要检查用户的访问令牌(Token)中有无SeLoadDriverPrivilege特权),但多数用户在大多时候登录时会选择管理员身份,否则连病毒实时监控驱动也同样无法加载,所以留给病毒的机会还是很多的。 - 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] 下一页
-
- 反病毒引擎设计 相关文章:
- ·卡巴斯基防火墙“反黑客”的设置技巧
- ·谷歌清除恶意链接 黑客反击破坏排名系统
- ·认识反网络钓鱼欺骗新技术
- ·微软Win Vista SP1加强反盗版
- ·企业选择反间谍软件程序10个要点
- ·增加Distinct后查询效率反而提高
- ·文件遭破坏致Win XP系统反复重启
- ·互联网基础建设影响博客 反对封杀P2P
- ·Xml 串行话对象与反串行实例
- ·Photoshop模拟太阳镜上的反光图像
- 反病毒引擎设计 相关软件
- ·《反恐精英》uyr精彩主视角录像
- ·《反恐精英》JAEGARN精彩主视角录像
- ·《反恐精英》录像:aTTaX vs GoodGame
- ·《反恐精英》NoA.ave精彩主视角录像
- ·《反恐精英》录像:MYM vs Logitech.fi
- ·《反恐精英》录像:俄罗斯 vs 法国
- ·《反恐精英》stone精彩主视角录像
- ·《反恐精英》fnatic.f0rest精彩主视角录像
- ·《反恐精英》saken精彩主视角录像
- ·《反恐精英》SK训练地图:glock 下载
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:如何利用ASP把图片上传到数据库
下一篇:反病毒引擎设计
精品推荐
热点TOP10
- ·不再怕电脑病毒 电脑中毒后的6招处理方法
- ·反病毒引擎设计
- ·104种木马的清除方法
- ·免费杀毒软件也是正版,不愁号被封
- ·安全卫士木马播报:警惕网上被“钓鱼”
- ·新挂马方式开始流行 ARP挂马称雄局域网
- ·驱逐令人抓狂的“蓝屏使者”
- ·如何让你的U盘做到100%预防电脑病毒
- ·诺顿杀毒软件正式版用户找回密码的方法
- ·和病毒再见 六款免费杀毒软件对比测试
- ·基础知识讲解 病毒的IFEO映像劫持技术
- ·上网不再怕中毒 教你一招克死所有病毒
- ·总结经典:木马十大藏身地点大搜查
- ·超级详细了解操作系统进程和病毒知识
- ·三招两式抵制IE浏览器顽固病毒
- ·AUTO病毒可致杀软失效系统瘫痪
- ·清除木马Dropper.Win32病毒的方法
- ·魔兽世界新式盗号木马攻破密保卡
- ·掌握系统常用进程 找出病毒不再困难
- ·用木马取得远程电脑上QQ聊天纪录
特别推荐
- ·不再怕电脑病毒 电脑中毒后的6招处理方法
- ·如何让你的U盘做到100%预防电脑病毒
- ·感染虫下载器感染exe文件下载病毒
- ·用木马取得远程电脑上QQ聊天纪录
- ·卡巴内存驻留型病毒检测方法
- ·三招两式抵制IE浏览器顽固病毒
- ·新挂马方式开始流行 ARP挂马称雄局域网
- ·和病毒再见 六款免费杀毒软件对比测试
- ·迅雷把好关 通过下载传播病毒难上加难
- ·清除木马Dropper.Win32病毒的方法
- ·上网不再怕中毒 教你一招克死所有病毒
- ·检测硬盘与内存中病毒痕迹的四种绝招
- ·经验心得:五招提速杀毒软件
- ·ARP网络攻击解决方案:如何查找攻击者
- ·木马病毒绕过主动防御直接刺穿卡巴斯基
- ·狠招 全面禁止瑞星2008随机启动
- ·教你五大妙招 再次提速杀毒软件的效率
- ·灭毒有招 如何全面清除计算机病毒
- ·104种木马的清除方法
- ·多种杀毒软件 操作系统百毒不侵
