【804】資訊安全談網路入侵偵測系統-4

SQL Injection(資料隱碼)攻擊 OWASP(開放Web軟體安全計畫 – Open Web Application Security Project)是一個開放社群、非營利性組織,目前全球有82個分會近萬名會員,其主要目標是研議協助解決Web軟體安全之標準、工具與技術文件,長期致力於協助政府或企業瞭解並改善網頁應用程式與網頁服務的安全性。OWASP於2010年發佈的最新的十大Web應用安全風險(Top 10 Most Critical Web Application Security Risks. ),其中「資料隱碼(或稱注入攻擊」由前次2007年發佈的十大Web弱點網站攻擊事件的第二名提升到2010年發布的第一名。「資料隱碼」常見的有SQL Injection、LDAP Injection、Command Injection等注入攻擊手法,目前仍以SQL Injection為最常見攻擊。 圖3為一個典型Web應用系統架構的範例,在這個範例中使用者用瀏覽器(Browser)輸入使用者名稱(login)和密碼(pin)並傳送(submit)至後端Web應用系統,而攻擊指令可以隱含在使用者名稱或密碼中一起傳到伺服器的資料庫系統。 SQL 資料隱碼攻擊是利用web應用程式對使用者輸入驗證弱點,從客戶端輸入的資料中加插特殊SQL 碼指令,並傳送至後端伺服器中的應用程式中執行,假如對使用者輸入資料未進行合法性檢查,則駭客即可藉輸入變異的SQL陳述來改變原始程式開發者的查詢命令,達至闖入竊取、竄改、甚至破壞後端資料庫的目的。以圖四為例,一個具惡意的網路駭客,利用”–“” 為SQL命令註解符號的特性,於使用者欄位(login)輸入管理者名稱””admin' –“”,並且於密碼欄位(pin)輸入任意值(0),則此應用程式將動態地產生SQL查詢命令如下:由於””–“” 為SQL命令註解符號,因此– and pin='0'變成此查詢命令的註解,命令的執行將不需驗證密碼的正確性,只要資料庫中存在並符合使用者名稱為admin之使用者,資料庫將回傳admin使用者資料,因此駭客即成功地以取得管理者(admin)資料並以管理者身份執行網頁功能。此外,攻擊指令也可以隱含在URL(Uniform Resource Locator)網站位址內傳送。 由於資料隱碼此類攻擊種方式並非透過病毒及一般攻擊手段,而是經由標準且既定的程序操作,輸入具破壞性的程式碼,這會使現今的防火牆–多以IP及PORT過濾非法連線,完全無法發揮任何保護作用的機會。使用網路型入侵偵測系統來檢測Http封包內容以過濾可疑連線,變成是種可以防禦資料隱碼攻擊的可行方法。”

發表迴響