Web入侵检测

关键词: 服务平台 服务 信息 数据安全

Web入侵检测(精选十篇)

Web入侵检测 篇1

网络安全的范围很大, 本文主要阐述WEB服务所面临的一些安全问题和针对这些问题应采取的措施。以一次成功的入侵检测和安全防护为例, 提出自己的一些策略和方法。

1 入侵案例

某校园网中的一台WEB服务器, 运行Windows2003server操作系统, 向外界提供校内各部门的网站服务。在一次例行维护的过程中, 网络管理员发现部分网站内容被删除, 系统设置被改动, 还被上传了大量的木马和恶意程序。同时, 入侵者清空了部分系统日志, 试图阻止管理人员对入侵过程的反向解析。但通过部分残存的WEB日志进行分析, 仍可得出比较清晰的入侵途径等重要信息。

2 入侵技术及入侵痕迹隐藏方法分析

2.1 入侵技术分析

在入侵过程中, 入侵者可以利用多种技术手段对WEB服务器进行入侵:

2.1.1 利用网站本身漏洞

由于网站在设计的时候, 就没有考虑到对评论内容的安全过滤, 致使包含有恶意内容的数据可被提交到服务器上执行, 成为入侵者进入系统的一条途径。

2.1.2 SQL注入

很多网站为了避免Access数据库文件被下载, 常将文件的.mdb后缀名改为.asp。但是一旦网站的数据库路径被探测到后, 入侵者就可使用正常方式向数据库内提交非法数据, 这些数据会被以.asp程序的方式运行, 使入侵者获得并利用WEBSHELL进行提权操作, 最终获得系统管理员权限。

上面案例中, 入侵者就是利用某个网站的文件上传功能, 提交了包含有恶意数据的文件, 该网站虽然限制了上传文件的类型, 但同时又提供了文件改名的功能。入侵者将后缀名原本为asp的木马程序改名为jpg后上传, 然后再通过文件改名将木马还原并加以执行, 借此获得了系统权限。

2.2 入侵痕迹隐藏方法

当木马程序或者恶意程序被上传到服务器之后, 入侵者一定会对系统进行一系列的操作来对恶意程序进行隐藏。

一般的入侵者会将恶意程序存放到回收站目录或者系统临时目录下, 利用比较少被注意的文件目录来隐藏, 以达到不被发现的目的。有经验的系统管理员可以比较容易地发现这样隐藏的恶意程序。

部分有经验的入侵者会使用畸形目录和特殊文件名来对恶意程序进行隐藏。畸形目录指的是文件目录名称中包含一个或多个“.”符号。特殊文件名指的是使用Windows系统保留的设备名来命名文件, 主要有:lpt, aux, com1-9, prn, nul, con等, 例如:lpt.txt、com1.txt。也可以将两者结合来使用, 例如:c:a.aux.txt。即使管理员发现了这些畸形目录和特殊文件, 不采取特殊手段也很难删除这些恶意程序。

有的入侵者会利用某些特定软件来隐藏恶意程序, 例如使用Easy File Locker等软件, 这个软件会使用硬件驱动的方式将存放在硬盘上的恶意程序加以隐藏, 这种隐藏方式比较难发现, 因为从系统中只能看到新增了一个未知硬件, 很容易被管理员忽略。

入侵者在入侵过程中, 会单独或综合使用上述各种方法。

3 安全设置和实现方法

3.1 服务器安全设置

服务器的安全运行, 需要比较全面的安全设置

3.1.1 关闭不必要的系统服务

系统服务越多, 漏洞就越大。管理员需要严格按照所提供的服务来控制系统内服务的使用, 关闭不必要的系统服务, 以免系统漏洞被入侵者利用。

3.1.2 严格设置文件权限和用户权限

服务器一定要使用NTFS等可以设置用户权限的文件格式。一般来说, 大多数文件和文件目录除Administrators用户组和System用户组外, 都不给读写权限。以WEB服务为例, 网站目录中除了数据库目录和文件上传目录外, 都不给Guests组以写权限。

3.1.3 WEB服务安全策略

在IIS设置中, 一定不要给数据库目录和文件上传目录脚本执行权限。删除不需要的文件后缀名解析映射。例如, 静态网站只保留.htm和.html解析映射;当存在动态网页时, 则按照需要保留.asp或.php或.jsp等。使用无法解析的DLL程序对Access数据库做解析映射, 例如将.mdb定义为使用c:windowstwain_32.dll来解析, 可以防止数据库被下载并杜绝恶意数据运行。

3.1.4 系统安全策略

使用组策略编辑器, 将默认管理员administrator和默认来宾guest改名, 设定严格的账户审核策略。在安全设置-本地策略-安全选项里将:可匿名访问的共享、可匿名访问的命名管道、可远程访问的注册表路径、可远程访问的注册表路径和子路径四项清空。在通过终端服务拒绝登录中, 加入除administartors和users外其他用户组, 保证系统远程登录的安全。

3.1.5 阻止非法访问

启用系统自带的防火墙, 只开放必须的端口, 如:WEB服务开放80端口, 远程桌面开放3389端口, 其他端口按照服务器的需求决定。

3.2 环境安全、规章制度和安全意识

除了采用技术手段对服务器进行安全设置之外, 还要用严格的制度来规范操作人员的行为, 提高管理人员的安全意识和责任观念。

3.2.1 数据备份和容灾能力

为保证系统正常运行, 尽量避免数据丢失, 需要利用各种技术周期性的备份数据并妥善保存。在条件允许的情况下, 建立容灾系统, 对数据进行双重保护。

3.2.2 加强对设备的安全管理

首先保证设备的物理安全。一般来说, 好的运行环境应该对场地的封闭、防火、防盗、防静电、空气流通、温度控制以及用电环境的安全等提供安全性保证。其次, 控制设备的访问权限, 记录出入机房的人员信息及机房内的操作记录。

3.2.3 提高安全意识, 建立安全管理规章制度

要注意提高安全意识, 养成良好的使用习惯。包括但不限于:不在专用设备上打开来历不明的文件或程序;运行任何有安全嫌疑的程序之前, 使用防病毒软件或其他安全软件对该程序进行安全扫描;密码设置尽可能使用大小写字母和数字及符号混排, 定期更改密码防止泄漏;及时下载安装系统补丁程序、及时更新防病毒软件病毒库等。

建立安全管理的规章制度并严格落实。管理人员及操作人员按照权限划分责任, 各自负责自己账号、口令的安全管理, 不与他人相互使用, 不窥探他人信息, 不私自进入他人账户, 不通过其他非法手段进行系统攻击、获取系统权限、修改系统设置、删除数据等危害系统正常运行的行为, 人员岗位变动时应采取相应的安全管理措施。

建立系统日常运行维护管理制度、计算机使用控制管理制度、文档资料管理制度、服务器及设备机房的安全管理制度、上网信息登记审核制度, 上网行为规范准则等。

可以依照当前国际上一些成熟的安全管理方法, 如IsMs信息安全管理体系等来完善安全管理制度, 最大程度地防止网络技术滥用对网络和数据造成的危害。

4 结论

网络安全是一个长期且系统的工程, 涉及技术、管理、使用等许多方面。其中, 网络安全技术与工具是基础, 高水平的网络安全技术队伍是保证, 严格的管理制度则是关键。本文通过一次WEB服务器的入侵检测和安全策略配置, 为网络安全提出了一些建议, 浅析了如何搭建一个安全的网络WEB服务器, 希望通过大家的努力, 使我们的网络及服务器安全水平得到提高。

参考文献

[1]贺雪晨.信息对抗与网络安全[M].清华大学出版社, 2006.

[2]张庆华.网络安全与黑客攻防宝典[M].北京:电子工业出版社, 2007.

[3]阎慧等.防火墙原理与技术[M].北京:机械工业出版社, 2004.

Web入侵检测 篇2

题记:昨天休息的时候,一个朋友给我信息说他公司的服务器被黑了,破坏者不停的修改替换主页,搞的他都怕了,查到了那家伙的ip地址,包括身份证号码,家庭住址,报警网警说会处理的,但是一直没人问津。也感叹一下有关部门态度,拿着我们纳税人的养着,却这样给我们服务。有关部门是否也该“市场经济”一把就好了。昨天过去帮他把服务器弄了一下,答应他给他整理一个文档出来的,昨天晚上一想,既然整理了,那就好好整理下,希望此文能给那些想处理好网站的安全而又没钱请专人做的公司以及个人能有点小小的帮助吧。此文为昨天在朋友整理服务器的全程记录,由于考虑到安全的原因,网站目录或者文件名称可能与其网站程序有差异。

本文的宗旨:可能有的人会问,关于Windows系统下的防止webshell的文章那么多,我再写此文简直多此一举,此言差亦。纵观以前大家写的关于windows下的防止webshell的文章,发现了一个小小的bug,那就是没有从源头上制止webshell的执行,就是说webshell可以上传到服务器(有时候是可以跳过默认上传目录的),但是有的还是能把当前站点给黑了的,就是可以将主页给替换了的。此文就是解决这样的一个问题,至于c盘的权限以及组件的删除什么的,以前的一些文章已经写的非常不错了,我在这里也就不再赘述了。

目前流行的通过web入侵的方法:

1、sql注入法:通过sql注入获取一定的后台权限,或者直接通过sql数据库备份一个shell。最早的出现的时间应该是在的时候了,通过经典的’or’ ’=’进化而来的。前54nb的小竹写的《sql注入天书》,可算是sql注入的经典,相应推出的nbsi的注入工具也是sql注入工具中的典范了。至今俺还保存着当初推出的beta版到现在的各种修改版。

2、上传法:指的是通过系统提供的web上传功能来直接上传一个shell来获取web控制权限。初出现的的,最早出现在dvbbs论坛的上传组建上,其原因是由于windows系统对于文件名的检查的顺序的问题;后来相继又出现了一种就是现在的动易的前身动力文章系统3.6版本,出现的多文件上传过滤不严引起的可以直接上传cer文件的方法。这两种方法应该是上传漏洞鼻祖了。其代表工具有:最早出现的臭要饭的upload工具,还有一个比较经典的就是桂林老兵写的那个,通用性极强。

3、还有一种就是所谓的旁注法了,其方法主要是通过whois工具查找服务器的域名列表,然后通过上述两种方法来获取权限,进而来入侵同一服务器上的目标的,因为其是通过服务器上的其他网站来入侵目标的,因而就称其为旁注了。最早出现的文章应该是B.C.T的老大h4k_b4n写的文章,那时候B.C.T还没有成立呢。

上面了解了下流行的web入侵方法,那下面来看下常用的web的网站系统的一些功能,下面动态的系统和静态的系统来分别说明下。

1、动态的系统:常用的功能有,文章发布,主要是将数据写到数据库中asp常用的主要是access和sql server。文章发布中可以需要一些上传图片的功能。基本目录结构及其所需要的最低的权限如下:

database //为数据库存在目录,可能有的系统的存放目录不一样,这里为了更直观,将其写为database。需要的权限有读取和修改权限,如果有备份数据功能的可能还要有写入的权限。

upload //上传图片的目录,需要有写入和读取的权限,修改权限。

images //系统使用的图片目录,读取权限即可

admin //后台管理目录,一般为asp文件,需要有读取权限。

/根目录,一般存放为asp文件,需要有读取权限。

2、静态页面的系统:指的是一些内容页生成静态页面,而主页和二级页面为动态的系统,现在这种系统居多,

主要的功能有,上传图片,生成静态页面,acess数据库的可能还有个数据库备份功能。其基本目录结构如下:

database //为数据库存在目录,可能有的系统的存放目录不一样,这里为了更直观,将其写为database。需要的权限有读取和修改权限,如果有备份数据功能的可能还要有写入的权限。

upload //上传图片的目录,需要有写入和读取的权限。

images //系统使用的图片目录,读取权限即可

admin //后台管理目录,一般为asp文件,需要有读取和执行权限。

/根目录,一般存放为asp文件,需要有读取以及执行权限。

/html//此目录为生成静态页面的目录。需要有读取,修改以,写入权限。此文仅仅讨论生成的后缀为html,htm的情况。也是大部分程序生成的都为这些了。对比动态的多了一个生成静态页面的目录

下面进入本文的重点:安全的设置

对于sql注入的防范防范最好的是将所有的客户端提交的进入sql查询的参数全部过滤掉,这个对管理员的要求比较高了,需要懂程序开发才可以搞定的。而有一种比较简单的方法就是使用笔者以前写的一个小工具sql通用防注入系统.可以到我的网站下载:www.neeao.com/blog/article-2285.html.

主要说下如何防止上传漏洞的产生,sql注入比较好发现,对于上传的话如果懂的朋友也是可以用工具检测出来的,当然最好的方法就是修改程序,替换上传组件了。但这个相对于sql通用防注入的防范来说比较难了,没有通用的工具了。那么我们可以用服务器上的权限设置来防止破坏者上传或者上传后执行webshell。

1、先按照以前人总结的防止webshell文章给每个站点设置一个单独的账户,在这里,我为了方面说明,姑且假设我设置的web站点的主目录为:d:webneeao.com,添加的iis匿名账户为web_neeao.com,所属组为guests。

2、设置web主目录的权限,删除除了administrators和system两个账户外的所有账户的访问权限,添加web_neeao.com,账户,将其权限设置为读取。并替换子目录下所有目录及文件权限,删除继承上级目录的权限。

3、设置上传目录的权限,我这里按照我上面列出的上传目录为uplaod,将其权限设置为读取及和写入还有修改权限,或许你有一个以上的上传目录,可以同样这样设置

4、设置数据库目录的权限,我的数据库目录是database,将其权限设置为读取,写入和修改。或许你有一个以上的数据库目录,可以同样这样设置

5、images目录权限,读取

6、admin目录,读取。

7、html目录,读取,写入。

上面的是针对磁盘的权限的设置,但是这样还是不行的,我们可以看出一些目录还是有写权限的,比如database、upload,以及html目录,如果asp文件传到这些目录的话同样是可以威胁网站安全的。

下面我们来看IIS中的设置

在IIS管理器中左侧的站点列表中,单击站点前面的+符合,可以看到下面有目录的列表,在database目录上单击鼠标右键,属性,将其脚本执行权限去掉,设置为无。Upload目录和html目录同样这样设置。这里需要注意下database目录设置的时候,可以将其目录设置重定向,防止访问者非法下载access数据库。

至此权限设置结束了,关于权限的设置,我将其总结为一句话就是:能执行就不给写,能写就不给执行。如果按照这样的原则设置的话,基本上通过web上传并执行webshell是基本不可能的了,就我目前所了解的方法来说。

by:Neeao[B.C.T]

Web入侵检测 篇3

关键词:嵌入式Web服务器;酸碱度;浏览器;网关;甲鱼

中图分类号: TP274文献标志码: A文章编号:1002-1302(2015)01-0390-03

收稿日期:2014-02-28

基金项目:国家自然科学基金(编号:40901112)。

作者简介:于翰林(1987—),男,山东聊城人,硕士研究生,主要从事农业电气化与自动化研究。E-mail:yuhanlin_2008@163.com。

通信作者:卢泽民,博士,副教授,硕士生导师,主要从事农业工程装备研究。E-mail:luzm@ujs.edu.cn。在工厂化水产养殖中,水质参数监控是健康养殖的重要环节,水质监控可以掌握养殖水体的温度、浊度、pH值、溶解氧等对水产品生长环境有重大影响的水质参数,其中pH值是池塘中水质的重要指标之一,不仅会直接影响甲鱼的生理活动,而且会通过改变水产养殖环境中的微生物理化因子而间接作用于甲鱼[1],pH值过高或过低都会对甲鱼的生长造成危害。确保适宜的水体温度、pH值、溶解氧等参数值,创造良好的养殖环境对甲鱼生长至关重要。目前的检测方法测得的pH值不够精准,实时性不够稳定,因此,准确、方便、快速地测量水体中的pH值大小,为甲鱼的正常生长繁殖提供一个稳定、合理的生存环境在水产养殖中具有重要意义。本研究构建基于 ARM-Linux 的嵌入式服务器,系统中ARM6处理器既作为采集电路的核心又作为嵌入式网关的核心,通过编写相应的应用层CGI程序,实现浏览器/服务器(B/S)通信[2-3],具有以下特点:(1)简易的嵌入式服务器代码和服务器端应用程序代码,实现Web服务器的基本功能;(2)采用B/S通信架构,直接读取远程的检测数据。本系统的开发简单,操作方便,成本低,易于实现,反复测试证明系统的精确性和稳定性均达要求。

1系统硬件平台设计

1.1系统硬件整体结构

在硬件系统中,其整体设计主要包括2个部分:采集电路与嵌入式网关,详见图1。pH传感器对水体水质中的pH值参数进行初步检测,同时调理电路对传感器采集来的模拟信号进行放大、滤波和稳压处理[4],被处理后的信号经过开发板的2路AD进行模数转换和相应的结果计算,同时通过以太网网关跟以太网进行协议转换和数据交换,最后在客户端的浏览器中对检测的数据进行实时读取。

1.2采样电路的设计

酸碱度传感器采用E-201-C型pH复合玻璃电极,在25 ℃时,其电极输出电压与pH值的关系为59.16 mV/pH,即在氢离子活度变化10倍时,电动势偏移59.16 mV。由于pH复合玻璃电极的内阻值较大,要求前置放大器具备高输入阻抗值[5],因此选择高输入阻抗的运算放大器 CA3140来实现阻抗匹配、降低测量噪声、提升系统稳定性等[6],其余的普通运放选用运算放大器TL082,硬件电路如图2所示。

在测量pH值之前要对其调理电路作调试,首先对运算放大器CA3140的调零端进行调零,调零时应将2个输入端全部接地,小量程电压表连接运放输出端,调整P1,使得电压表读数接近零。而后对整个pH信号调理电路进行调试,其方法是:断开pH电极输入,使P2居中,之前接pH值信号输入运放的输入端接地,调节P3,使电路输出电压为700 mV,此时相当于输出的pH值为7;之前接pH值信号输入的运放输入端接通-414.1 mV的输入电压,调节P2,使电路输出电压为1 400 mV,此时对应的是输出pH值为14,pH信号调理电路板便可以正常工作。

1.3嵌入式网关构建

嵌入式网关硬件结构如图3所示。在嵌入式网关的构建中,选用DM9000A作为以太网芯片的核心。DM9000A以太网芯片是功能异常强大的以太网控制器,产自Davicom公司,有1个10/100 M的自适应物理层与4 k双字节的静态随机存储器。此外,DM9000A控制器还提供了与介质无关的接口,该控制器支持8位、16位的接口来访问内部的存储器设备,从而支持不同模型的处理器[7-8]。

2系统软件设计

2.1Web服务器在软件平台上的实现

本研究完成了1个简易、低成本的Web服务器的设计,实现了Web服务器的基本功能,包括页面的请求与响应、HTML 文件解析和数据传送[9]。建立socket网络连接是构建Web服务器的基础,在Linux下,用户通过socket接口进行网络编程操作[10]。编写Web服务器本质上就是建立起客户端与服务器端的socket连接,服务器端读取客户端请求,并进行相应操作;客户端首先读取服务器端应答和请求,然后对其进行解析、绘图并且加以运行[11]。客户端与服务器的交互主要包括客户请求及服务器应答,请求和应答格式均在超文本传输协议(HTTP)中有明确定义。Web服务器工作流程如图4所示。客户端和Web服务器交互的基本布局为:(1)客户发送请求:GET filename HTTP/version;(2)服务器发送应答:HTTP/version status-code status-message。

用户浏览器端与服务器端建立socket连接后,用户通过在浏览器端单击1个链接的形式获取网页,即发送1个命令请求,服务器端利用GET命令接受请求、读取请求,并打印输出相关数据信息。

nlc202309011120

2.2应用层CGI程序设计

通用网关接口 (common gateway interface,CGI)表示一段程序,运行在Web服务器上,其主要功能是在Web的环境下,从客户端向Web服务器传达若干信息或命令,而后Web服务器启动指定程序来完成特定工作[12]。在浏览器/服务器模式下,CGI是由浏览器的输入命令进行触发的。

首先,用户在浏览器端的地址栏中输入要访问的地址并通过回车来触发这个指令申请,同时浏览器将这个申请命令通过TCP协议发送到服务器端并被接收。Web服务器端在接收完这些申请之后,按照.htm或者.html的后缀来认识这个文件是否是HTML类型的文件。如果是HTML类型的文件,Web服务器会从当前的存储中读取到正确的HTML型文件,并将其以网页的形式送回到浏览器端。Web浏览器、服务器以及CGI程序运行关系如图5所示。

用户浏览器端与服务器端建立socket连接后,用户通过在浏览器端单击1个链接的形式获取网页,即发送一个命令

请求,服务器端利用GET命令接受请求、读取请求,并打印输出相关数据信息。本研究设计的简易Web服务器仅支持GET命令,仅接受请求行,而略过了其他复杂参数。主循环如下所示:

sock=make_server_socket(atoi(av[1]));//建立socket连接监听客户端请求

if (sock=-1)

exit(2);

while(1)

{fd=accept(sock,NULL,NULL);//接受请求

fpin=fdopen(fd,“r”);

fgets(fpin,request,LEN); //读取客户端的请求

read_until_crnl(fpin); //跳过其他命令

process_rq(request,fd); //接收客户端请求

Fclose(fpin);

}……3试验测试

通过在不同的温度下对pH值进行校正,完成pH值为400、6.86、9.18的标准溶液测量,然后通过最小二乘法对不同温度下pH值直线进行拟合(pH值相对应温度变化保持线性关系),写入到检测程序中,通过查询相应直线就能得到不同温度下测量的相对应pH值[13]。试验测量数据如表1所示。

表1pH值标定数据

温度

(℃)Ex(pH值=4.00)

(mV)Ex(pH值=6.86)

(mV)Ex(pH值=9.18)

(mV)254937669562649776695627492764957284937609572949276395530492762956注:Ex为标定电压值。

考虑到温度对pH值的影响,采用了常用的最小二乘法来拟合直线。

设定标曲线,也就是实际输出与输入的特性曲线是y=f(x);拟合直线的方程是Y=A+BX。按最小二乘法,拟合直线与定标曲线的响应点输出量偏差平方和为最低[14]。

(A,B)=∑ni=1(yi-A-Bxi)2(1)

式中:xi是测试得到的输入数据;yi是测试得到的输出数据;n为测试数据组数目。

确定拟合直线方程中的A、B作为变量来求解,分别对A、B变量求偏导,且令其等于零得:

A=2∑ni=1(yi-A-Bxi)=0;

B=2∑ni=1(yi-A-Bxi)xi=0。

整理后得:

∑ni=1yi=nA+B∑ni=1xi

∑ni=1xiyi=A∑ni=1xi+B∑ni=1x2i。

经过计算∑xi、∑yi、∑xiyi、∑x2i数值,代入方程组,构成关于A、B的二元方程组,解得A、B值,即求得拟合直线方程。

在对试验数据进行处理时,采用了最小二乘法拟合直线。本试验选用pH值为6.86、9.18进行2点标定,具体拟合的直线参数如表2所示。其系数k=1/b,b=A。

表2不同温度下拟合pH值曲线系数

温度

(℃)pHx=k(Ex-b)bk≤24219.129 080.012 477 225~29193.606 420.012 036 730~34174.005 020.011 744 135~39174.374 180.011 779 8≥40182.629 240.011 999 3

同时,在嵌入式开发板上运行Web服务器,在上位机浏览器中输入应用CGI程序的名称,通过Web服务器执行应用程序[15],在客户端浏览器上实时读取相应的pH值显示信息,实现数据的远程在线监测。

4结论

在系统中,将ARM芯片既作为信号的采集终端又作为以太网网关的核心,有效利用了硬件资源。同时,在实时性、稳定性较强的Linux操作系统上移植TCP/IP协议,构建Web服务器,编写应用层通用网关接口程序,实现对水质中pH值的远距离实时监测,满足了信息传输和对系统远程控制的要求。经反复试验证明,系统具备较强的实时性和稳定性,达到了设计要求。

参考文献:

[1]朱明瑞,曹广斌,蒋树义,等. 工厂化水产养殖水体的pH值在线自动控制系统[J]. 水产学报,2007,31(3):335-342.

[2]张文香,王志敏,张卫国. 海水鱼类工厂化养殖的现状与发展趋势[J]. 水产科学,2005,24(5):50-52.

[3]Bertocco M,Ferraris F,Offelli C,et al. A client-server architecture for distributed measurement systems[J]. Instrumentation and Measurement,IEEE Transactions on,1998,47(5):1143-1148.

nlc202309011120

[4]顾相平,胡荣林,朱顺五. 一种基于无线传感器网络的水质监测pH值感知节点硬件设计[J]. 计算机与现代化,2011(9):49-52.

[5]刘星桥,曾毓楠,季峰. 基于SOC单片机的pH值检测与控制[J]. 微计算机信息,2008,24(5):99-101.

[6]Alcaraz C,Roman R,Najera P,et al. Security of industrial sensor network-based remote substations in the context of the internet of things[J]. Ad Hoc Networks,2013,11(3):1091-1104.

[7]Drndarevic V,Bolic M. Gamma radiation monitoring with internet-based sensor network[J]. Instrumentation Science and Technology,2008,36(2):121-133.

[8]仲崇权,鲁辛凯,李卓函,等. 基于嵌入式Web远程监控的研究与应用[J]. 仪器仪表学报,2006,27(增刊1):575-577.

[9]封相远. 基于Linux操作系统的Web服务器的设计与实现[D]. 天津:天津大学,2007.

[10]马新涛,李洪平. 基于ARM和Linux的嵌入式网关的设计与实现[J]. 中国新技术新产品,2010(7):49.

[11]魏计林,邱选兵,王青狮,等. 单芯片嵌入式网关在煤矿井下人员定位中的应用[J]. 现代电子技术,2008(21):143-145,149.

[12]魏丹. Web服务器性能与Web框架应用的研究[D]. 开封:河南大学,2006.

[13]李成春. 基于CC2430无线多参数传感器检测网络的设计[D]. 镇江:江苏大学,2010.

[14]解同信. 最小二乘法求作拟合直线[J]. 北京工业职业技术学院学报,2006,5(3):5-7.

[15]黄伟伟. 基于嵌入式Web服务器的车载动中通远程监控系统的设计与实现[D]. 南京:南京邮电大学,2013.侯波,徐小华,胡晓飞. 基于LabVIEW和GSM的温室大棚环境远程监控系统设计[J]. 江苏农业科学,2015,43(1):393-395.

Web应用安全的分析及检测 篇4

随着互联网的发展, Web应用系统在功能和性能上日益完善, 能够给客户提供更加快捷和方便的服务。同时, 由于网络技术日趋成熟, Web应用系统也面临着更多的安全威胁, 黑客的攻击方式逐步从对网络服务器的攻击转变为对Web应用的攻击。然而, 人们的注意力大多集中在网络和服务器的安全上, 对Web应用本身的安全关注较少, 导致大量的应用遭到非法攻击。

据CNCERT/CC监测[1], 2013年被篡改的网站数量为24 034个, 较2012年大幅增长46.7%。被植入网站后门的有76 160个, 较2012年大幅长增长46%。2013年新增收录信息系统安全漏洞7 854个, 较2012年收录数量增长15%。网站篡改、后门攻击、信息系统漏洞呈逐年上升的趋势。网站安全尤其是网站中用户个人信息和数据的安全问题, 仍然面临严重威胁。

2 Web应用安全问题产生的原因

造成应用软件安全问题的原因可以归类为四种[2]:内因、外因、外部环境、内部环境。

2.1 内因

这主要是软件本身的安全问题, 引起安全问题的原因如下: (1) 开发人员对安全问题不够重视; (2) 开发人员的能力有限; (3) 安全漏洞增加的速度过快, 工作人员应接不暇; (4) 对于某些已投入使用的应用系统, 由于其更改难度大, 或者更改的成本高, 或版权等原因造成无法更改。

2.2 外因

软件的运行环境, 主要指网络和其它基础设施方面的安全问题。

2.3 外部环境

黑客、恶意代码等网络攻击行为增加了应用软件受到安全威胁的可能。

2.4 内部环境

用户的安全防范意识淡薄、用户本身的网络技术水平较低、误操作、报复、经济犯罪等使得运行在企业内网的应用软件也面临严重的安全风险。

由上述可知, Web安全是各种因素的综合体, 没有绝对安全的安全防护措施。我们在考虑Web安全的时候, 要综合考虑上述的四个方面, 任何一方面的漏洞, 均有可能对Web应用造成安全威胁。

3 Web安全问题的类型及解决办法

随着软硬件技术的发展, 以及网络攻击者技术水平的不断提高, 安全问题的数量呈上升趋势, 但是大多数的问题主要集中在某几个方面。OWASP (Open Web Application Security Project) 发布了2013年十大Web应用安全漏洞, 具体内容如下[4]。

3.1 注入

注入包括SQL、操作系统和LDAP注入。该问题主要发生在不可信的数据作为命令或者查询语句的一部分被发送给解释器的情况下, 攻击者发送的恶意数据可以欺骗解释器, 以执行破坏性的命令或者访问未授权的数据。

3.2 有问题的鉴别与会话管理

与鉴别和会话管理有关的应用功能通常不能被正确执行, 这就导致攻击者破坏密码、密钥或会话令牌, 或者利用应用上的瑕疵来假装成其他用户。

3.3 跨站脚本攻击 (XSS)

应用程序收到不可信的数据, 在没有进行适当验证和转义的情况下就将它发送给浏览器。攻击者可以利用XSS在受害者的浏览器上执行脚本, 从而劫持会话、危害站点或者将用户转向恶意网站, 从而发动安全攻击。

3.4 不安全的直接对象引用

当开发人员暴露一个对内部实现对象 (文件、目录、数据库密钥等) 的引用时, 就会产生一个不安全的直接对象引用。在没有访问控制检测或其他保护的情况下, 攻击者就会操控或利用这些对象去访问未授权数据。

3.5 安全配置错误

一般对应用程序、框架、应用服务器、Web服务器、数据库服务器定义和执行安全配置, 以提高安全性。由于许多设置的默认值并不是安全的, 因此就必须定义、实施和维护所有这些设置确保安全性。

3.6 暴露敏感数据

许多网络应用没有恰当地保护好敏感数据, 比如信用卡、税收ID以及认证凭证。攻击者可能窃取或者修改这些保护力度较弱的数据进行信用卡诈骗、身份盗用或者其他犯罪。应当对敏感数据进行额外的保护, 比如加密或者与浏览器交互时进行特殊的预防。

3.7 函数级访问控制缺失

在UI界面上获取某种功能时, 大多数Web应用验证函数级访问权限。然而, 当每个函数都是可访问的时候, 服务器上的多个应用都要执行同样的访问控制检查, 如果没有对请求进行验证, 在没有适当授权的情况下, 攻击者就能伪造请求来进行某种功能访问

3.8 跨站请求伪造 (CSRF)

迫使登录用户的浏览器将伪造的HTTP请求, 包括该用户的会话cookie和其他认证信息, 发送到一个存在漏洞的Web应用程序。

3.9 使用存在已知漏洞的组件

组件, 比如图书馆、框架或者其他软件模块, 通常几乎是以完整权限运行的。如果一个易受攻击的组件被利用, 这种攻击将会造成敏感数据丢失和服务器被接管。采用具有已知缺陷组件的应用可能破坏应用的防御功能并且造成一系列的可能攻击和冲突。

3.1 0 未验证的重定向

Web应用程序经常将用户重定向和转发到其它网站和页面, 并且利用不可信的数据去判定目的页面。如果没有得到适当验证, 攻击者可以重定向受害用户到钓鱼软件或恶意网站, 或者使用转发去访问未授权的页面。

4 工具检测及对比

目前有不少不错的安全评估工具, 比如IBMRational App Scan、HP Web Inspect、明鉴Web应用弱点扫描器 (Matri Xay Web Scan) 、NSFOCUS WVSS、安域领创Web Ravor、诺赛科技Jsky/Pangolin等, 借助这些安全评估工具可以对Web应用进行安全扫描, 帮助用户检测出安全漏洞。同时, 这些评估工具还可以给出防范措施, 便于用户对安全漏洞进行防护。下面对几种安全监测工具进行介绍, 对其功能进行对比。

4.1 WEB应用弱点扫描器

具有“取证式”的扫描功能和安全审计、渗透测试和网页木马检测功能, 提供漏洞分析、修复、报表, 全面支持OWASP TOP10检测。

4.2 NSFOCUS WVSS

NSFOCUS WVSS可以对门户网站、电子商务、网上营业厅等各种Web应用系统进行安全检测, 检测的漏洞覆盖了OWASPTop10和WASC分类。NSFOCUS WVSS基于Web的管理方式, 采用模块化设计和嵌入式系统, 通过内核级修改实现了多任务、多线程、数据存储、数据访问等多方面的优化, 与第三方平台产品相比, 该系统拥有更好的稳定性和安全性[5]。

4.3 HP Web Inspect

采用.NET架构, 自动化爬取WEB页面, 然后对这些页面进行渗透式攻击, 发现所有已知的安全漏洞, 提供中英文的漏洞解释说明、问题的详细描述、各个角色的修改建议。

5结论

借助于安全监测工具, 我们可以解决一些典型的安全问题, 但这不是解决安全问题的根本方法。工具检测只能算是一种辅助手段, 我们应当在思想上重视Web应用的安全问题, 并在不同的开发阶段采用行之有效的措施来避免安全问题的出现。

摘要:Web应用软件受到的攻击数量和攻击种类日益增多, 安全问题亟待解决。本文分析了Web应用安全问题产生的原因、问题的类型, 介绍了常用的安全问题检测工具。

关键词:Web应用,漏洞检测,安全漏洞

参考文献

[1]http://www.isc.org.cn/download/2014fdf.pdf.

[2]王国青.浅析Web应用软件开发安全[J].计算机系统应用, 2013, 22 (2) :5-9.

[3]周亮.基于PDM的协同设计系统的研究与开发[D].廊坊:河北工业大学, 2005.

Web入侵检测 篇5

N-Stalker Free Version

N-Stalker Web 应用程序安全免费版本能够为您的 Web 应用程序清除该环境中大量常见的漏洞,包括跨站脚本(XSS)、SQL 注入(SQL injection)、缓存溢出(Buffer Overflow)、参数篡改 (Parameter Tampering)等等。

Netsparker Community Edition

Netsparker Community Edition 是一款 SQL 注入扫描工具,是Netsparker的社区免费版本,提供了基本的漏洞检测功能。使用友好,灵活。

Websecurify

Websecurify 是一款开源的跨平台网站安全检查工具,能够帮助你精确的检测 Web 应用程序安全问题,

Wapiti

Wapiti 是 Web 应用程序漏洞检查工具。它具有“暗箱操作”扫描,即它不关心 Web 应用程序的源代码,但它会扫描网页的部署,寻找使其能够注入数据的脚本和格式。

Skipfish

Skipfish 是 Google 公司发布的一款自动 Web 安全扫描程序,以降低用户的在线安全威胁。和 Nikto 和 Nessus 等其他开源扫描工具有相似的功能。

Exploit-Me

Exploit-Me 是一套 Firefox 的 Web 应用程序安全测试工具,轻量,易于使用。

OWASP WebScarab Project

WebScarab 一个用来分析使用HTTP和HTTPS协议的应用程序框架,通过记录它检测到的会话内容(请求和应答)来帮助安全专家发现潜在的程序漏洞。

X5s

云计算在Web漏洞检测中的应用 篇6

现今, 随着科学技术的发展, 云计算的使用突破了原先单机无法完成的计算, 使用云计算能够进行大量的计算, 而今, 通过使用云计算来对Web中的漏洞进行检测, 可以更好地解决原先由于单机而带来的计算量的不足, 通过云计算可以在云平台拥有充足的计算力实现各种全面的安全测试、即时的更新, 云计算是通过使用网络将分布式的计算力中富裕的计算力进行集中, 其计算能力要远大于单机, 其具有无限的潜力, 现今所使用的Web漏洞检测工具在使用中发现其还无法达到预期的效果, 而基于云计算开发的Web检测工具能够很好地解决以上问题, 实现快速高效的完成对于Web的漏洞检测。

1 云计算简介

云计算是基于互联网的相关服务的增加、使用和交付模式, 通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网, 后来也用来表示互联网和底层基础设施的抽象。因此, 云计算甚至可以让你体验每秒10万亿次的运算能力, 拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。云计算是通过使计算分布在大量的分布式计算机上, 而非本地计算机或远程服务器中, 企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上, 根据需求访问计算机和存储系统, 好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通, 就像煤气、水电一样, 取用方便, 费用低廉。最大的不同在于, 它是通过互联网进行传输的。

云计算的特点如下:云计算具有超大规模、虚拟化、可靠性高、可扩展性高、计算效率高收费低廉等特点, 云计算的产生必然会对软件的开发与软件的测试造成一定的影响, 例如。在云计算的环境下软件的技术和架构必须与云相适应, 且需要能够与虚拟化为核心的云平台有机结合, 适应运算能力、存储能力的动态变化;二是要能够满足大量用户的使用, 包括数据存储结构、处理能力;三是要互联网化, 基于互联网提供软件的应用;四是安全性要求更高, 可以抗攻击, 并能保护私有信息云计算环境下, 软件开发的环境、工作模式也将发生变化。虽然, 传统的软件工程理论不会发生根本性的变革, 但基于云平台的开发工具、开发环境、开发平台将为敏捷开发、项目组内协同、异地开发等带来便利。云计算平台也称为云平台。云计算平台可以划分为三类:以数据存储为主的存储型云平台, 以数据处理为主的计算型云平台以及计算和数据存储处理兼顾的综合云计算平台。

2 Web漏洞简介

WEB漏洞通常是指网站程序上的漏洞, 可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞, 常见的WEB漏洞有Sql注入、Xss漏洞、上传漏洞等。如果网站存在WEB漏洞并被黑客攻击者利用, 攻击者可以轻易控制整个网站, 并可进一步提权获取网站服务器权限, 控制整个服务器。

3 Web漏洞检测分析系统

随着云计算技术的发展, 新型的Web漏洞检测系统逐渐发展起来, 此系统通过应用分布式计算的方法, 突破了原有单机计算力不足的缺陷, 具有了快速高效的特点, 并较原来的Web漏洞检测系统在安全性和实时性等方面都有所突破, 且新型Web漏洞检测系统实现了多平台操作, 在系统应用范围等有着极大的提升。

3.1 Web漏洞检测系统的设计特点

Web漏洞检测系统通过服务器的协同扫描来代替了原来需要用户单机进行扫描的工作, 用户只需提交需求后, Web漏洞检测系统通过系统的服务器对所需访问的站点进行扫描检测, 在节省上网流量的基础上更好更快的完成了用户的需求。

3.2 Web漏洞检测系统的分布式架构设计思路

为了实现快速、高效的Web漏洞检测目的, 原有的单机模式远远无法满足计算要求, 云计算中的分布式计算方式可以在不提高机器性能的基础上提高扫描效率, 具有很高的操作性, 因此, Web漏洞检测系统选用了分布式系统的设计架构, 其基本工作模式是用户提交的需求被一台分布式服务器所接受, 服务器将接收到的请求交给几台工作主机, 工作主机间通过互相通信确认分工, 从而完成对于目标服务器的扫描工作, Web漏洞检测系统在实现了原有分布式计算机CPU计算力共享的基础上完成了对于网络资源的共享, 而且还有大量的处于不同网络环境的主机。不但可以分解用户主机的网络负担, 而且还能通过合理的安排扫描任务来挑选网速快的主机, 从而达到快速、高效的目的。

原有的计算机分布式解决方案虽然能够实现计算力提升的目的, 但是其架构本身存在着容易受到攻击的缺陷, 而通过采用云计算的方式则可以很好的规避这一潜在风险, 通过在用户和分布式服务器间添加一个前台界面, 将系统的工作分为前台和后台工作, 从而更好的实现了系统速度的优化, 提供了系统的运行速度。Web漏洞检测系统前台采用了B/S的模式, 用户只需要安装一个浏览器而无需安装其他的软件即可实现使用本系统, 而且还可以根据客户的使用习惯进行分类扫描, 最大限度的提升扫描速度和减少成为拒绝服务攻击系统的可能性。

4 系统架构的设计

系统总构建主要由前台用户端、后台服务端和后台工作端等组成, 前台用户端是可视化操作, 使用户可以直观的观看到系统的扫描过程, 保存用户历史扫描结果, 验证用户身份, 而后台则通过分布式操作, 将其分为后台服务和工作端, 两者结合完成扫描操作。其他通过模块化设计实现其功能模块。

5 Web漏洞检测系统的性能测试

在Web漏洞检测系统设计完成后需要通过测试以检测其性能, 其测试是通过对分布式算法在后台的通讯结果输出进行测试, 通过对软件多次运行后的结果进行记录分析, 看其是否稳定, 同时通过与其他同类软件输出结果进行对比, 进而可以评测出其是否高效和准确。

分布式测试环境:通过在系统的前台进行操作, 通过流畅性可以看出系统前台和后台通讯是否正常。通过对Web漏洞中经常出现的网络爬虫、SQL注入漏洞、目录猜测遍历漏洞、开放端口等进行测试, 从测试结果中可以看出, 相较于原先单机Web漏洞测试系统, 基于云计算的Web漏洞测试系统能够更好地完成扫描任务, 能够更方便、快捷、稳定、高效地完成用户的需求, 同时在系统安全性方面, 检测出了很多以前未能检测出的漏洞, 保障了用户的使用安全。

6 结束语

文章主要对基于云计算的Web漏洞测试系统进行了介绍, 通过对其设计理念以及软件整体结构, 通过采用分布式的构架设计, 能够使软件在占用系统资源较少的情况下更好地完成用户对于Web漏洞扫描的需求, 但是此系统并不能完全确保系统的安全, 在使用的过程中系统的安全性是一个维护网络环境的重要方面。在今后的设计中, 将会在此软件的基础上开发出基于云计算的软件, 届时其软件的扫描功能更强、效率更高、速度更快, 能够更好地为用户服务。

参考文献

[1]胡炜, 钟卫连.浅谈云计算的网络安全问题[J].中国科技信息, 2008, 23.

[2]李磊, 王金伦, 王薇, 等.电信运营商发展云计算的安全问题剖析[J].信息安全与通信保密, 2009, 10.

Web入侵检测 篇7

由于安全威胁无处不在,有时很难将入侵者拒之门外。入侵容忍技术是近几年提出的第三代安全技术,其基本思想不是设法阻止入侵,而是容忍入侵,旨在当受保护系统的部分组件受到攻击时,能维持整个系统关键信息和服务的完整性、机密性和可用性[1]。

入侵容忍技术是一门融合了密码技术和容错技术的新网络安全技术[2]。内容主要有冗余技术、多样性技术、分散选举技术、接受测试技术。入侵容忍技术的目的是在攻击者到达系统,甚至控制部分子系统时,系统不能丧失其应该有的保密性、完整性、真实性、可用性和不可否认性。

MAFTLA的SITAR是由Duke大学的Kishor Trivedi等提出来的分布式服务入侵容忍体系结构[3],它主要应用冗余和多样性技术来构建功能模块。作为一个通用的入侵容忍架构,SITAR框架对设计一般的入侵容忍系统具有较好的指导意义。

1系统架构

本文提出的入侵容忍Web服务器体系架构包含五个组件:代理服务器、Web服务器、选举代理、入侵检测系统和动态重构模块,如图1所示。代理服务器是Web服务的接入点,转发请求给Web服务器,每一个请求转发到多个Web服务器。一个选举代理对应一个服务器,负责对相应的Web服务器的应答结果进行接受测试,并根据一致性协议经过分散选举算法得到最终响应。代理服务器和Web服务器在功能上都是冗余的,但是在实现上各不相同,这样被同一种攻击入侵的可能性就非常小。入侵检测系统和动态重构模块通过检测、掩盖、恢复等措施为整个系统提供安全保障。

2组件分析

2.1入侵容忍代理服务器

系统根据策略指定一个代理服务器作为用户访问点,该代理服务器称为主代理。代理服务器除了要过滤,校验,转发客户对Web服务器的请求,还要协同选举代理对用户产生一致的响应。每一个代理服务器有一个本地IP地址,代理服务器之间共享一个虚拟IP地址。正常情况下,该虚拟IP地址和主代理绑定,只有主代理才能接受所有的请求,并通过该虚拟IP地址向客户端提供服务访问点。

2.2Web服务器

Web服务器是用户能享受和使用的服务的真正提供者。所有的Web服务器均具有相同的功能和地位,但是它们在不同的操作系统和平台上运行不同的服务软件,这样对同一种恶意攻击和入侵而言,系统的脆弱性就大大降低。根据容错算法的要求,Web服务器最少是3个,典型的情况是5个或7个。

根据是否处于工作状态,Web服务器分为工作Web服务器和空闲Web服务器。工作Web服务器是当前提供Web服务的系统,空闲Web服务器则由于被入侵或者其他原因暂时不参与提供服务。工作Web服务器和空闲Web服务器是相互转换的。

工作服务器的数量N取决于执行请求时需要容忍的入侵的数量。根据Byzantine容错协议假定要容忍的入侵数量为f,只要N≥3f+1,系统就能得到一致性结论。也就是说,当被入侵的服务器的数量达到f,只要还有N≥2f+1以上的服务器正常,系统就可以提供正常的服务。

2.3动态重构模块

传统的入侵检测系统通常是反应式的。检测到入侵后的基本的响应是执行后期检查并采取正确的恢复行动。这通常由管理员手动完成,并涉及到暂停服务器的运行。动态重构模块通过调整系统的配置来适应可能要发生的攻击或者已经存在的攻击,使整个系统依然维持在正常运作的水平。动态重构的策略有两个,分别为改变系统的安全级别和增加服务器的容忍程度。

2.4选举代理

选举代理的主要功能是进行接受测试和响应一致性协商。

接受测试一般可以定义为一种在软件模块中由开发者提供的差错检测机制,主要采取的方式是对计算结果的合理性进行检验。它通常包含一系列的声明,如果系统的状态是不可接受的,那么就会抛出一个异常。如果接收测试抛出任何异常,则这个模块就是失效的或遭到入侵。这里大致进行逻辑合理性和执行时间两个方面的测试,可以避免未检测到的异常状态或者结果有效性检验时的过多延时。

冗余是提供任何类型容忍的一个关键部分。但是由冗余组件引起的问题是,当一个响应的所有复件都被看成是具有相同信赖级别时,输出结果必须依赖于可用复件的交叉比较。选举技术通常用来解决冗余响应中的差异,并通过系统中的非故障组件的响应获得一个一致同意的响应。这个过程涉及对冗余响应的比较并对结果进行一致性协商以找到正确的响应。

为了克服冗余组件所引起的响应不一致问题,学者们已经研究了多种方法,其中具有代表性的是M. Castro和B. Liskov的选举算法及B. Hardekopf的选举算法。在前者的算法中,若干Web服务器的响应不加任何比较后直接发送给用户,用户要接收很多来自不同服务器的响应,并进行比较,直到接收到f+1个相同的响应,其中f是容忍的入侵数量,才能得到一致性结果。这种方法非常简单,但是达不到保密的安全要求。因为服务器的响应没有经过任何的安全检验直接发送给用户,容易使入侵服务器上的秘密信息泄露给非授权用户。在后者的算法中,系统有一个接口模块,选举者只要把响应提交给接口模块,其他选举者如果没有不同的响应 ,不需要作任何反应。如果在设定的时间内没有选举者提交响应,接口模块就把这个响应发送给用户。这种方法中,被入侵的服务器可能造成整个系统响应延时。

根据Byzantine容错算法,假定入侵容忍系统中最多的入侵数量为f,任何时刻处于工作状态的Web服务器的数量N≥3f+1。本文提出的一致性协商过程分为两个阶段: 选举代理一致性协商和代理服务器一致性协商[4]。选举代理一致性协商得到一个比较的中间结果,服务器一致性协商得到最终响应。为了提高选举过程的效率和安全性,一致性比较使用的是Web服务器返回响应的hash值,并对hash值进行加密,防止篡改。假定选举代理和代理服务器知道所有选举代理的公钥。

第一阶段:选举代理一致性协商,下面的步骤针对每一个选举代理。

(1) 选举代理i接收对应的服务器的响应Ti,对响应Ti进行hash运算得到H(Ti);

(2) 选举代理i对H(Ti)签名,得到H(Ti)ki;

(3) 选举代理i把H(Ti)ki和Ti发送给所有其他的选举代理l=(l≠i);

(4) 选举代理i把H(Ti)和H(Tl)进行比较,根据多数原则得到运算结果H(Tik);

(5) 选举代理i把运算结果H(Tik)和对应的Tk发送给主代理服务器。

第二阶段:代理服务器一致性协商。

(1) 代理服务器接受所有选举代理的比较结果H(Tik)和对应的Tk;

(2) 当选举代理接收到f+1个相同的H(Tik),把这H(Tik)对应的Tk作为最终响应发送给用户。

3安全性分析

利用代理服务器作为Web服务的接入点,隐藏了真正提供服务的系统,起到屏障作用;应用多个服务完全相同的,但是软件实现等其它方面具有多样性的Web服务器,同一种攻击入侵的可能性就非常小。

在响应一致性协商过程中,采用非集中式的分散选举,防止了出现单点故障。与M. Castro和B. Liskov选举算法相比,本文提出的选举算法对响应进行hash运算并签名,提高了运算速度和安全性。同时本文提出的一致性协商过程,在最坏情况下需要比较2(N-1)次,在最好情况下需要比较4(N-1)/3次,但是B. Hardekopf , K. Kwiat和S. Upadhyaya的算法总是需要比较2(N-1)。所以本文提出的一致性协商过程无论在安全性还是性能上,都得到了改善。

4结束语

入侵容忍假定系统中存在未知的或未缓和的弱点,其基本思想不是设法阻止入侵,而是容忍入侵,其目标是在存在入侵时即使降低效率也能够使系统继续提供服务。应用入侵容忍技术能提高系统的可存活性,在系统受到攻击,部分组件被入侵的情况下,仍能把关键任务的服务质量维持在一个用户可以接受的水平。

参考文献

[1]黄建华,宋国新.入侵容忍技术在身份认证系统中的应用[J].华东理工大学学报,2005,31(3):350-353.

[2]Verissimo P E,Neves N F,Correia M P.Intrusion-tolerant architec-tures:Concepts and design.In R Lemos,C Gacek,ARomanovsky,ed-itors,Architecting Dependable Systems,volume 2677 of Lecture Notesin Computer Science[M].Berlin:Springer-Verlag,2003.

[3]Wang F,Gong F,Jou F,et al.SITAR:A scalable intrusion tolerancearchitecture for distributed service[A].Proceedings of the 2001 IEEEWorkshop on Information Assurance and Security[C].(United StatesMilitary Academy,West Point,New York June 4-5),2001:38-45.

Web入侵检测 篇8

随着Web应用的普及,存储数据信息的Web应用,如电子商务、社交网络、博客、论坛社区等,被大量开发来提供各种服务,使得人们生活更加便利。与此同时,Web应用中存在的漏洞使得人们在享受软件提供便捷的网上服务的同时,也遭受到机密信息泄漏、财产损失、账户被盗等严重的安全问题。开放式Web应用程序安全项目OWASP(Open Web Application Security Project)在2013年公布的Web应用十大安全漏洞显示,跨站点脚本XSS排在了第三位,是十分突出的安全漏洞[1]。与一阶XSS不同,存储型XSS攻击过程更加巧妙,恶意代码被注入到Web应用中没有立即执行。而是存储到后端数据库,在处理另一次不同请求时,应用检索到数据库中的恶意输入将其显示为网站的一部分并在Web应用程序授权下在用户浏览器中运行,导致攻击发生。存储型XSS的危害相比一阶更大,检测也更加困难。

XSS漏洞严重危害网站安全及用户利益,相关研究者在XSS漏洞检测问题上进行研究,也取得了相应的成果。与XSS漏洞相关的检测方法有静态代码分析、静态分析与动态测试相结合及运行时监测等。但是,大多方法主要针对一阶XSS漏洞,针对存储型XSS漏洞检测的方法并不多见。

静态分析方法从外部数据源识别污点输入,跟踪污点数据流,并检测是否有污点数据到达污点槽(如HTML输出语句)[2]。Yichen Xie和Alex Aiken提出一种通过象征执行程序取得块和函数总结信息的静态分析技术[3]。Benjamin Liv-shits和Monica Lam使用二元决策图来对服务器端脚本进行分析,但该方法需要用户使用程序查询语言指明缺陷模型[4]。Gary Wassermann和Su Zhendong用字符串分析加强了基于污点分析的方法[5],他们使用上下文无关语法(CFGs)来展现在特定程序点一个字符串变量的取值,这样可以帮助检查敏感程序语句是否有黑名单字符串值。静态分析可以快速检测出潜在的XSS漏洞,但不能验证输入净化函数的正确性。

静态与动态相结合方面,Adam Kiezun使用具体与象征结合执行的方式取得程序路径约束,并使用约束求解器来生成测试用例来揭露更多的程序路径。他们执行两组输入集(一组普通字符串,一组来自库里的攻击串),直到抵达污点槽,然后通过比较两组程序执行结果的不同来判定是否存在漏洞[6]。文献[7]通过对污染模型的静态分析及净化单元动态检测算法完成对Web应用中可能存在的XSS漏洞的检测,但该方法并不能检测存储型XSS漏洞。静态与动态相结合的方法可以生成攻击向量,并且不会产生误报,但当前实现的工具只对服务器端脚本起作用。

服务器端运行时监测方面,Hossain Shahriar和Mohammad Zulkernine开发了基于边界注入和策略生成的XSS漏洞自动检测框架[8]。服务器端监测原则上可以防御所有XSS攻击,但由于需要拦截HTTP通信,它需要更多的运行时开销。客户端运行时监测方面,文献[9]提出一种半自动化XSS防范方法,该方法截获用户与Web应用交互的数据包并进行分析处理,对于可疑行为数据包向用户发出警报,请求用户处理。客户端监测的缺点是需要过多的用户参与,用户体验不好。

本文提出一种动态检测存储型XSS漏洞的方法。该方法在静态爬取阶段,爬取应用找到所有可能的注入点及展现注入信息的相关页面;在动态检测阶段,对找到的注入点构造恶意数据包提交至服务器模拟攻击,并在对应展现页面进行匹配查找,确定漏洞存在与否。同时本文使用巴科斯范式自动生成初始攻击向量,并对其进行变异处理,从而能更加有效地检测出应用中存在的漏洞。

1 存储型XSS漏洞攻击原理

存储型XSS漏洞攻击与一阶XSS不同,它之所以发生是由于Web应用对用户的输入验证、过滤等操作不当,使得攻击者可以将包含恶意脚本的内容提交给服务器并存入数据库。该恶意脚本不会立即执行,而是当用户访问到这些恶意脚本所在页面时才会被加载执行。因为这些脚本是来自Web应用服务器,所以用户浏览器认定其为正常脚本,允许它访问用户的cookie等敏感信息,从而导致攻击者盗取用户的私密信息。存储型XSS又称为二阶XSS,由于这些恶意脚本是存储在数据库中的,只要它未被从数据库中彻底清除,访问该Web应用的用户就可能遭受攻击带来的危害。

存储型XSS漏洞攻击过程如图1所示。可以看出对存储型XSS漏洞的利用主要分为两个阶段:首先,攻击者在该应用存在漏洞的页面提交可执行恶意脚本数据到Web应用服务器,更新或插入操作使得该数据被存入数据库;然后,用户登录到该Web站点,请求访问Web应用的有关页面,服务器恰好从数据库中取出攻击者先前存入的恶意数据;并把这些数据返回到用户浏览器,浏览器解析并执行了该恶意脚本代码,便自动把用户的cookie等敏感信息发送到攻击者的邮箱或其恶意Web应用服务器。

2 存储型XSS漏洞检测系统设计

本文设计了一种动态检测存储型XSS漏洞的检测系统,旨在实现准确高效的存储型XSS漏洞检测。本节介绍系统架构设计和检测过程,首先阐述检测系统模块的功能及交互,然后给出检测方法及流程。

2.1 系统架构设计

根据对存储型XSS漏洞攻击原理的分析,设计出存储型XSS漏洞检测系统的系统架构如图2所示,由六个模块组成。爬取及解析模块对Web站点爬取并解析,得到URL及页面表单信息,该模块完成对Web应用中可以提交恶意脚本的攻击注入点的搜寻工作。URL信息记录模块完成对上述信息的记录,并把爬取解析得到的新的URL传递给爬取及解析模块,进行新的爬取处理。向量生成模块使用巴科斯范式可以生成大量初始攻击向量,变异处理模块则完成对它们的变异处理过程。上述模块都为后续的模拟攻击与检测攻击做好准备工作。根据前面找到的攻击注入点,XSS2检测模块使用自动生成的攻击向量,模拟攻击完成图1中攻击者提交并存储恶意脚本的过程;接着模拟普通用户自动请求相关页面,对服务器返回的内容进行匹配分析,判定攻击是否发生,并把得到的结果存储到检测结果模块。

2.2 检测流程

本文通过模拟攻击者实施攻击测试,即采用动态测试技术实现对存储型XSS的漏洞检测。主要由两个阶段组成:爬取和检测。通过爬取,可以获得Web应用的所有页面并找到全部的攻击注入点;检测则是对找到的攻击注入点依次提交攻击向量,并判定攻击是否成功。因此,充分和精准的挖掘存储型XSS漏洞的攻击注入点以及提交有效攻击向量执行攻击是检测的关键所在。

图3展示了爬取过程。本文使用聚焦网络爬虫,只爬取待检测Web应用站点下的URL,对其他页面进行忽略处理。为了提高工作效率,本文使用广度优先爬取算法按照网页内容目录层次深浅爬取页面,从而有效地控制了页面爬取深度。在查找链接标签及表单时,为了提高效率及爬取覆盖率,使用正则表达式来进行查找。例如在查找<a href=”URL”>…</a>这种类型标签时,使用的正则表达式为:

爬虫在工作时,可能找到重复的URL,它们会影响爬取的效率,严重的可能导致爬取进入死循环。本文使用Bloom Filter[10]进行去重处理。Bloom Filter是一种具有很好的空间和时间效率的二进制向量数据结构,可以用来检测一个元素是否为特定集合的成员。该算法的原理为:设计长度为n的比特数组,初始化此数组的每一位为0;选取k个相互独立的哈希函数,它们都能将元素映射到数组的某位上。对每个加入集合的对象进行k次不同的哈希运算,得到位置p1,p2,…,pk,把数组中相应位置设为1;判定某元素u是否为集合中元素时,只需对该元素进行k次哈希运算,得到k个位置,若比特数组中这些位置全为1,则说明元素u在集合中。使用Boolm Filter实现的URL去重算法描述如下:

URL去重算法:

作为用户添加、修改数据并进行存储的主要方式:Web表单,是存储型XSS漏洞利用的攻击注入点,爬取过程必须完成对表单的解析与记录。为了后续能高效判定存储型XSS漏洞的存在,本文在爬取阶段找到Web表单后,启动新线程对表单参数提交使用正常字符串构造的“探子”向量到服务器,然后扫描Web应用的所有页面,得到所有含有该“探子”向量的页面(即展现页面),并记录这些页面的URL,存入URL记录模块,后续检测时对于对应的攻击注入点仅需检测相应展现页面,无需检测所有页面,这大大提高了检测效率。

检测过程的流程如图4所示。首先,从待检测队列中取出需要检测URL;接着对表单参数使用攻击向量构造恶意数据包,发送至服务器进行模拟攻击,本文使用Apache Jakarta Common下的子项目Http Client来高效地与服务器完成HTTP通信;然后通过对与之相关的展现页面进行匹配分析来判定漏洞是否存在,如存在就记录漏洞,没有需要检测的URL则结束。

检测过程中提交有效攻击向量执行攻击十分关键,本文通过对rsnake的攻击向量库[11]进行总结分析,得到三种类型的攻击向量:(1)把脚本作为攻击载荷(例:<script>alert(1)</script>);(2)把脚本作为html元素的属性值嵌入到html元素中作为攻击载荷(例:<img src=’javascript:alert(1)’/>);(3)把脚本作为触发事件嵌入到html元素中作为攻击载荷(例:<body onclick=’javascript:alert(1)’>)。

第一类的攻击向量较为简单,对于第二类以及第三类的攻击向量,为形式化的给出其生成式,定义XSS攻击向量的BNF语法如下:

根据上面的语法定义(上表仅列出参数部分取值),对于第二类、第三类攻击向量分别给出它们的生成式如下,使用该生成式,可以生成大量初始攻击向量。

3 存储型XSS漏洞检测系统实现

本节详细阐述检测系统攻击向量自动生成及变异处理,并使用该检测系统对现实Web应用进行实验。通过分析实验结果,验证了本文方法的可行性与有效性。

3.1 系统实现

3.1.1 攻击向量的生成

根据前面给出的XSS攻击向量BNF语法及生成式,可以自动生成初始攻击向量。前面语法表中给出的参数值只是部分可能值,增加更多的参数值能生成更多的攻击向量。为了使得生成的攻击向量有效,对上述生成式进行一定的限制。例如,约束TAG与ATTRIBUTE,TAG与EVENT有一对多的对应关系(可以从HTML文档中取得)。使用生成式,可以生成大量初始攻击向量。表1展示了使用生成式生成的部分攻击向量。

3.1.2 攻击向量的变异处理

自动生成的攻击向量可以直接使用,但有可能被Web应用的过滤器过滤掉,导致攻击失败。对攻击向量进行不同的变异处理,可以使之绕过过滤器,使得攻击向量有效性大大提高。本文使用的变异处理方法几种类型如表2所示。

表3给出了攻击向量<script>alert(‘xss’)</script>经过上述变异处理后的结果示例。本文对所有自动生成的攻击向量进行不同的变异处理,使得攻击的成功率得到很大提高。

3.1.3 XSS2检测及判定

XSS2模块从待检测URL队列取出待检测URL,由该URL对应的参数信息,对参数依次赋值攻击向量,构造数据包提交服务器。接下来,访问展现该参数的URL页面,查找攻击向量的相关信息,判定攻击的成功与否。本文使用html解析的方法来进行判定:对攻击向量进行标记处理,如对字段param提交的攻击向量:

--></script>”>’><script>alert(“xss”)</script>

标记后即为:

param--></script>”>’>param<script>alert(“xss”)</script>param

检测时用正则表达式提取该串,并判定是否成功闭合标签,从而判定是否为一次成功的攻击过程,同时可以取得存在漏洞的参数名。

3.2 实验分析

为了验证本文提出的存储型XSS漏洞的检测工具XSS2DS的可行性和有效性,对两种不同场景下的网站进行扫描测试。同时使用自动化检测工具WVS(Web Vulnerability Scanner)做同样测试,并进行测试效果对比。

基于J2EE的Web应用程序Web Goat是由OWASP组织负责维护的用于进行Web漏洞实验的应用平台[12]。JSP forum则是自行搭建的测试网站,该网站使用JSP+Servlet开发,使用MySQL数据库,Tomcat作为Web容器,它的功能和结构都体现当前Web应用的典型特征。

表4展示了测试工具的耗时情况,自动检测工具的耗时与Web应用链接数目呈正相关。观察表格数据知,两个工具的耗时相差不大。从表5可以看出,自动化的Web应用程序安全测试工具WVS并不能检测到Web应用中的存储型XSS漏洞。本文工具通过自动生成攻击向量,并对攻击向量进行不同类型的变异处理,可以有效检测出Web应用中存在的存储型XSS漏洞。

实验结果表明,本文方法确实能有效检测出Web应用中的存储型XSS漏洞。与静态分析方法相比,本文方法通过爬取分析Web应用找到注入点,追踪“探子”向量找到展现页面,无需程序源码,适用性更广。与运行时监测的方法相比,本文方法检测为全自动过程,不需要用户干预,用户体验好,无系统开销,效率更高。

4 结语

本文在深入分析存储型XSS漏洞攻击原理的基础上,设计并实现了存储型XSS漏洞检测系统。该检测系统使用巴科斯范式自动生成初始攻击向量,并对其进行变异处理,能有效绕过过滤器,更深层次挖掘漏洞的存在;使用辅助标记技术,提高了检测的准确性。通过对现实Web应用进行检测实验,验证了检测系统的可行性及有效性。在进一步的工作中将对HTML5引入的新元素及新属性进行研究,以检测出更加精妙的存储型XSS漏洞攻击。

摘要:跨站脚本XSS(Cross Site Scripting)漏洞,已对大多数网站产生严重威胁。其中存储型XSS漏洞对用户及网站的损害尤为巨大。事先使用漏洞扫描工具对该漏洞进行检测并修补,可以有效预防和减轻该漏洞被利用后导致的一系列危害。分析存储型XSS漏洞的攻击原理,提出用巴科斯范式(BNF)自动生成初始攻击向量,对初始攻击向量进行变异处理。使用辅助标记自动检测存储型XSS漏洞的动态检测方法,设计并实现存储型XSS漏洞检测系统。在现实Web应用中测试评估了该系统,实验证明它能有效检测出应用中存在的存储型XSS漏洞。

关键词:存储型XSS,动态检测,漏洞扫描,攻击向量

参考文献

[1]Owasp.Top 10-2013[EB/OL].https://www.owasp.org/index.php/Top_10_2013-Top_10.

[2]Jovanovic N,Kruegel C,Kirda E.Pixy:A static analysis tool for detecting Web application vulnerabilities[C]//2006 IEEE Symposium on Security and Privacy,2006:6.

[3]Yichen Xie,Alex Aiken.Static Detection of Security Vulnerabilities in Scripting Languages[C]//Proc.15th Usenix Security Symp.(UsenixSS 06),Usenix,2006:179-192.

[4]Monica S Lam,Michael Martin,Benjamin Livshits,et al.Securing Web Applications with Static and Dynamic Information Flow Tracking[C]//Proc.2008 ACM SIGPLAN symposium on Partial Evaluation and Semantics-Based Program Manipulation(PEPM 08),ACM,2008:3-12.

[5]Gary Wassermann,Su Zhendong.Static Detection of Cross-Site Scripting Vulnerabilities[C]//Proc.30th Int’l Conf.Software Eng.(ICSE08),ACM,2008:171-180.

[6]Kieyzun A,Jayaraman K,Ernst M D,et al.Automatic Creation of SQL Injection and Cross-Site Scripting Attacks[C]//Proc.31st Int’l Conf.Software Eng.(ICSE 09),IEEE CS,2009:199-209.

[7]潘古兵,周彦晖.基于静态分析和动态检测的XSS漏洞发现[J].计算机科学,2012,39(6):51-53.

[8]Hossain Shahriar,Mohammad Zulkernine.S2XS2:A Server Side Approach to Automatically Detect XSS Attacks[C]//Ninth IEEE International Conference on Dependable,Autonomic and Secure Computing.Sydney,NSW,2011:7-14.

[9]王夏莉,张玉清.一种基于行为的XSS客户端防范方法[J].中国科学院研究生院学报,2011,28(5):668-675.

[10]Bloom Filter[EB/OL].http://en.wikipedia.org/wiki/Bloom_filter.

[11]Robert Hansen(RSnake).XSS(Cross Site Scripting)Cheat Sheet[EB/OL].http://ha.ckers.org/xss.html(June 2009).

Web入侵检测 篇9

采用B/S架构, 并通过HTTP或HTTPS协议提供访问的应用服务统称为Web应用。目前, 几乎所有政府、通信、证券、银行以及电子商务都支持在线交易和查询服务, 包括个人账户、用户信息、交易记录等在内的用户的敏感信息, 都通过Web应用系统存储在数据库中, 一旦数据被盗取或篡改, 都会造成巨大损失。为降低系统受攻击的风险, 可利用Web应用安全漏洞扫描技术, 可以实现在线的Web应用健康检查, 提醒网站管理员进行修补, 是效果好的Web安全防护手段。

2 Web应用中常见漏洞攻击

Web应用大多涉及服务器端的动态处理, 同时, 开发人员可能在开发过程中疏忽参数的输入检查, 因此会出现各种Web应用安全问题, 会产生相关漏洞, 例如文件包含漏洞, 目录遍历漏洞, 信息泄露漏洞和SQL注入漏洞给攻击者留下可乘之机。

由于SQL注入漏洞利用Web应用开放的端口, 通常防火墙等设备无法检测到, 所以其隐蔽性高, 如果攻击者不留下痕迹, 或者管理员没有查看数据库日志的习惯, 基本不会发现。

根据美国国家漏洞数据库 (NVD) 的统计, SQL注入在针对Web应用攻击手段中名列榜首, 是互联网危害最大的安全漏洞。SQL注入攻击的几个过程。

(1) 判断Web应用是否可以进行SQL注入。如果URL仅是对静态网页的访问, 不存在SQL注入问题。只有存在数据库动态查询请求的URL, 才可能存在SQL注入, 如:http://www.***.cn/web.jsp?id=36, 其中id=36表示数据库查询变量。

(2) 寻找SQL注入点。完成带参URL的查找后, 通过构造一些特殊SQL语句, 替换原有的URL参数值, 再根据浏览器返回信息, 判断该URL是否为SQL注入点。

(3) 猜解用户名和密码。软件开发人员设计的数据库表名、字段名通常是有规律可循的。通过构建SQL语句在数据库中查找表名、字段名、用户名和密码的长度等内容。

(4) 寻找Web系统管理后台入口。通常Web系统后台管理的界面不向普通用户开放, 要寻找到后台的登录路径, 可以利用扫描工具, 测试可能的后台入口地址进行。

(5) 实施入侵和破坏。成功登录管理系统后, 接下来就可以任意进行读写, 篡改网页、木马上传、修改、泄漏用户信息等, 并进一步入侵数据库服务器。

由于大多数Web应用检测软件成本较高, 不适合中小型网站, 所以需要一种简单方便的网站检测服务。该漏洞检测工具针对MySQL数据库服务器, 对用户提交的URL进行安全检测, 对漏洞划分不同的危险等级, 发现问题后显示危险URL, 不显示其他敏感信息。

3 SQL注入漏洞检测工具的设计

3.1 SQL 注入漏洞检测方法

可以采用模仿黑客攻击的方法来检测是否存在SQL注入漏洞, 与SQL注入攻击的步骤类似, 如图1所示。

(1) 在检测过程中, 采用网络爬虫技术, 先将整个网站的所有网页抓取完成。将重复的URL以及链接到被检测网站外的URL剔除后, 存入网页URL数据库。

(2) 访问网页URL的数据库, 获得一条URL。

(3) 对网页URL数据库中存储的URL进行检测, 检测的步骤同攻击过程。为了提高检测的效率, 采用模板参数填充的方法。可需要根据实际情况对表1所示的SQL注入模板的参数进行填充, 以构成可执行的SQL攻击语句。其中u表示URL;%s表示SQL语句的条件部分;~u表示将URL中SQL语句的条件取反。如果构建的SQL语句未通过URL检测, 那么该URL不存在SQL注入漏洞, 转步骤2。如果构建的SQL语句通过URL检测, 那么存在SQL注入漏洞, 转步骤4。

(4) 以MySQL4及以上版本为例, 列出检测信息。构建SQL语句, 进一步获取基本信息, 猜解数据和列名, 并读取和写入文件。

(5) 如果网页URL的数据库的每一条URL都检测过后, 算法终止

3.2 整体架构图

注入漏洞检测工具的基础构架如图2所示。分为三个功能模块: (1) 网络爬虫:创建网页URL数据库; (2) SQL注入检测引擎: 采用图2所示的流程进行SQL注入漏洞检测; (3) 公共组件:支持前两个模块相应功能的实现。

4 SQL注入检测引擎的实现

4.1 SQL 注入漏洞扫描

1) 构造不同类型的payload:参照表2所示的SQL注入模板的参数对URL进行填充。

2) 根据http response来判断是否存在注入点:根据参数m_HttpUrl从指定的URL得到相应的返回内容;获取或设置用于向Internet Http资源的请求进行身份验证的网络凭据, 并使用正则表达式 ("<meta ([^<]*) charset= ([^<]*) /"") 获取网页字符编码描述信息。分析返回的HTTP报文, 如果满足一定的条件, 那么该网页存在SQL注入点。

3) 分析具体的注入类型:根据不同的注入类型构造不同的URL。

4.2 猜解数据与列名表名

1) 获取数据库的基本信息

MySQL4及以上版本支持union查询, 可以通过折半查找, 逐步猜解信息。用到的内置函数如下: (1) VERSION () :获得当前的数据库版本信息 ; (2) USER () :获得当前的数据库用户名; (3) DATABASE () :获得当前数据库名; (4) PASSWORD () :获得相关用户的密码。获取数据库的基本信息如图4所示。

2) 猜解表名

在MySQL4及以上版本中, 可在注入点URL后添加如下代码:and (select count (*) from table_name) >0。如果返回正常, 那么说明数据表的名字是存在的, 否则不存在。

3) 猜解列名

在MySQL4及以上版本中, 可在SQL注入点URL后添加如下代码:and (select count (column_name) from table_name) >0。如果返回正常, 那么列名是正确的, 否则反之。把常见列名保存在一个文本文档中, 猜解时打开, 构造URL进行猜解, 遍历所有字段名。猜解数据与列名表名如图5所示。

4.3 读取和写入文件

1) 利用函数load_file () 读取文件, 为避开单引号, 使用16进制表示文件路径。2) 利用函数into outfile () 实现写文件的功能。

5 结束语

SQL注入漏洞检测工具通过构造HTTP协议请求, 获取服务器响应信息, 分析网络页面信息, 来分析检测。可以帮助管理员更好的管理网站, 可立刻查询URL的各项记录, 并显示上次扫描时间, 同时标明漏洞类型, 能更直观的了解网站的安全状况。管理员可以根据这些信息对网站进行整修, 填补漏洞, 使网站更加安全。但是在SQL注入检测引擎的运行时会存在一定延时, 并只针对SQL注入漏洞进行检查, 因此, 会进一步丰富扫描知识库, 并开展更多类型漏洞 (如XSS漏洞、危险端口预警、敏感目录检测、蜘蛛屏蔽扫描等) 的研究工作, 使其更高效准确地为用户提供服务。

摘要:由于Web应用系统的开发周期较短, 同时开发人员安全编程意识不足, Web应用程序会存在漏洞。因此, 检测Web应用系统的安全性是安全领域的亟待解决的问题。SQL注入漏洞检测工具模拟黑客攻击的方式, 采用网络爬虫技术建立需检测的URL库, 依据SQL注入模板精心构造URL, 并从根据浏览器返回信息, 判定是否存在SQL注入点。可以提前意识到Web应用存在的漏洞, 并及时修补, 降低系统受攻击的风险, 是有效的Web安全防护手段。

关键词:SQL注入,漏洞检测,Web安全

参考文献

[1]杨林, 杨勇.Web应用漏洞攻击分析及防御实现[J].中国教育网络, 2011, Z1:79-82.

[2]National Vulnerability Database National vulnerability database (NVD) CVE.statistics[EB/OL].http://web.nvd.nist.gov/view/vuln/statisticsresults.

[3]彭赓, 范明钰.基于改进网络爬虫技术的SQL注入漏洞检测[J].计算机应用研究, 2010, 27 (07) :2605-2607.

[4]张令通, 罗森林.SQL盲注入快速攻击方法研究[J].信息网络安全, 2013, 05:15-18.

[5]苏忠, 林闯, 封富君等.无线传感器网络密钥管理的方案和协议[J].软件学报, 2007, 18 (5) :1218-1231.

Web入侵检测 篇10

建筑工程材料检测是指对己进入建筑工程施工现场的建材实施抽样检验, 是对材料的二次检测。材料检测是工程建设领域内保证工程质量、评定工程质量等级以及合理选用建筑材料的一项重要措施, 也是推广和发展新材料、新技术的重要途径。"建筑施工企业必须按照工程设计要求、施工技术标准和合同的约定, 对建筑材料、建筑构配件和设备进行检验, 不合格的不得使用。"建筑材料检测是工程质量检测的重要组成部分。

1 建材检测管理信息系统的需求分析

建筑工程材料检测是提高和评价我国工程质量的重要保证和技术手段, 是质量控制的一个核心环节, 检测企业必须认真执行国家 (行业、地方) 有关建筑材料检测的标准, 规范实验方法和实验数据的取值方法, 全面、客观、准确地反映建筑材料质量的真实水平。建筑材料检测企业的目标是保证检测的科学性、公正性、准确性, 提高检测效率。

1.1 材料检测工作的一般程序

材料试验取样。取样是按有关技术标准、规范的规定, 从检验 (测) 对象中抽样试验样品的过程。取样是工程质量检测的首要环节, 其真实性和代表性直接影响检测数据的公正性。为保证试件能代表母体的质量状况和取样的真实性, 保证建设工程质量检测工作的科学性、公正性和准确性, 确保建设工程质量, 建设部建 (2000) 211号文《关于发<房屋建筑工程和市政基础设施工程实行见证取样和送检的规定) 的通知》, 要求在建设工程质量检测中实行见证取样和送检制度, 即在建设单位或监理单位人员见证下, 由施工人员在现场取样, 送至法定检测机构进行检验。同时还规定见证取样数量不得低于有关技术标准中规定应取样数量的30%;用于承重结构的混凝土试块、砌筑砂浆试块、砖和小型混凝土砌块、钢筋及连接接头、水泥、防火材料等必须实施见证取样和送检。

材料送检。加工好的试件根据规定数量送检测机构。见证取样和送检的项目必须有见证人和施工企业取样人员一起将试样送至检测单位, 检测单位在接受委托检验任务时, 须由送检单位填写委托单, 见证人员在检测委托单上签名, 检测单位应检查委托单及试样上的标识标志, 确认无误后方进行检测。

材料试验。试验室接到样品后, 根据原始台帐进行核对, 无误后对试件规格进行精确的测量, 然后进行试件加工或直接试验。各试验室对本室的环境温度湿度, 试件加工情况, 试验过程中的特殊问题, 要有记载, 填写试验记录。

计算。计算人员根据试验记录及时进行计算, 计算时发现离散性大, 不能得出结果时, 应通知有关人员进行加倍复验。

1.2 材料检测重点注意事项

材料检测工作必须严格遵循国家、行业和地区颁发的有关建筑工程的技术标准、规范和规程。检测报告必须事实求是, 数据准确可靠, 不得涂改, 必须具有试验员、审核员及技术负责人签字。检测单位对出具的报告负有法定责任。材料检测必须按照CNACC201-95《试验室认可准则》的要求, 结合本单位实际情况建立健全管理制度, 包括检测试验管理、岗位责任、仪器设备管理、标准养护室管理、检测试验委托管理等, 以确保检验工作的可靠性和准确度。

2 系统开发关键技术分析

2.1 系统开发方法和开发体系系统的开发方法

系统开发的方法很多, 目前常用的主要有三种:结构化方法、面向对象方法和原型法, 其主要特点如下:

结构化方法。结构化方法是结构化分析 (structured analysis, SA) 和结构化设计 (structured design, S功的总称, 是目前最成熟、应用最广泛的信息系统开发方法之一。它的优点是有一套严格的开发过程, 各开发阶段都要求有完整的文档记录, 只有前一阶段完成后, 才能开始下一阶段的工作, 其阶段是不可逆的, 也不可跳跃, 是很成熟的开发方法, 国内外有许多成功开发的例子。缺点是开发周期长, 灵活性差。

面向对象方法。面向对象方法 (Object Oriented method) 是80年代后期随着面向对象的程序设计而发展起来的, 它的基本思想是从现实世界中客观存在的事物出发来构造软件系统, 将客观实际事物的特征抽象地描述成类, 由类建立的对象作为系统的基本构成单位, 它们的内部属性与服务描述了客观存在事物的静态和动态特征。对象类之间的继承关系、聚集关系及关联等反映了事物之间实际存在的各种关系。因此, 用面向对象方法建立的系统具有较强的应变能力, 且各组成部分的可重用性好。

原型法。原型法的思想是在获得一组基本用户的需求后, 快速地加以"实现", 随着用户或开发人员对系统的理解的加深而不断地对这些需求进行补充和细化, 最终达到用户满意, 生成一个较为理想的信息系统。原型法是一种确定需求的策略, 对用户的需求进行抽取、描述和求精。

2.2 Web技术

Web技术是上世纪90年代的Internet应用的重大创新, 是处理、存储数据与资源共享两种技术的结合。基于Web应用的建材检测管理信息系统本质上是一个信息管理网站, 是B/S模式 (浏览器/服务器模式) , 浏览器作为用户 (系统参与者) 输入接口, 输入所需的数据, .通过超文本传输协议HTTP (hype textmarkup language) 将这些数据传输给网站, 网站再对这些数据进行处理, 将操作结果回传给浏览器。

Web技术的应用符合建材检测管理信息系统的总体构思, 能很好满足建材检测服务的分布性, 同时, 基于Web下的建材检测管理信息系统的客户端不需要进行安装、配置和修改应用软件, 这些工作只需在服务器上完成, 因此可以减少客户端和服务器端软件配置不一致以及不同软件版本所带来的问题。

总结

本系统按照建材检测工作的参与者来进行设计, 基本实现了建材检测工作的计算机网络管理。系统立足于满足建材检测企业日常工作的实际需要, 功能完善, 安全可靠;系统的整体设计思想保证了其开放性、可扩充性、可移植性。

系统实行人机对话, 界面友好, 方便用户使用和维护。在检测机构体制改革与同行业竞争不断加剧的情况下, 如何增强本企业的竞争优势已经成为检测机构生存与发展的重要课题。通过建材检测管理信息系统的使用, 能最大限度地提高检测机构运行效率和管理水平, 给企业带来了显著的经济效益和社会效益。

摘要:随着我国经济的发展和社会的进步, 对检测企业的日常工作和管理手段提出了更高的要求。如何提升企业的核心竞争力, 如何加快企业的现代化管理进程己成为建筑工程检测行业研究和探讨的热点。本文以正处于转制关键时期的建筑材料检测企业为研究对象, 考察检测企业日常工作流程, 分析行业发展对检测机构提出的新要求。

关键词:建筑材料检测,需求分析,企业现代化管理

参考文献

[1]王树波等建材检测数据采集与管理系统的开发与研制工程质量2001.10

[2]张华夏建筑材料检测数据处理系统的建立海南大学学报自然科学版2002.6

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:生物的入侵 下一篇:入侵检测与入侵防御将长期共存