APP下载

浅谈应对网站篡改技术手段

2016-02-06◆刘

网络安全技术与应用 2016年10期
关键词:访问控制防火墙代码

◆刘 翔

(湖北省公众气象服务中心 湖北 430074)

浅谈应对网站篡改技术手段

◆刘 翔

(湖北省公众气象服务中心 湖北 430074)

网站是一个单位的门脸,网站防篡改是一个单位网络安全的重点,本文站在一个网站开发和管理的角度,分析网站篡改的主要攻击手段,用经验和实例来说明应对网站的技术手段。

网站;黑客攻击手段;防篡改技术;网站代码

0 引言

对于一个单位的网站管理者,虽然要面对层出不穷的应用安全事件,但笔者认为首当其冲是要防网站被篡改。根据国家互联网应急中心(CNCERT)《中国互联网网络安全报告(年报)》中监测数据,2014年我国境内近3.7万个网站被黑客篡改,2015年有近2.5万个网站被篡改,其中被篡改政府网站2014年有1763个,2015年有篡改898个。虽然随着国家对网络安全法制化进程不断加快和政府部门的防范意识不断提高,政府网站被攻击现象呈现下降趋势,但由于国内外形势依旧复杂,非法团体和敌对势力无时不想利用手段摸黑政府形象,总体上网站安全风险依然形势严峻。从网页篡改的方式来看,我国被植入暗链的网站占全部被篡改网站的比例高达83%,在被篡改的政府网站中,超过85%的网页篡改方式是植入暗链。植入暗链已成为黑客地下产业链牟利方式之一,2015年CNCERT处理参与网页篡改攻击的博彩、私服等非法网站链接6320个,通知5609个被植入暗链网站用户单位对网站进行修复。

1 涉及篡改的主要攻击手段

1.1 SQL注入

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。通过递交参数构造巧妙的SQL语句,从而成功获取想要的数据。其分为字符型注入和数字型的注入,由于编程语言不同,所存在的注入类型也不同。危害有:非法查询其他数据库资源,如管理员帐号;执行系统命令;获取服务器root权限。

1.2 跨站脚本攻击

通常简写为XSS,是指攻者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。其危害有盗取用户cookie;XSS蠕虫;挂马,结合XSS蠕虫,危害巨大。

1.3 利用操作系统和网站服务程序自身漏洞攻击

服务器操作系统和网站服务程序随着时间推移,总是会被发现存在很多漏洞,2016年4月中国互联网被Apache Struts2(官方编号S2-032/CVE编号CVE-2016-3081)漏洞血洗,一个月内被植入后门的网站达六千多家,其开启动态方法调用(DMI)的情况下,可以被远程执行任意命令。这些正是黑客利用工具扫描出网站服务器如IIS和Apache等服务软件的帮助信息等默认配置文件及其版本信息,开发出漏洞利用POC,发布在互联网上,吸引了更多的互联网攻击和扫描尝试。此外,网页中包含了提交时的内部网络IP等敏感信息;服务器的默认端口和服务,如windows的默认ipc$共享等这些很容易忽视的信息泄露点。

2 应用代码处理手段

2.1 应用代码安全才是真正的Web安全

关于Web应用程序安全性,必须认识到的第一件事是不应该信任外部数据,应用代码安全才是真正的Web安全。外部数据(outside data)包括不是由程序员在网站代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如GET 变量、表单 POST、数据库、配置文件、会话变量或 cookie)的任何数据都是不可信任的。在开发应用程序时,严格检查用户输入,注意一些特殊字符:“’”“;”“[”“--””||”等。

例如,在网站每个应用代码中可加一些用户提交POST过滤:

2.2 转义用户输入内容

转义最重要的是防止XSS攻击和SQL注入。对于需要插入的不可信内容必须先进行转义(尤其对特殊字符、语法符合必须转义或重新编码)。

例如:用户提交到网站一段信息,该信息中夹带了这么一段

2.3 使用参数化的查询

参数化查询(Parameterized Query 或 Parameterized Statement)是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数(Parameter)来给值,这个方法目前已被视为最有效可预防SQL注入攻击的防御方式。

要获得一个参数化查询,需要以一种特定的方式来编写代码,或它需要满足一组特定的标准。有两种不同的方式来创建参数化查询。第一个方式是让查询优化器自动地参数化查询。另一个方式是通过以一个特定方式来编写T-SQL代码,并将它传递给sp_executeSQL系统存储过程,从而编程一个参数化查询。在使用参数化查询的情况下,数据库服务器不会将参数的内容视为SQL指令的一部份来处理,而是在数据库完成SQL指令的编译后,才套用参数运行,因此就算参数中含有指令,也不会被数据库运行。Access、SQL Server、MySQL、SQLite等常用数据库都支持参数化查询。

3 做好网站服务程序的安全设置和升级

其包括最小化SQL权限,并禁用数据库默认帐号,将IIS中WebDAV支持禁用,Apache Cookie设置为HttpOnly,如使用tomcat,配置可Web.xml如下:

前文提到的S2-032,首先禁用动态方法调用,修改Struts2的配置文件,将“struts.enable.DynamicMethodInvocation”的值设置为false,例如:

此外,当下流行.net开发的网站,在整站总体上可首先对SQL注入做特定过滤配置,其一般包括文件有数据验证类parameterCheck.cs文件加过滤、Web.config文件中增加相应标签,Global.asax做特定处理,此三文件处理方式网上有很多经典案例,这里不在赘述。

4 信息泄漏的防范手段

信息泄漏的防范主要包括,使用防火墙和IDS,用效阻断黑客的扫描;关闭不必要的端口和服务,如删除windows的默认ipc$共享;修改服务器软件的版本信息,不使软件的版本等信息泄漏,删除服务软件的帮助信息等默认配置文件,如IIS和Apache默认配置文件;设置网络设备的访问控制列表,不将网络拓扑等敏感信息放到容易得到的地方,不要告诉陌生人任何敏感信息,使用加密的传输通道等等。

5 必要的现实防护-WEB应用防火墙

Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一种设备。传统的防火墙是作为访问控制设备,主要工作在OSI 模型的三、四层,仅对IP 报文进行检测。它无需理解Web 应用程序语言(如HTML 及XML),也无需理解HTTP 会话。因此,它不可能对HTML 应用程序用户端的输入进行验证,或是不可检测到一个已经被恶意修改过参数的URL 请求。有一些定位比较综合、功能比较丰富的防火墙,例如带有IDS/IPS功能的防火墙虽然弥补了防火墙的某些缺陷,但由于对Web 的检测粒度不够细,随着网络技术和Web 应用的发展复杂化,在Web 专用防护领域也力不从心。

WEB应用防火墙 旨在保护Web 应用程序免受常见攻击的威胁,通过分析应用层的流量以发现任何违法安全策略的安全问题。WEB应用防火墙 在网络中一般位于传统防火墙之后,网站服务器前,用于保护应用服务器。它提供的功能可能包括服务器之间的流量负载均衡、压缩、加密,HTTP 和HTTPS 流量的反向代理,检查应用程序的一致性和汇聚TCP 会话等。

6 结束语

再提句网络安全上非常客观旧的话,对于网站安全防护是:“三分技术,七分管理”。网站安全上怎么防,技术手段所占比重还是排在管理之后,必须建立网站安全管理制度,特别是加强对单位内从事网站相关工作人员的管理和建立快速的网站安全事件应急响应机制更为重要。

[1]国家互联网应急中心.我国互联网网络安全态势综述,2015.

[2]李学峰.浅谈政府门户网站WEB的防篡改技术应用.计算机光盘软件与应用,2011.

[3]刘志光.Web应用防火墙技术分析.情报探索,2014.

图1 网络访问控制系统的网络拓扑

在本文中主要研究的是中小型网络的网络访问控制系统的设计,采用的是SELinux的安全特性,通过安全标签进行访问控制,从而使访问行为的主体和客体全部变为安全便签属性,并将其直接发送到访问控制系统中,并通过对应的访问控制系统对访问行为进行控制。

首先是系统环境描述,在本中设计的是一个高安全等级的防火墙系统,采用的是集中访问控制模式,需要对用户的资源以及系统对访问行为进行控制,保护用户的安全新型。对于这一系统,其主要分为三个部分,通过这三个部分的写作进行访问控制,而不同单元之间采用的是Linux操作系统。对于内外网之间的处理单元,其对称性要求较强,这种模式既能够实现外网的过滤,防止非法访问请求的发生,此外,还能够对内部用户的信息等进行保护。

然后是安全标签的提取和传输,在本文的访问控制中采用的是安全标签进行传输,该系统首先需要有网络管理人员对用户的安全标签进行初始化,然后根据具体的要求进行标签的设置。

4 总结

随着社会的发展,网络技术也在快速发展,这使得不同部门和领域之间的交流越来越多,传统的网络访问控制权限较低,在本文中对中小型网络的网络访问控制进行了研究与管理。

参考文献:

[1]蒋福德,谭彬,钟诚,欧旭,刘维权.中小型WLAN网络安全防范探讨[J].信息安全与通信保密,2012.

[2]李强.访问控制列表(ACL)在网络安全设计中的应用[J].计算机与网络,2004.

猜你喜欢

访问控制防火墙代码
构建防控金融风险“防火墙”
创世代码
创世代码
创世代码
创世代码
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
在舌尖上筑牢抵御“僵尸肉”的防火墙