CN116089262A - 一种基于代码动态分析的代码安全扫描系统及方法 - Google Patents

一种基于代码动态分析的代码安全扫描系统及方法 Download PDF

Info

Publication number
CN116089262A
CN116089262A CN202211474330.5A CN202211474330A CN116089262A CN 116089262 A CN116089262 A CN 116089262A CN 202211474330 A CN202211474330 A CN 202211474330A CN 116089262 A CN116089262 A CN 116089262A
Authority
CN
China
Prior art keywords
code
vulnerability
security
information
scanning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211474330.5A
Other languages
English (en)
Inventor
温胤鑫
李京华
张春林
谢耘
张运春
董雷
李文奎
王燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tongtech Co Ltd
Original Assignee
Beijing Tongtech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tongtech Co Ltd filed Critical Beijing Tongtech Co Ltd
Priority to CN202211474330.5A priority Critical patent/CN116089262A/zh
Publication of CN116089262A publication Critical patent/CN116089262A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种基于代码动态分析的代码安全扫描系统及方法,系统包括:信息获取模块,用于获取用户预定义的标准漏洞信息和待分析的第一代码;代码处理模块,用于对第一代码进行预处理得到第二代码,并根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;扫描结果输出模块,用于根据第一代码、第二代码、标准漏洞信息和第二代码漏洞信息生成代码扫描报告并输出。

Description

一种基于代码动态分析的代码安全扫描系统及方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于代码动态分析的代码安全扫描系统及方法。
背景技术
随着时代的发展,信息技术的普及,人们对信息安全越来越重视,但由于信息时代的高速发展,信息系统的版本更迭速度快,导致开发人员和维护人员的工作繁重,又由于信息系统的开发人员安全意识和维护人员的安全知识素质不一,导致各公司在对信息系统的安全工作上面临着极大的困难,且现有技术中,第一代代码扫描技术和第二代代码扫描技术只能检测出简单的安全漏洞,对较为复杂的安全漏洞进行检测时,则会存在误报率高,精准度低等缺点,此时则需要具备安全知识的专业人员花费更多时间和经历去对代码进行复查和纠错,但由于人力检测的局限,检测工作效率低,因此,亟需一种于代码动态分析的代码安全扫描系统及方法,用于解决现有代码扫描技术对较为复杂的安全漏洞进行检测时,则会存在误报率高,精准度低的问题。
发明内容
针对现有技术的不足,本发明提供一种于代码动态分析的代码安全扫描系统及方法,用于解决现有代码扫描技术对较为复杂的安全漏洞进行检测时,则会存在误报率高,精准度低的问题。
一种基于代码动态分析的代码安全扫描系统,包括:信息获取模块,用于获取用户预定义的标准漏洞信息和待分析的第一代码;代码处理模块,用于对第一代码进行预处理得到第二代码,并根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;扫描结果输出模块,用于根据第一代码、第二代码、标准漏洞信息和第二代码漏洞信息生成代码扫描报告并输出。
作为本发明的一种实施例,信息获取模块包括:标准漏洞信息获取单元,用于获取用户预定义的标准漏洞信息;代码读取单元,用于获取待分析的第一代码。
作为本发明的一种实施例,标准漏洞信息包括若干不同安全漏洞类型的漏洞特征和与其对应的扫描规则;第一代码中携带有翻译类型标记。
作为本发明的一种实施例,代码处理模块包括:代码翻译单元,用于根据用户预设的翻译方式和第一代码中携带的翻译类型标记确定具体翻译方式,并根据具体翻译方式将第一代码翻译为临时第二代码;安全代码提取单元,用于根据预设安全信息标识提取临时第二代码中与安全信息相关的第二代码;代码安全扫描单元,用于根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息。
作为本发明的一种实施例,扫描结果输出模块包括:漏洞信息整理单元,用于根据预设威胁标准对标准漏洞信息进行威胁等级定级,并根据定级结果对漏洞信息进行分类整理,得到漏洞整理信息;扫描报告生成单元,用于根据第一代码、第二代码、标准漏洞信息和漏洞整理信息生成代码扫描报告;输出单元,用于输出代码扫描报告。
作为本发明的一种实施例,一种基于代码动态分析的代码安全扫描系统还包括:报告存储模块,用于存储代码扫描报告。
作为本发明的一种实施例,报告存储模块还用于执行包括如下操作:构建不同类型安全漏洞的存储单元;获取任一代码扫描报告中的第一代码;根据第一代码对应的第二代码和第二代码漏洞信息确定第一代码中安全漏洞代码所在位置;根据安全漏洞代码所在位置提取漏洞代码;根据第二代码漏洞信息确定每一漏洞代码对应的安全漏洞类型,并根据每一漏洞代码对应的安全漏洞类型将每一漏洞代码存入对应的存储单元。
作为本发明的一种实施例,一种基于代码动态分析的代码安全扫描系统还包括漏洞代码风格报告输出模块,其中,漏洞代码风格报告输出模块执行包括如下操作:获取用户输入的待分析风格漏洞代码,根据待分析风格漏洞代码的安全漏洞类型确定对应的存储单元;基于代码特征相似性判断方法和文本相似性判断方法,获取对应的存储单元中所有第二漏洞代码中与待分析风格漏洞代码的相似度高于预设相似阈值的第二漏洞代码作为目标漏洞代码;获取目标漏洞代码存入报告存储模块的存入时间;根据待分析风格漏洞代码,目标漏洞代码以及其对应的存入时间生成漏洞代码风格报告。
作为本发明的一种实施例,一种基于代码动态分析的代码安全扫描系统还包括代码安全能力提升评估模块,其中,代码安全能力提升评估模块执行包括如下操作:获取用户输入的待评估代码,判断待评估代码中是否存在漏洞代码,若存在,获取与待评估代码中的漏洞代码对应的漏洞代码风格报告;筛选得到漏洞代码风格报告中存入时间在预设时间内的目标漏洞代码作为对比代码;确定每一对比代码对应的威胁等级,并计算得到所有对比代码的平均威胁等级;获取待评估代码中的漏洞代码对应的目标威胁等级,构建随时间变化的每一对比代码对应的威胁等级和待评估代码中漏洞代码对应的目标威胁等级的变化曲线;确定变化曲线的变化趋势;根据平均威胁等级、目标威胁等级和变化趋势生成代码安全能力提升评估报告。
一种基于代码动态分析的代码安全扫描方法,包括:获取用户预定义的标准漏洞信息和待分析的第一代码;对第一代码进行预处理得到第二代码,并根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;根据第一代码、第二代码、标准漏洞信息和第二代码漏洞信息生成代码扫描报告并输出。
本发明的有益效果为:
本发明提供一种基于代码动态分析的代码安全扫描系统及方法,用于解决现有代码扫描技术对较为复杂的安全漏洞进行检测时,会存在误报率高,精准度低的问题。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于代码动态分析的代码安全扫描系统及方法的系统模块示意图;
图2为本发明实施例中一种基于代码动态分析的代码安全扫描系统及方法中信息获取模块的模块示意图;
图3为本发明实施例中一种基于代码动态分析的代码安全扫描系统及方法中代码处理模块的模块示意图;
图4为本发明实施例中一种基于代码动态分析的代码安全扫描系统及方法中扫描结果输出模块的模块示意图;
图5为本发明实施例中一种基于代码动态分析的代码安全扫描系统及方法的方法流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
请参阅图1,本发明实施例提供了一种基于代码动态分析的代码安全扫描系统,包括:信息获取模块1,用于获取用户预定义的标准漏洞信息和待分析的第一代码;代码处理模块2,用于对第一代码进行预处理得到第二代码,并根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;扫描结果输出模块3,用于根据第一代码、第二代码、标准漏洞信息和第二代码漏洞信息生成代码扫描报告并输出;
上述技术方案的工作原理为:该系统包括信息获取模块1、代码处理模块2和扫描结果输出模块3;其中,在用户正式使用该系统前,需由用户根据已有的标准漏洞信息对该系统进行定义,或是直接采用出售方预定义好的标准漏洞信息对该系统进行定义,定义完成后,信息获取模块1先获取用户预定义好的标准漏洞信息用于后续扫描,当存在用户输入代码时,信息获取模块1中包含的动态分析器动态获取用户输入的一段待分析的第一代码,并将该第一代码发送至代码处理模块2,该代码处理模块2接收到第一代码后,对第一代码进行预处理,得到便于该系统识别的第二代码,同时,代码处理模块2根据信息获取模块1获取到的标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息,扫描结果输出模块3接收代码处理模块2得到的第二代码漏洞信息,并结合第一代码、第二代码、预定义的标准漏洞信息,根据预定义好的报告模块生成代码扫描报告并输出;
上述技术方案的有益效果为:有益于解决现有代码扫描技术对较为复杂的安全漏洞进行检测时,存在误报率高,精准度低的问题。
请参阅图2,在一个实施例中,信息获取模块1包括:标准漏洞信息获取单元11,用于获取用户预定义的标准漏洞信息;代码读取单元12,用于获取待分析的第一代码;
上述技术方案的工作原理和有益效果为:该信息获取模块1包括标准漏洞信息获取单元11和代码读取单元12,其中,标准漏洞信息获取单元用于获取用户预定义的标准漏洞信息,该标准漏洞信息包括但不限于权限检测类安全漏洞、隐私侵犯类安全漏洞等,同时,标准漏洞信息中还包括有对应安全漏洞的具体扫描规则,有利于根据不同漏洞类型快速扫描出对应的安全漏洞,提高精准率和扫描效率;代码读取单元12则用于获取待分析的第一代码。
在一个实施例中,标准漏洞信息包括若干不同安全漏洞类型的漏洞特征和与其对应的扫描规则;第一代码中携带有翻译类型标记;
上述技术方案的工作原理和有益效果为:其中,标准漏洞信息包括若干不同安全漏洞类型的漏洞特征和与其对应的扫描规则,漏洞特征包括但不限于代码注入分析漏洞类型的漏洞特征、第三方组件漏洞类型的漏洞特征等;该第一代码中携带的翻译类型标记优选根据用户在编程时使用的编程语言自动生成对应的翻译类型。
请参阅图3,在一个实施例中,代码处理模块2包括:代码翻译单元21,用于根据用户预设的翻译方式和第一代码中携带的翻译类型标记确定具体翻译方式,并根据具体翻译方式将第一代码翻译为临时第二代码;安全代码提取单元22,用于根据预设安全信息标识提取临时第二代码中与安全信息相关的第二代码;代码安全扫描单元23,用于根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;
上述技术方案的工作原理和有益效果为:该代码处理模块2包括代码翻译单元21、安全代码提取单元22和代码安全扫描单元23,其中,代码翻译单元21根据用户预设的翻译方式和第一代码中携带的翻译类型标记确定具体翻译方式,该预设的翻译方式优选为根据代码动态分析的代码安全分析工具自定义的一套虚拟中间语言,用于更容易发现第一代码中包含的安全漏洞,具体翻译方式则优选为根据第一代码的编写语言进行更精确的翻译,第一代码的编写语言如c语言、java语言等,确定好具体翻译方式后,根据具体翻译方式将第一代码翻译为临时第二代码;安全代码提取单元22则根据预设安全信息标识提取临时第二代码中与安全信息相关的第二代码,该单元用于简化临时第二代码,剔除临时第二代码中与安全无关的信息,该预设安全信息标识优选根据预定义的标准漏洞信息进行设定,例如若预定义的标准信息中涉及安卓平台的敏感信息泄露分析的漏洞信息,预设安全信息标识则根据该涉及安卓系统的敏感信息泄露分析的漏洞信息的代码特征进行提取对应标识;得到第二代码后,代码安全扫描单元23根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息,该第二代码漏洞信息包括具体涉及的安全漏洞类型和涉及的代码行,通过上述技术方案有益于精确处理识别出代码中存在的安全漏洞。
请参阅图4,在一个实施例中,扫描结果输出模块3包括:漏洞信息整理单元31,用于根据预设威胁标准对标准漏洞信息进行威胁等级定级,并根据定级结果对漏洞信息进行分类整理,得到漏洞整理信息;扫描报告生成单元32,用于根据第一代码、第二代码、标准漏洞信息和漏洞整理信息生成代码扫描报告;输出单元33,用于输出代码扫描报告;
上述技术方案的工作原理和有益效果为:该扫描结果输出模块3包括漏洞信息整理单元31、扫描报告生成单元32和输出单元33,其中,漏洞信息整理单元31根据预设威胁标准对标准漏洞信息进行威胁等级定级,并根据定级结果对漏洞信息进行分类整理,得到漏洞整理信息,该预设威胁标准优选根据预定义的标准漏洞信息确定,例如,当一段用于安卓平台的代码涉及信息存储分析安全漏洞,则根据该信息存储分析安全漏洞对应的基础威胁等级和代码中涉及的多个漏洞代码的风险系数进行威胁等级定级;扫描报告生成单元32根据第一代码、第二代码、标准漏洞信息、漏洞整理信息和预设的报告模板生成代码扫描报告,输出单元33输出代码扫描报告,通过上述技术方案,对用户输入的代码进行动态分析定级,并输出扫描报告,有益于帮助用户快速识别和纠正存在的安全漏洞。
在一个实施例中,一种基于代码动态分析的代码安全扫描系统还包括:报告存储模块,用于存储代码扫描报告。
在一个实施例中,报告存储模块还用于执行包括如下操作:构建不同类型安全漏洞的存储单元;获取任一代码扫描报告中的第一代码;根据第一代码对应的第二代码和第二代码漏洞信息确定第一代码中安全漏洞代码所在位置;根据安全漏洞代码所在位置提取漏洞代码;根据第二代码漏洞信息确定每一漏洞代码对应的安全漏洞类型,并根据每一漏洞代码对应的安全漏洞类型将每一漏洞代码存入对应的存储单元;
上述技术方案的工作原理为:为便于信息公司对于自身公司信息系统的安全漏洞代码进行复盘,报告存储模块还用于执行包括如下操作,首先根据标准漏洞信息中的漏洞类型构建不同类型安全漏洞的存储单元,然后获取任一代码扫描报告中的第一代码,优选为当存在一份代码扫描报告存入报告存储模块时便对一份代码扫描报告进行如下操作;并根据第一代码对应的第二代码和第二代码漏洞信息确定第一代码中安全漏洞代码所在位置,即根据代码翻译器翻译出的第二代码的安全漏洞信息反向定位第一代码中问题代码的所在位置,同时根据安全漏洞代码所在位置提取漏洞代码,该提取的方式优选为根据一小块功能为整体提取漏洞代码,而不是直接提取存在漏洞的独立代码段,然后根据第二代码漏洞信息确定每一漏洞代码对应的安全漏洞类型,并根据每一漏洞代码对应的安全漏洞类型将每一漏洞代码存入对应的存储单元;
上述技术方案的有益效果为:通过上述技术方案,将每个涉及安全漏洞的代码功能段存入对应类型的存储单元,有利于信息公司针对任一安全漏洞类型的安全漏洞代码进行复盘,提高自身公司研发人员的安全知识和安全素质。
在一个实施例中,一种基于代码动态分析的代码安全扫描系统还包括漏洞代码风格报告输出模块,其中,漏洞代码风格报告输出模块执行包括如下操作:获取用户输入的待分析风格漏洞代码,根据待分析风格漏洞代码的安全漏洞类型确定对应的存储单元;基于代码特征相似性判断方法和文本相似性判断方法,获取对应的存储单元中所有第二漏洞代码中与待分析风格漏洞代码的相似度高于预设相似阈值的第二漏洞代码作为目标漏洞代码;获取目标漏洞代码存入报告存储模块的存入时间;根据待分析风格漏洞代码,目标漏洞代码以及其对应的存入时间生成漏洞代码风格报告;
上述技术方案的工作原理为:为便于信息公司在复盘时针对公司员工的安全素质的提升,本系统还设置有漏洞代码风格报告输出模块,该漏洞代码风格报告输出模块执行包括如下操作,首先获取用户输入的待分析风格漏洞代码,该用户输入的待分析风格漏洞代码为用户输入的一段待分析代码,若这段代码被代码处理模块2判断为不存在漏洞则不进行后续步骤,若判断为存在漏洞,则根据待分析风格漏洞代码的安全漏洞类型确定对应的存储单元,若待分析风格漏洞代码中包括多个安全漏洞类型,则分别根据不同的安全漏洞类型确定对应的存储单元,然后分别进行后续步骤,也可理解为该段待分析风格漏洞代码中存在多少安全漏洞类型则会生成对应数量的漏洞代码风格报告;确定对应存储单元后,基于代码特征相似性判断方法和文本相似性判断方法,获取对应的存储单元中所有第二漏洞代码中与待分析风格漏洞代码的相似度高于预设相似阈值的第二漏洞代码作为目标漏洞代码,首先基于代码特征相似性判断方法,优选通过待分析风格漏洞代码的代码语义特征与第二漏洞代码的代码语义特征进行相似度判断,从而确定第一代码语义特征相似度,由于每位研发人员在编写代码时的习惯不同,所以对于代码的具体写法和选择也存在不同,因此再基于文本相似性判断方法,优选通过对待分析风格漏洞代码中存在问题的代码与第二漏洞代码中存在问题的部分进行文本相似度判断,由于漏洞代码的提取方式通常为根据一小块整体功能的方式提取,而不是单独提取某一部分存在问题的代码,且由于代码的编写内容通常由英文字母组成,因此,首先根据文本相似度判断两段代码的本文相似程度,确定第二代码文本特征相似度;并基于预设计算方法,根据第一代码语义特征相似度和第二代码文本特征相似度计算得到每一第二漏洞代码中与待分析风格漏洞代码的相似度;计算方法优选为:
Figure BDA0003958450580000111
其中,P为第二漏洞代码中与待分析风格漏洞代码的相似度,α为第一代码语义特征相似度的预设权值,β为第二代码文本特征相似度的预设权值,yuyi为第一代码语义特征相似度,wenben为第二代码文本特征相似度,α+β=1,α远大于β;并获取目标漏洞代码存入报告存储模块的存入时间;最后根据待分析风格漏洞代码,目标漏洞代码以及其对应的存入时间和预设报告模板生成漏洞代码风格报告;
上述技术方案的有益效果为:通过上述技术方案,输出同一漏洞代码风格报告,有利于信息公司针对自身公司任一研发人员快速提取出对应的漏洞代码编写风格,帮助研发人员快速补充自身不足的安全知识和提升安全素养,同时,能够使得研发人员通过观察与自身存在相同漏洞风格问题的其他漏洞代码,提前避免出现这样的安全问题,降低代码的漏洞率,进一步提高了代码的安全性能。
在一个实施例中,一种基于代码动态分析的代码安全扫描系统还包括代码安全能力提升评估模块,其中,代码安全能力提升评估模块执行包括如下操作:获取用户输入的待评估代码,判断待评估代码中是否存在漏洞代码,若存在,获取与待评估代码中的漏洞代码对应的漏洞代码风格报告;筛选得到漏洞代码风格报告中存入时间在预设时间内的目标漏洞代码作为对比代码;确定每一对比代码对应的威胁等级,并计算得到所有对比代码的平均威胁等级;获取待评估代码中的漏洞代码对应的目标威胁等级,构建随时间变化的每一对比代码对应的威胁等级和待评估代码中漏洞代码对应的目标威胁等级的变化曲线;确定变化曲线的变化趋势;根据平均威胁等级、目标威胁等级和变化趋势生成代码安全能力提升评估报告;
上述技术方案的工作原理为:为更便于信息公司在复盘时针对公司员工的安全素质的提升,本系统还设置有代码安全能力提升评估模块,该代码安全能力提升评估模块执行包括如下操作,首先,获取用户输入的待评估代码,该段待评估代码优选为用户在正常编写时输入的代码,然后发送至代码处理模块2判断待评估代码中是否存在漏洞代码,该步骤优选通过信息获取模块1和代码处理模块2完成,在此处描写用于更好理解本方案,若代码处理模块2判断待评估代码存在漏洞代码,则获取与待评估代码中的漏洞代码对应的漏洞代码风格报告,并筛选得到漏洞代码风格报告中存入时间在预设时间内的目标漏洞代码作为对比代码,该预设时间优选为一个项目的完成时间,该预设时间设置能够更好的贴合研发人员对每个项目的要求和更好的展示研发人员在每一项目上的安全素养,之后确定每一对比代码对应的威胁等级,并计算得到所有对比代码的平均威胁等级,该步骤用于总览同风格漏洞代码的研发人员在研发过程中的平均水平,同时获取待评估代码中的漏洞代码对应的目标威胁等级,构建随时间变化的每一对比代码对应的威胁等级和待评估代码中漏洞代码对应的目标威胁等级的变化曲线,并确定变化曲线的变化趋势,该变化曲线有益于使得信息公司和研发人员能够在一个项目期内更好的看到安全素养整体变化水平,便于信息公司和研发人员根据该曲线做出对应调整,如培训、调换人员等调整;最后根据平均威胁等级、目标威胁等级和变化趋势以及对应的预设报告模板生成代码安全能力提升评估报告;
上述技术方案的有益效果为:通过上述技术方案,输出代码安全能力提升评估报告,有利于用户和信息公司快速掌握用户在面对公司同类漏洞风格问题的员工时的对比能力提升速度,使得用户能够根据自身安全能力提升速度进行对应调整,降低代码的漏洞率,从而进一步提高代码的安全性能。
请参阅图5,一种基于代码动态分析的代码安全扫描方法,包括:S101、获取用户预定义的标准漏洞信息和待分析的第一代码;S102、对第一代码进行预处理得到第二代码,并根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;S103、根据第一代码、第二代码、标准漏洞信息和第二代码漏洞信息生成代码扫描报告并输出。
该一种基于代码动态分析的代码安全扫描方法的工作原理和有益效果可参照上述关于一种基于代码动态分析的代码安全扫描系统各个功能模块中对应提及的工作原理和有益效果,这里就不再做重复的累述了。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种基于代码动态分析的代码安全扫描系统,其特征在于,包括:信息获取模块,用于获取用户预定义的标准漏洞信息和待分析的第一代码;代码处理模块,用于对第一代码进行预处理得到第二代码,并根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;扫描结果输出模块,用于根据第一代码、第二代码、标准漏洞信息和第二代码漏洞信息生成代码扫描报告并输出。
2.根据权利要求1所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,信息获取模块包括:标准漏洞信息获取单元,用于获取用户预定义的标准漏洞信息;代码读取单元,用于获取待分析的第一代码。
3.根据权利要求1所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,标准漏洞信息包括若干不同安全漏洞类型的漏洞特征和与其对应的扫描规则;第一代码中携带有翻译类型标记。
4.根据权利要求1所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,代码处理模块包括:代码翻译单元,用于根据用户预设的翻译方式和第一代码中携带的翻译类型标记确定具体翻译方式,并根据具体翻译方式将第一代码翻译为临时第二代码;安全代码提取单元,用于根据预设安全信息标识提取临时第二代码中与安全信息相关的第二代码;代码安全扫描单元,用于根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息。
5.根据权利要求1所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,扫描结果输出模块包括:漏洞信息整理单元,用于根据预设威胁标准对标准漏洞信息进行威胁等级定级,并根据定级结果对漏洞信息进行分类整理,得到漏洞整理信息;扫描报告生成单元,用于根据第一代码、第二代码、标准漏洞信息和漏洞整理信息生成代码扫描报告;输出单元,用于输出代码扫描报告。
6.根据权利要求1所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,还包括:报告存储模块,用于存储代码扫描报告。
7.根据权利要求6所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,报告存储模块还用于执行包括如下操作:构建不同类型安全漏洞的存储单元;获取任一代码扫描报告中的第一代码;根据第一代码对应的第二代码和第二代码漏洞信息确定第一代码中安全漏洞代码所在位置;根据安全漏洞代码所在位置提取漏洞代码;根据第二代码漏洞信息确定每一漏洞代码对应的安全漏洞类型,并根据每一漏洞代码对应的安全漏洞类型将每一漏洞代码存入对应的存储单元。
8.根据权利要求7所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,还包括漏洞代码风格报告输出模块,其中,漏洞代码风格报告输出模块执行包括如下操作:获取用户输入的待分析风格漏洞代码,根据待分析风格漏洞代码的安全漏洞类型确定对应的存储单元;基于代码特征相似性判断方法和文本相似性判断方法,获取对应的存储单元中所有第二漏洞代码中与待分析风格漏洞代码的相似度高于预设相似阈值的第二漏洞代码作为目标漏洞代码;获取目标漏洞代码存入报告存储模块的存入时间;根据待分析风格漏洞代码,目标漏洞代码以及其对应的存入时间生成漏洞代码风格报告。
9.根据权利要求8所述的一种基于代码动态分析的代码安全扫描系统,其特征在于,还包括代码安全能力提升评估模块,其中,代码安全能力提升评估模块执行包括如下操作:获取用户输入的待评估代码,判断待评估代码中是否存在漏洞代码,若存在,获取与待评估代码中的漏洞代码对应的漏洞代码风格报告;筛选得到漏洞代码风格报告中存入时间在预设时间内的目标漏洞代码作为对比代码;确定每一对比代码对应的威胁等级,并计算得到所有对比代码的平均威胁等级;获取待评估代码中的漏洞代码对应的目标威胁等级,构建随时间变化的每一对比代码对应的威胁等级和待评估代码中漏洞代码对应的目标威胁等级的变化曲线;确定变化曲线的变化趋势;根据平均威胁等级、目标威胁等级和变化趋势生成代码安全能力提升评估报告。
10.一种基于代码动态分析的代码安全扫描方法,其特征在于,包括:获取用户预定义的标准漏洞信息和待分析的第一代码;对第一代码进行预处理得到第二代码,并根据标准漏洞信息对第二代码进行扫描,得到第二代码漏洞信息;根据第一代码、第二代码、标准漏洞信息和第二代码漏洞信息生成代码扫描报告并输出。
CN202211474330.5A 2022-11-23 2022-11-23 一种基于代码动态分析的代码安全扫描系统及方法 Pending CN116089262A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211474330.5A CN116089262A (zh) 2022-11-23 2022-11-23 一种基于代码动态分析的代码安全扫描系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211474330.5A CN116089262A (zh) 2022-11-23 2022-11-23 一种基于代码动态分析的代码安全扫描系统及方法

Publications (1)

Publication Number Publication Date
CN116089262A true CN116089262A (zh) 2023-05-09

Family

ID=86203322

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211474330.5A Pending CN116089262A (zh) 2022-11-23 2022-11-23 一种基于代码动态分析的代码安全扫描系统及方法

Country Status (1)

Country Link
CN (1) CN116089262A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077148A (zh) * 2023-10-11 2023-11-17 玖目(北京)科技有限公司 程序的安全分析方法、系统、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214191A (zh) * 2018-09-18 2019-01-15 北京理工大学 一种利用深度学习预测软件安全漏洞的方法
CN111008376A (zh) * 2019-12-09 2020-04-14 国网山东省电力公司电力科学研究院 一种基于代码动态分析的移动应用源代码安全审计系统
CN111309589A (zh) * 2019-11-29 2020-06-19 中国电力科学研究院有限公司 一种基于代码动态分析的代码安全扫描系统及方法
CN112733054A (zh) * 2021-01-13 2021-04-30 合肥安珀信息科技有限公司 一种高性能基于代码动态分析的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109214191A (zh) * 2018-09-18 2019-01-15 北京理工大学 一种利用深度学习预测软件安全漏洞的方法
CN111309589A (zh) * 2019-11-29 2020-06-19 中国电力科学研究院有限公司 一种基于代码动态分析的代码安全扫描系统及方法
CN111008376A (zh) * 2019-12-09 2020-04-14 国网山东省电力公司电力科学研究院 一种基于代码动态分析的移动应用源代码安全审计系统
CN112733054A (zh) * 2021-01-13 2021-04-30 合肥安珀信息科技有限公司 一种高性能基于代码动态分析的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117077148A (zh) * 2023-10-11 2023-11-17 玖目(北京)科技有限公司 程序的安全分析方法、系统、计算机设备及存储介质
CN117077148B (zh) * 2023-10-11 2024-01-23 玖目(北京)科技有限公司 程序的安全分析方法、系统、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN110245496B (zh) 一种源代码漏洞检测方法及检测器和其训练方法及系统
Yanikoglu et al. Pink Panther: a complete environment for ground-truthing and benchmarking document page segmentation
US9690788B2 (en) File type recognition analysis method and system
CN106294134B (zh) 代码的崩溃定位方法及装置
US11019099B2 (en) Method of application malware detection based on dynamic API extraction, and readable medium and apparatus for performing the method
CN108763931A (zh) 基于Bi-LSTM和文本相似性的漏洞检测方法
CN107862327B (zh) 一种基于多特征的安全缺陷识别系统和方法
US20040064807A1 (en) Validating content of localization data files
CN111368303B (zh) 一种PowerShell恶意脚本的检测方法及装置
CN107885728A (zh) 一种基于译员在线翻译的qa自动检测方法及系统
CN110543422B (zh) 一种用于fpr的软件包代码缺陷数据处理方法、系统及介质
US20230084845A1 (en) Entry detection and recognition for custom forms
CN114663904A (zh) 一种pdf文档布局检测方法、装置、设备及介质
CN111679975A (zh) 单证生成方法、装置、电子设备及介质
CN116089262A (zh) 一种基于代码动态分析的代码安全扫描系统及方法
US9600644B2 (en) Method, a computer program and apparatus for analyzing symbols in a computer
CN111723182B (zh) 一种用于漏洞文本的关键信息抽取方法及装置
CN115543832A (zh) 一种软件代码标准性的检测方法、系统、设备及存储介质
CN112925874B (zh) 基于案例标记的相似代码搜索方法及系统
CN114065762A (zh) 一种文本信息的处理方法、装置、介质及设备
CN113805861A (zh) 基于机器学习的代码生成方法、代码编辑系统及存储介质
CN112464237A (zh) 一种静态代码安全诊断方法及装置
CN110852713A (zh) 一种统一信用代码证识别系统和算法
KR20200123891A (ko) 애플리케이션의 품질 정보 제공 방법 및 장치
JP2020095452A (ja) 語彙抽出支援システムおよび語彙抽出支援方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20230509

RJ01 Rejection of invention patent application after publication