none
關於近日大規模 SQL Injection 攻擊說明 RRS feed

  • 一般討論

  • 原文請參考:

    http://www.microsoft.com/taiwan/technet/columns/profwin/72-SQLInjection.mspx

    ===========================================================

     

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

     

    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://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

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

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

    2008年5月24日 上午 02:12

所有回覆