CN105740135B - 一种代码审计方法和装置 - Google Patents

一种代码审计方法和装置 Download PDF

Info

Publication number
CN105740135B
CN105740135B CN201410745225.XA CN201410745225A CN105740135B CN 105740135 B CN105740135 B CN 105740135B CN 201410745225 A CN201410745225 A CN 201410745225A CN 105740135 B CN105740135 B CN 105740135B
Authority
CN
China
Prior art keywords
url
key
operating parameter
code
correspondence
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
CN201410745225.XA
Other languages
English (en)
Other versions
CN105740135A (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.)
China Mobile Group Shanxi Co Ltd
Original Assignee
China Mobile Group Shanxi 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 China Mobile Group Shanxi Co Ltd filed Critical China Mobile Group Shanxi Co Ltd
Priority to CN201410745225.XA priority Critical patent/CN105740135B/zh
Publication of CN105740135A publication Critical patent/CN105740135A/zh
Application granted granted Critical
Publication of CN105740135B publication Critical patent/CN105740135B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种代码审计方法,包括:建立URL和操作参数与源代码之间的对应关系;根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;对所述关键URL和关键操作参数对应的源代码进行审计。

Description

一种代码审计方法和装置
技术领域
本发明涉及信息安全技术领域,尤其涉及一种代码审计方法和装置。
背景技术
在应用系统设计开发过程中,由于开发规范不完善、落实不到位、开发人员技术水平参差不齐等因素,很容易导致开发出来的代码存在安全漏洞,如常见的结构化查询语言(Structured Query Language,SQL)注入漏洞、跨站脚本攻击(Cross Site Scripting,XSS)漏洞、缓冲区溢出漏洞、配置文件中敏感信息泄露漏洞等。这些漏洞如果不能及时发现并合理解决,会给上线后的WEB应用系统带来极大的安全隐患。
对应用系统进行代码安全审计是发现这些安全漏洞的主要方法,目前进行代码安全审计的方法主要包括:以工具扫描为主的代码审计方法和以人工审计为主的代码审计方法。
其中,以工具扫描为主的代码审计方法,主要是通过代码审计工具对源代码进行扫描,如fortify源代码扫描工具;然后在由专业人员对工具扫描报告进行分析和筛选,编制代码审计报告。这种方法中工具扫描全自动进行,用时短,一般用于对源代码的全量扫描,可以发现源代码中多种类型的漏洞,比如输入输出漏洞、访问控制漏洞等。但是由于系统本身代码量较大,逻辑较复杂,工具扫描出现的漏报和误报情况非常多,后期需要投入大量的人员对工具扫描报告进行分析,以尽可能多的发现和纠正工具扫描中的误报问题。实施过程包括两个操作步骤,两个输入输出;具体包括以下步骤:
步骤1:代码审计工具扫描;
在配置后扫描任务后,由扫描工具自动执行;其输入为需要审计的源代码,输出为扫描报告。
步骤2:扫描报告人工分析。
主要是采用人工分析的方式,梳理工具扫描报告中的代码审计结果,对工具扫描结果进行精简,去伪存真,最终形成代码审计报告;其输入为工具扫描报告,输出为代码审计报告。
以人工审计为主的代码审计方法,主要是通过经验丰富的专业技术人员对源代码进行人工审计,一般结合渗透测试、代码扫描工具作为辅助手段,最后编写代码审计报告。这种代码审计方法准确度很高,但需要投入大量的人力成本。实施过程包括四个操作步骤,多个输入和输出,其中步骤2和步骤3为辅助步骤,可以有效提高人工审计的效率;具体包括以下步骤:
步骤1:根据代码审计人员的经验,及人工代码审计相关流程,查看源代码,对源代码进行审计;其输入为源代码,输出为初步审计结果。
步骤2:采用代码审计工具对源代码进行扫描,以及采用应用安全扫描工具对应用系统进行安全扫描两种方式,输出代码审计扫描报告和应用系统漏洞扫描报告。
步骤3:采用网络攻击技术,模拟黑客对应用系统进行攻击测试。在代码审计工作中,渗透测试可以采用白盒测试的方式进行,输出渗透测试报告。
步骤4:综合人工审计、工具扫描、渗透测试等结果,进行全面分析,输出代码审计报告。
从现有的代码审计的技术方案中可以看出,当前采用的两种主要代码审计方法存在以下缺点:
以工具扫描为主的代码审计方法的审计报告中存在较多的误报和漏报,审计报告不能直接用于指导后期的代码修改,后期必须投入一定的专业技术人员,对审计报告进行人工分析和漏洞确认。且后期的人工分析工作是基于扫描报告的,是对扫描报告的梳理和精简,可以降低误报情况,但却无法解决工具扫描漏报的问题。据统计,一个具有100万行源代码的应用系统工具扫描报告中,剔除重复报的漏洞,误报率仍可达30%以上。由于工具扫描的局限性,对于代码逻辑错误漏洞和动态安全漏洞的漏报率高达60%。因此以工具扫描为主的代码审计方法虽然前期自动执行的效率较高,但由于存在误报漏报,且自动扫描报告可用性较差,后期还是需要一定的人员投入。
采用以人工审计为主的代码审计方法。代码审计工作量较大,实施周期较长,需要投入较大的人力物力成本,审计成本较高,不能适应系统业务的快速发展及降低系统安全防护成本的要求。另外,进行人工代码审计,其审计效果较多依赖于实施代码审计的专业技术人员,对人员的专业水平和实施经验要求较高,实施一次高水平的代码审计,对于多数组织或应用系统来说比较困难。经测算,如果每人每天审核5000行代码,在结合一定的辅助工具的情况下,提高1倍的审计效率,对一个具有100万行代码量的业务应用系统进行一次全面的代码审计,需要投入100个人天的工作量,约30万实施费用。按投入2到5个人计算,一般需要花费数周,甚至几个月。由于组织业务的高速发展,应用系统往往频繁更新以适应业务发展需求,等待数周甚至几个月的时间,以完成代码审计,然后再进行整改和加固,使系统达到上线或运行的安全要求,这显然是不能满足业务需求的。
综上所述,以工具扫描为主的代码审计,误报漏报多,后期加工的工作量大,且不能完全弥补漏报的问题;以人工审计为主的代码审计,工作量大,实施周期长,实施成本高,不适用于业务快速变更的应用系统。
发明内容
有鉴于此,本发明实施例期望提供一种代码审计方法和装置,能降低误报和漏报率,同时能降低分析的工作量,提高审计效率,大大缩短审计时间,降低审计成本。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种代码审计方法,所述方法包括:
建立统一资源定位符URL和操作参数与源代码之间的对应关系;
根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;
对所述关键URL和关键操作参数对应的源代码进行审计。
上述方案中,所述建立URL和操作参数与源代码之间的对应关系包括:解析程序包配置文件中的映射关系,根据映射关系建立URL和操作参数与源代码之间的对应关系。
上述方案中,所述根据映射关系建立URL和操作参数与源代码之间的对应关系包括:
根据映射关系确定URL与操作参数之间的对应关系;
扫描程序文件,确定操作参数与源代码之间的对应关系;
确定URL与源代码之间的对应关系。
上述方案中,所述根据用户访问URL和操作参数的频率选取关键URL和关键操作参数包括:
分析应用系统访问操作日志,提取用户对URL和相关操作参数的访问频率,选取使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数。
上述方案中,所述根据安全扫描报告选取关键URL和关键操作参数包括:
分析系统应用安全扫描报告,提取报告中存在漏洞的URL和操作参数,选取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
本发明实施例还提供了一种代码审计装置,所述装置包括:映射模块、关键URL和关键操作参数选取模块、代码审计模块;其中,
所述映射模块,用于建立用统一资源定位符URL和操作参数与源代码之间的对应关系;
所述关键URL和关键操作参数选取模块,用于根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;
所述代码审计模块,对所述关键URL和关键操作参数对应的源代码进行审计。
上述方案中,所述映射模块具体用于:解析程序包配置文件中的映射关系,根据映射关系建立URL和操作参数与源代码之间的对应关系。
上述方案中,所述映射模块具体用于:根据映射关系确定URL与操作参数之间的对应关系;扫描程序文件,确定操作参数源与代码之间的对应关系;确定URL与源代码之间的对应关系。
上述方案中,所述关键URL和关键操作参数选取模块具体用于:分析应用系统访问操作日志,提取用户对URL和相关操作参数的访问频率,选取使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数。
上述方案中,所述关键URL和关键操作参数选取模块具体用于:分析系统应用安全扫描报告,提取报告中存在漏洞的URL和操作参数,选取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
本发明实施例提供的代码审计方法和装置,建立统一资源定位符(URL,UniformResource Locator)和操作参数与源代码之间的对应关系;根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;对所述关键URL和关键操作参数对应的源代码进行审计。如此,能够对优选出来的小部分关键代码进行重点审计,由于代码选取过程中参考了应用系统漏洞扫描报告,因此,能够准确定位问题代码,有效降低误报和漏报的概率。
另外,由于关键代码仅占全部代码量的15%到30%,因此,对选取出来的小部分关键代码进行重点审计,可以大大减小分析的工作量,提高审计的效率,大大缩短审计时间,降低审计成本。
附图说明
图1为本发明实施例代码审计方法流程示意图;
图2为本发明实施例代码审计装置结构示意图。
具体实施方式
在本发明实施例中,建立URL和操作参数与源代码之间的对应关系;根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;对所述关键URL和关键操作参数对应的源代码进行审计。
一般情况下,HTTP的请求中会同时包括URL和操作参数,这里,所述URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该如何处理该URL。一般,URL从左到右由下述部分组成:Internet资源类型(scheme)、服务器地址(host)、端口(port)、路径(path);即URL的格式为:scheme://host:port/path,例如http://www.sohu.com/domain/HXWZ;
其中,Internet资源类型指WWW客户程序用来操作的工具,如“http://”表示WWW服务器,“ftp://”表示FTP服务器,“gopher://”表示Gopher服务器,而“new:”表示Newgroup新闻组;
服务器地址:指WWW页所在的服务器域名。
端口:对某些资源的访问来说,有时需给出相应的服务器提供端口号;
路径:指明服务器上某资源的位置,其格式与DOS系统中的格式一样,通常有目录/子目录/文件名这样结构组成,与端口一样,路径并非总是需要的。
所述操作参数,是指URL对应的资源中的具体操作,例如,当前URL对应的网络页面中包括多个具体操作,如登录、注册、退出等,不同的操作参数对应着不同的源代码,当用户点击相应操作时,即跳转到相应界面,例如,当用户点击注册时,即跳转到注册界面,等待用户输入的信息。
不同的操作参数,用户的使用频率不同,仍然以上述例子为例,对于一个比较成熟的网站来说,老用户在已经拥有账号信息的情况下,一般会选择登录操作,只有极少数没有账号的新用户,才会选择注册操作,因此,登录操作参数的访问频率会高于注册操作参数的访问频率。
下面结合附图及具体实施例,对本发明代码审计方法进一步详细描述。
图1为本发明实施例代码审计方法流程示意图,如图1所示,本发明实施例的代码审计方法包括以下步骤:
步骤101:建立URL和操作参数与源代码之间的对应关系;
本步骤具体包括:解析程序包配置文件中的映射关系,根据映射关系建立URL和操作参数与源代码之间的对应关系。
本发明实施例中,首先解析包含应用系统源代码的程序包,分析源代码中的配置文件和注解,抽象出Struts2中ActionMap;然后通过对ActionMap进行分析,建立URL及操作参数与源代码中相关代码的映射。
具体的,根据ActionMap确定URL与操作参数之间的对应关系;扫描程序文件,确定操作参数与源代码之间的对应关系;确定URL与源代码之间的对应关系。
本发明实施例中,通过对应用中struts2配置文件的扫描,提取URL与操作参数之间的映射MAP(URL to操作参数);对程序文件进行扫描,确定操作参数类与class、jsp等源代码之间的对应关系,并保存为调用关系图(操作参数to class、jsp),最后确定URL与源代码之间的对应关系。
步骤102:根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;
本步骤中,所述根据用户访问URL和操作参数的频率选取关键URL和关键操作参数包括:分析应用系统访问操作日志,提取用户对URL和相关操作参数的访问频率,选取使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数。
本发明实施例中,通过系统接口或专有的采集控制平台,采集应用系统访问操作日志。从日志中提取用户访问的URL及操作参数,在一定的时间周期内对不同的用户访问的URL和操作参数的次数进行统计,按照访问频率高低进行排序,将排序结果记录到数据库。这里,所述一定的时间周期可以根据实际情况设定,例如,可以选择时间周期为一个星期,对一个星期内用户访问的URL和操作参数进行统计,并按使用频率由高到低进行排序后,将排序结果记录到数据库,并选择使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数。
所述第一预设阈值为标记URL使用频率的阈值,所述第二预设阈值为标记操作参数使用频率的阈值,所述第一预设阈值和第二预设阈值可以根据实际代码审计要求进行设置,例如,当对关键URL和关键操作参数的要求较高时,可以设置相对较高的使用频率预设阈值;也可以根据URL/操作参数按照使用频率高低进行排序后的排序结果进行设置,例如,选取排序队列中前30%的URL/操作参数为关键URL/操作参数,即设置位于排序队列30%位置的URL/操作参数的使用频率为第一预设阈值/第二预设阈值。
所述根据安全扫描报告选取关键URL和关键操作参数包括:分析系统应用安全扫描报告,提取报告中存在漏洞的URL和操作参数,选取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
本发明实施例中,通过安全扫描工具定期扫描产生的应用安全扫描报告,所述安全扫描报告中包括漏洞严重等级,一般情况下,漏洞严重等级一般分为:严重、高、中、低、信息五级,漏洞越严重,漏洞严重等级越高,即“严重”为五级,“中”为三级,“信息”为一级。本发明实施例中,首先将报告中存在漏洞的URL/操作参数按照漏洞严重程度由高到低的顺序进行排序,然后取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
本发明实施例中仅仅是以上述漏洞严重等级为例,在实际应用中,也可以选取其他方式的分级。所述第三预设阈值为标记URL漏洞严重程度的阈值,所述第四预设阈值为标记操作参数漏洞严重程度的阈值,所述第三预设阈值和第四预设阈值可以根据实际代码审计要求进行设置,例如,当对关键URL和关键操作参数的要求较高时,可以设置相对较高的使用第三预设阈值和第四预设阈值;也可以根据URL/操作参数按照漏洞严重程度由高到低进行排序后的排序结果进行设置,例如选取排序队列中前50%的URL/操作参数为关键URL/操作参数,即设置位于排序队列50%位置的URL/操作参数的漏洞等级为第三预设阈值/第四预设阈值。
本发明实施例中,步骤101和步骤102并不限定具体的执行顺序,步骤102的选取关键URL和关键操作参数的步骤可以先于步骤101执行,也可以在步骤101之后执行,也可以和步骤101同时执行。
当步骤101先于步骤102执行或步骤101与步骤102同时执行时,所述建立URL和操作参数与源代码之间的对应关系包括:建立当前所有URL和操作参数与源代码之间的对应关系;当步骤102先于步骤101执行时,所述建立URL和操作参数与源代码之间的对应关系包括:建立步骤102中选取出来的关键URL和关键操作参数与源代码之间的对应关系。
步骤103:对所述关键URL和关键操作参数对应的源代码进行审计。
本发明实施例中,根据步骤101中建立的URL和操作参数与源代码之间的对应关系,以及步骤102中确定的关键URL和关键操作参数,确定关键URL和关键操作参数对应的源代码,采用工具扫描、和/或人工分析的方式对确定的源代码进行审计。
本发明实施例还提供了一种代码审计装置,图2为本发明实施例代码审计装置结构示意图,如图2所示,所述装置包括:映射模块21、关键URL和关键操作参数选取模块22、代码审计模块23;其中,
所述映射模块21,用于建立URL和操作参数与源代码之间的对应关系;
本发明实施例中,所述映射模块21具体用于:解析程序包配置文件中的映射关系,根据映射关系建立URL和操作参数与源代码之间的对应关系。
本发明实施例中,所述映射模块21首先解析包含应用系统源代码的程序包,分析源代码中的配置文件和注解,抽象出Struts2中ActionMap;然后通过对ActionMap进行分析,建立URL及操作参数与源代码中相关代码的映射。
具体的,所述映射模块21具体用于:根据ActionMap确定URL与操作参数之间的对应关系;扫描程序文件,确定操作参数源与代码之间的对应关系;确定URL与源代码之间的对应关系。
例如,所述映射模块21通过对应用中struts2配置文件的扫描,提取URL与操作参数之间的映射MAP(URL to操作参数);对程序文件进行扫描,确定操作参数类与class、jsp等源代码之间的对应关系,并保存为调用关系图(操作参数to class、jsp),最后确定URL与源代码之间的对应关系。
所述关键URL和关键操作参数选取模块22,用于根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;
本发明实施例中,所述关键URL和关键操作参数选取模块22具体用于:通过分析应用系统访问操作日志,提取用户对URL和相关操作参数的访问频率,选取使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数;分析系统应用安全扫描报告,提取报告中存在漏洞的URL和操作参数,选取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
本发明实施例中,所述关键URL和关键操作参数选取模块22通过系统接口或专有的采集控制平台,采集应用系统访问操作日志。从日志中提取用户访问的URL及操作参数,在一定的时间周期内对不同的用户访问的URL和操作参数的次数进行统计,按照访问操作频率高低进行排序,将排序结果记录到数据库,并选择使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数。
所述关键URL和关键操作参数选取模块22通过安全扫描工具定期扫描产生的应用安全扫描报告,所述安全扫描报告中包括漏洞严重等级,一般情况下,漏洞严重等级一般分为:严重、高、中、低、信息五级,漏洞越严重,漏洞严重等级越高,即“严重”为五级,“中”为三级,“信息”为一级。本发明实施例中,所述关键URL和关键操作参数选取模块22首先将报告中存在漏洞的URL/操作参数按照漏洞严重程度由高到低的顺序进行排序,然后取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
所述代码审计模块23,对所述关键URL和关键操作参数对应的源代码进行审计。
本发明实施例中,所述代码审计模块23根据步骤101中建立的URL和操作参数与源代码之间的对应关系,以及步骤102中确定的关键URL和关键操作参数,确定关键URL和关键操作参数对应的源代码,采用采工具扫描、和/或人工分析的方式对确定的源代码进行审计。
图2中所示的代码审计装置中的各处理模块的实现功能,可参照前述代码审计方法的相关描述而理解。本领域技术人员应当理解,图2所示的代码审计装置中各处理模块的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现,比如:可由中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)实现。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其他形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明实施例上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明是实例中记载的代码审计方法和装置只以本发明所述实施例为例,但不仅限于此,只要涉及到该代码审计方法和装置均在本发明的保护范围。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种代码审计方法,其特征在于,所述方法包括:
建立统一资源定位符URL和操作参数与源代码之间的对应关系;
根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;
对所述关键URL和关键操作参数对应的源代码进行审计。
2.根据权利要求1所述方法,其特征在于,所述建立统一资源定位符URL和操作参数与源代码之间的对应关系包括:解析程序包配置文件中的映射关系,根据映射关系建立URL和操作参数与源代码之间的对应关系。
3.根据权利要求2所述方法,其特征在于,所述根据映射关系建立URL和操作参数与源代码之间的对应关系包括:
根据映射关系确定URL与操作参数之间的对应关系;
扫描程序文件,确定操作参数与源代码之间的对应关系;
确定URL与源代码之间的对应关系。
4.根据权利要求1所述方法,其特征在于,所述根据用户访问URL和操作参数的频率选取关键URL和关键操作参数包括:
分析应用系统访问操作日志,提取用户对URL和相关操作参数的访问频率,选取使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数。
5.根据权利要求1或4所述方法,其特征在于,所述根据安全扫描报告选取关键URL和关键操作参数包括:
分析系统应用安全扫描报告,提取报告中存在漏洞的URL和操作参数,选取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
6.一种代码审计装置,其特征在于,所述装置包括:映射模块、关键URL和关键操作参数选取模块、代码审计模块;其中,
所述映射模块,用于建立统一资源定位符URL和操作参数与源代码之间的对应关系;
所述关键URL和关键操作参数选取模块,用于根据用户访问URL和操作参数的频率、和/或安全扫描报告,选取关键URL和关键操作参数;
所述代码审计模块,对所述关键URL和关键操作参数对应的源代码进行审计。
7.根据权利要求6所述装置,其特征在于,所述映射模块具体用于:解析程序包配置文件中的映射关系,根据映射关系建立URL和操作参数与源代码之间的对应关系。
8.根据权利要求7所述装置,其特征在于,所述映射模块具体用于:根据映射关系确定URL与操作参数之间的对应关系;扫描程序文件,确定操作参数与源代码之间的对应关系;确定URL与源代码之间的对应关系。
9.根据权利要求6所述装置,其特征在于,所述关键URL和关键操作参数选取模块具体用于:分析应用系统访问操作日志,提取用户对URL和相关操作参数的访问频率,选取使用频率高于第一预设阈值的URL作为关键URL,选取使用频率高于第二预设阈值的操作参数作为关键操作参数。
10.根据权利要求6所述装置,其特征在于,所述关键URL和关键操作参数选取模块具体用于:分析系统应用安全扫描报告,提取报告中存在漏洞的URL和操作参数,选取漏洞严重等级高于第三预设阈值的URL为关键URL,选取漏洞严重等级高于第四预设阈值的操作参数作为关键操作参数。
CN201410745225.XA 2014-12-08 2014-12-08 一种代码审计方法和装置 Active CN105740135B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410745225.XA CN105740135B (zh) 2014-12-08 2014-12-08 一种代码审计方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410745225.XA CN105740135B (zh) 2014-12-08 2014-12-08 一种代码审计方法和装置

Publications (2)

Publication Number Publication Date
CN105740135A CN105740135A (zh) 2016-07-06
CN105740135B true CN105740135B (zh) 2018-06-26

Family

ID=56237872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410745225.XA Active CN105740135B (zh) 2014-12-08 2014-12-08 一种代码审计方法和装置

Country Status (1)

Country Link
CN (1) CN105740135B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106594825B (zh) * 2016-11-25 2019-02-12 北京小米移动软件有限公司 抽烟机进行信息提醒方法、装置及终端
CN111352963A (zh) * 2018-12-24 2020-06-30 北京奇虎科技有限公司 一种数据统计方法及装置
CN110109840A (zh) * 2019-05-10 2019-08-09 重庆八戒电子商务有限公司 基于版本号比较的代码审计方法、审计装置及介质
CN110968868A (zh) * 2019-11-20 2020-04-07 北京国舜科技股份有限公司 应用安全审计方法、装置、电子设备及存储介质
CN111008376B (zh) * 2019-12-09 2021-11-05 国网山东省电力公司电力科学研究院 一种基于代码动态分析的移动应用源代码安全审计系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256596A (zh) * 2008-03-28 2008-09-03 北京搜狗科技发展有限公司 一种站内导航的方法及系统
CN103679053A (zh) * 2013-11-29 2014-03-26 北京奇虎科技有限公司 一种网页篡改的检测方法及装置
CN103679018A (zh) * 2012-09-06 2014-03-26 百度在线网络技术(北京)有限公司 一种检测csrf漏洞的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5468837B2 (ja) * 2009-07-30 2014-04-09 株式会社日立製作所 異常検出方法、装置、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256596A (zh) * 2008-03-28 2008-09-03 北京搜狗科技发展有限公司 一种站内导航的方法及系统
CN103679018A (zh) * 2012-09-06 2014-03-26 百度在线网络技术(北京)有限公司 一种检测csrf漏洞的方法和装置
CN103679053A (zh) * 2013-11-29 2014-03-26 北京奇虎科技有限公司 一种网页篡改的检测方法及装置

Also Published As

Publication number Publication date
CN105740135A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
CN105740135B (zh) 一种代码审计方法和装置
Fonseca et al. Evaluation of web security mechanisms using vulnerability & attack injection
Nunes et al. Benchmarking static analysis tools for web security
JP3744361B2 (ja) セキュリティ管理システム
Dias Neto et al. A survey on model-based testing approaches: a systematic review
US8332509B2 (en) Parameterized computer monitoring system
Fonseca et al. Vulnerability & attack injection for web applications
CN105068925B (zh) 软件安全缺陷发现系统
CN108665297A (zh) 异常访问行为的检测方法、装置、电子设备和存储介质
WO2019136282A1 (en) Control maturity assessment in security operations environments
CN109462583A (zh) 一种基于静态和动态相结合的反射型漏洞检测方法
CN107360155A (zh) 一种基于威胁情报和沙箱技术的网络攻击自动溯源方法和系统
CN106778264A (zh) 一种移动客户端的应用程序分析方法及分析系统
CN110135162A (zh) Webshell后门识别方法、装置、设备及存储介质
CN106033512A (zh) 一种安全漏洞加固方法及系统
CN116846619A (zh) 一种自动化网络安全风险评估方法、系统及可读存储介质
CN106250761A (zh) 一种识别web自动化工具的设备、装置及方法
Huynh et al. An empirical investigation into open source web applications’ implementation vulnerabilities
CN109558183B (zh) 一种自动实现api应用的方法及装置
CN106101086A (zh) 程序文件的云检测方法及系统、客户端、云端服务器
Yin et al. A web application runtime application self-protection scheme against script injection attacks
CN116248393A (zh) 一种内网数据传输漏洞扫描装置及系统
Teeraratchakarn et al. Automated monitoring and behavior analysis for proactive security operations
Alshahwan et al. Crawlability metrics for web applications
CN104778406B (zh) 一种基于文件指纹对恶意代码统一命名的方法及其系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant