解決方案

SQL 注入攻擊(SQL Injection)如此危險的理由很簡單:
很輕鬆就能啟動,而且有太多網站可以讓他們攻擊了。

駭客可以不費吹灰之力,透過大型殭屍網路系統化搜尋好下手攻擊的網站。相對來說,這種容易受到攻擊地網展也每年不停增加。也就是為何SQL 注入攻擊(SQL Injection)常年排在駭客最愛用手法之一。

與SQL 注入攻擊(SQL Injection)相關的風險

雖然SQL 注入攻擊(SQL Injection)可以藉由自動化輕鬆執行,但駭客無法從中獲利的話,威脅很快就會消失了。可惜的是,成功入侵網站的駭客發現,這漏洞讓駭客可以存取資料庫,進而販賣個資或是刪掉資料,這個對駭客來說可是非常有利可圖。更高級的技術也可以讓駭客透過後門無限制地存取系統。SQL 注入攻擊(SQL Injection)和其他手法結合(例XSS攻擊),藉此操弄資料決定要給用戶看的內容。

未防止SQL 注入攻擊(SQL Injection)將導致企業遭受以下風險:

  1. 高度機密的商業資料遭刪除或竄改。
  2. 客戶資料遭竊取,例如身份證字號、地址和信用卡號碼。
  3. 財務損失
  4. 品牌受損
  5. 智慧財產權遭侵犯
  6. 法律責任和罰款

防止SQL 注入攻擊(SQL Injection)

透過dotDefender網站程式防火牆,可避免SQL 注入攻擊(SQL Injection)。DotDefender將檢測HTTP流量,確定網站是否遭受SQL 注入攻擊(SQL Injection)或其他攻擊,進而阻擋身分資料遭盜用或是網站程式洩漏資料。

身為隨插隨用的軟體,dotDefender提供最佳化即時保護,可阻擋Dos攻擊、跨站腳本攻擊(Cross-site scripting)、SQL 注入攻擊(SQL Injection)、路徑探索(Path Traversal)以及其他許多攻擊手法。

為網站程式提供dotDefender全面防護的理由如下:

針對已知及新興駭客攻擊手法提供企業等級的資安防禦

能為主機服務商、大型企業和中小企業提供解決方案

支援多種平台和技術:IIS伺服器、Apache伺服器、Cloud

透過中央管理介面,可以輕鬆控制dotDefender安裝

透過開放API可和管理平台和其他應用程式進行整合

駭客如何啟動DoS攻擊?

在網站遭到破壞之前,駭客將利用SQL查詢找出容易受到SQL注入攻擊(SQL injection)的程式,以了解SQL程序方法及回應機制。

有兩種方法可以辨識SQL注入漏洞:

辨識資料庫

駭客知道每個資料庫如何回應時,就可以辨識出資料庫以及伺服器的類型。

駭客會透過以下幾種技術來辨識SQL陳述式中的資料庫物件。

  1. 使用串接字串:
    select
    f1+f2from t1
  2. 使用分號;或貨幣符號$

協定SQL 伺服器

駭客如果獲取所需資訊,即可架構漏洞原始碼。

以下包含一些用於執行SQL注入攻擊(SQL Injection)的技術:

  1. 利用引號、雙引號及SQL註解中斷查詢
  2. 利用預存程序
  3. 資料庫操控指令,例如:TRUNCATE(刪除表格內資料)、DROP(完全刪除資料表)
  4. 利用CASE WHEN、EXEC執行巢狀查詢(nested query)
  5. 利用SQL注入攻擊(SQL injection)在資料庫伺服器內部創造出緩衝區溢位攻擊
  6. 藉由XML 及網站服務傳送SQL查詢
  7. 盲注攻擊(Blindfolded SQL Injection)技術
    1. 盲注攻擊(Blindfolded SQL Injection)技術利用布林查詢(Boolean queries)以及WAITFOR DELAY
    2. 使用BETWEEN,LIKE,ISNULL等指令比較查詢
  8. 入侵偵測系統(IDS)簽章規避SQL注入攻擊(SQL injection)技術:
    1. 利用CONVERT&CAST指令遮蔽搭載空白字元的攻擊,用來破壞簽章模式。
    2. 利用HEX encoding mixtures
    3. 使用SQL CHAR()將ASCII值表示為數字

舉例來說,駭客決定利用以下方式進行基本攻擊:1 = 1--

輸入1 = 1--,伺服器會將1 = 1誤判為正確指令而執行。而--是用於註解,之後所有的內容都會被忽略,因此駭客可以存取資料庫。

避免SQL注入攻擊(SQL injection)的必要性

SQL注入攻擊(SQL injection)存在已久。近年來,利用SQL注入攻擊(SQL injection)攻擊次數和造成的破壞程度規模都大幅度增加。事實上,光在2008年第二季某次的大規模攻擊就導致超過50萬個網頁會對用戶端電腦被植入會竊取密碼的惡意軟體。根據資訊安全企業的研究報告指出,每天企圖發起的入侵攻擊多達45萬次。

如果你擁有適當的工具以及專業知識,便能用來緩解或阻止這些威脅。

駭客會找出漏洞取得資料庫存取SQL(結構化查詢語言),並取得一個便於存取資料庫的介面,能夠和資料庫溝通往來。資料庫通常會將資料儲存在表格及程式中。

SQL注入攻擊(SQL injection)是一種利用安全性漏洞的手法,駭客藉由穿過後端資料庫來操控、竊取或竄改資料庫中的資料。SQL注入攻擊(SQL injection)是利用輸入惡意查詢來操控網站程式,造成資料濫用。幾乎所有SQL資料庫和程式語言都會容易受到攻擊,超過60%的網站會被SQL注入攻擊(SQL injection)。

SQL注入攻擊(SQL injection)的威脅絕非只是獨自一個。可以結合跨站腳本攻擊(Cross-site scripting)、路徑探索(Path Traversal)、DoS攻擊和緩衝區溢位(buffer overflow)攻擊等,網站管理者需要保持高度警戒。

保護自己遠離SQL注入攻擊(SQL injection)

dotDefender安全防護方法並不需要去學習在每個網站程式的特定威脅。運行dotDefender運作的重點在於分析請求及請求對於網站程式的影響。有效的網站程式安全是奠基於三大網站程式安全引擎:模式識別,會話保護和簽名知識庫。

dotDefender採用的網站程式安全引擎「模式識別」,可有效地抵禦惡意行為,例如以上提到的攻擊手法等。這些模式是基於規則運算式所建立的,能有效且準確地識別各種應用程式級別的攻擊方法。因此dotDefender的錯誤率極低。

dotDefender阻止那些類型SQL注入攻擊(SQL injection)?

dotDefender阻止各種SQL注入攻擊(SQL injection),包括但不限於:

  1. 利用引號、雙引號及SQL註解中斷查詢
  2. 預存程序名稱
  3. 使用BETWEEN,LIKE,ISNULL等指令比較查詢
  4. 資料庫操控指令,例如:TRUNCATE(刪除表格內資料)、DROP(完全刪除資料表)
  5. 例如CASE WHEN,EXEC等保留字
  6. 盲注攻擊(Blindfolded SQL Injection)技術利用布林查詢(Boolean queries)以及WAITFOR DELAY
  7. 跟Oracle,MySQL和MS-SQL相關的資料庫特有攻擊
  8. 簽章規避技術,例如使用CONVERT & CAST
  9. 利用SQL注入攻擊(SQL injection)創造出緩衝區溢位攻擊
  10. 封裝SQL注入攻擊(SQL injection)技術的XML及網站服務
  11. 空白字元的簽章規避
  12. HEX混合編碼用來進行特徵迴避
  13. 使用SQL CHAR()進行簽章規避
  14. 針對MS-SQL預存程序攻擊(如MS08-040)的零時差攻擊

dotDefender與眾不同之處在於提供了全面性防禦DoS攻擊的保護,同時也是最簡單的解決方案之一。

即使是未受資安訓練的網站管理員,也能輕鬆安裝並執行dotDefender。預設的安全規則設定提供了即時的保護,也能透過瀏覽器介面管理,不影響伺服器或網站效能。