从 Window 不安全dll加载 漏洞 来看Windows系统漏洞

    动态库,一直伴随着windows操作系统, 属于windows系统设计框架的一部分, 从这两年流行的后门木马病毒来看, 一大部分利用了此漏洞,可以说这是Windows设计的失误.
 
    1.主要原因是:过于灵活的接口制造成的。
 
    因函数调用通过固定顺序排列的函数入口表来执行代码,所以只要模拟一个动态库一模一样的DLL文件,即可欺骗调用着来执行恶意代码。
 
    2.另一个原因是,使用了固定的动态库文件搜寻加载方式,只要将需要欺骗的动态库放在exe当前文件夹下,即可,对于用户而言,根本不知道那是危险文件。
 
    虽然系统保护了系统所需要的动态库文件,可是保护不了所有应用程序层的动态库
 
    问题1.解决方案:
    1.对动态库加载前进行MD5校验,对系统的PE Loader进行升级,或者有开发着,自己手动编写验证代码.
    2.由编译器对动态库的调用改为偏移地址直接调用,而非通过函数转表间接调用.
      只要不改变原来的结构,调用就没有问题,如果dll升级扩展 ?(想知道请关注)
 
    问题2.解决方案:
    1.编写代码时不要用LoadLibrary() GetProcAddress() 来动态调用
    2.使用通过系统变量取得固定路径调用系统提供的动态库
    3.在EXE/DLL导入表增加导入库的路径标志,比如:0,从系统目录寻找,1.从当前目录寻找
      第3点需要系统的 PE Loader 来支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值