电子商务平台渗透测试及信息安全对策研究
2019-12-16刘坤
刘坤
摘要:本文针对电子商务平台容易受到各类攻击进行,给出具体应用策略。首先对电子商务平台存在的漏洞进行研究分析,根据企业实际环境搭建虚拟仿真渗透测试环境,对电子商务平台和服务器进行渗透测试,找到已知或未知漏洞,并给出漏洞解决方案和应对策略。
关键词:电子商务平台;渗透测试;安全策略
中图分类号:TP319 文献标识码:A
文章编号:1009-3044(2019)30-0281-03
随着5G时代的到来,网络快速发展给人们的生活带来极大的便利,电子商务平台的快速发展极大得方便了人们的生活,我们可以足不出户买到各类商品。电子商务研究中心发布《2017年度中国城市跨境电商发展报告》报告对全国13个跨境电商综合试验区城市进行分析,了解各城市发展现状、政策措施、存在问题、发展建议等。苏州是首批国家电子商务示范城市之一,自2016年1月获批以来,苏州跨境电商综试区将发展跨境电商B2B出口作为业务发展的重中之重。苏州电子商务平台还与东盟“单一窗口”平台成功联调,出口B2B业务数据可直达东盟10国和印度等国。苏州跨境电商综试区线上综合服务平台正在探索打造全国特殊监管区域一般纳税人服务平台、全国境外游客的退税、跨境电子商务出口一站式平台等延伸发展定位,拓展商业增值服务,其主要平台包括:虎丘婚纱城、沃金网络、苏州婚纱定制网、破浪电商、雷盛网络、阿拉丁等等。由于电商平台快速发展,电子商务平台信息安全越来越重要,如果不加强平台信息安全管理,导致数据被窃取和篡改,会给企业和政府带来巨大的经济损失。
本文针对苏州电子商务平台信息安全现状进行研究分析,采用黑盒渗透测试对典型的电子商务网站进行渗透测试,从而找到电子商务平台的漏洞,对其研究得到电子商务平台信息安全应对策略,并可以将安全策略在其他同类电子商务平台进行普及推广应用。
1电子商务平台信息安全现状研究分析
电子商务平台快速发展,也随之带来了电子商务平台的网络安全问题。网络安全越来越受到人们重视,Web应用渗透攻击在近些年来也是一个热门话题,主要是因为通过Web攻击,能够获取到更多有价值的信息。目前Web服务无处不在,如电子邮件、在线编辑文档、在线购物、在线银行等等,入侵这些应用系统不仅能够体现攻击手段,而且可以获得更多的经济利益。一旦电子商务平台被黑客入侵,用户购物信息就会被黑客窃取,会给企业和个人造成重大的经济损失。
通过对电子商务平台信息安全的调研分析,目前电商平台还是中小型企业居多,发展规模较小,电子商务平台安全缺少专业技术人才,投入到网络安全资金有限,主要存在以下几个方面的问题:
1)技术门槛低,对于攻击者来说,Web攻击技术相对传统的操作攻击技术而言简单也更容易理解,随着Web平台不断增加和流行,大多数Web应用几乎不需要很多开发经验就可以开发出来,程序存在漏洞相对比较多。
2)防火墙可以轻松绕过,我们知道防火墙一般是允许流入方向的HTTP/HTTPS,因为允许客户端访问Web服务器来提供Web服务。这样配置再好的防火墙对攻击者来说,也是可以轻松绕过。
3)攻击人侵的隐蔽性,在互联网上针对Web攻击很多无法进行取证,在Web攻击过程中,很多容易通过各种公开的HTTP代理发起攻击,很难找到真正的攻击者。
4)Web应用的调整对于一个业务公司来说肯定是经常需要的,但是对于调整Web应用的开发人员,系统管理员来说,他们往往缺乏信息安全方面的专业知识,很难保证网络信息安全策略的实施。
5)由于电子商务平台多是购物平台,随之而来也给攻击者带来利益,所以攻击者多会通过各种欺骗手段如钓鱼攻击,拒绝服务攻击等进行诈骗,从而获得丰厚利润。
本文针对某电子商务平台进行网站信息安全评估,利用黑盒测试技术,采用流行的攻击技术与工具,有目标有步骤地进行逐步渗透与入侵,找到电商平台中一些已知和未知的安全漏洞,评估这些漏洞可能对企业的电商平台和业务造成的损失,给出电子商务平台安全漏洞解决对策。
2电子商务平台渗透测试研究
本文基于黑盒测试方法,模拟某企业真实环境搭建虚拟实验环境进行测试,这样的好处是不影响企业或公司网站正常运行维护,同时也不会把网站漏洞暴露在网络上,非法使用人侵系统。根据某企业环境,搭建的渗透测试实验环境拓扑结构如图1所示。其中模拟真实网站环境是虚拟机Web服务器,模拟真实操作系统环境是虛拟机Linux和WinXP,模拟真实攻击机器是Kali Linux。我们使用攻击机器中的各种黑客常用工具,对目标Web服务器进行渗透测试找到已知或者未知漏洞,同时也对操作系统进行渗透测试,找到目标服务器可能存在各类漏洞和安全隐患。
为了能够搭建实验环境,我们采用VMware虚拟化技术,支持一台高性能PC中安装若干台虚拟机,实现渗透测试目标机器和攻击机器,测试环境所需要的设备配置如表1所示。黑盒测试中利用OWASP BWA作为Web测试靶机,它汇集了大量已知安全漏洞实验环境和真实Web应用程序,配置各种漏洞的web应用程序,可以进行渗透测试,同时由于采用PHP开放源码方式,也方便进行Web服务器加固,得到安全策略。LinuxMetasploitable靶机包含一些存在安全漏洞的软件包,如Sama、Tomcat5.5、Mysql以及弱口令漏洞等,用于测试服务器操作系统安全性。
通过模拟真实网络环境进行黑盒测试,当前电商平台普遍存在的安全漏洞主要有以下几个方面:
1)SQL注入
SQL注入就是在输入字符串中嵌人SQL指令,在设计程序中忽略对特殊字符串的检查,这些嵌入的指令会被误认为正常的SQL指令,在数据库中执行,因此可以对后台数据库进行查看,甚至破坏后台数据库造成严重后果。SQL注入是发生在Web应用对后台数据库查询语句处理存在的安全漏洞,由于几乎所有的电商平台都使用数据库存放数据,数据库语句漏洞直接影响平台安全性。
2)跨站脚本攻击
跨站脚本攻击是一种网站应用中常见的攻击方式,它允许恶意使用者将程序代码注入网页上,其他使用者在浏览网页的时候就会受到不同程度的影响,这类攻击一般含HTML语言以及目标主机的脚本语言。电子商务平台一般给用户提供留言和反馈功能,如果没有对用户输入内容进行严格的过滤直接提交就会导致跨站脚本攻击。
3)跨站伪造请求
跨站伪造请求,属于跨站脚本漏洞的一种衍生,攻击者用XSS注入方式注入一段脚本,当受害者点击浏览器运行该脚本时,脚本伪造受害者发送一个合法请求。该请求就好像是被攻击者自己发送一样,攻击者就达到了伪造请求的目的。
4)文件包含漏洞
文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。PHP的配置文件allow_url_fopen和allow-url-include设置为ON,include/require等包含函数可以加载远程文件,如果远程文件没经过严格的过滤,导致了执行恶意文件的代码,文件包含漏洞普遍存在电子商务网站。
5)文件上传漏洞
文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
6)不安全密码存储
Web应用程序中资料加密存储方式较为简单,加密算法强度较弱,如果使用不适当的密码算法或者配置不当,就会造成密码泄露。一般管理密码以及数据库密码为了方便管理和使用,都使用默认密码而不修改,利用一些渗透攻击模块如laser-map_script等就可以对ssh服务进行弱口令暴力破解,从而拿到远程主机的访问权限。
3电子商务平台信息安全策略研究
通过模拟真实环境渗透测试,找到电子商务平台普遍存在的安全漏洞和安全隐患,为了保证各类电子商务平台的信息安全,我们从以下几个方面进行风险评估和漏洞解决对策。
3.1SOL注入漏洞
在网站的程序代码里,有很多用户需要提交的参数值,比如get、post的数据提交时,程序员没有对其进行详细的安全过滤,导致可以直接执行SQL语句,在提交的参数里,可以掺人一些恶意的sql语句命令,比如查询admin的账号密码,查询数据库的版本,以及查询用户的账号密码,执行写入一句话木马到数据库配置文件,执行系统命令提权等等。
SQL注入漏洞修复主要對策是程序代码里的所有查询语句,使用标准化的数据库查询语句API接口,设定语句的参数进行过滤一些非法的字符,防止用户输入恶意的字符传人到数据库中执行sql语句。对户提交的参数安全过滤,像一些特殊的字符(,()*&……%#等等)进行字符转义操作,以及编码的安全转换。网站的代码层编码尽量统一,建议使用utf8编码,如果代码里的编码都不一样,会导致一些过滤被直接绕过。网站的数据类型,必须确定,是数字型,就是数字型,字符型就是字符型,数据库里的存储字段类型也设置为ini型。对用户的操作权限进行安全限制,普通用户只给普通权限,管理员后台的操作权限要放开,尽量减少对数据库的恶意攻击。网站的报错信息尽量不要返回给客户端,比如一些字符错误,数据库的错误信息,尽可能地防止泄露给客户端。
3.2跨站脚本漏洞
跨站脚本攻击之所以会发生,是因为用户输入的数据变成了代码。所以我们需要对用户输入的数据进行HTML Encode处理,将其中的”中括号”、“单引号”、“引号”之类的特殊字符进行编码,同时将重要的cookie标记为http only,这样的话Javas-cript中的document.cookie语句就不能获取到cookie值。
3.3跨站伪造请求漏洞
跨站请求伪造漏洞修补对策为:
1)验证http referer字段,根据HTFP协议,在HTFP头中有一个字段叫Referer,它记录了该HTYP请求的来源地址。在通常情况下,访问一个安全受限页面的请求必须来自同一个网站。
2)在请求地址中添加token并验证,CSRF攻击之所以能够成功,是因为攻击者可以伪造用户的请求,该请求中所有的用户验证信息都存在于cookie中,因此攻击者可以在不知道这些验证信息的情况下直接利用用户自己的cookie进行安全验证。所以,抵御CSRF攻击的关键在于在请求中放人攻击者所不能伪造的信息,并且该信息不存在于cookie中。因此,可以在http请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。
3)在http头中自定义属性并验证,自定义属性的方法也是使用token并进行验证,和前一种方法不同的是,不是把token以参数的形式置于http请求中,而是把它放在http头中自定义的属性中。通过XMLHttpRequest这个类,可以一次性给所有该类请求加上csfftoken这个http头属性,并把token放人其中。这样解决了前一种方法在请求中加入token的不便,同时,通过这个类请求的地址不会被记录到浏览器的地址栏,也不用担心token会通过referer泄露网站地址。
3.4文件包含漏洞
文件包含函数加载的参数没有经过过滤或者严格定义,可以被用户控制,包含了其他恶意文件,导致执行了非预期的代码。PHP中可使用open_basedir配置限制访问限制在指定的区域,过滤.(点)/(反斜杠)\(斜杠),限制服务器远程文件包含等策略修补文件包含漏洞。
3.5文件上传漏洞
文件上传漏洞应对策略可以检查扩展名,在文件被上传到服务端的时候,对于文件名的扩展名进行检查,如果不合法,则拒绝这次上传,在检查扩展名是否合法的时候,有两种策略:黑名单策略,文件扩展名在黑名单中的为不合法,白名单策略,文件扩展名不在白名单中的均为不合法。白名单策略是更加安全的,通过限制上传类型为只有我们接受的类型,可以较好地保证安全,因为黑名单我们可以使用各种方法来进行注入和突破。
3.6不安全密码存储
针对电子商务平台弱口令问题,网站维护及管理人员应该做到,登陆网站后台页面的账户密码应该经过加密算法处理后再保存到数据库中。数据库的连接密码务必要修改,特别是Mysql数据,默认用户名root,密码为空。所以如果不修改或者只是设置简单弱口,很容易被黑客拿到弱口令轻松进入数据库获取数据。
4结论
本文通过搭建虚拟仿真渗透测试实验环境,综合采用多种手段和方法对电商平台进行渗透测试,找到平台常见漏洞和安全问题。通过研究代码修补等方案,给出漏洞解决方案,让用户放心使用平台,避免电子商务平台受到攻击而造成经济损失。本文给出的安全策略及方法可以在电子商务平台推广使用,具有普遍适用性。