CN109558733A - 一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法 - Google Patents
一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法 Download PDFInfo
- Publication number
- CN109558733A CN109558733A CN201811405331.8A CN201811405331A CN109558733A CN 109558733 A CN109558733 A CN 109558733A CN 201811405331 A CN201811405331 A CN 201811405331A CN 109558733 A CN109558733 A CN 109558733A
- Authority
- CN
- China
- Prior art keywords
- detection
- static
- static detection
- dynamic
- result
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Investigating Or Analysing Biological Materials (AREA)
Abstract
本发明公开了一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,包括:1)使用静态检测工具对应用程序进行代码分析;2)静态检测的结果作为输入进行动态检测;3)动态检测的结果作为第二次静态检测的输入再次进行静态检测;4)根据第二次静态检测的结果,定位到具体的代码处,进行人工审计,确认漏洞是否存在,若存在漏洞则给出解决方案,形成检测报告。本专利使用静态检测后再使用动态检测,人工审计分析,大大提高了检测结果的准确率。把众多的第一次静态检测结果进行动态检测后在进行人工审计分析,而不是逐个的对静态检测结果直接进行人工审计分析,可减少工作量,降低成本,提高效率。
Description
技术领域
本发明涉及安全测试技术领域,尤其涉及一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法。
背景技术
随着越来越多数据泄露、勒索病毒、DDOS攻击等安全事件发生,信息安全越来越被人们熟知并得到企业的重视。代码审计就是用来主动防御的一种方式,代码审计是指专业人员对开发人员所编写的代码进行缺陷检测,以期望在被黑客攻击之前最大程度的发现代码中的缺陷,用来减少损失。代码审计分为静态检测和动态检测,静态检测是指在不运行程序代码的前提下,通过词法分析,语法分析,控制流、数据流分析等技术对程序代码进行扫描和分析,来寻找代码中潜在的安全问题。动态检测是指在程序运行时,通过提取运行过程中产生的各种信息并加以分析,来完成代码检测的分析方式,动态检测常使用fuzzing技术。静态检测具有检测范围广,检测深度广等优点,效率低下、误报率高、效率低、成本高等缺点;动态检测具有准确率高优点,但是覆盖率低的缺点。
发明内容
针对现有技术中存在的问题,为了提高代码缺陷检测的准确率、效率,所以采用静态检测和动态检测相互结合的方法,可以形成互补,吸收静态测试和动态测试的优点,以达到效率、准确率、成本、覆盖路径等的最优解。本专利提供一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,该方法可大大提升代码缺陷检测的准确率和效率。
本发明通过以下技术方案来实现上述目的:
一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,所述方法包括:
1)使用静态检测工具对应用程序进行代码分析;
2)静态检测的结果作为输入进行动态检测;
3)动态检测的结果作为第二次静态检测的输入再次进行静态检测;
4)根据第二次静态检测的结果,定位到具体的代码处,进行人工审计,确认漏洞是否存在,若存在漏洞则给出解决方案,形成检测报告。
作为进一步优化,所述静态检测的工具包括但不限于Seay、Skywolf、Fortifysca、Rips、Pixy。
作为进一步优化,所述动态检测使用Fuzzing工具。
本发明的有益效果在于:
本发明的一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,准确率提高:本专利使用静态检测后再使用动态检测,人工审计分析,大大提高了检测结果的准确率。
效率提高:本专利把众多的第一次静态检测结果进行动态检测后在进行人工审计分析,而不是逐个的对静态检测结果直接进行人工审计分析,可减少工作量,降低成本,提高效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要实用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
如图1所示,本发明的一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,所述方法包括:
1)使用静态检测工具对应用程序进行代码分析;即首先对应用程序代码进行静态检测,把检测结果作为动态检测的输入。所述静态检测的工具包括但不限于Seay、Skywolf、Fortifysca、Rips、Pixy。
2)静态检测的结果作为输入进行动态检测;即使用第一次静态检测的结果作为输入进行动态检测,以来确定静态检测结果的准确性,动态检测的结果作为第二次静态检测的输入。所述动态检测使用Fuzzing工具。
3)动态检测的结果作为第二次静态检测的输入再次进行静态检测;即使用动态检测的结果作为输入进行第二次静态检测,可用来减少工作量,提高效率。
4)根据第二次静态检测的结果,定位到具体的代码处,进行人工审计,确认漏洞是否存在,若存在漏洞则给出解决方案,形成检测报告。即根据第二次静态检测的结果定位到具体的代码,然后对具体的代码进行人工审计,确认漏洞是否存在,相比第一次静态检测之后就直接进行人工审计效率有很大提高。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (3)
1.一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,其特征在于,所述方法包括:
1)使用静态检测工具对应用程序进行代码分析;
2)静态检测的结果作为输入进行动态检测;
3)动态检测的结果作为第二次静态检测的输入再次进行静态检测;
4)根据第二次静态检测的结果,定位到具体的代码处,进行人工审计,确认漏洞是否存在,若存在漏洞则给出解决方案,形成检测报告。
2.根据权利要求1所述的一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,其特征在于,所述静态检测的工具包括但不限于Seay、Skywolf、Fortifysca、Rips、Pixy。
3.根据权利要求1所述的一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法,其特征在于,所述动态检测使用Fuzzing工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405331.8A CN109558733A (zh) | 2018-11-22 | 2018-11-22 | 一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811405331.8A CN109558733A (zh) | 2018-11-22 | 2018-11-22 | 一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109558733A true CN109558733A (zh) | 2019-04-02 |
Family
ID=65867286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811405331.8A Pending CN109558733A (zh) | 2018-11-22 | 2018-11-22 | 一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109558733A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532165A (zh) * | 2019-07-05 | 2019-12-03 | 中国平安财产保险股份有限公司 | 应用程序安装包特性检测方法、装置、设备及存储介质 |
CN110968868A (zh) * | 2019-11-20 | 2020-04-07 | 北京国舜科技股份有限公司 | 应用安全审计方法、装置、电子设备及存储介质 |
WO2021243555A1 (zh) * | 2020-06-02 | 2021-12-09 | 深圳市欢太科技有限公司 | 一种快应用检测方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808093A (zh) * | 2010-03-15 | 2010-08-18 | 北京安天电子设备有限公司 | 一种对web安全进行自动化检测的系统和方法 |
CN101968766A (zh) * | 2010-10-21 | 2011-02-09 | 上海交通大学 | 计算机程序实际运行时触发软件漏洞的检测系统 |
CN104573524A (zh) * | 2014-12-19 | 2015-04-29 | 中国航天科工集团第二研究院七〇六所 | 一种基于静态检测的模糊测试方法 |
CN104933362A (zh) * | 2015-06-15 | 2015-09-23 | 福州大学 | Android应用软件API误用类漏洞自动化检测方法 |
CN106709359A (zh) * | 2017-01-05 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种Android应用漏洞检测方法 |
-
2018
- 2018-11-22 CN CN201811405331.8A patent/CN109558733A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808093A (zh) * | 2010-03-15 | 2010-08-18 | 北京安天电子设备有限公司 | 一种对web安全进行自动化检测的系统和方法 |
CN101968766A (zh) * | 2010-10-21 | 2011-02-09 | 上海交通大学 | 计算机程序实际运行时触发软件漏洞的检测系统 |
CN104573524A (zh) * | 2014-12-19 | 2015-04-29 | 中国航天科工集团第二研究院七〇六所 | 一种基于静态检测的模糊测试方法 |
CN104933362A (zh) * | 2015-06-15 | 2015-09-23 | 福州大学 | Android应用软件API误用类漏洞自动化检测方法 |
CN106709359A (zh) * | 2017-01-05 | 2017-05-24 | 中国电子科技网络信息安全有限公司 | 一种Android应用漏洞检测方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532165A (zh) * | 2019-07-05 | 2019-12-03 | 中国平安财产保险股份有限公司 | 应用程序安装包特性检测方法、装置、设备及存储介质 |
CN110968868A (zh) * | 2019-11-20 | 2020-04-07 | 北京国舜科技股份有限公司 | 应用安全审计方法、装置、电子设备及存储介质 |
WO2021243555A1 (zh) * | 2020-06-02 | 2021-12-09 | 深圳市欢太科技有限公司 | 一种快应用检测方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558733A (zh) | 一种基于静态检测和动态检测相结合的应用程序代码缺陷检测方法 | |
US7114183B1 (en) | Network adaptive baseline monitoring system and method | |
WO2017152877A1 (zh) | 网络威胁事件评估方法及装置 | |
WO2004021637A1 (en) | Threat assessment orchestrator system and method | |
CN112134877A (zh) | 网络威胁检测方法、装置、设备及存储介质 | |
CN106033516B (zh) | 一种检测终端源代码安全的方法、装置及系统 | |
CN111259399B (zh) | 用于web应用的动态检测漏洞攻击的方法及系统 | |
CN105743877A (zh) | 一种网络安全威胁情报处理方法及系统 | |
KR102394702B1 (ko) | 생키 및 패러렐 코디네이트 보안 시각화를 이용한 신속한 이상 트래픽 탐지 장치 및 방법 | |
CN110866255A (zh) | 一种智能合约漏洞检测方法 | |
Paredes-Oliva et al. | Automating root-cause analysis of network anomalies using frequent itemset mining | |
Dhiman | DYNAMIC ANALYSIS TECHNIQUES FOR WEB APPLICATION VULNERABILITY DETECTION | |
KR101444250B1 (ko) | 개인정보 접근감시 시스템 및 그 방법 | |
CN112257077A (zh) | 一种基于深度学习的自动化漏洞挖掘方法 | |
CN111309589A (zh) | 一种基于代码动态分析的代码安全扫描系统及方法 | |
CN112804204B (zh) | 一种基于大数据分析的智能网络安全系统 | |
Wen et al. | Enhancing symbolic execution by machine learning based solver selection | |
Chrząszcz | Indicating system vulnerabilities within CECA model | |
CN101373506A (zh) | 一种基于漏洞模型的软件漏洞模型检测方法 | |
CN105791263A (zh) | 一种信息安全风险预警方法及管理系统 | |
CN105933186A (zh) | 安全检测的方法、装置及系统 | |
KR102446645B1 (ko) | 기탐지된 악성파일의 IoC를 이용한 악성의심파일의 TTPs를 추출하는 장치 | |
KR102152317B1 (ko) | 기탐지된 악성파일의 IoC를 이용한 악성의심파일의 TTPs를 추출하는 방법 | |
Zaid et al. | Automated identification of over-privileged smartthings apps | |
Kim et al. | A hybrid static tool to increase the usability and scalability of dynamic detection of malware |
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: 20190402 |
|
RJ01 | Rejection of invention patent application after publication |