网络安全漏洞测试工具punks的设计与实现

网络安全漏洞测试工具punks的设计与实现

ID:33523256

大小:317.50 KB

页数:6页

时间:2019-02-26

网络安全漏洞测试工具punks的设计与实现_第1页
网络安全漏洞测试工具punks的设计与实现_第2页
网络安全漏洞测试工具punks的设计与实现_第3页
网络安全漏洞测试工具punks的设计与实现_第4页
网络安全漏洞测试工具punks的设计与实现_第5页
资源描述:

《网络安全漏洞测试工具punks的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、网络安全漏洞测试工具Punks的设计与实现摘 要:文中设计和实现了一个Web应用安全漏洞测试工具Punks。其中Punks的爬行模块的设计与实现来源于对开源的网络爬虫软件Harvestman的改写;进而达到了高性能的多线程爬行。为了提高整体性能;还设计和实现了一个具有队列缓冲机制和多线程机制支持的注入/分析组件;并把改写后的网络爬行组件和它很好的集成;最终实现了一个高性能的Web应用安全漏洞测试工具。关键词:Web安全漏洞;错误注入技术;网络爬虫;Punks中图分类号:TP393.08 文献标识码:A 1 引言传统的网络安全一直倾向于采用被动式的防御策略;如防火墙、入侵

2、检测系统等。其关注的焦点也集中在网络的底层而忽略了Web应用程序层(第七层)的安全。有许多调查研究论及了病毒、网络攻击、公共缺陷公布、垃圾邮件和网络钓鱼企图;但很少关注位于防火墙和传统网络安全范畴之外的基于Web的应用程序的安全。为了集中的找出Web应用程序中存在的安全漏洞;以降低应用程序的风险指数;有必要在Web应用程序的安全测试方法中引入基于错误注入技术的安全漏洞测试;采用模拟黑客入侵的手法去测试应用程序中的安全漏洞;并提供周密可靠的安全分析报告。2 基于错误注入的Web安全漏洞测试技术2.1 错误注入的定义错误注入就是观察被测系统在存在错误(故障)的时候的行为。错

3、误注入技术刚开始是为了验证硬件系统设计的正确性及软件系统的测试和评价软件组件在失效(失败)情况下所产生的后果。实现错误注入的途径包括模拟方式、硬件实现的错误注入、软件实现的错误注入。而基于错误注入的Web应用安全漏洞测试的基本思想是采用模拟黑客攻击的方式对目标系统可能存在的安全漏洞进行检测。2.2 错误注入系统的一般构成对于错误注入系统的构成;并没有一个统一的标准;比较系统的从软件错误注入方面着眼的错误注入系统构成如图2.1所示;它的基本构件包括了控制器(Controller)、错误注入器(Injector)、错误管理器(Faultmanager)、监视器(Monito

4、r)、监控数据管理器(MonitoredDataManager)、触发器(Activator)和用户接口(UserInterface)。每一个构件就是一个子系统。图2.1 错误注入系统的一般构成错误注入器负责将错误数据注入到待测系统中;监视器则监视目标系统的状态和响应;看它是否如所预期的那样运行。触发器负责触发目标系统;使其运行(这个功能对大多数待测系统来说好像没有什么作用)。控制器负责控制以上几个子系统的运行和协调它们的行为。用户接口接受用户以命令行方式发送的注入命令;并传送给控制器;并且把执行的结果反馈给用户。在以上的几个子系统中;只有触发器、注入器和监视器和被测系

5、统直接交互。子系统之间的交互只能通过控制器来进行。控制器从用户接口接受到带有特定参数的命令后;把它们传递给各个子系统去执行;并把子系统执行的结果返回给用户。2.3 软件错误注入模式系统从设计模式的高度抽象性的要求出发;得到了如图2.2的错误注入器的设计模式。图2.2 注入器模式它包含了三个部件:(1)注入管理器:这个部件控制错误注入的整个过程。它将根据将要注入的错误的类型来触发注入器(Injector);它也有能力按照一定的定时性的要求来激活注入器。在多线程的情况下;它还要能够同时激活几个注入器。最后;它还要能够根据注入器返回的消息检测注入器是否正常工作。(2)注入器(

6、Injector):它由注入管理器激活并进行实际的特定类型的错误注入工作。它应该是抽象基类的一些子类;每个子类处理特定类型的一些错误注入。但Injector并不直接和被测系统交互。而是由实体注入器(PhysicalInjec-tor)来做这个工作。当一个注入器被激活时;它会自动地激活一个相关的实体注入器。(3)实体注入器(PhysicalInjector):这个部件直接和被测系统通信;因此它是最底层的部件。它的存在主要是为了达到上述要求中的第一点;当被测系统的环境改变时;唯一要修改的就是实体注入器。在设计错误注入工具时采用本模式有以下优势:第一;它使得在测试环境改变时重

7、写注入部件非常方便。只有实体注入器的代码需要修改。第二;便于扩展。当需要加入新的错误类型时;只需创建一个抽象基类(Injector)的子类即可。当然注入管理器要能识别出这个新的错误类型。第三;支持多线程。当测试环境从单线程变成多线程时;只需要改变注入管理器即可。第四;它使得每个模块和其他模块的交互都达到了最小化。3 Punks的设计与实现3.1 Punks的总体结构设计一个Web应用程序安全漏洞测试工具至少要有一个网络爬行构件来爬行网页;还要有一个错误注入构件来注入数据。在被注入的数据方面;最重要的就是如何构造一个丰富的注入模式库。根据以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。