1. 程式人生 > WINDOWS開發 >Windows客戶端攻擊面分析

Windows客戶端攻擊面分析

一、客戶端側的攻擊

1. 檔案分析

說明:識別語言和開發框架,不同使用者瘦客戶端和胖客戶端

舉例:配置不合理將敏感資料放著在客戶端配置檔案中

防禦:請勿將相關配置憑證放置在客戶端使用者目錄

技術分享圖片

2. 二進位制分析反編譯分析

說明:反編譯靜態分析,動態除錯分析

舉例:硬編碼寫死在客戶端

防禦:請勿寫死在客戶端程式碼中

技術分享圖片

3. 記憶體分析

說明:客戶端與伺服器進行通訊的過程中,將明文資料臨時儲存在記憶體中

舉例:記憶體中抓取明文傳輸的憑證

防禦:資料通過密碼傳輸,特別是跟使用者憑證相關的資料

技術分享圖片

4. DLL劫持

說明:DLL劫持漏洞(DLL Hijacking Exploit),這個名字緣起微軟在2010823日釋出的2269637號安全公告。通俗點說,這個漏洞就像是去年炒的沸沸揚揚的深圳526車禍中總會提到的掉包;嚴格點說,它是通過一些手段來劫持或者替換正常的DLL,欺騙正常程式載入預先準備好的惡意DLL的一類漏洞的統稱。利用DLL劫持漏洞,病毒木馬可以隨著文件的開啟(或者其他一些程式正常行為)而啟用自身,進而獲得系統的控制權。

舉例:檢測系統中存在DLL劫持的程式

防禦:對於系統共享的DLL(如user32.dll,mfc80loc.dll等),不能放到程式目錄下時,應該:使用絕對路徑載入

技術分享圖片

二、網路傳輸側的攻擊

1. 明文傳輸

說明:HTTP明文傳輸或者明文通過TCP傳輸都可能造成被嗅探攻擊

舉例:HTTP明文介面傳輸

防禦:HTTPS 傳輸或者使用對稱加密通過TCP協議進行傳輸互動

技術分享圖片

2.API 安全

說明:程式碼邏輯在客戶端可見,可進行靜態分析除錯

舉例:使用者登入介面,SQL注入漏洞

防禦:使用預編譯的SQL介面,或者引數化查詢來執行SQL查詢

技術分享圖片

技術分享圖片

三、服務端側的攻擊

1. TCP/UDP 攻擊

說明:

針對TCP協議的應用,就是服務端的溢位漏洞,DOS攻擊之類的問題

舉例:FTP客戶端DOS溢位漏洞

防禦:

1. 通過作業系統使得緩衝區不可執行,從而阻止攻擊者植入攻擊程式碼

2. 利用編譯器的邊界檢查,來實現緩衝區的保護

3. 在程式指標失效前進行完整性檢查

技術分享圖片

2. 應用層攻擊

說明:應用層攻擊介面相關的攻擊型別

舉例:OWASP top 10

防禦:特殊字元過濾,使用成熟框架來防止通用型的漏洞攻擊