博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内核后门
阅读量:5263 次
发布时间:2019-06-14

本文共 695 字,大约阅读时间需要 2 分钟。

 

 

如果在编写内核源代码时给内核留下后门,则你可以很容易的利用,则可轻易的使用模块实现一些扩展功能(实现一些跟内核相关的应用或是出于攻击性目的的扩展)。

例如:在read系统调用的实现中,你留下了后门:

read_write.c中,定义了函数指针void (backdoor*)(size_t *count) = NULL;

并使用EXPORT_SYMBOL带出符号backdoor

sys_read中加入如下代码:

if(backdoor != NULL)

         backdoor(&count); //这里的countsys_read的最后一个参数

在内核模块中,你可以实现自己的后门函数,并将backdoor指针指向该函数,从而实现扩展的功能;

 

 

extern void (backdoor*)(size_t *count);

void my_backdoor(size_t *count)
{
    *count = 0;
}
int mybackdoor_init()
{
    backdoor = my_backdoor;
    return 0;
}

void mybackdoor_exit()

{
    backdoor = NULL;
}

 

则在模块加载之后你所有的read操作将读取不倒任何数据,因为count在系统调用执行的过程中被改为0

同样,你可以通过该方法实现一些其他的功能,如统计网络数据包等,但前提是你清楚内核的执行流,知道在哪个地方添加后门。

 

 

转载于:https://www.cnblogs.com/yunnotes/archive/2013/04/19/3032448.html

你可能感兴趣的文章
P1192-台阶问题
查看>>
Java线程面试题
查看>>
Flask三剑客
查看>>
【BZOJ4516】生成魔咒(后缀自动机)
查看>>
提高PHP性能的10条建议
查看>>
Java大数——a^b + b^a
查看>>
简单的数据库操作
查看>>
帧的最小长度 CSMA/CD
查看>>
树状数组及其他特别简单的扩展
查看>>
普通求素数和线性筛素数
查看>>
PHP截取中英文混合字符
查看>>
【洛谷P1816 忠诚】线段树
查看>>
电子眼抓拍大解密
查看>>
tomcat7的数据库连接池tomcatjdbc的25个优势
查看>>
Html 小插件5 百度搜索代码2
查看>>
java.io.IOException: read failed, socket might closed or timeout, read ret: -1
查看>>
java 常用命令
查看>>
卷积中的参数
查看>>
51nod1076 (边双连通)
查看>>
ViewPager的onPageChangeListener里面的一些方法参数:
查看>>