CN112148602B - 一种基于历史优化特征智能学习的源代码安全分析方法 - Google Patents

一种基于历史优化特征智能学习的源代码安全分析方法 Download PDF

Info

Publication number
CN112148602B
CN112148602B CN202010981848.2A CN202010981848A CN112148602B CN 112148602 B CN112148602 B CN 112148602B CN 202010981848 A CN202010981848 A CN 202010981848A CN 112148602 B CN112148602 B CN 112148602B
Authority
CN
China
Prior art keywords
vulnerability
code
information
source code
codes
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.)
Active
Application number
CN202010981848.2A
Other languages
English (en)
Other versions
CN112148602A (zh
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.)
Information Center of Yunnan Power Grid Co Ltd
Original Assignee
Information Center of Yunnan Power Grid 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 Information Center of Yunnan Power Grid Co Ltd filed Critical Information Center of Yunnan Power Grid Co Ltd
Priority to CN202010981848.2A priority Critical patent/CN112148602B/zh
Publication of CN112148602A publication Critical patent/CN112148602A/zh
Application granted granted Critical
Publication of CN112148602B publication Critical patent/CN112148602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于历史优化特征智能学习的源代码安全分析方法,所述的源代码安全分析方法包括以下步骤:A:建立源代码管理平台:与电网代码仓库对接,抽取待测信息系统源代码至本地搭建的代码仓库,建立电网的本地源代码管理平台。本发明中,通过收集互联网上各类恶意代码、后门和漏洞代码,基于其历史漏洞提取交叉比对特征,并进行特征优化,实现对问题代码和近似问题代码的识别,研究基于人工智能的源代码安全性检测技术,实现对公司基础代码库中存在的恶意代码、后门和漏洞代码的快速检测,并形成检测结果报告,辅助代码修补,提升检测准确率和降低误报率。

Description

一种基于历史优化特征智能学习的源代码安全分析方法
技术领域
本发明涉及代码检测分析技术领域,尤其涉及一种基于历史优化特征智能学习的源代码安全分析方法。
背景技术
随着软件规模的日益扩大和代码复用所带来的便利性,信息中心目前在实际的项目软件开发中涉及到数量庞大的代码,这些代码包含大量第三方通用公共代码以及自研发代码,在为项目开发提供便捷的代码支持的同时,也带来了一定的安全风险,一旦这些基础代码库中存在恶意代码,后门或者漏洞,那么公司内部所有使用了该代码的项目均易受到相关攻击的威胁,且开发人员通常无法立刻察觉,极易导致严重的后果。同时由于代码库数量庞大,传统的基于模式匹配的漏洞代码检测方法耗时长,并且对于存在修改的近似问题代码,精确匹配无法对其进行检测。
发明内容
本发明的目的在于:为了解决代码漏洞检测准确率低的问题,而提出的一种基于历史优化特征智能学习的源代码安全分析方法。
为了实现上述目的,本发明采用了如下技术方案:
一种基于历史优化特征智能学习的源代码安全分析方法,所述的源代码安全分析方法包括以下步骤:
A:建立源代码管理平台:与电网代码仓库对接,抽取待测信息系统源代码至本地搭建的代码仓库,建立电网的本地源代码管理平台;
B:通过版本控制协议对开源代码采集和爬取技术,开源代码框架是通过离线包进行更新,构建支持历史版本回溯的内外部统一存储代码库,针对代码库代码的高速预处理技术,研究形成对漏洞代码特征具有初步表征能力的中间表示形式;
C:进行统计分析和人工分析和整理,设计基于历史版本漏洞的漏洞库生成实现方案,有针对性地解决历史漏洞提取和漏洞相关信息确定所存在的问题;
D:通过程序静态分析技术等方法,提取历史漏洞能够表征漏洞信息的初步特征,接着通过设计保留语义的抽象化方法实现在初步特征基础上生成更为优质的漏洞优化特征,形成电网代码漏洞特征库;
E:利用智能学习对比对结果进行判别,得到目标软件模块代码的漏洞信息,去重并提取软件模块的漏洞信息,形成安全代码漏洞库,最终形成代码安全性判别原型系统;
F:以Web服务的形式和机制实现目标待测代码的中间表示转化、机器学习模型训练与预测、比对分析过程信息展示和比对分析结果的可视化,并通过统一的API提供访问。
作为上述技术方案的进一步描述:
所述步骤B的过程如下:
B1:针对开源项目代码框的爬虫设计:开发高性能爬虫,对互联网中的开源项目框架进行高速爬取,并将爬取到的数据保存至本地代码仓库,建立离线的本地开源框架仓库,提高对代码自研率识别等工作的效率;
B2:源代码预处理:对代码管理平台和离线开源代码框架中不规则,不具有表征能力的部分进行预处理,提升对采集代码的统一管理能力,提升后续代码检测效率;
B3:预处理后源码的存储:将预处理后的代码存入本地代码仓库,形成基于历史版本且具有表征能力的电网代码仓库和离线开源代码框架仓库,满足对项目代码历史信息和修改记录、历史版本获取的需求;
B4:形成多渠道软件代码采集模块;
B5:生成基于历史版本管理的源代码仓库;
B6:生成基于历史版本管理的离线开源代码仓库。
作为上述技术方案的进一步描述:
所述步骤C的过程如下:
C1:通过对CWE和CVE等相关标准漏洞报告信息,设计构建包含常见漏洞的漏洞关键词检索列表;
C2:基于版本控制管理系统,对项目代码的采集以及对项目历史信息和修改记录、历史版本等相关信息的采集和预处理后生成的存储结果,并且利用版本可控制管理系统的特性,实现对漏洞代码片段检索和定位漏洞信息检索;
C3:提取包括漏洞代码片段、漏洞信息、补丁信息、修补后代码片段在内的漏洞信息,存储提取的相关信息并构建为漏洞代码库。
作为上述技术方案的进一步描述:
所述步骤D的过程如下:
D1:程序依赖图的生成:利用静态分析技术,对源代码进行分析,得到的程序依赖图,能够表示程序控制以来与数据依赖关系;
D2:漏洞特征的提取:将程序依赖图作为参考,结合上一模块得到的漏洞库中漏洞代码的位置等信息,通过算法,得到漏洞特征相关代码片段;
D3:漏洞特征的优化:对提取到的漏洞特征进行抽象化,得到表征能力更强的漏洞特征;
D4:漏洞特征库的生成:将得到的漏洞特征存放在本地数据仓库中,形成漏洞特征库;
D5:漏洞特征库的导入:能够直接导入单条或多条漏洞特征;
D6:形成漏洞特征提取模块。
作为上述技术方案的进一步描述:
所述步骤E的过程如下:
E1:机器学习过程:将漏洞特征与待测代码进行比对,以行为粒度进行逐行比对,通过最大匹配思想,比对两者的相似度,最终完成机器学习过程,实现对漏洞的检测;借助离线开源项目代码框架仓库,经过机器学习,同时实现对待测代码自研率的分析;
E2:结果输出:扫描结束后列出漏洞所在文件和函数位置、对应的漏洞特征、漏洞类型、漏洞危害评级以及相应的漏洞修复方案、代码自研率等信息,并且以PDF,excel等格式导出;
E3:实时页面显示内容详细的检测进度、检测结果等信息,能够提取漏洞信息,并且最后形成可视化的比对结果报告;
E4:开发一套功能完整的代码安全性检测原型系统;
E5:选取电网25个以上系统开展测试,在电网云电智云平台上进行测试并出具测试结果及整改意见。
作为上述技术方案的进一步描述:
所述步骤F的过程如下:
F1:在线扫描:将本地项目文件拖入选框,待上传完毕后,能够实现对本地上传代码的扫描。扫描支持实时进度查看,完成扫描后能够在该页面导出扫描结果;
F2:云平台扫描:该界面上可以看到现在在线的(本地源代码管理平台中的项目)项目,选中任意一个项目,点击扫描后,即可完成对当前版本的代码漏洞扫描,扫描支持实时进度查看,完成扫描后能够在该页面导出扫描结果;
F3:报表管理:在该界面上能够查看历史扫描记录,并下载对应扫描结果报告。能够以历史版本为基准,以统计图表方式展示对应项目漏洞数量变化,代码安全风险趋势变化等信息;
F4:在该界面上,能够管理漏洞库和漏洞特征库,同时能够对系统的UI风格进行调整。
作为上述技术方案的进一步描述:
所述过程B2中每10000行代码预处理时间不超过5min。
作为上述技术方案的进一步描述:
所述过程C1中支持大小为128MB漏洞检索列表,漏洞检索列表至少包含:包含常见漏洞的漏洞关键词列表,例如堆溢出、栈溢出和整数溢出漏洞检索信息,且能够支持漏洞检索的语言至少包含: JAVA、JSP、PHP。
作为上述技术方案的进一步描述:
所述过程D1中提供初始获取的特征数量不少于10000条。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
本发明中,通过收集互联网上各类恶意代码、后门和漏洞代码,基于其历史漏洞提取交叉比对特征,并进行特征优化,实现对问题代码和近似问题代码的识别,研究基于人工智能的源代码安全性检测技术,实现对公司基础代码库中存在的恶意代码、后门和漏洞代码的快速检测,并形成检测结果报告,辅助代码修补,提升检测准确率和降低误报率。
附图说明
图1为本发明提出的一种基于历史优化特征智能学习的源代码安全分析方法的技术流程示意图;
图2为本发明提出的一种基于历史优化特征智能学习的源代码安全分析方法的漏洞库生成示意图;
图3为本发明提出的一种基于历史优化特征智能学习的源代码安全分析方法的漏洞特征库生成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例1
请参阅图1-3,一种基于历史优化特征智能学习的源代码安全分析方法,的源代码安全分析方法包括以下步骤:
A:建立源代码管理平台:与电网代码仓库对接,抽取待测信息系统源代码至本地搭建的代码仓库,建立电网的本地源代码管理平台;
B:通过版本控制协议对开源代码采集和爬取技术,开源代码框架是通过离线包进行更新,构建支持历史版本回溯的内外部统一存储代码库,针对代码库代码的高速预处理技术,研究形成对漏洞代码特征具有初步表征能力的中间表示形式;
步骤B的过程如下:
B1:针对开源项目代码框的爬虫设计:开发高性能爬虫,对互联网中的开源项目框架进行高速爬取,并将爬取到的数据保存至本地代码仓库,建立离线的本地开源框架仓库,提高对代码自研率识别等工作的效率;
B2:源代码预处理:对代码管理平台和离线开源代码框架中不规则,不具有表征能力的部分进行预处理,提升对采集代码的统一管理能力,提升后续代码检测效率,每10000行代码预处理时间不超过5min;
B3:预处理后源码的存储:将预处理后的代码存入本地代码仓库,形成基于历史版本且具有表征能力的电网代码仓库和离线开源代码框架仓库,满足对项目代码历史信息和修改记录、历史版本获取的需求;
B4:形成多渠道软件代码采集模块;
B5:生成基于历史版本管理的源代码仓库;
B6:生成基于历史版本管理的离线开源代码仓库;
C:进行统计分析和人工分析和整理,设计基于历史版本漏洞的漏洞库生成实现方案,有针对性地解决历史漏洞提取和漏洞相关信息确定所存在的问题;
步骤C的过程如下:
C1:通过对CWE和CVE等相关标准漏洞报告信息,设计构建包含常见漏洞的漏洞关键词检索列表,支持大小为128MB漏洞检索列表,漏洞检索列表至少包含:包含常见漏洞的漏洞关键词列表,例如堆溢出、栈溢出和整数溢出漏洞检索信息,且能够支持漏洞检索的语言至少包含: JAVA、JSP、PHP;
C2:基于版本控制管理系统,对项目代码的采集以及对项目历史信息和修改记录、历史版本等相关信息的采集和预处理后生成的存储结果,并且利用版本可控制管理系统的特性,实现对漏洞代码片段检索和定位漏洞信息检索;
C3:提取包括漏洞代码片段、漏洞信息、补丁信息、修补后代码片段在内的漏洞信息,存储提取的相关信息并构建为漏洞代码库;
D:通过程序静态分析技术等方法,提取历史漏洞能够表征漏洞信息的初步特征,接着通过设计保留语义的抽象化方法实现在初步特征基础上生成更为优质的漏洞优化特征,形成电网代码漏洞特征库;
D1:程序依赖图的生成:利用静态分析技术,对源代码进行分析,得到的程序依赖图,能够表示程序控制以来与数据依赖关系,提供初始获取的特征数量不少于10000条;
D2:漏洞特征的提取:将程序依赖图作为参考,结合上一模块得到的漏洞库中漏洞代码的位置等信息,通过算法,得到漏洞特征相关代码片段;
D3:漏洞特征的优化:对提取到的漏洞特征进行抽象化,得到表征能力更强的漏洞特征;
D4:漏洞特征库的生成:将得到的漏洞特征存放在本地数据仓库中,形成漏洞特征库;
D5:漏洞特征库的导入:能够直接导入单条或多条漏洞特征;
D6:形成漏洞特征提取模块;
E:利用智能学习对比对结果进行判别,得到目标软件模块代码的漏洞信息,去重并提取软件模块的漏洞信息,形成安全代码漏洞库,最终形成代码安全性判别原型系统;
步骤E的过程如下:
E1:机器学习过程:将漏洞特征与待测代码进行比对,以行为粒度进行逐行比对,通过最大匹配思想,比对两者的相似度,最终完成机器学习过程,实现对漏洞的检测;借助离线开源项目代码框架仓库,经过机器学习,同时实现对待测代码自研率的分析;
E2:结果输出:扫描结束后列出漏洞所在文件和函数位置、对应的漏洞特征、漏洞类型、漏洞危害评级以及相应的漏洞修复方案、代码自研率等信息,并且以PDF,excel等格式导出;
E3:实时页面显示内容详细的检测进度、检测结果等信息,能够提取漏洞信息,并且最后形成可视化的比对结果报告;
E4:开发一套功能完整的代码安全性检测原型系统;
E5:选取电网25个以上系统开展测试,在电网云电智云平台上进行测试并出具测试结果及整改意见;
F:以Web服务的形式和机制实现目标待测代码的中间表示转化、机器学习模型训练与预测、比对分析过程信息展示和比对分析结果的可视化,并通过统一的API提供访问;
步骤F的过程如下:
F1:在线扫描:将本地项目文件拖入选框,待上传完毕后,能够实现对本地上传代码的扫描。扫描支持实时进度查看,完成扫描后能够在该页面导出扫描结果;
F2:云平台扫描:该界面上可以看到现在在线的(本地源代码管理平台中的项目)项目,选中任意一个项目,点击扫描后,即可完成对当前版本的代码漏洞扫描,扫描支持实时进度查看,完成扫描后能够在该页面导出扫描结果;
F3:报表管理:在该界面上能够查看历史扫描记录,并下载对应扫描结果报告。能够以历史版本为基准,以统计图表方式展示对应项目漏洞数量变化,代码安全风险趋势变化等信息;
F4:在该界面上,能够管理漏洞库和漏洞特征库,同时能够对系统的UI风格进行调整。
工作原理:使用时,首先,运用网络爬虫技术,结合历史版本回溯,针对不同渠道存储的软件模块代码进行爬取,除了最新版本的代码,爬取内容也涵盖各个历史版本的信息,构建一个相对完备的软件模块代码库;在此基础上,采用基于历史信息的漏洞代码检索技术,通过对代码各个版本信息的比对与与历史信息的分析,检索其中漏洞代码,形成历史漏洞代码库;通过历史漏洞代码库的智能学习,对漏洞代码与正常代码进行交叉对比,提取语法相似性、语义相似性等比对特征,针对特征维度低、数量少、表征能力弱的问题,使用特征组合方法对特征进行优化,获得更适合于表征不安全代码的优化后的特征集合;最后利用决策树等机器学习算法,对优化后的特征集合进行有监督的学习,得到代码比对模型,从而完成对目标软件模块不安全代码的比对与提取,实现对公司基础代码库中存在的恶意代码、后门和漏洞代码的快速检测,并形成检测结果报告,辅助代码修补,提升检测准确率和降低误报率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (9)

1.一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述的源代码安全分析方法包括以下步骤:
A:建立源代码管理平台:与电网代码仓库对接,抽取待测信息系统源代码至本地搭建的代码仓库,建立电网的本地源代码管理平台;
B:通过版本控制协议对开源代码采集和爬取技术,开源代码框架是通过离线包进行更新,构建支持历史版本回溯的内外部统一存储代码库,针对代码库代码的高速预处理技术,研究形成对漏洞代码特征具有初步表征能力的中间表示形式;
C:进行统计分析和人工分析和整理,设计基于历史版本漏洞的漏洞库生成实现方案,有针对性地解决历史漏洞提取和漏洞相关信息确定所存在的问题;
D:通过程序静态分析技术等方法,提取历史漏洞能够表征漏洞信息的初步特征,接着通过设计保留语义的抽象化方法实现在初步特征基础上生成更为优质的漏洞优化特征,形成电网代码漏洞特征库;
E:利用智能学习对比对结果进行判别,得到目标软件模块代码的漏洞信息,去重并提取软件模块的漏洞信息,形成安全代码漏洞库,最终形成代码安全性判别原型系统;
F:以Web服务的形式和机制实现目标待测代码的中间表示转化、机器学习模型训练与预测、比对分析过程信息展示和比对分析结果的可视化,并通过统一的API提供访问。
2.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述步骤B的过程如下:
B1:针对开源项目代码框的爬虫设计:开发高性能爬虫,对互联网中的开源项目框架进行高速爬取,并将爬取到的数据保存至本地代码仓库,建立离线的本地开源框架仓库,提高对代码自研率识别等工作的效率;
B2:源代码预处理:对代码管理平台和离线开源代码框架中不规则,不具有表征能力的部分进行预处理,提升对采集代码的统一管理能力,提升后续代码检测效率;
B3:预处理后源码的存储:将预处理后的代码存入本地代码仓库,形成基于历史版本且具有表征能力的电网代码仓库和离线开源代码框架仓库,满足对项目代码历史信息和修改记录、历史版本获取的需求;
B4:形成多渠道软件代码采集模块;
B5:生成基于历史版本管理的源代码仓库;
B6:生成基于历史版本管理的离线开源代码仓库。
3.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述步骤C的过程如下:
C1:通过对CWE和CVE等相关标准漏洞报告信息,设计构建包含常见漏洞的漏洞关键词检索列表;
C2:基于版本控制管理系统,对项目代码的采集以及对项目历史信息和修改记录、历史版本等相关信息的采集和预处理后生成的存储结果,并且利用版本可控制管理系统的特性,实现对漏洞代码片段检索和定位漏洞信息检索;
C3:提取包括漏洞代码片段、漏洞信息、补丁信息、修补后代码片段在内的漏洞信息,存储提取的相关信息并构建为漏洞代码库。
4.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述步骤D的过程如下:
D1:程序依赖图的生成:利用静态分析技术,对源代码进行分析,得到的程序依赖图,能够表示程序控制以来与数据依赖关系;
D2:漏洞特征的提取:将程序依赖图作为参考,结合上一模块得到的漏洞库中漏洞代码的位置等信息,通过算法,得到漏洞特征相关代码片段;
D3:漏洞特征的优化:对提取到的漏洞特征进行抽象化,得到表征能力更强的漏洞特征;
D4:漏洞特征库的生成:将得到的漏洞特征存放在本地数据仓库中,形成漏洞特征库;
D5:漏洞特征库的导入:能够直接导入单条或多条漏洞特征;
D6:形成漏洞特征提取模块。
5.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述步骤E的过程如下:
E1:机器学习过程:将漏洞特征与待测代码进行比对,以行为粒度进行逐行比对,通过最大匹配思想,比对两者的相似度,最终完成机器学习过程,实现对漏洞的检测;借助离线开源项目代码框架仓库,经过机器学习,同时实现对待测代码自研率的分析;
E2:结果输出:扫描结束后列出漏洞所在文件和函数位置、对应的漏洞特征、漏洞类型、漏洞危害评级以及相应的漏洞修复方案、代码自研率等信息,并且以PDF,excel等格式导出;
E3:实时页面显示内容详细的检测进度、检测结果等信息,能够提取漏洞信息,并且最后形成可视化的比对结果报告;
E4:开发一套功能完整的代码安全性检测原型系统;
E5:选取电网25个以上系统开展测试,在电网云电智云平台上进行测试并出具测试结果及整改意见。
6.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述步骤F的过程如下:
F1:在线扫描:将本地项目文件拖入选框,待上传完毕后,能够实现对本地上传代码的扫描。扫描支持实时进度查看,完成扫描后能够在该页面导出扫描结果;
F2:云平台扫描:该界面上可以看到现在在线的(本地源代码管理平台中的项目)项目,选中任意一个项目,点击扫描后,即可完成对当前版本的代码漏洞扫描,扫描支持实时进度查看,完成扫描后能够在该页面导出扫描结果;
F3:报表管理:在该界面上能够查看历史扫描记录,并下载对应扫描结果报告。能够以历史版本为基准,以统计图表方式展示对应项目漏洞数量变化,代码安全风险趋势变化等信息;
F4:在该界面上,能够管理漏洞库和漏洞特征库,同时能够对系统的UI风格进行调整。
7.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述过程B2中每10000行代码预处理时间不超过5min。
8.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述过程C1中支持大小为128MB漏洞检索列表,漏洞检索列表至少包含:包含常见漏洞的漏洞关键词列表,例如堆溢出、栈溢出和整数溢出漏洞检索信息,且能够支持漏洞检索的语言至少包含: JAVA、JSP、PHP。
9.根据权利要求1所述的一种基于历史优化特征智能学习的源代码安全分析方法,其特征在于,所述过程D1中提供初始获取的特征数量不少于10000条。
CN202010981848.2A 2020-09-17 2020-09-17 一种基于历史优化特征智能学习的源代码安全分析方法 Active CN112148602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010981848.2A CN112148602B (zh) 2020-09-17 2020-09-17 一种基于历史优化特征智能学习的源代码安全分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010981848.2A CN112148602B (zh) 2020-09-17 2020-09-17 一种基于历史优化特征智能学习的源代码安全分析方法

Publications (2)

Publication Number Publication Date
CN112148602A CN112148602A (zh) 2020-12-29
CN112148602B true CN112148602B (zh) 2023-03-28

Family

ID=73893141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010981848.2A Active CN112148602B (zh) 2020-09-17 2020-09-17 一种基于历史优化特征智能学习的源代码安全分析方法

Country Status (1)

Country Link
CN (1) CN112148602B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612516B (zh) * 2020-12-30 2024-05-03 瑞庭网络技术(上海)有限公司 一种代码处理方法及装置
CN112632546A (zh) * 2020-12-31 2021-04-09 华数传媒网络有限公司 广电行业自动化代码分析方法
CN113094711B (zh) * 2021-04-30 2023-05-16 云南电网有限责任公司 基于阶段性项目开发的开源代码检测方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN102622556A (zh) * 2011-12-22 2012-08-01 南京邮电大学 基于程序切片技术的Web服务安全分析方法
CN108710564A (zh) * 2017-09-15 2018-10-26 苏州棱镜七彩信息科技有限公司 基于大数据的源代码综合评测平台

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017458A (zh) * 2007-03-02 2007-08-15 北京邮电大学 基于源代码静态分析的软件安全代码分析器及其检测方法
CN102622556A (zh) * 2011-12-22 2012-08-01 南京邮电大学 基于程序切片技术的Web服务安全分析方法
CN108710564A (zh) * 2017-09-15 2018-10-26 苏州棱镜七彩信息科技有限公司 基于大数据的源代码综合评测平台

Also Published As

Publication number Publication date
CN112148602A (zh) 2020-12-29

Similar Documents

Publication Publication Date Title
CN112148602B (zh) 一种基于历史优化特征智能学习的源代码安全分析方法
CN110737899B (zh) 一种基于机器学习的智能合约安全漏洞检测方法
CN111459799B (zh) 一种基于Github的软件缺陷检测模型建立、检测方法及系统
CN111143226B (zh) 自动化测试方法及装置、计算机可读存储介质、电子设备
CN106537333A (zh) 用于软件产物的数据库的系统和方法
CN113761163A (zh) 基于代码结构语义信息的深度代码搜索方法、系统及装置
CN113094198A (zh) 一种基于机器学习和文本分类的服务故障定位方法及装置
CN113158189B (zh) 一种恶意软件分析报告生成方法、装置、设备和介质
CN110442371A (zh) 一种发布代码的方法、装置、介质及计算机设备
CN113221960B (zh) 一种高质量漏洞数据收集模型的构建方法及收集方法
CN111177731A (zh) 一种基于人工神经网络的软件源代码漏洞检测方法
CN112688966A (zh) webshell检测方法、装置、介质和设备
CN112506757A (zh) 自动测试方法、系统、计算机设备及其介质
CN113742205A (zh) 一种基于人机协同的代码漏洞智能检测方法
CN114419631A (zh) 一种基于rpa的网管虚拟系统
CN117093260B (zh) 一种基于决策树分类算法的融合模型网站结构解析方法
CN117251559B (zh) 基于自然语言大模型的工程标准规范获取方法及系统
CN116720197B (zh) 一种对漏洞优先级排列的方法及装置
CN115658542B (zh) 一种代码密码算法类型识别与参数误用检测方法与系统
CN112131120A (zh) 一种源代码缺陷检测方法及装置
Yang et al. Smart contract vulnerability detection based on abstract syntax tree
CN116383832A (zh) 一种基于图神经网络的智能合约漏洞检测方法
CN115221045A (zh) 一种基于多任务多视角学习的多目标软件缺陷预测方法
CN113051161A (zh) 基于历史代码变更信息的api误用检测方法
CN109754159B (zh) 一种电网运行日志的信息提取方法及系统

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
GR01 Patent grant
GR01 Patent grant