自從軟件誕生起,軟件的安全性一直就是每一個(gè)程序員不可回避的問(wèn)題。隨著(zhù)計算機語(yǔ)言的不斷進(jìn)化和互聯(lián)網(wǎng)時(shí)代的到來(lái),軟件所面臨的安全性問(wèn)題也在發(fā)生著(zhù)巨大改變。在這些軟件安全問(wèn)題中,由于沒(méi)有在軟件設計和開(kāi)發(fā)的過(guò)程中引入安全開(kāi)發(fā)和測試的情況占了很大比例。在本文中,我們就將結合示例來(lái)討論一下如何能夠在軟件開(kāi)發(fā)生命周期中進(jìn)行軟件安全開(kāi)發(fā)和測試的問(wèn)題。
序言
自從軟件誕生起,軟件的安全性一直就是每一個(gè)程序員不可回避的問(wèn)題。面對“如何開(kāi)發(fā)出具有高安全性軟件”與“如何利用軟件漏洞進(jìn)行攻擊”,安全防護人員和黑客,就像中國武俠中的白道高手與黑道高手一樣,在相互的較量中提升自己的功力。隨著(zhù)計算機語(yǔ)言的不斷進(jìn)化和互聯(lián)網(wǎng)時(shí)代的到來(lái),軟件所面臨的安全性問(wèn)題也在發(fā)生著(zhù)巨大改變。如果將最初的單機病毒攻擊成為軟件安全的第一紀,網(wǎng)絡(luò )攻擊稱(chēng)為第二紀的話(huà),那我們現在正處在軟件安全的第三紀 -- 應用攻擊。Gartner 的數據顯示,75% 的黑客攻擊發(fā)生在應用層。而來(lái)自 NIST 的數據更為驚人,有 92% 被發(fā)現的漏洞屬于應用層而不是網(wǎng)絡(luò )。
圖 1. 來(lái)自 Gartner 和 NIST 的數據
在這些軟件安全問(wèn)題中,由于沒(méi)有在軟件設計和開(kāi)發(fā)的過(guò)程中引入安全開(kāi)發(fā)和測試的情況占了很大比例。其實(shí),從 1968 年軟件工程誕生以來(lái),人們一直企圖在軟件開(kāi)發(fā)生命周期(SDLC)中引入安全開(kāi)發(fā)的理念和方法,并由此出現了安全開(kāi)發(fā)生命周期(Secure Development Lifecycle)。在本文中,我們就將結合示例來(lái)討論一下如何能夠在軟件開(kāi)發(fā)生命周期中進(jìn)行軟件安全開(kāi)發(fā)和測試的問(wèn)題。
圖 2. 安全開(kāi)發(fā)生命周期示意圖

#FormatImgID_2# #FormatImgID_3# |
#FormatImgID_4#
|
軟件安全的“聞問(wèn)望切”—基于黑盒的滲透測試
無(wú)論是在傳統的瀑布模型開(kāi)發(fā)還是在方興未艾的敏捷軟件開(kāi)發(fā)中,軟件測試都是重中之重;诤诤械臐B透測試,是一種有效地將軟件安全性測試引入軟件開(kāi)發(fā)生命周期(SDLC)中的方法。目前,許多軟件廠(chǎng)商都有針對各自技術(shù)研發(fā)出的滲透測試產(chǎn)品,如 IBM 的 AppScan、HP 的 WebInspect 等。說(shuō)到滲透測試,就不能不提到由 Barton Miller 和 Lars Frederickson 等人在 1990 年提出的 Fuzz 技術(shù)。傳說(shuō)在 1989 年一個(gè)雷電交加的夜晚,Barton Miller 用 Modem 連接自己的主機時(shí),一個(gè)閃電過(guò)后,電路中的高低位互換了,Miller 由此想到了利用“crash、break、destroy”的方式來(lái)進(jìn)行軟件測試的技術(shù)——fuzz。著(zhù)名的 Fuzz 工具有 Fuzzing 網(wǎng)絡(luò )協(xié)議的 SPIKE、大桃子 Peach等等。Fuzz 技術(shù)自上世紀 90 年代初期起,慢慢的廣泛應用于系統平臺測試,應用軟件測試和網(wǎng)絡(luò )安全測試中。
下面我們將展示如何針對一個(gè) Web 應用進(jìn)行基于安全漏洞檢測的滲透測試。在這里我們選用 IBM Rational AppScan Standard Edition V7.8 (以下簡(jiǎn)稱(chēng) AppScan)作為測試工具。
首先,我們在 AppScan 里建立一個(gè)新的掃描。AppScan 提供了許多預定義的掃描模板來(lái)幫助工程師建立針對不同 Web 應用和 Web Service 的掃描。
圖 3. 用 Rational AppScan 模板創(chuàng )建掃描

在這個(gè)示例中,我們將對架設在筆者本地的 Tomcat V5.5 服務(wù)器上一個(gè)名為 AltoroMutual 的電子商務(wù)系統進(jìn)行安全滲透測試。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/