SQL Injection 緊急應變建議

發佈日期: 2008 年 7 月 14 日

**作者:**台灣微軟技術支援處

台灣微軟安全技術支援團隊在過去的幾周中接到了多個利用 SQL Injection (資料隱碼) 攻擊並導致使用者被植入惡意程式的案例。有鑒於這些攻擊的影響以及愈發擴大的爆發規模,台灣微軟技術支援團隊以安全警報的形式發布資訊。請將這些資訊分享給客戶以及合作夥伴,提高對目前在網站攻擊事件上的警惕。

本頁內容

SQL Injection (資料隱碼) 攻擊行為的解決方案
防堵 SQL 注入攻擊的解決方案
SQL Injection (資料隱碼) 攻擊行為簡介

SQL Injection (資料隱碼) 攻擊行為的解決方案

一旦 web 伺服器遭到 SQL 注入攻擊,請遵循如下步驟:

項目

程度

執行內容

1

必要

開啟 Network Monitor 側錄受攻擊之網段,並保留相關資料

2

緊急

保存遭修改之資料庫與網站資料以便於後續追蹤分析

3

必要

檢查 IIS 日誌,找出引起這次攻擊的有漏洞的目標網頁

4

緊急

聯繫業務系統開發人員,修改並加強程式碼以符合安全規範,防堵後續攻擊

安全規範請參考下列相關資訊

『資料隱碼』SQL Injection 的源由與防範之道 https://www.microsoft.com/taiwan/sql/SQL_Injection.htm

防堵 SQL 注入攻擊的解決方案

這種 SQL Injection 攻擊是由網頁程式開發不符合安全編碼的要求所引起的。為了防止攻擊,我們需要驗證所有網頁的字串輸入的函數。比如說,帶有用戶名和密碼輸入框的網站登錄頁。我們也可以在微軟的官方網站上找到安全指導和最佳實踐建議,來應對 SQL Injection (資料隱碼) 攻擊。

用來減緩與解決 SQL Injection 攻擊的最佳實踐建議可以在這裡找到:https://msdn2.microsoft.com/en-us/magazine/cc163917.aspx

SQL 資料隱碼:https://msdn.microsoft.com/zh-tw/library/ms161953.aspx

『資料隱碼』SQL Injection 的源由與防範之道:https://www.microsoft.com/taiwan/sql/SQL_Injection.htm

SQL Injection (資料隱碼)– 駭客的 SQL 填空遊戲 (上):https://www.microsoft.com/taiwan/sql/SQL_Injection_G1.htm

SQL Injection (資料隱碼)– 駭客的 SQL 填空遊戲 (下):https://www.microsoft.com/taiwan/sql/SQL_Injection_G2.htm

How To - Protect from Injection Attacks in ASP.NET:https://msdn.microsoft.com/en-us/library/bb355989.aspx

How To - Protect from SQL Injection in ASP.NET:https://msdn.microsoft.com/en-us/library/ms998271.aspx

How To - Protect from Cross-Site Scripting in ASP.NET:https://msdn.microsoft.com/en-us/library/ms998274.aspx

Design Guidelines:https://msdn.microsoft.com/en-us/library/aa302420.aspx

Arch/Design Inspection:https://msdn.microsoft.com/en-us/library/aa302421.aspx

SQL Injection (資料隱碼) 攻擊行為簡介

以下是此類攻擊的流程

  1. 駭客運用搜尋引擎尋找網頁上的漏洞,並運用自動化工具攻擊網路服務器。

  2. 一個 <script ...> 字串附加到在後端運行的 SQL 伺服器中所有的文本或可變長字串列中。

  3. 這個腳本與駭客所控制伺服器連接。該伺服器含有一些常用軟體的利用代碼,如 Microsoft MS06-014, 協力廠商軟體漏洞,(例如 Real Player、Global Link Lianzong 聯眾世界、PPStorm Baofeng 暴風影音、Thunder Xunlei 迅雷、Baidu Bar 百度)。有的時候還有一些 0day 漏洞,比如 10 天前公佈的 GlobalLink Lianzong 0day。

  4. 當終端使用者試圖用 IE 流覽正常的網站時,由於這些網頁都將從 SQL 伺服器獲取資料,這些資料同時包含了惡意腳本 <script ...>。而這些腳本會自動連接到駭客的網站。

  5. 如果普通使用者沒有依照建議安裝修正程式,防毒軟體,或尚未安裝 Microsoft 或協力廠商軟體最新版本的更新,那麼他們的電腦就會被感染。

Dd125506.72-SQLInjection_1(zh-tw,TechNet.10).gif

附註:事實上每天都有被攻擊的網站,只是數量沒有最近幾波的攻擊來的龐大;當他們被感染上惡意程式碼,使其連向駭客控制的網站並透過植入的木馬進行後續攻擊如植入魁儡程式 BOT。根據我們來自中國駭客組織的消息,這些攻擊者並沒有暴露自己的身份。這種攻擊的目的是攻擊者想要建立一個超大的魁儡網路 (BOTNET),然後將其賣給其他人,從中謀取利益。

對於用戶端使用者,請確保電腦系統中已安裝了微軟及協力廠商軟體的最新安全修正程式以及最新的防毒程式定義檔。

(注意,大部分的攻擊事件由協力廠商軟體的漏洞造成,而並非利用微軟產品新漏洞)。