首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于系统调用序列的多线程程序异常检测方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:南京邮电大学

摘要:本发明提出了一种面向多线程程序的异常检测主动防御系统,该系统基于系统调用序列来检测程序是否发生异常,异常包括由于程序自身漏洞发生的异常以及受到外部恶意攻击而引起的异常。对于一个程序,其运行时所产生的系统调用序列,应该是稳定的,符合预期的,如果程序产生的系统调用序列发生了巨大的变化,则表明程序的功能发生了变化,程序可能发生了异常。因此,程序运行时产生的系统调用序列可以用来代表程序的行为。但是,对于多线程程序,由于线程调度的影响,一个程序在相同输入下的多次运行,其产生的系统的调用序列可能是不同的,无法准确的代表程序的行为。因此本发明面向多线程程序,屏蔽线程调度对系统调用序列的影响,以线程级的系统调用序列实时检测多线程程序的运行状况。

主权项:1.一种基于系统调用序列的多线程程序异常检测方法,其特征在于,包括步骤如下:步骤S1,插桩程序使用插桩工具对程序进行插桩,获取线程级的系统调用信息,包括线程的线程号,系统调用名,系统调用号等信息,从而可以将原本随机混合在一起的各个线程的系统调用序列以线程号为索引提取出来;步骤S2,获取可信的线程级系统调用序列在安全可信的环境下,多次运行插桩后的程序,尽可能遍历程序全部或大部分执行路径,获取程序运行时产生的含线程信息的系统调用序列;根据线程信息中的线程号对总的系统调用序列进行拆解,得到各个线程运行时产生的系统调用序列;步骤S3,挖掘线程级系统调用序列中的行为使用Var-grams算法对步骤S2中得到的线程级系统调用序列进行切分,每一条线程级系统调用序列将被切分成若干条长度不等的系统调用短序列,每一条系统调用短序列即代表了程序的一种行为;将所有系统调用短序列放入集合中,构建程序行为的字典集;步骤S4,训练隐马尔可夫HMM模型将步骤S3中得到的行为字典作为HMM模型的训练数据进行有监督的训练,得到HMM模型的各项参数;构建程序的行为库;步骤S5,获取程序实际运行时的行为类似于步骤S2,收集程序在真实环境下运行产生的线程级系统调用序列;将收集到的线程级系统调用序列作为HMM模型的输入,对序列进行分词,将序列划分为若干条长度不等的系统调用短序列,每条短序列即代表程序的一种行为,从而得到程序实际运行的行为序列;步骤S6,异常检测将检测到的程序实际运行时的行为与行为库中的行为进行匹配,根据匹配的结果判断程序是否发生异常。

全文数据:

权利要求:

百度查询: 南京邮电大学 一种基于系统调用序列的多线程程序异常检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。