概述
一、简介
有时候,我们的应用程序会遭受网络犯罪分子使用Hook或ROP攻击,所以必须找到有效的方法来保护它们。在本文中,我描述了一个案例:当一个局外人(第三方应用程序,恶意软件或逆向工程师)在我们的应用程序中拦截系统调用以更改其行为或监控其性能时,如何检测。
我还描述了针对以下攻击类型的两种保护方法:
· Hook需要将第三方代码注入到目标应用程序中以更改内存页面的权限并重写源代码
· ROP攻击不需要任何代码注入
您可以使用这些方法来保护自己的应用程序,或在设计主动网络防御系统时采用这些方法来防止刚刚提到的各种攻击,甚至是0 day攻击。
二、Hooks
Hook用于多种目的,但网络犯罪分子通常使用它们来改变应用程序或操作系统的行为并监视其性能。有各种各样的钩子,但本文只考虑两种类型:
1. 修补导入地址表(IAT)
2. Splicing
为了hook一个函数,攻击者需要在内存加载的应用程序中更改代码。为了修补,他们必须在IAT中重写地址。对于Splicing,他们需要更改JMP指令的地址为函数开始的地址。结果,应用程序代码将被改变。
最后
以上就是稳重羽毛为你收集整理的检测Hook和ROP攻击: 方法与实例的全部内容,希望文章能够帮你解决检测Hook和ROP攻击: 方法与实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复