本发明专利技术公开了基于FORTIFY安全保护的检测方法、终端及存储介质,所述方法包括:获取程序的ELF文件,通过分析ELF文件的第一命令查看所述ELF文件的ELF符号表信息;判断所述ELF符号表信息中是否存在带_chk@字符串的符号,如是则表示所述程序已开启FORTIFY安全保护。本发明专利技术通过判断程序是否开启FORTIFY安全保护,在程序未开启FORTIFY安全保护时提醒用户开启FORTIFY安全保护,如果程序开启了FORTIFY安全保护的话,内存操作函数会被替换成包括安全校验的函数,安全性更高,预防程序被黑客攻击。预防程序被黑客攻击。预防程序被黑客攻击。
【技术实现步骤摘要】
基于FORTIFY安全保护的检测方法、终端及存储介质
[0001]本专利技术涉及计算机安全
,尤其涉及一种基于FORTIFY安全保护的检测方法、终端及存储介质。
技术介绍
[0002]FORTIFY能够提供静态和动态应用程序安全测试技术,以及运行时应用程序监控和保护功能。为实现高效安全监测,FORTIFY具有源代码安全分析,可精准定位漏洞产生的路径,以及具有1分钟1万行的扫描速度。
[0003]FORTIFY是非常简单的检查,用于检查是否存在缓冲区溢出的错误。适用情形是程序采用大量的字符串或者内存操作函数,如memcpy,memset,stpcpy,strcpy,strncpy,strcat,strncat,sprintf,snprintf,vsprintf,vsnprintf,gets以及宽字符的变体。
[0004]缓冲区溢出就是超长的数据向小缓冲区复制,导致数据超出了小缓冲区,导致缓冲区其他的数据遭到破坏,这就是缓冲区溢出,而栈溢出是缓冲区溢出的一种,栈溢出是由于C语言系列没有内置检查机制来确保复制到缓冲区的数据不得大于缓冲区的大小,因此当这个数据足够大的时候,将会溢出缓冲区的范围。
[0005]如果程序没有开启FORTIFY安全保护的话,内存操作函数的安全性不高,那么就无法避免黑客攻击。
[0006]因此,现有技术还有待于改进和发展。
技术实现思路
[0007]本专利技术的主要目的在于提供一种基于FORTIFY安全保护的检测方法、终端及存储介质,旨在解决现有技术中未开启FORTIFY安全保护时无法避免黑客攻击的问题。
[0008]为实现上述目的,本专利技术提供一种基于FORTIFY安全保护的检测方法,所述基于FORTIFY安全保护的检测方法包括如下步骤:
[0009]获取程序的ELF文件,通过分析ELF文件的第一命令查看所述ELF文件的ELF符号表信息;
[0010]判断所述ELF符号表信息中是否存在带_chk@字符串的符号,如是则表示所述程序已开启FORTIFY安全保护。
[0011]所述的基于FORTIFY安全保护的检测方法,其中,所述判断所述ELF符号表信息中是否存在带_chk@字符串的符号,之后还包括:
[0012]如果判断出所述ELF符号表信息中不存在带_chk@字符串的符号,则表示所述程序未开启FORTIFY安全保护。
[0013]所述的基于FORTIFY安全保护的检测方法,其中,所述基于FORTIFY安全保护的检测方法还包括:
[0014]如果所述程序未开启FORTIFY安全保护,则提示用户开启FORTIFY安全保护。
[0015]所述的基于FORTIFY安全保护的检测方法,其中,所述第一命令为readelf
–
s。
[0016]此外,为实现上述目的,本专利技术还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于FORTIFY安全保护的检测程序,所述基于FORTIFY安全保护的检测程序被所述处理器执行时实现如上所述的基于FORTIFY安全保护的检测方法的步骤。
[0017]此外,为实现上述目的,本专利技术还提供一种存储介质,其中,所述存储介质存储有基于FORTIFY安全保护的检测程序,所述基于FORTIFY安全保护的检测程序被处理器执行时实现如上所述的基于FORTIFY安全保护的检测方法的步骤。
[0018]本专利技术通过获取程序的ELF文件,通过分析ELF文件的第一命令查看所述ELF文件的ELF符号表信息;判断所述ELF符号表信息中是否存在带_chk@字符串的符号,如是则表示所述程序已开启FORTIFY安全保护。本专利技术通过判断程序是否开启FORTIFY安全保护,在程序未开启FORTIFY安全保护时提醒用户开启FORTIFY安全保护,如果程序开启了FORTIFY安全保护的话,内存操作函数会被替换成包括安全校验的函数,安全性更高,预防程序被黑客攻击。
附图说明
[0019]图1是本专利技术基于FORTIFY安全保护的检测方法的较佳实施例的流程图;
[0020]图2为本专利技术终端的较佳实施例的运行环境示意图。
具体实施方式
[0021]为使本专利技术的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0022]本专利技术较佳实施例所述的基于FORTIFY安全保护的检测方法,如图1所示,所述基于FORTIFY安全保护的检测方法包括以下步骤:
[0023]步骤S10、获取程序的ELF文件,通过分析ELF文件的第一命令查看所述ELF文件的ELF符号表信息。
[0024]本专利技术中,FORTIFY是Micro Focus旗下AST(应用程序安全测试)产品,其产品组合包括:Fortify Static Code Analyzer提供静态代码分析器(SAST),Fortify WebInspect是动态应用安全测试软件(DAST),Software Security Centre是软件安全中心(SSC)和Application Defender是实时应用程序自我保护(RASP)。
[0025]FORTIFY能够提供静态与动态应用程序安全测试技术,以及运行时应用程序监控和保护功能;FORTIFY SCA是一款静态应用程序安全性测试(SAST)产品,可供开发团队和安全专家分析源代码,检测安全漏洞,帮助开发人员更快更轻松地识别问题并排定问题优先级,然后加以解决。Micro Focus Fortify WebInspect是一款动态应用程序安全测试工具,可利用动态扫描程序来扫描当今主流的技术框架和Web技术,提供动态应用程序安全测试覆盖范围,并可检测黑盒安全测试技术经常检测不到的新型漏洞。
[0026]在计算机科学中,ELF文件是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。
[0027]具体地,ELF文件由4部分组成,分别是ELF头(ELF header,即文件头)、程序头表
(Program header table)、节(Section)和节头表(Section header table)。实际上,一个文件中不一定包含全部内容,而且它们的位置也未必如同所示这样安排,只有ELF头的位置是固定的,其余各部分的位置、大小等信息由ELF头中的各项值来决定。
[0028]符号是表示每个ELF文件的一个重要部分,因为它保存了程序实现或使用的所有(全局)变量和函数。如果程序引用了一个自身代码未定义的符号,则称之为未定义的符号(例如一般程序中printf函数,就定义在c标准函数中)。此类引用必须在静态链接期间用其他目标模块或者库解决,或在加载期间通过动态链接(使用ld-linux.so)解决。nm工具可以生成程序定义和使用的所有符合列表。
[0029]符号表保存本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于FORTIFY安全保护的检测方法,其特征在于,所述基于FORTIFY安全保护的检测方法包括:获取程序的ELF文件,通过分析ELF文件的第一命令查看所述ELF文件的ELF符号表信息;判断所述ELF符号表信息中是否存在带_chk@字符串的符号,如是则表示所述程序已开启FORTIFY安全保护。2.根据权利要求1所述的基于FORTIFY安全保护的检测方法,其特征在于,所述判断所述ELF符号表信息中是否存在带_chk@字符串的符号,之后还包括:如果判断出所述ELF符号表信息中不存在带_chk@字符串的符号,则表示所述程序未开启FORTIFY安全保护。3.根据权利要求2所述的基于FORTIFY安全保护的检测方法,其特征在于,所述基于FORTIFY安全保护的检测方法还包括:如果所述程序未开启...
【专利技术属性】
技术研发人员:余少高,严智慧,
申请(专利权)人:北京智游网安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。