[发明专利]一种内核源码级的系统调用跟踪方法在审
申请号: | 201710035077.6 | 申请日: | 2017-01-17 |
公开(公告)号: | CN108228434A | 公开(公告)日: | 2018-06-29 |
发明(设计)人: | 宋烨青;芦翔;王夏丽;刘刚;孙利民 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余功勋 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 系统调用 源码 内核 调用 捕获 跟踪 存储记录 调用系统 汇编文件 汇编指令 获取系统 检测模块 频率统计 实时捕获 位置添加 核源 记录 | ||
本发明提供一种内核源码级的系统调用跟踪方法,步骤包括:1)在Linux内核源码实现系统调用的汇编文件的同级目录下,添加含系统调用号捕获函数的文件;2)使用汇编指令调用系统调用号捕获函数,获取系统调用号;3)将获得的系统调用号存储记录并进行频率统计,实现系统调用跟踪。本方法通过修改Linux内核源码,在内核源码合适的位置添加系统调用检测模块,实时捕获与记录Linux系统中所有系统调用行为。
技术领域
本发明涉及计算机领域,具体涉及一种内核源码级的系统调用跟踪方法,根据系统调用的运用场景,在Linux内核源码中添加系统调用检测模块,实时跟踪Linux系统中所有系统调用行为。
背景技术
操作系统内核提供一系列具备预定功能的内核函数,应用程序使用内核提供的服务时,会通过内核提供的一组名为系统调用(system call)的接口来实现所需功能。系统调用把应用程序的请求传给内核,调用相应的内核函数完成所需处理,将处理结果返回给应用程序。系统调用接口是Linux内核与上层应用程序进行交互通信的唯一接口,如图1所示。系统调用的应用程序、相应的封装例程、系统调用处理程序及系统调用服务例程之间的关系如图2所示。
为了把系统调用号与相应的服务例程关联起来,内核维护了一个系统调用表,这个表是系统调用号与内核服务函数的对照表。系统调用表存放在一个名为sys_call_table的数组中,有NR_syscalls个表项,第n个表项包含系统调用号为n的服务例程的地址。以TiDM368 IPNC的源码Linux 2.6.37为例,共有370个系统调用号,所有系统调用的编号定义在arch/arm/include/asm/unistd.h中,例如:0:_NR_restart_system,1:_NR_exit,2:_NR_fork,……,369:_NR_prlim it等。
一个应用程序的源代码经过编译链接后成为可执行程序,装载在用户的内存区域,程序在执行过程中会使用内核提供的系统服务,每个系统调用都有相应的系统调用号作为唯一标识。用户态的程序通过软中断指令陷入内核态,同时通过CPU内部寄存器传递系统调用号。内核在执行系统调用获取系统调用号后,以系统调用表的基地址加上系统调用号的偏移作为地址,跳转到相应的系统调用例程做相应的处理。
通过跟踪Linux系统中的系统调用行为,有助于检测与分析系统及系统中运行的应用程序的运行状态,进一步判断系统是否出现异常。
发明内容
本发明的目的在于提供一种内核源码级的系统调用跟踪方法,通过修改Linux内核源码,在内核源码合适的位置添加系统调用检测模块,实时捕获与记录Linux系统中所有系统调用行为。
为解决上述技术问题,本发明采用如下技术方案:
一种内核源码级的系统调用跟踪方法,步骤包括:
1)在Linux内核源码实现系统调用的汇编文件的同级目录下,添加含系统调用号捕获函数的文件;
2)使用汇编指令调用系统调用号捕获函数,获取系统调用号;
3)将获得的系统调用号存储记录并进行频率统计,实现系统调用跟踪。
进一步地,对于以Ti DM368IPNC为源码的Linux 2.6.37系统,汇编文件为linux/arch/arm/kernel/entry-common.S。
进一步地,汇编指令为可获取系统调用号的指令,对于以Ti DM368IPNC为源码的Linux2.6.37系统,该汇编指令为ldrcc pc,[tbl,scno,lsl#2]。
进一步地,系统调用号捕获函数为自己实现函数,采用内联汇编实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710035077.6/2.html,转载请声明来源钻瓜专利网。