隨著軟體與網路的發展,現今軟體越趨複雜,許多利用軟體弱點的攻擊手法使得軟體測試面臨嚴峻的挑戰,根據CSI/FBI的調查報告顯示阻斷式服務攻擊
(Denial-of-Service
attack)在過去三年中名列前五名造成重大損失的網路攻擊,除了消耗頻寬的攻擊方式之外,利用軟體資源使用的弱點往往是攻擊者最常使用的攻擊手法,本篇研究發現傳統的軟體測試方法並無法有效的發現軟體弱點,其原因在於傳統測試方法的目的在發現程式的邏輯的正確性,這樣的思維模式造成許多並不屬於邏輯問題的漏洞無法被發現,例如,記憶體洩漏(memory
leak)。
另一方面許多為解決軟體資源耗用漏洞的新測試方法也一一被提出,但是這些測試方法所呈現的結果卻相當的原始,因此,本研究嘗試從資源耗用的角度為軟體測試加上一個新的定義,並且提出3個測試準則,測試人員可以結合測試準則與目前現有工具對程式資源耗用情況進行測試,透過這些測試準則的指引將可以更有效的找出程式在資源耗用上不健康之行為。
|