【技术实现步骤摘要】
一种堆栈安全性的检测方法及装置、移动设备
本专利技术涉及安全
,尤其涉及一种堆栈安全性的检测方法、装置、移动终端及计算机可读存储介质。
技术介绍
现有技术中,堆栈溢出是应用安装包中一种比较常见的安全漏洞,例如,当堆栈溢出时,攻击者会在堆栈区存放堆栈元素的数组中写入超过数组长度的数据,使堆栈中调用函数的返回地址被超过数组长度的数据覆盖,导致调用函数返回时跳转至攻击者注入的恶意代码或shellcode(用来获取应用程序权限的代码或者填充数据)处执行,进而使得应用程序安装包遭到破坏。为了保证应用安装包的安全性,通常会采用保护代码对编译函数进行编译器堆栈保护,即对于需要保护的编译函数,插入适当的保护代码并通过校验该保护代码以实现堆栈保护。然而,现有技术中即使对编译函数进行了编译器堆栈保护,也并不意味着经过编译器堆栈保护后的堆栈的绝对安全,究其原因之一,可能是在编译堆栈保护过程中保护代码仅对某一类特定函数插入了保护代码并设置校验代码,默认其余函数安全(即对于其余函数不插入保护代码且不设置校验代码),导致只有在特定函数遭到攻击时编译保护才能进行准确检测;若其余函数遭到攻 ...
【技术保护点】
1.一种堆栈安全性的检测方法,其特征在于,包括:从待测应用安装包中获取用于保存编译信息的目标文件;从反编译后的目标文件中获取编译时插入的保护代码;判断所述保护代码中是否存在与预设第一关键字匹配的字符;其中,所述预设第一关键字表征启用全局编译保护方式;根据所述保护代码与预设第一关键字的匹配结果,确定所述堆栈的安全情况。
【技术特征摘要】
1.一种堆栈安全性的检测方法,其特征在于,包括:从待测应用安装包中获取用于保存编译信息的目标文件;从反编译后的目标文件中获取编译时插入的保护代码;判断所述保护代码中是否存在与预设第一关键字匹配的字符;其中,所述预设第一关键字表征启用全局编译保护方式;根据所述保护代码与预设第一关键字的匹配结果,确定所述堆栈的安全情况。2.如权利要求1所述的方法,其特征在于,从待测应用安装包中获取用于保存编译信息的目标文件,具体包括:对待测应用程序安装包进行解压以获取应用程序的源文件;根据编译的特征信息,从源文件中获取用于保存编译信息的目标文件。3.如权利要求1所述的方法,其特征在于,从反编译后的目标文件中获取保护代码,具体包括:使用反编译工具对目标文件进行反编译;获取反编译后的目标文件中的保护代码。4.如权利要求1所述的方法,其特征在于,根据所述保护代码与预设第一关键字的匹配结果,确定所述堆栈的安全情况,具体包括:若所述保护代码与预设第一关键字匹配,则确定所述堆栈安全;若所述保护代码与预设第一关键字不匹配,则确定所述堆栈不安全。5.如权利要求1所述的方法,其特征在于,所述方法还包括:若对目标文件进行反编译失败,则表示所述待测应用安装包经过加固,则确定所述待测应用安装包中的堆栈安全。6.一种堆栈安全性的检测装置,其特征在于,包括:目标文件获取模块,用于从待测应用安装包中获取用于保存编译信息的目标文件;保护代码获取模块,用于从反编译后的目标文件中获取编译时插入的保护代码;判断模块,用于判断所...
【专利技术属性】
技术研发人员:阚志刚,曹卫兵,倪冬鹤,徐磊,刘义,张志勇,张陈陈,陈彪,
申请(专利权)人:北京梆梆安全科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。