可以尝试使用如下几种方案来拦截Linux内核函数:
使用Linux安全API
从最佳实践的角度来说suse linux 下载,我们觉得使用Linux安全API的hook函数是最佳选择,由于这个插口就是因此而设计的。内核代码的关键点包含安全函数调用,这种调用可能造成安全模块安装的拉升。该模块可以研究特定操作的上下文,并决定是容许还是严禁它。不幸的是,LinuxSecurityAPI有两个主要限制:
其实内核开发人员对系统是否可以包含多个安全模块有不同的想法linux定时关机命令,而且模块未能动态加载是可以肯定的事实。为了确保系统从一开始就保持安全,安全模块必须是内核的一部份。为此,为了使用Linux安全API,我们须要建立一个订制的Linux内核。
更改系统调用表
因为主要用于由用户应用程序执行的操作,所以我们可以在系统调用级别上实现它。所有Linux系统调用处理程序都储存在sys_call_table表中。修改此表中的值会造成修改系统的行为。为此,我们可以通过保存旧的处理程序值并将自己的处理程序添加到表中来hook系统调用。这些方式也有一些优点和缺点。
主要优点如下:
不过,这些方式也有几个缺点:
技术施行较复杂。其实替换表中的值并不困难调用linux内核函数,但还有一些额外的任务须要个别条件和一些不显著的解决方案:
只hook系统调用。因为此方式容许你替换系统调用处理程序,因而它极大地限制了入口点。所有的附加检测都可以在系统调用之前或以后立刻执行,我们只有系统调用参数及其返回值。因而,有时我们可能须要仔细检测进程的访问权限和系统调用参数的有效性。据悉,在个别情况下,须要复制两次用户进程显存会形成额外的开支费用。诸如,当参数通过表针传递时,会有两个副本:一个是我们自己创建的副本,另一个是由原始处理程序创建的副本。
使用Kprobes
Kprobes—一种专为Linux内核跟踪和调试而设计的API。Kprobes准许为任何内核指令以及函数入口和函数返回处理程序安装预处理程序和后处理程序。处理程序可以访问寄存器并可以修改它们。这样,我们就有机会监控文件执行流程并改变它。
使用Kprobes跟踪Linux内核函数的主要用处如下:
Kprobes也有缺点:
拼接
一种配置内核函数hooking的精典方式:将函数开头的指令替换为通向自定义处理程序的无条件跳转。原始指令被联通到不同的位置,并在跳回到截取的函数之前执行。为此,两次跳转,就可以将代码拼接成一个函数。此方式的工作方法与kprobes跳转优化的方法相同。使用拼接,也可以获得与使用kprobes相同的结果,但开支更低,而且可以完全控制流程。
使用拼接的优点十分显著:
但是,这些方式有一个主要缺点—技术复杂性。更换函数中的机器代码并不容易。为了使用拼接调用linux内核函数,须要完成以下几项操作:
相对而言,拼接可能是一种十分有用的方式来hookLinux内核函数。但此方式的实现过分复杂。因为考虑到我们自身能力和一些其他诱因,我们暂时不准备采用这些方式,所以将其作为候选方案。
以上就是可以尝试使用如下几种方案来拦截Linux内核函数的详细内容,更多请关注慧达安全导航其它相关文章!
免责 声明
1、本网站名称:慧达安全导航
2、本站永久网址:https//www.huida178.com/
3、本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
4、本站所有资源的属示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
5、下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
6、未经原版权作者许可禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
7、为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
8.若资源侵犯了您的合法权益,请持 您的版权证书和相关原作品信息来信通知我们!QQ:1247526623我们会及时删除,给您带来的不便,我们深表歉意!
9、如下载链接失效、广告或者压缩包问题请联系站长处理
10、如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
11、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需
12、因源码具有可复制性,一经赞助,不得以任何形式退款。
13、本文内容由网友自发贡献和站长收集,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系1247526623@qq.com
转载请注明出处: 慧达安全导航 » 可以尝试使用如下几种方案来拦截Linux内核函数
发表评论 取消回复