當下,黑客們最感興趣的是竊取敏感數據,如公司機密、個人信息、知識產權,等等,當然,也有個別攻擊者純屬搞破壞。近年發生的若干事件表明,網絡間諜仍被認為是是政府部門和企業的最危險的威脅。高級持續性威脅(APT)仍在瘋狂搜尋能夠大規模利用的漏洞,其重要目的就是收集敏感信息。
最臭名昭著的黑客針對關鍵的基礎設施(如天然氣管道、供水設施、智能電網等)實施攻擊。
現代基礎架構中的多數過程是由SCADA系統控制的,為了維護方便,SCADA系統暴露在互聯網上,但其安全性卻鮮有關注。
這并不是一個SCADA組件的維護問題,而是由于缺乏設計的安全性,導致整個基礎架構暴露在網絡攻擊的風險中。本文將著重分析五個最危險的安全漏洞。
1. 注入漏洞
在應用程序將不可信的數據發送給解釋器時,就有可能產生注入漏洞。這種漏洞很普遍,會影響到大量方案。最普遍的注入漏洞會影響到SQL、LDAP、XPath、XML解析器和程序參數。
其實,通過分析代碼是可以發現注入漏洞的,但是,如果已經將系統部署到了生產環境中了,在測試期間就很難發現這些漏洞。
利用劫持漏洞的網絡攻擊帶來的后果可能有:敏感數據被泄露、拒絕服務等。
攻擊者可以運行劫持攻擊,從而完全破壞目標系統,并獲得其控制權。
注入漏洞可以影響多種軟件,其影響依賴于有漏洞的應用程序的傳播范圍或傳播水平。注入漏洞可能帶來的一個典型影響就是Bash Bug漏洞。紅帽子的安全團隊在Linux 中的 Bash shell 中發現了一個危險的安全漏洞“Bash Bug”。對于用戶的正常訪問,該漏洞允許攻擊者的代碼如同在外殼 中一樣被執行,這就為各種各樣的攻擊打開了方便之門。
這種類型的漏洞可能帶來大規模影響,例如,物聯網設備(例如,智能儀表,路由器,網絡攝像機等設備)就有可能遭受這種漏洞的威脅。
2. 緩沖區溢出
如果應用程序試圖將超過緩沖區容量的數據存放在其中時,就產生了緩沖區溢出漏洞的條件。從外部寫入到緩沖區可以使攻擊者覆蓋鄰近內存塊的內容,從而導致數據遭到破壞,程序崩潰,甚至可以執行任何惡意代碼。
緩沖區溢出攻擊難以發現,但與注入攻擊相比,也更難以利用。攻擊者需要了解目標應用的內存管理,并且知道修改其內容運行攻擊的方法。
在典型的攻擊中,攻擊者將數據發送給一個應用程序,而后者是一個將數據存儲在小容量的堆棧緩沖區的程序,這會導致覆蓋調用堆棧上的信息,其中包括函數的返回指針。通過這種方法,在合法的功能完成之后,攻擊者就可以運行自己的惡意代碼,并且可以將控制交給包含攻擊者數據的漏洞利用代碼。
由于針對SCADA的攻擊日益增多,所以這種緩沖區溢出漏洞被利用的頻率也會越來越高。
3. 敏感數據泄露
數據可以存儲在系統中,或在兩個實體(如服務器或瀏覽器)之間傳輸,如果缺乏足夠的保護,就會發生敏感數據泄露的問題。
敏感數據的泄露可涉及到訪問靜態數據、正在傳輸數據,其中也包括備份和用戶正在瀏覽的數據。
攻擊者有多種選擇,例如,如果要竊取或攻擊數據存儲器,他可以使用基于惡意軟件的攻擊,通過中間人攻擊截獲服務器和瀏覽器之間的數據,或者欺騙Web應用程序做出一些動作(例如,改變電子商務應用程序中購物車的內容,或者提升特權)等。
敏感數據泄露主要是由于敏感數據缺少加密造成的,但是即使實施了加密機制,其他事件也會造成信息泄露。密鑰的生成和管理及算法等不夠強健在許多行業和應用中是很普遍的事情。
近一年來發生的有許多事件都表明這種漏洞的嚴重性,特別是在兩方面表面尤為突出:一是實施了錯誤的加密算法,二是移動和云的方案缺乏加密。
去年九月,美國計算機緊急事件響應小組協調中心(CERT/CC)的專家對一些沒有能夠正確驗證SSL證書的安卓應用進行了測試,并發布了測試報告。
CERT的報告認為,許多應用正使用有漏洞的庫,如Flurry庫。因此,安卓用戶就會暴露在這種攻擊中,并僅有少量公司采取措施保障其產品的安全。
攻擊者往往并不直接破解加密,而是利用敏感數據的泄露缺陷。這就意味著攻擊者會竊取加密密鑰,運行中間人攻擊,從服務器或用戶的瀏覽器上竊取正在傳輸的明文數據。
注意,敏感數據泄露往往是攻擊活動第一階段的一個組成部分,也就是說攻擊者隨后會利用其它黑客技術。
管理敏感數據的每家企業都有可能遭受攻擊,特別是那些有大量用戶的企業,很多用戶都有可能為網絡攻擊打開大門。
4. 認證和會話管理攻擊
如果攻擊者利用了認證或會話管理過程的漏洞或缺陷(例如,賬戶、口令、會話ID被泄露等),并假冒其他用戶,就會發生認證和會話管理攻擊。
這種攻擊非常常見,許多黑客組織都利用這些漏洞訪問受害者賬戶,實施網絡間諜活動,或者竊取信息用于犯罪活動。
一個主要的威脅問題與認證和會話管理機制的自定義實施有關,在多數情況下,這種機制會導致攻擊活動。這種漏洞影響到WEB應用程序,如用戶登出、口令管理、超時、網站登錄的“記住我”功能等,而且賬戶的更新也受到認證漏洞攻擊影響。
最大的問題是,如果這種漏洞被成功地利用,攻擊者就假冒受害者,用其獲得的特權從事任何活動。
不幸的是,由于大量的認證機制是由每個不同的受害者實施的,所以認證和會話管理的攻擊漏洞是很難對付的。認證和會話管理系統往往并不一致,這就使得大規模地采用最佳方法并非易事。
攻擊者有多種方法可以繞過認證機制,其中包括使用SQL注入攻擊對目標賬戶實施蠻力攻擊、從URL中恢復會話標志、利用會話超時、重新利用已經使用的會話令牌,或者破壞用戶的瀏覽器,等等。
最常見的攻擊依靠會話,而認證機制往往基于服務器上與每個會話有關的的令牌。取得會話標志的攻擊者能夠假冒受害者而無需再次提供登錄憑據。
5. 安全配置錯誤
這種漏洞其實是最常見也是最危險的。錯誤配置的服務器和應用程序在網絡上數量眾多,這為網絡攻擊打開了大門。
下面是一些典型的安全配置錯誤:
·運行過時的軟件
·生產環境中的應用程序和產品仍運行在調試模式,或者仍包含調試模塊。
·在系統中運行不必要的服務。
·沒有配置對服務器資源和服務的訪問,導致泄露敏感信息,或者導致攻擊者破壞或竊取這些信息。
·沒有改變出廠設置(例如,默認密鑰和口令)
·不正確的異常管理,導致將系統信息泄露給攻擊者。
·使用默認賬戶。
結語
上述任何一種漏洞被利用都可以使攻擊者破壞系統。安全方面的錯誤配置可以在應用程序堆棧的任何水平上發生。攻擊者可以發現目標是否正在使用過時的軟件,或者有漏洞的數據庫管理系統。
當今的很多自動掃描器可以檢測沒有正確配置或沒有打補丁的系統,因而對攻擊者來說,發現這種漏洞是很容易的。
如果攻擊者鎖定的系統被廣泛使用,安全的錯誤配置就有可能帶來嚴重的影響。例如,有些路由器采用硬編碼憑據,也有的網絡設備使用默認的SSH密鑰,這就使攻擊者可以與設備建立未獲授權的遠程連接。
這種漏洞可能對物聯網的新模式產生嚴重影響,錯誤配置的物聯網設備可能被攻擊者利用并破壞其運行的軟件,還可以在大型的“僵尸”網絡中利用這些設備。
對于任何企業來說,錯誤的安全配置是很隱蔽的。發現這種漏洞的成本可能會非常高昂,而其對企業的影響也將相當嚴重。