[发明专利]一种基于Linux系统的反汇编函数劫持方法、装置及存储介质在审
| 申请号: | 202111675663.X | 申请日: | 2021-12-31 |
| 公开(公告)号: | CN114266054A | 公开(公告)日: | 2022-04-01 |
| 发明(设计)人: | 李林聪 | 申请(专利权)人: | 科来网络技术股份有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F11/34 |
| 代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 张杰 |
| 地址: | 610041 四川省成都市中国(四川)自由贸易试验*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 linux 系统 汇编 函数 劫持 方法 装置 存储 介质 | ||
本发明提供一种基于Linux系统的反汇编函数劫持方法、装置及存储介质,所述方法包括如下步骤:(1)获取需要劫持的目标程序的函数地址;(2)将该函数地址进行反汇编操作获得该函数地址的汇编指令;(3)修改该函数地址的汇编指令为跳转指令,该跳转指令的跳转目标为中间处理函数;(4)中间处理函数调用并执行该函数地址原来的汇编指令;(5)中间处理函数记录该函数地址的参数与返回值;(6)中间处理函数将该函数地址的返回值返回给调用者。本发明的反汇编函数劫持方法可以对所有的函数进行劫持,无论是静态编译还是系统API函数,抑或是动态库函数,只要知道函数原型则均可以进行劫持,并且可以避免由于静态编译等技术导致劫持失败的问题。
技术领域
本发明涉及网络安全技术领域,具体而言,涉及一种基于Linux系统的反汇编函数劫持方法、装置及存储介质。
背景技术
随着Linux系统的广泛使用,Linux系统的安全监测技术却没有windows系统那样全面,一个可执行文件的操作行为是否对我们的系统有危害我们不能及时的发现;而可执行程序中会有大量的函数调用过程,这包括了库函数和Linux系统提供给用户的API函数;如何知晓可执行程序是否利用了这些函数来实现一些对用户和系统造成危害的行为尤为重要,这是计算机安全领域的重要研究课题;
目前,Linux系统下对函数劫持主要的方法包括以下三种:
一是通过优先加载动态库实现函数劫持,此方法很容易被恶意程序规避或对系统应用程序造成异常影响,比如静态编译的程序不会加载动态库;
二是修改系统内核函数符号表实现函数劫持,此方法在内核中实现,操作难度大,要求权限高且无法劫持动态库函数;
三是通过Linux系统本身提供的一些API接口或程序实现劫持,但此方法无法解析函数复杂参数,比如指针类参数则仅能获取指针值,而不能获取指针所指向的真实内容。
发明内容
本发明旨在提供一种基于Linux系统的反汇编函数劫持方法、装置及存储介质,以解决目前Linux系统下对函数劫持方法存在的问题。
本发明提供的一种基于Linux系统的反汇编函数劫持方法,包括如下步骤:
(1)获取需要劫持的目标程序的函数地址;
(2)将该函数地址进行反汇编操作获得该函数地址的汇编指令;
(3)修改该函数地址的汇编指令为跳转指令,该跳转指令的跳转目标为中间处理函数;
(4)中间处理函数调用并执行该函数地址原来的汇编指令;
(5)中间处理函数记录该函数地址的参数与返回值;
(6)中间处理函数将该函数地址的返回值返回给调用者。
进一步的,步骤(5)中还包括记录目标函数的参数与返回值后,通过解析指针类参数获取指针指向的真实内容,并将指针指向的真实内容发送给分析程序。
进一步的,所述指针指向的真实内容通过网络套接字发送给分析程序。
进一步的,步骤(2)中需要对获得的该目标函数地址的汇编指令进行存储。
本发明还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序运行时执行上述的基于Linux系统的反汇编函数劫持方法。
本发明还提供一种基于Linux系统的反汇编函数劫持装置,包括:
存储介质,用于存储计算机程序;
处理器,用于运行所述计算机程序;所述计算机程序运行时执行上述的基于Linux系统的反汇编函数劫持方法。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于科来网络技术股份有限公司,未经科来网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111675663.X/2.html,转载请声明来源钻瓜专利网。





