【轉貼】程式檢查工具有助軟體百毒不侵?



贊助商連結


天氣預報
2004-06-02, 12:29 PM
程式檢查工具有助軟體百毒不侵?
CNET新聞專區: Robert Lemos  01/06/2004




在對付Windows作業系統當中各種漏洞時,微軟找上了Intrinsa的靜態程式碼檢查(static source code checkers)技術。

Intrinsa的PREFix可以對程式碼進行分析,並標示出潛在的錯誤。微軟認為這類型的程式非常有幫助,甚至在1999年的時候以6000萬美元買下Intrinsa。






在今天的市場上,也出現了許多類似的產品,希望博得軟體廠商青睞,採用檢查技術作為找出程式安全漏洞的工具。

微軟已經將檢查工具,整合到信賴運算的計畫當中。信賴運算是以提供更可靠的微軟電腦為目標。微軟的資訊安全程式經理Michael Howard表示,微軟每年對2萬名程式人員,提供更安全的程式開發訓練,但是檢查工具還可以在每日的例行運作,加強資訊安全的實作。

Howard指出,「我們已經看不到和5年前一樣的安全問題。」「我們進行教育訓練,讓程式開發人員了解安全問題,檢查工具也比以前好得多。現在程式開發人員第一次寫出的程式,就比以前更好。」

市場上有許多公司,也開始銷售微軟所採用的靜態程式碼檢查工具。程式碼檢查工具原本是以學術上的用途為主,不過檢查工具廠商認為,現在已經到了把檢查工具商業化的時機。此外,企業的資訊長對於層出不窮的安全漏洞也開始失去耐性,許多資訊長已經準備開始接受新的技術。

最近這幾個月,因為Business Roundtable嚴厲批評軟體廠商無法提供可靠產品的狀況,所以程式開發人員也再次成為關注的焦點。不管是電子商務、連結合作夥伴、或者光只是寄送電子郵件,現今的企業極度依賴網際網路的存在。可是根據CERT回應中心的統計,過去兩年來,軟體產品每年都出現將近4000個漏洞。

由美國大企業150位高階主管所組成的Business Roundtable,在四頁的「未來架構」報告當中指出,「大多數影響到美國企業和消費者的重大攻擊,原因都出在軟體程式碼當中的漏洞。」「今天大多數軟體廠商的開發流程,都沒有經過足夠的測試、檢查和安全防護,對可能的漏洞進行防治。」

因為Windows作業系統當中的漏洞,美國企業對微軟的不滿,遠比其他公司來得高。雖然大家不見得會認同微軟在根絕程式漏洞上已經有所成功,但是只有少數人會質疑微軟將重點放在資訊安全並藉著各種工具對付安全漏洞的努力。

Sanctum的技術長Steve Orrin表示,「Bill Gates說的對, 即使許多人對微軟的安全性大加抨擊,但這卻是每個人都得正視的問題。」「過去沒有人要求品質管制(QA)得考慮安全問題,現在這卻是時時刻刻得堤防的事。」

Sanctum是提供網頁應用程式漏洞檢查工具的廠商。不過Sanctum原本所提供的產品,卻只是阻擋駭客攻擊網頁伺服器的工具。Sanctum發現程式開發人員對稽查資訊安全的功能有很大興趣,於是決定轉向這個市場進行發展。許多廠商希望可以仔細檢查公司內部的應用程式,不過大部分的廠商更希望檢查自己所開發的軟體,或是外部合作夥伴所開發的軟體。Orrin表示,「我們公司的策略,在過去一年轉向軟體開發,我們很驚訝看到軟體開發上所出現的改變。」

分析工具廠商Fortify Software的創辦人暨行銷副總Mike Armistead表示,依賴網際網路的企業,已經沒辦法再忍受漏洞充斥的軟體。「所有人都彼此相連,生產力因此大幅成長,但是沒有人想到這樣會將自己曝露在許多外界的連結當中。」

雖然今天的程式開發人員,都對軟體的漏洞進行測試,但是這些測試大多是針對軟體是否可以正常運作,而不會注意是否有不正常動作造成軟體的問題。

根據Armistead表示,軟體開發人員會說,「我不準備抓出所有的問題,因為依照業界的慣例,出貨之後才讓人家來告訴我有什麼問題,這是可以接受的。」

此外也不是所有的安全人員在找到問題時都會挺身而出。許多安全專家反而認為,程式開發人員對於她們沒有找出的問題得負法律上的責任,一旦有工具可以檢查錯誤,這樣的想法將會更明顯。

這也是為什麼自動檢查錯誤的新產品開始加速進展。舉例來說,專注於資訊安全服務的@Stake,現在就開始銷售掃描二元碼的軟體安全測試工具。另一家公司Reflective也採用不同的分析技術,掃描漏洞。

維吉尼亞大學電腦系的助理教授David Evans表示,「一段時間以後,你希望每個人在編譯器當中都採用這些工具。」 Evans開發了Reflective一部分的程式分析技術。「在業界還有人寫出會有緩衝區溢位漏洞的程式,實在令人很難堪。」

緩衝區溢位讓網路駭客得以在受害者的電腦上,執行惡意程式。 MSBlast和Sasser病蟲,都利用了微軟Windows系統當中緩衝區溢位的漏洞。不過緩衝區溢位根本不是新的安全問題,安全研究人員在30年以前,就已經知道緩衝區溢位的存在。

儘管程式碼分析工具可能有助於解決安全問題,但是並不是所有人都相信,這個技術已經到了可以應用到現實世界的程度。

安全軟體廠商Immunity的創辦人暨主任安全研究人員Dace Aitel表示,他不相信現行產品可以解決問題,因為目前的檢查工具誤判率太高,而誤判的結果會讓程式開發人員花太多時間進行驗證,反而影響到生產力。

Aitel表示,「如果分析工具找出500個問題,你就得檢查500的地方並進行修正。誤判影響了分析工具的實用價值。」「也許這個工具經過三個世代的發展以後,可以符合檢查大型程式的經濟效益。」

不過Aitel也體認到必須要有這樣的工具。

「如果你看一下大部分的程式碼,你會發現到處都是簡單的漏洞。」「大部分的漏洞,都是因為軟體大廠完全沒有進行檢查。」「一個可以檢查3000萬行程式,然後找出明顯漏洞的工具,一定有很大的市場。」

另外一位支持程式碼檢查工具的史丹福大學電腦系教授 Dawson Engler,也認為檢查工具目前所能找出的漏洞,已經讓檢查工具有其存在價值。

Engler在檢查工具的領域多有著述,Engler表示「我認為我們會越來越好,找出越來越多的漏洞。」Engler和幾個研究生成立了Coverity,銷售程式碼分析工具。

另一家公司Ounce Labs在推出產品的同時,則對程式開發人員添加了更大的壓力。Ounce Labs打算在6月的時候,發表程式碼分析工具。Ounce Labs在上星期二宣佈,Ounce Labs已經完成了一份合約備忘錄的樣板,要求軟體廠商必須負責產品的資訊安全。Ounce Labs的執行長Jack Danahy認為,如果在合約當中加入負責與保證的字眼,程式開發人員將會更主動地檢查軟體當中的漏洞。提供檢查工具的廠商也可擁有更多的客戶。

Danahy表示,「如果軟體廠商不能保證你的軟體足夠安全,我就不用接受你的軟體。」「資訊安全已經是軟體的必備條件。」(黃晨哲/陳奭璁)

http://taiwan.cnet.com/news/software/0,2000064574,20089865,00.htm