魯德——如何進行安全性測試?
1.功能驗證
功能驗證是採用軟體測試當中的黑盒測試方法,對涉及安全的軟體功能,如:用戶管理模塊,許可權管理模塊,加密系統,認證系統等進行測試,主要驗證上述功能是否有效,具體方法可使用黑盒測試方法。
2、漏洞掃描
安全漏洞掃描通常都是藉助於特定的漏洞掃描器完成的。漏洞掃描器是一種自動檢測遠程或本地主機安全性弱點的程序。通過使用漏洞掃描器,系統管理員能夠發現所維護信息系統存在的安全漏洞,從而在信息系統網路安全保衛站中做到「有的放矢」,及時修補漏洞。按常規標準,可以將漏洞掃描分為兩種類型:主機漏洞掃描器(Host Scanner)和網路漏洞掃描器(Net Scanner)。主機漏洞掃描器是指在系統本地運行檢測系統漏洞的程序,如著名的COPS、Tripewire、Tiger等自由軟體。網路漏洞掃描器是指基於網路遠程檢測目標網路和主機系統漏洞的程序,如Satan、ISS Internet Scanner等。
安全漏洞掃描是可以用於日常安全防護,同時可以作為對軟體產品或信息系統進行測試的手段,可以在安全漏洞造成嚴重危害前,發現漏洞並加以防範。
3、模擬攻擊實驗
對於安全測試來說,模擬攻擊測試是一組特殊的黑盒測試案例,我們以模擬攻擊來驗證軟體或信息系統的安全防護能力,下面簡要列舉在數據處理與數據通信環境中特別關心的幾種攻擊。在下列各項中,出現了「授權」和「非授權」兩個術語。「授權」意指「授予權力」,包含兩層意思:這裡的權力是指進行某種活動的權力(例如訪問數據);這樣的權力被授予某個實體、代理人或進程。於是,授權行為就是履行被授予權力(未被撤銷)的那些活動。
● 冒充:就是意個實體假裝成一個不同的實體。冒充常與某些別的主動攻擊形式一起使用,特別是消息的重演與篡改。例如,截獲鑒別序列,並在一個有效的鑒別序列使用過一次後再次使用。特權很少的實體為了得到額外的特權,可能使用冒充成具有這些特權的實體,舉例如下。
1) 口令猜測:一旦黑客識別了一台主機,而且發現了基於NetBIOS、Telnet或NFS服務的可利用的用戶帳號,並成功地猜測出了口令,就能對機器進行控制。
2) 緩衝區溢出:由於在很多地服務程序中大意的程序員使用類似於「strcpy(),strcat()」不進行有效位檢查的函數,最終可能導致惡意用戶編寫一小段程序來進一步打開安全缺口,然後將該代碼放在緩衝區有效載荷末尾,這樣,當發生緩衝區溢出時,返回指針指向惡意代碼,執行惡意指令,就可以得到系統的控制權。
● 重演:當一個消息或部分消息為了產生非授權效果而被重複時,出現重演。例如,一個含有鑒別信息的有效消息可能被另一個實體所重演,目的是鑒別它自己(把它當作其他實體)。
● 消息篡改:數據所傳送的內容被改變而未被發覺,並導致非授權後果,如下所示。
1) DNS高速緩存污染:由於DNS伺服器與其他名稱伺服器交換信息的時候並不進行身份驗證,這就使得黑客可以加入不正確得信息,並把用戶引向黑客自己的主機。
2) 偽造電子郵件:由於SMTP並不對郵件發送者的身份進行鑒定,因此黑客可以對內部客戶偽造電子郵件,聲稱是來自某個客戶認識並相信的人,並附上可安裝的特洛伊木馬程序,或者是一個指向惡意網站的鏈接。
推薦閱讀:
※魯德——談談軟體兼容性測試
※提車前的秘密,廠家居然對你的愛車做了這種事
※Jmeter使用過程中的坑之壓測過程報錯the target server failed to respond