Web应用防火墙在网上银行系统中的应用

来源 :计算机与网络 | 被引量 : 0次 | 上传用户:houboweike
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对网上银行系统的安全性问题,在已给出的基于用户业务的Web应用防护墙框架上加入自学习模块,可以提升用户介入率,降低WAF误报率。该框架还能有效应对支付密码泄露、数据泄露、隐藏表单篡改和cookie欺骗等安全问题,通过实验验证了所设计的cookie防欺骗整体方案和隐藏表单防篡改防护策略的有效性。
  关键词:Web应用防火墙;WAF框架;自学习模块;cookie欺骗防护;隐藏表单防篡改
  中图分类号:TP393文献标志码:A文章编号:1008-1739(2019)04-67-3


  0引言
  随着网络信息的发展和电子商务的普及,网上银行系统如雨后春笋般地快速发展,网上银行是金融界的一大创新,给众多客户带来实实在在的方便,用户可以足不出户地在网上办理修改密码、转账和支付等业务。但网上银行在给客户带来方便的同时也带来了安全隐患,譬如支付密码泄露、数据泄露[1]、DDoS攻击[2]及CC攻击等。目前,网上银行系统的安全隐患不可小觑,部署WAF可以对网上银行系统起到全方位的防护,可以對Web应用层的主流攻击进行阻断,有效地阻止攻击者对网上银行系统的攻击。目前国外WAF,比较出名的有imperva,nsfocus,WAF等,国内比较出名的有天融信、绿盟和启明星辰的WAF产品,主要功能有阻断注入攻击、cookies以及网络欺骗攻击、XSS攻击、目录遍历、DDoS以及CC攻击等攻击。
  1 WAF中自学习模块
  1.1 WAF内容
  WAF部署在客户端与应用程序之间,能实现对应用程序的防护功能,通过不改变原有网络拓扑结构,部署简单,容易被用户接受。WAF的主要工作职责对信息窃取、网页篡改、非法侵入和拒绝服务起到防护作用。WAF不仅能保护网站及服务器遭受各种恶意攻击,还能优化资源保证Web可靠性与可用性[3]。
  1.2自学习模块
  根据网上银行系统特点,路瑞强等人[4]给出了一个基于用户业务的WAF框架,整体架构包括预处理模块、防护模块、管理模块和日志模块。为了提升检测速度,降低WAF误报率,加入自学习模块。模块分为学习过程和过滤过程,要从正则自适应匹配、长度纬度以及语义分析3个维度来实现,如图1所示。


  自适应匹配主要是对维度的Web请求参数值进行过滤,进而自动匹配生成适合该参数值的白名单正则表达式。当应用程序接收到用户的Web请求时,学习过程的正则自适应匹配函数会自动识别,返回相应函数的匹配值,当相同的请求再次被接收时,再一次进行匹配,如果匹配的数值高于之前的匹配结果,则对应的匹配值将重置。在Web请求学习的过程中,对数值的检测会越来越宽松,降低误报率,如有漏报则人工进行审核处理。而检测过程的正则自适应匹配函数支持用户自定义正则,一旦匹配到自学习模式记录的值为字符串类型时,将使用自定义正则进行检测。用户可以在管理页面根据不同的场景进行定制防护,提高自学习模式的通用性。
  长度维度的学习和正则维度类似,当新的参数值长度比旧的参数值长度大时,会替代旧长度,处理时主要考虑降低误报因素。
  词法分析,把字符转换为ASCLL码的十进制,之后在进行分类,分类规则如下:
  ①0~31及127(共33个)是通信专用字符或控制字符,标记为c,全称control;
  ②中文等分为一类,标记为n,即normal:空格;
  ③一般字符如(),_,!,”,@,.,?,标记为u,即usual:常见字符;
  ④其他诸如’,*,{}等标记为a,即anomaly:异常字符。
  在进行分类转换的同时,相同的特征将被合并为一个。例如,输入“aaabbbccc大雨倾盆”,将被转换为n,而“大家好”,则将被转换为nun。语法分析维度有迭代次数的限制,语法分析默认最多存储5个特征,当超过5个特征数时,意味着该参数无固定的特征模式,该维度的检测被投向bypass模式。
  2 WAF安全防护
  当用户开启WAF的Web特征攻击过滤库过滤,可以防护已确定的SQL注入攻击、XSS攻击、CSRF攻击、命令注入、协议入侵和会话固定攻击等常见Web应用层的攻击。Web特征攻击过滤库要及时跟进和升级。除此之外,用户还可以开启自定义策略,譬如HTTP访问限制、cookie防护、隐藏表单防护、盗链防护、XML防护及应用层DDoS攻击防护等自定义策略。
  2.1支付密码防泄露
  支付密码泄露问题是网上银行的一大安全隐患,预防这一隐患,需要谨防钓鱼网站。但钓鱼网站利用XSS攻击漏洞进行的钓鱼攻击手段相当隐蔽,即使网民的安全意识相当强,也无法抵御攻击,WAF部署在防护网站与客户端之间会阻断XSS攻击。XSS攻击分3种,反射型XSS攻击、存储型XSS攻击和基于DOM的XSS攻击。编写XSS攻击正则,如下所示:alerttcp$EXTERNAL_NETany->$HTTP_SERVERS$HTTP_PORTS(msg:"NIICross-sitescriptingattempt";flow: to_server,established;pcre:"/ ((/%3C)|<)((/%2F)|//)* [a-z0-9/%]+((/%3E)|>)/i";classtype:Web-application-attack; sid:9000; rev:5;)黑客制造钓鱼网站,若代码能匹配上WAF的上面这段XSS正则,WAF就会阻断请求。黑客的阴谋就不能得逞。   2.2 cookie欺骗防护模块
  当用户在网上选购商品时,会把选择好的商品放入购物车。若浏览器突然异常关闭,由于HTTP是无状态链接[5],如果没cookie,购选的商品就不复存在,这个结果是大家最不想看到的,若再次打开购物网重新链接HTTP,会影响网络速度。但cookie带来便利的同时也会带来欺骗。cookie欺骗是指伪造用户身份或权限,目的就是想要获得某些用户或者某些高级权限[6]。在网上银行系统中,常遇到黑客非法获取别人的cookie进入系统进行非法操作。为了安全,设计了一套完整的cookie防欺骗方案。2.2.1 cookie中的secure属性
  该属性被设置为“真”时,表示创建的cookies会被以安全模式向服务器传送,也就是只能在HTTPS连接中被浏览器传递到服务器端进行会话验证,如果是在HTTP连接中则不会传递该cookie信息,所以不会被窃取到cookie的具体内容。就是只允许在加密的情况下将cookie加在数据包请求头部,防止cookie被带出来。
  2.2.2 HttpOnly属性
  如果在cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将無法读取到cookie信息,这样能有效的防止XSS攻击。secure属性的目的是防止信息在传输过程中被监听捕获后信息泄漏,HttpOnly属性的目的是防止程序获取cookie后进行攻击。但是这2个属性并不能解决cookie在本机出现的信息泄漏的问题(FireFox的插件FireBug能直接看到cookie的相关信息)。
  2.2.3 cookie加密
  cookie往往被用于记录用户登录状态,比如userid尽量不要记录密码。因为cookie被存储在客户端会很容易被篡改。为了有效防止XSS攻击盗取用户cookie,给cookie加密,这样可以防止基于cookie的SQL注入、命令注入以及其他五花八门的攻击。
  cookie欺骗防护的功能核心,在WAF上进行cookie加密,加密算法使用MD5,对userid进行加密,加密后的userid被存储在客户端的cookie中,由于加密算法不可逆,所以服务器收到的cookie是无法解密的,服务器应在用户数据列表中增加一个专用保存MD5加密后的字段userid,然后通过SQL查询到userid。当WAF开启cookie加密策略,可以有效防止XSS攻击盗取用户的cookie,使攻击者拿到用户cookie的密文也无济于事,最终WAF因无法解密而失效。
  2.2.4 cookie签名
  操作办法是在set-cookie加上防篡改验证码。如:user_name=cecgw123。防篡改验证码的生成规则的方法:md5(cookieValue+key)或sha1(cookieValue+key),key可以是复杂服务器端得到客户端送上来的cookie,也可以是服务器端所掌握一个固定字符串。然后,重新计算一下验证码,如一致,则未篡改。在这里,签名是根据client ip加密的,恶意者即使拿到cookie,由于签名验证不通过,无法达到cookie欺骗的目的。
  防护措施除此以外,设置cookie有效期限,防止一旦cookie被攻击者窃取,攻击者一直使用用户的账户登录。设置限制cookie的最大个数、cookie名字的最大长度等各项配置多方位防止cookie欺骗的发生。若防护系统无需防护,则添加到白名单。
  3隐藏表单
  在网上银行系统里,有些表单上的元素为了保密起见对客户隐藏,需要把表单设置为隐藏表单,但依然有被篡改的风险。可以在WAF里设置隐藏表单防篡改策略。隐藏表单的HTML表单字段不会在屏幕上显示,表面上看似无法修改,事实上能被修改。若把价格设置为负数,有的应用程序竟然能接受负数价格,攻击者不仅能收到货物,银行卡还能收到退款[7]。
  隐藏表单和其他表单类型是一样的,同样有value这个属性,唯一的区别在于隐藏表单不会把这个元素显示出来,但在提交过程中仍然有效。例如放到
中进行提交后,应用程序会获取该元素的值,但数值不在屏幕上显示。WAF隐藏表单防篡改策略原理提取特征值:price,隐藏参数格式:id="price" value=。若提交代码与隐藏参数格式中内容完全匹配,则请求被阻断。
  4实验部分
  4.1支付密码泄露
  用户在浏览器中输入支付认证的信息包括银行卡号和密码。如果攻击者通过窃听方式或钓鱼网站获得用户的支付密码,就可以通过网络进入持卡人的账户进行转账或者支付,给持卡人带来经济上的损失。下面模拟黑客制造钓鱼,主要代码如下:
  

  

Thisfeaturerequires accountlogin:

  EnterUsername:
  
  EnterPassword:
  
  
  

  用户一旦在网站上输入账户和密码,点击“login”按钮,账号和密码就会被黑客获得。开启WAF固化规则防护中的XSS攻击,使用渗透工具burpsite拦截请求,在WAF的防护下,XSS攻击请求被拦截。详情如图2所示。


  同理,WAF开启表单防护策略编写html代码,。开启隐藏表单防护效果如图3所示。


  4.2 WAF中的cookie防护
  HTTP cookie是通过客户端传送数据的另一个常用机制,和隐藏表单字段类似,HTTP cookie一般不显示在屏幕上,不可以由用户直接修改,但可以使用拦截代理服务器对HTTP cookie进行修改。抵御风险办法之一,就是WAF给cookie加密。开启WAF的cookie加密策略,使用wireshark工具抓包,cookie加密之后的效果如图4所示,从图中可以明显看出cookie已经被加密。


  5结束语
  如今,WAF在中国如火如荼地发展,很多企业投入到对WAF的研究之中。WAF为网上银行系统安全保驾护航,不仅解决了网上最棘手的安全问题———支付账户、密码和数据泄露,同时通过加入自学习模块提高了用户参与度,降低了误报率,阻断了黑客的不法攻击。最后,通过实验验证了WAF能很好地防护网站钓鱼攻击、SQL注入攻击、cookie欺骗攻击和隐藏表单篡改攻击,达到了预期的防护效果。但WAF研究之路还会很长,因为规则库要不断升级才能阻断最新类型的攻击。
  参考文献
  [1] Zhai Lili,Zheng De.Web Security Enhancement Scheme Basedon Web Application Firewall[J].Computer Eangineering and Applications,2011(25):104-106.
  [2] Grobauer B,Walloschek T,Stocker E.Understanding Cloud Computing Vulnerabilities[J]. IEEE Security & Privacy, 2010,9(2):50-57.
  [3]辛晓杰,辛阳,姬硕.基于特征匹配web应用防火墙的研究与设计[J].信息网络安全,2015(11):53-59.
  [4]路瑞强.面向網银系统的WEB应用防火墙的设计与实现[D].北京:中国科学院大学,2015.
  [5]郭龙龙.Web应用防火墙在电子商务平台上的应用[D].大连:东北财经大学,2013.
  [6]吴翰清.白帽子讲Web安全[M].北京:电子工业出版社,2013.
  [7] Dafydd S,Marcus P.The Web Application Hacker’s Handbook[M].USA: Wiley Publishing, Inc.,2012.
其他文献
9月4日,在鄂州长江干堤上,鄂州日报社六名新闻记者面对滔滔江水,站在党旗下庄严举起右手,宣誓加入中国共产党。这是鄂州市新闻记者首次火线入党。 今夏,鄂州市遭遇百年罕见的
元月10日下午,楚天都市报编辑部在湖北日报社新闻宾馆举行创刊周年研讨会.会上发言踊跃,气氛热烈.与会人士对都市报在一年时间的迅速发展给予了充分肯定.
最近,笔者在读有关南昌市筷子巷派出所户籍民警邱娥国的通讯报道时,觉得他的“小本本”颇能给人启发.从当上户警起,老邱就自己设计了特征本、重点帮教登记本以及杂七杂八的10
近期来,服务性节日在电台颇受推崇,许多电台纷纷开办服务类专题、服务类综合节目吸引听众便利听众。高密度、多频道、高收听率的服务性节目给广播界带来了一片生机勃勃的景象
人无论从事哪种工作,都是社会大舞台上的一类角色。角色扮演得成功与否,很大程度上取决于每个人对角色特点的把握,亦即角色意识到位与否。应该说,编辑的角色意识大体上是相同
稀土在贵金属中应用稀土元素对银的结晶及晶粒组织的影响黎鼎鑫,秦国义(昆明贵金属研究所)将微量稀土加入银中,有效地细化和稳定晶粒组织,明显提高再结晶温度(250℃左右)。其作用机制是
设计了一个双辊薄带连铸物理模拟试验装置,利用浪高仪对双辊熔池液面波动进行了实验测定.研究了不同水口结构、熔池高度等参数对熔池液面波动的影响,为优选出满足双辊薄带连
新一代无线连接解决方案提供商Palma Ceia Semdesign(PCS)近日发布了一款支持LTENB-IoT Release14的新型收发器IP。收发器IP旨在用于物联网(IoT)和机器对机器(M2M)应用。收发
近日,2018亿欧创新者年会在北京举行。小电荣获亿欧“中国年度最佳小程序TOP10”,以强大的运营能力和良好的产品体验,成为共享充电行业唯一代表入选,来自金融、消费及科技等