关于近日大规模 SQL Injection 攻击说明
发布尔日期: 2008 年 5 月 23 日作者:台湾微软技术支持处
APGC 安全技术支持团队在过去的几周中接到了多个利用 SQL Injection (数据隐码) 攻击并导致使用者被植入恶意软件的案例。有鉴于这些攻击的影响以及愈发扩大的爆发规模,安全技术支持团队以安全警报的形式发布信息。请将这些信息分享给客户以及合作伙伴,提高对目前在网站攻击事件上的警惕。
本页内容
迹象
背景
SQL Injection (资料隐码) 攻击行为简介
SQL Injection (资料隐码) 攻击行为的解决方案
预防 SQL 注入攻击的解决方案
迹象
根据 5 月 19 号的估测,中国大陆,香港,台湾的 12 万网站受到了 SQL 注入攻击。
在大中华地区,包括许多公共网站,包括政府,教育部门,非政府组织的慈善机构,以及私人企业都遭受到 SQL Injection 攻击,若干包含恶意代码 <script> 被加入到网站的数据库中,当用户访问这些网站时,浏览器会被指向包含恶意代码的网站,此时用户计算机系统内的防病毒软件可能会警示。如果用户计算机系统存在可利用的安全漏洞,同时亦未安装有效的防病毒软件,攻击者可能在用户计算机上执行更多的恶意软件,进而导致用户计算机被控制。
回到页首
背景
首次攻击是在 2008 年 1 月发现的,这 5 个月里,在我们的监控下,发现此次爆发并不是第一起 SQL 注入攻击。 在过去的 4 个月中,最少已有 3 次大规模攻击:
1 月初,包括知名防病毒软件厂商在内的网站,受到了 SQL 注入攻击 (>1,000 页/天)
3 月中旬,包括知名防病毒软件厂商在内的网站,受到了 SQL 注入攻击(>1,0000 页/天)
4 月中旬,包括欧洲某政府及国际组织的网站都受到了 SQL 注入攻击 (> 1,0000 页/天)
回到页首
SQL Injection (资料隐码) 攻击行为简介
以下是此类攻击的流程
1. 黑客运用搜索引擎寻找网页上的漏洞,并运用自动化工具攻击网络服务器。
2. 一个 <script> 字符串附加到在后端运行的SQL服务器中所有的文本或可变长字符串行中。
3. 这个脚本与黑客所控制服务器连接。该服务器含有一些常用软件的利用代码,如 Microsoft MS06-014, 第三方软件漏洞,(例如常用的媒体播放器及内容下载软件)。有的时候还有一些零时差漏洞。
4. 当终端使用者试图用 IE 浏览正常的网站时,由于这些网页都将从 SQL 服务器获取数据,这些数据同时包含了恶意脚本 <script>。而 这些脚本会自动连接到黑客的网站。
5. 如果普通用户没有依照建议安装修正程序,防病毒软件,或尚未安装 Microsoft 或第三方软件最新版本的更新,那么他们的计算机就会被感染。
回到页首
SQL Injection (资料隐码) 攻击行为的解决方案
一旦 web 服务器遭到 SQL 注入攻击,请遵循如下步骤:
1. 关闭网站
2. 检查 IIS 日志,查找引起这次攻击的有漏洞的目标网页
3. 联系 web 开发者,修改并加强 ASP 页面。
注意这只是一种变通的解决方法,只能临时解决 SQL Injection 问题。该网站可能在服务器再次联网后被再次注入。为了彻底解决这个问题,请参阅 "预防 SQL Injection (资料隐码)攻击的解决方案"。
回到页首
预防 SQL 注入攻击的解决方案
这种 SQL Injection 攻击是由网页程序开发不符合安全编码的要求所引起的。为了防止攻击,我们需要验证所有网页的字符串输入的函数。比如说,带有用户名和密码输入框的网站登录页。我们也可以在微软的官方网站上找到安全指导和最佳实践建议,来应对 SQL Injection (数据隐码) 攻击。
用来减缓与解决 SQL Injection 攻击的最佳实践建议可以在这里找到:http://msdn2.microsoft.com/en-us/magazine/cc163917.aspx
SQL 资料隐码:http://msdn.microsoft.com/zh-tw/library/ms161953.aspx
『数据隐码』SQL Injection 的源由与防范之道:http://www.microsoft.com/taiwan/sql/SQL_Injection.htm
SQL Injection (资料隐码)– 黑客的 SQL 填空游戏 (上):http://www.microsoft.com/taiwan/sql/SQL_Injection_G1.htm
SQL Injection (资料隐码)– 黑客的 SQL 填空游戏 (下):http://www.microsoft.com/taiwan/sql/SQL_Injection_G2.htm
How To - Protect from Injection Attacks in ASP.NET:http://msdn.microsoft.com/en-us/library/bb355989.aspx
How To - Protect from SQL Injection in ASP.NET:http://msdn.microsoft.com/en-us/library/ms998271.aspx
How To - Protect from Cross-Site Scripting in ASP.NET:http://msdn.microsoft.com/en-us/library/ms998274.aspx
Design Guidelines:http://msdn.microsoft.com/en-us/library/aa302420.aspx
Arch/Design Inspection:http://msdn.microsoft.com/en-us/library/aa302421.aspx
对于客户端用户,请确保计算机系统中已安装了微软及第三方软件的最新安全修正程序以及最新的防病毒程序定义档。
(注意,大部分的攻击事件由第三方软件的漏洞造成,而并非利用微软产品新漏洞)。
页:
[1]