为什么仍然有很多网站漏洞?这是很多用户关心的问题。
大多数企业网站的漏洞包含OpenSSL、PHP和WordPress中的漏洞,这些漏洞主要是由于这些开源软件中存在着大量自定义组合以及缺乏测试和漏洞修复。
本文中让我们看看如何从一开始以及整个开发生命周期中修复这些漏洞。
很多网站的安全漏洞
“很多网站(和Web应用程序)漏洞的主要原因是这些技术完全定制化开发的性质,”美国国家安全局前情报收集人员、现Masergy Communications公司主管David J. Venable表示,这样的结果会产生在很大程度上未经测试的网站和应用程序,它们没有像大多数商业软件(例如操作系统和服务器软件包)经过严格的彻底的测试。
事实上,网站和网络应用程序中的漏洞要比企业其他地方的漏洞更多。这些安全漏洞包括PHP站点、第三方和自产软件中的漏洞,WordPress代码和安装以及OpenSSL、Single Sign-On及SQL和LDAP部署及技术中的漏洞。
使用第三方软件的PHP网站存在固有的漏洞,因为第三方应用程序开发不受企业的掌控。Berkeley研究公司主管Joe Sremack表示:“你可以设计你的网站,以确保所有自制代码是完全安全的,但如果你需要使用第三方软件,那么你就可能引入漏洞。”
WordPress是一个日益严重的问题,它有着无数的插件,需要不断的更新,这给中小型企业带来日益严重的威胁。Sremack表示:“企业想要WordPress的功能,但不幸的是,它也带来风险。”
OpenSSL也面临相同的问题。随着人们不断创新该技术,这些创新带来新的漏洞,可让攻击者发现和利用。每年攻击者都会不断利用OpenSSL漏洞来作为大规模数据泄露的一部分,很多看似新的漏洞实际上是还未被发现的旧漏洞。
即使编程者开发出安全的网站,他们的开发主要是基于他们已知的漏洞,而不是尚未确认的漏洞,而总是会出现新的漏洞。
注入漏洞仍然很常见,攻击者已经调整了他们的攻击方法,以利用日益普及的单点登录。Sremack解释说:“单点登录在酒店里很常见,人们会使用单点登录来检查他们的账户和积分。新的LDAP注入技术会攻击漏洞,并传递参数到代码来控制其网络会话。”
另一个攻击向量是本地和远程文件。Sremack称:“网站的代码可以调用本地服务器或远程公共服务器上的文件。通过使用注入技术,攻击者可以让网站显示信息,包括密码文件或者Web服务器中的用户名列表,并可以执行他们想要运行的代码。”
修复网站安全漏洞
Venable称:“企业必须从开发过程的最开始就坚持安全最佳做法,例如开放Web应用安全项目(OWASP)的最佳做法。”企业需要在生产前、代码变更后进行所有测试,包括应用程序评估、渗透测试以及静态分析,至少一年一次。为了实时发现和缓解攻击,企业需要对网站和网络应用程序部署WAF和IDS,并部署全天候监控小组。
Sremack称:“在开发过程中,与安全团队合作来对受影响的代码和功能执行定期测试。”如果企业在更新当前的网站,应该让安全团队测试和确保新增的功能不会带来漏洞。开发团队还应该进行扫描和测试来隔离漏洞和修复漏洞。
Sremack说道:“企业应该使用攻击者用来入侵网络的相同工具,例如Grabber、W3AF和Zed Attack Proxy。”虽然说,任何有着安全知识或安全工具的人都可以利用这些应用程序,基于测试的结果来发现网站漏洞,但企业需要安排专门的工作人员来做这个工作。
“开发人员应该具体看看他们如何创建和维护网络会话,专门检查会话通过网站传输的输入,无论是通过网站还是输入字段,”Sremack称,“然后监测任何第三方代码中的漏洞,并查看来自供应商的漏洞利用声明。”
总结
网站越大,其功能和可视性越大,它也会使用更多第三方软件,同时,减少该网站中固有漏洞的过程也更加昂贵。
企业必须在一天内多次监控和更新网站,以更好地抵御网络攻击者。这个过程应该包括变更管理、测试和正确的部署,以及新的专门的安全团队和指定的测试站点。
网站的功能越丰富,企业越应该确保网站的安全性。现在也有很多开源免费软件工具可以帮助开发人员来了解新的漏洞和威胁。