[分享]揭發應用軟體階層駭客入侵技巧

版主: 總版面管理員實習版面管理員

回覆文章
頭像
bk3838
三級會員
三級會員
文章: 534
註冊時間: 2003-08-05 10:43 PM
來自: 地球

[分享]揭發應用軟體階層駭客入侵技巧

文章 bk3838 »

應用軟體所揭露的網路安全漏洞並不會像 電子郵件病毒如 SirCam 或者 寄生蟲式的病毒如 Code Red 一樣名傳千里,不過它們同樣能夠製造很多問題,上至竊取商品或機密資訊,下至把整個網站搞垮。想要維護網站的網路安全已非易事,然而,不幸的是,要想利用應用軟體層級來做網路入侵的駭客動作卻是十分的簡單。

通常一個駭客會花幾個鐘頭,去了解一個網站應用軟體,藉著把自己當作程式工程師,想像如果是他自己開發這套軟體的話,會有哪些捷徑是有可能被不當利用的。最後,只要透過一個簡單的網頁瀏覽器,這位駭客就可以以不當的方式,與應用程式以及它底下的基礎架構做互動,導致各種大大小小、程度不一的損害。

要想避免這些問題,一個公司必須搶先發現它自己網站的安全漏洞,然後迅速把這些駭客可以利用的機會大門關起來。這篇專欄會提供幾個最容易被駭客用來從事破壞的最常見的網站弱點。

找到問題的核心
身為 Sanctum 的 CTO,我曾經幫過幾家公司找出並且解決應用軟體的網路安全問題。藉由同時提供網路安全顧問服務以及長期安全防護方面的技術以輔助網路安全以及授權工具,Sanctum 為電子商務公司提供了應用程式階層的網路安全解決方案。我們的網站應用的網路安全軟體可以保護並且監測網站應用程式行為上的安全性,以確保某應用程式的確是在做它所應該做的事情。

由 Sanctum 主持的安全審查,共檢視了 100 個重要網站,在模擬駭客攻擊的過程中發現,其中超過百分之 97 的網站都有重大的應用程式階層的網路安全問題,有可能在數小時之內就被網路駭客充分利用。Sanctum 所執行的審查行動,通常被稱為合乎道德的駭客行為(ethical hack)因為這是由客戶請求並授權 Sanctum 而去入侵他們的網站,藉由模仿一般駭客會做的網路入侵行為:亦即在公司的防火牆以及網路之外,透過網頁瀏覽器入侵網站。

在 Sanctum 的自動網站應用軟體安全漏洞評估工具程式,AppScan,的輔助之下,審查軟體搜尋一整個網站,找出該網站的應用程式網路安全方針,辨認出該目標網站的已知以及未知的網路安全漏洞,並模仿駭客,利用此安全漏洞且攻擊該網站。攻擊是否成功以及每個網路安全漏洞的嚴重性在經過評估後,我們便向公司提出詳細的報告,並且提供如何防治的建議。

常見的十大盲點

幾乎所有的 Sanctum 審查結果都發現,即使網站在網路的層面都有層層的安全保護(亦即,防火牆跟加密),這些網站仍舊會有漏洞,駭客們還是可以讀取重要的客戶以及公司資訊,竊取銷售產品,以及接收免費的產品或服務。使用下面的前十大駭客技巧,Sanctum 審核軟體可以探索這些共同的安全漏洞,並且在這合乎道德的駭客行為中,犯下各式各樣的網路罪行。

1.在 cookie 中下毒(Cookie poisoning)-識別竊取
藉由操作存在瀏覽器的 cookie 中的資訊,駭客們可以取得使用者的識別,並且取得讀取該使用者資訊的權限。很多網站應用軟體使用 cookie 來儲存資訊(像是用戶識別碼,日期時間等等)在客戶端的機器上。既然 cookie 往往並未被加密,駭客們便可以修改它們,藉著在 cookie 中下病毒來誘騙應用程式修改它們的值。藉此,惡意的使用者可以取得不是他們自己帳戶的存取權,而用別的使用者的身分做某些不當的活動。

2.操控隱藏欄位-電子商務商品竊取
駭客們可以很容易的改變網頁原始程式碼中隱藏的欄位,來更改某個產品的價格。這些欄位通常被用來儲存客戶某次連結的資訊,以便省去伺服端必須維護複雜資料庫的麻煩。因為電子商務應用程式使用隱藏欄位來儲存商品的價格,Sanctum 的審查軟體就可以在檢視某網頁的原始程式碼後,找出隱藏欄位,然後更改商品價格。在實際的世界中,沒有人可以發現這項改變,而公司也就乖乖的以經過變動的價格將商品賣出去,甚至還會提供退回貨款的服務。

3.更動參數-造假
這項技術利用的是更改網站 URL 參數的資訊。因為很多應用程式並沒有針對網路超連結(hyperlink)中,共同閘道介面 (Common Gateway Interface,CGI)的參數做確認,所以這些參數可以很容易的被更動為,例如,允許一個信用額度五十萬美元的信用卡,或者跳過網站登入程序畫面,以及授與更改訂貨以及客戶資訊的權限。

4.製造緩衝區溢位(Buffer overflow) -關門大吉
藉著利用表格中的某個缺陷,以龐大的資訊量轟炸伺服器,駭客們就能夠將伺服器搞垮,網站就只好關門大吉了。

5.撰寫跨網站描述程式(Cross-site scripting)-侵占/信用破產
當駭客們把某一段意圖不軌的程式碼放到網站上時,這些描述程式在表面上看來好像是來自我們某個想要連結的網站,如此一來駭客取得所下載文件的完全控制權,並且甚至已經將該網頁的資料回傳給自己了。

6.走後門以及 debug 選項-越界入侵
通常,程式工程師都會在程式中留下除錯的選項(debug option)以便在網站公開前從事測試。有時候,在匆忙的情況下,他們會忘記將這些程式選項拿掉,這等於免費提供了駭客們高度敏感的資訊。

7.強迫瀏覽-強行闖入
藉由程式邏輯的轉向(subverting the application flow),駭客們可以存取正常情況下無法取得的資訊以及某部分的應用程式,像是日誌檔,管理工具程式,以及應用軟體原始程式碼。

8.隱藏指令-將武器隱藏起來
駭客們通常透過「特洛伊木馬」(譯者注:木馬屠城記) 將危險的指令隱藏起來,以便執行某些惡意的或未經授權的程式碼,造成對網站的傷害。

9.第三者錯誤的設定-破壞某個網站
因為安全漏洞以及其解法都會在公共網站公佈 (像是 Securityfocus),駭客們在那些安全漏洞出現的時候,自然會注意到它們。例如,透過設定錯誤,一個駭客可以建一個新的資料庫,將該站原有的資料庫毀掉。

10.已知的安全漏洞-取得網站的控制權
有些在網站上用的技術在先天上就已經有弱點,如果駭客夠堅持的話,就能夠加以利用。例如,Microsoft Active Server Page(ASP)技術可以被利用來取得系統管理員密碼,取得整個網站的控制權。
權限越高,責任就越大!

-----------------------------------------------------------------------------------------------
回覆文章