基于python的漏洞检测技术研究
(一)国内外研究现状
互联网的迅速发展给人们带来了许多便利。与此同时,网络安全问题也越来越突出。腾讯的《2017年互联网安全报告》提到,网络攻击已经成为企业损失的主要原因之一。2017年,全世界多达86家公司经历了至少一次网络攻击,企业网络资源被盗的风险首次超过有形资产。根据基于风险的安全部门发布的漏洞数据快速调查报告,2017年披露的安全漏洞数量达到创纪录的20,832个,去年增长了31.0 %,国家漏洞数据库( NVD )中的漏洞数量也有所增加。根据360网站安全检测平台,国内网站存在大量安全漏洞。超过75 %的网站是高风险或超高风险网站。通过网站漏洞扫描工具定期扫描网站,并尽快发现和修复现有漏洞,已成为保护网站安全的重要方式。在现有技术中,AppSpider和AppScan扫描仪在检测SQL注入漏洞和跨站点脚本漏洞方面具有很高的准确性。然而,上述漏洞扫描器都没有POC漏洞验证和检测功能。他们不能使用已知的漏洞脚本来验证和检测漏洞,并且在漏洞检测方面有一定的局限性。现有的扫描仪通常是手动测试和自动化的。手工测试方法需要高测试人员,测试成本高,规模大。如果完全使用自动化测试,同一测试样本无法满足不同测试的需求,漏洞检测没有针对性,扫描效率不高。
传统的漏洞检测技术起源于国外,采用静态源代码分析方法。该方法是在理解目标的工作原理后,对目标进行手动分析,找出目标的安全漏洞。然而,这种方法需要针对不同的目标和环境,以及代码复杂性和源代码重新分析。这不仅限制了使用范围,而且因为审计会漏掉漏洞。为了弥补上述方法的不足,渗透测试技术逐渐被广泛应用,为当今的漏洞检测工具奠定了基础。目前,最有用的漏洞挖掘工具大多是基于某些类型的漏洞或规则模式开发的,具有很大的局限性。在实际的生产环境中,由于网络环境和组件、服务和漏洞本身的复杂性,传统的漏洞检测方法存在效率低、遗漏严重等缺点。关键组件的漏洞比传统类型的漏洞更复杂。它们不是由单个触发点引起的,特别是对于物联网和工业控制的安全漏洞。这些漏洞涉及复杂的网络和系统环境,并且要求有针对性的预处理或预条件。目前,漏洞检测主要分为已知漏洞检测和未知漏洞检测。已知漏洞的检测主要是基于安全扫描技术来检测系统中是否存在已发布的安全漏洞。未知漏洞检测的目的是发现软件系统中可能存在但未检测到的漏洞。现有的未知漏洞检测技术包括源代码扫描、反汇编扫描、环境错误注入等。源码扫描和拆卸扫描是静态漏洞检测技术,可以在不运行软件程序的情况下分析程序中可能存在的漏洞。环境错误注入是一种动态漏洞检测技术。利用可执行程序测试软件中的漏洞是一种比较成熟的漏洞检测技术。
为了应对网络漏洞数量的逐年增加和网络攻击的安全问题,许多企业和个人研究了漏洞扫描技术,开发了各种类型的扫描器,其中一些是商用的,一些是开源的。目前,Web Inspect、Watch.AppScan、Burpsuite和N-Stealth是典型的漏洞扫描器。
Web Inspect是由SPI Dynamics开发的一个强大的Web应用程序扫描器。Web Inspect具有最强大的报告系统,它提供了快速、灵活和可伸缩的工具,用于从应用程序安全评估中交付有意义的结果。除了许多标准报告模板之外,WebInspect的简单报告模块还允许开发和生成完全定制的报告。Web Inspect还可以包括来自外部数据源的数据,以提供完整的企业级报告。Web Inspect还提供了交互式漏洞审查和重新测试功能,以提高安全团队验证发现的问题和开发测试修复的能力。这种从安全性测试到开发的闭环反馈提高了应用程序团队的整体安全性和有效性。
Watch.AppScan,一个商业Web漏洞扫描器,可以扫描许多常见的漏洞。该工具的特点是具有一组扫描策略,为用户提供定制的选择,并可根据安全工作者的需求定制适当的扫描策略。
Burpsuite是一个能够以模拟攻击方式扫描Web应用程序的集成平台。各种模块化工具以信息共享的形式协作,并允许一个工具发现的漏洞形成另一个工具的基础。
N-Stealth-业务级Web服务器安全扫描器。它比一些免费的网络扫描器,如惠斯克和尼克托,更新更频繁。定制脚本语言是N-Stealth的一个特性。
以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。