
linux内核
wjx5210
积极努力...
-
原创 linux内核态hook模块
linux内核支持动态加载module,今天不聊正常的module,只简单看一下实现Hook的module. hook通常翻译做劫持,不过这个翻译听起来让人不舒服,感觉有点恐怖,所以大家都是喊行话:hook.上图是经典的堆栈式hook,也是splice典型的做法,在原有的流程中插入hook,更加典型的做法是栈在调用过程中从funcA->funcB变成了funcA->hook->...2019-12-03 16:44:37741
1
-
原创 修改bio完成加解密文件系统
通过hijack了解bio背景bio是block io,它是一个描述硬盘里面的位置与page cache的页对应关系的数据结构,每个bio对应的硬盘里面一块连续的位置,每一块硬盘里面连续的位置,可能对应着page cache的多页,或者一页,所以它里面会有一个bio_vec *bi_io_vec的表。而每个bio_vec都只能描述一个页内数据的连续的数据的偏移和长度:通过bi_sec...2019-06-13 20:14:41139
0
-
原创 linux内核hook方式
翻译:https://www.apriorit.com/dev-blog/544-hooking-linux-functions-1我们最近在开展linux系统上安全相关的工作,在上面我们需要hook内核中重要的函数调用,例如打开文件、创建进程。我们需要这样一个项目来监控系统的活动并且阻塞可疑的进程。实际上,最后我们采用了一种高效的方式来hook系统,借助于ftrace系统,可以通过函数...2019-07-02 17:28:55119
0
-
翻译 ftrace来进行内核hook,part2
翻译:https://www.apriorit.com/dev-blog/546-hooking-linux-functions-2Ftrace是内核中的一种trace框架。但是我们对于找到了一种新的方法,可以通过ftrace来监控系统,当发现可疑进程的时候能够阻止它的运行。事实证明ftrace可以使你能够在不重新编译内核的前提下能够是安装一个可以动态加载的带有GPL licencse的模块...2019-07-02 17:34:01388
0
-
转载 内核模块踩内存问题定位利器- hardware breakpoint
转发自:https://blog.csdn.net/phenix_lord/article/details/41415559内核由于共享内存地址空间,如果没有合适的工具,很多踩内存的问题即使复现,也无法快速定位;在新的内核版本中引入了一个新工具hardware breakpoint,其能够监视对指定的地址的特定类型(读/写)的数据访问,有利于该类问题的定位;以下是一个使用该工具的例子(来...2019-06-24 15:48:21726
0
-
原创 linux kprobe实现原理
linux kprobeskprobes出现了非常长的时间,最早是2.6.9版本中,最早能够追溯到2004年,距离现在15年,一直没有为人所知,但却是隐藏在诸多技术后的一个基础组件,例如ftrace,perf,SystemTap,LTTng还有最近非常火热的ebpf.kprobes是什么?它是kernel probes(我翻译成探针),是一种debug机制,它是由IBM开发的,最初计划用来和...2019-08-12 20:34:54124
0