揭发应用软件黑客入侵的十大技巧
应用软件所揭露的网络安全漏洞并不会像电子邮件病毒如 SirCam 或者 寄生虫式的病毒如 Code Red 一样名传千里,不过它们同样能够制造很多问题,上至窃取商品或机密信息,下至把整个网站搞垮。想要维护网站的网络安全已非易事,然而,不幸的是,要想利用应用软件层级来做网络入侵的黑客动作却是十分的简单。
通常一个黑客会花几个钟头,去了解一个网站应用软件,借着把自己当作程序工程师,想象如果是他自己开发这套软件的话,会有哪些快捷方式是有可能被不当利用的。最后,只要透过一个简单的网页浏览器,这位黑客就可以以不当的方式,与应用程序以及它底下的基础架构做互动,导致各种大大小孝程度不一的损害。
要想避免这些问题,一个公司必须抢先发现它自己网站的安全漏洞,然后迅速把这些黑客可以利用的机会大门关起来。这篇专栏会提供几个最容易被黑客用来从事破坏的最常见的网站弱点。
找到问题的核心
身为 Sanctum 的 CTO,我曾经帮过几家公司找出并且解决应用软件的网络安全问题。藉由同时提供网络安全顾问服务以及长期安全防护方面的技术以辅助网络安全以及授权工具,Sanctum 为电子商务公司提供了应用程序阶层的网络安全解决方案。我们的网站应用的网络安全软件可以保护并且监测网站应用程序行为上的安全性,以确保某应用程序的确是在做它所应该做的事情。
由 Sanctum 主持的安全审查,共检视了 100 个重要网站,在仿真黑客攻击的过程中发现,其中超过百分之 97 的网站都有重大的应用程序阶层的网络安全问题,有可能在数小时之内就被网络黑客充分利用。Sanctum 所执行的审查行动,通常被称为合乎道德的黑客行为(ethical hack)因为这是由客户请求并授权 Sanctum 而去入侵他们的网站,藉由模仿一般黑客会做的网络入侵行为:亦即在公司的防火墙以及网络之外,透过网页浏览器入侵网站。
在Sanctum 的自动网站应用软件安全漏洞评估工具程序,AppScan,的辅助之下,审查软件搜寻一整个网站,找出该网站的应用程序网络安全方针,辨认出该目标网站的已知以及未知的网络安全漏洞,并模仿黑客,利用此安全漏洞且攻击该网站。攻击是否成功以及每个网络安全漏洞的严重性在经过评估后,我们便向公司提出详细的报告,并且提供如何防治的建议。
Izhar Bar-Gad 是 Sanctum 公司的信息长。在加入 Sanctum 团队以前,他在以色列的 Amdocs 公司的基础建设和研发小组当项目组长。在以色列国防部服役的时候,Bar-Gad 是网际网络安全防范单位的一员,曾负责一个通讯安全的软件设计大型项目。
常见的十大盲点
几乎所有的 Sanctum 审查结果都发现,即使网站在网络的层面都有层层的安全保护(亦即,防火墙跟加密),这些网站仍旧会有漏洞,黑客们还是可以读取重要的客户以及公司信息,窃取销售产品,以及接收免费的产品或服务。使用下面的前十大黑客技巧,Sanctum 审核软件可以探索这些共同的安全漏洞,并且在这合乎道德的黑客行为中,犯下各式各样的网络罪行。
在 cookie 中下毒(Cookie poisoning)-识别窃取
藉由操作存在浏览器的 cookie 中的信息,黑客们可以取得使用者的识别,并且取得读取该使用者信息的权限。很多网站应用软件使用 cookie 来储存信息(像是用户识别码,日期时间等等)在客户端的机器上。既然 cookie 往往并未被加密,黑客们便可以修改它们,借着在 cookie 中下病毒来诱骗应用程序修改它们的值。藉此,恶意的使用者可以取得不是他们自己帐户的存取权,而用别的使用者的身分做某些不当的活动。
操控隐藏字段-电子商务商品窃取
黑客们可以很容易的改变网页原始程序代码中隐藏的字段,来更改某个产品的价格。这些字段通常被用来储存客户某次连结的信息,以便省去伺服端必须维护复杂数据库的麻烦。因为电子商务应用程序使用隐藏字段来储存商品的价格,Sanctum 的审查软件就可以在检视某网页的原始程序代码后,找出隐藏字段,然后更改商品价格。在实际的世界中,没有人可以发现这项改变,而公司也就乖乖的以经过变动的价格将商品卖出去,甚至还会提供退回货款的服务。
更动参数-造假
这项技术利用的是更改网站 URL 参数的信息。因为很多应用程序并没有针对网络超级链接(hyperlink)中,共同网关接口 (Common Gateway Interface,CGI)的参数做确认,所以这些参数可以很容易的被更动为,例如,允许一个信用额度五十万美元的信用卡,或者跳过网站登入程序画面,以及授与更改订货以及客户信息的权限。
制造缓冲区溢位(Buffer overflow) -关门大吉
借着利用表格中的某个缺陷,以庞大的信息量轰炸服务器,黑客们就能够将服务器搞垮,网站就只好关门大吉了。
撰写跨网站描述程序(Cross-site scripting)-侵占/信用破产
当黑客们把某一段意图不轨的程序代码放到网站上时,这些描述程序在表面上看来好象是来自我们某个想要连结的网站,如此一来黑客取得所下载文件的完全控制权,并且甚至已经将该网页的资料回传给自己了。
走后门以及 debug 选项-越界入侵
常见的十大盲点
几乎所有的 Sanctum 审查结果都发现,即使网站在网络的层面都有层层的安全保护(亦即,防火墙跟加密),这些网站仍旧会有漏洞,黑客们还是可以读取重要的客户以及公司信息,窃取销售产品,以及接收免费的产品或服务。使用下面的前十大黑客技巧,Sanctum 审核软件可以探索这些共同的安全漏洞,并且在这合乎道德的黑客行为中,犯下各式各样的网络罪行。
在 cookie 中下毒(Cookie poisoning)-识别窃取
藉由操作存在浏览器的 cookie 中的信息,黑客们可以取得使用者的识别,并且取得读取该使用者信息的权限。很多网站应用软件使用 cookie 来储存信息(像是用户识别码,日期时间等等)在客户端的机器上。既然 cookie 往往并未被加密,黑客们便可以修改它们,借着在 cookie 中下病毒来诱骗应用程序修改它们的值。藉此,恶意的使用者可以取得不是他们自己帐户的存取权,而用别的使用者的身分做某些不当的活动。
操控隐藏字段-电子商务商品窃取
黑客们可以很容易的改变网页原始程序代码中隐藏的字段,来更改某个产品的价格。这些字段通常被用来储存客户某次连结的信息,以便省去伺服端必须维护复杂数据库的麻烦。因为电子商务应用程序使用隐藏字段来储存商品的价格,Sanctum 的审查软件就可以在检视某网页的原始程序代码后,找出隐藏字段,然后更改商品价格。在实际的世界中,没有人可以发现这项改变,而公司也就乖乖的以经过变动的价格将商品卖出去,甚至还会提供退回货款的服务。
更动参数-造假
这项技术利用的是更改网站 URL 参数的信息。因为很多应用程序并没有针对网络超级链接(hyperlink)中,共同网关接口 (Common Gateway Interface,CGI)的参数做确认,所以这些参数可以很容易的被更动为,例如,允许一个信用额度五十万美元的信用卡,或者跳过网站登入程序画面,以及授与更改订货以及客户信息的权限。
制造缓冲区溢位(Buffer overflow) -关门大吉
借着利用表格中的某个缺陷,以庞大的信息量轰炸服务器,黑客们就能够将服务器搞垮,网站就只好关门大吉了。
撰写跨网站描述程序(Cross-site scripting)-侵占/信用破产
当黑客们把某一段意图不轨的程序代码放到网站上时,这些描述程序在表面上看来好象是来自我们某个想要连结的网站,如此一来黑客取得所下载文件的完全控制权,并且甚至已经将该网页的资料回传给自己了。
走后门以及 debug 选项-越界入侵
通常,程序工程师都会在程序中留下除错的选项(debug option)以便在网站公开前从事测试。有时候,在匆忙的情况下,他们会忘记将这些程序选项拿掉,这等于免费提供了黑客们高度敏感的信息。
强迫浏览-强行闯入
藉由程序逻辑的转向(subverting the application flow),黑客们可以存取正常情况下无法取得的信息以及某部分的应用程序,像是日志文件,管理工具程序,以及应用软件原始程序代码。
隐藏指令-将武器隐藏起来
黑客们通常透过「特洛伊木马」(译者注:木马屠城记) 将危险的指令隐藏起来,以便执行某些恶意的或未经授权的程序代码,造成对网站的伤害。
第三者错误的设定-破坏某个网站
因为安全漏洞以及其解法都会在公共网站公布 (像是 Securityfocus),黑客们在那些安全漏洞出现的时候,自然会注意到它们。例如,透过设定错误,一个黑客可以建一个新的数据库,将该站原有的数据库毁掉。
已知的安全漏洞-取得网站的控制权
有些在网站上用的技术在先天上就已经有弱点,如果黑客够坚持的话,就能够加以利用。例如,Microsoft Active Server Page(ASP)技术可以被利用来取得系统管理员密码,取得整个网站的控制权。
预防这些攻击
不断循环的审查网站应用软件,然后尽力追上最新的解法,是场对抗拥有自动工具,挖出新安全漏洞的黑客的持续战斗。虽然今天几乎所有的网站都尝试着要以手动的方式达成应用软件阶层的网络安全, 而最后他们也都失败了,不过新的自动化工具程序最近不断的出现,以便让负责审查的人,程序开发工程师,以及 QA 专业人员执行网络安全漏洞评估,以及合乎道德的黑客行为, 抢在黑客的前面,先发现安全漏洞。Sanctum 提供各式各样不同的产品,以满足此需求,包括了用来侦测某些透过浏览器不当的操控应用程序的行为的AppShield,以及将审查某个网站应用程序的复杂工作自动化的AppScan。此外,Sanctum 同时也为那些想要找出自家网站安全漏洞的公司提供了 AppAudits。
评论已关闭