賽門鐵克高級技術總監(jiān)Gary Phillips

賽門鐵克高級技術總監(jiān)、SAFECode董事會成員Gary Phillips稱,隨著應用程序將更多的部署到虛擬化環(huán)境、云計算環(huán)境甚至是移動平臺中,一個安全的程序設計要在開發(fā)完成前和開發(fā)期間都對應用程序進行測試。

據(jù)Phillips透露,安全的代碼開發(fā)實例正在商務供應商之間興起。最新的IBM X-Force 2011 年中趨勢與威脅報告中提到的Web應用程序漏洞在減少也證明了這一點。報告中提到這是六年來Web應用程序漏洞第一次出現(xiàn)減少,從去年的49%降到了 37%(占2011上半年所報告漏洞總和的比例)。

IBM高級安全總監(jiān)Jack Danahy

另一方面,IBM高級安全總監(jiān)Jack Danahy稱,漏洞的數(shù)量翻了三番,而寫這份報告的人預計移動漏洞的數(shù)量在2012年會翻兩倍。SQL注入,XSS,輸入驗證和大量傳統(tǒng)攻擊方法都盛行于Web應用程序當中,這些則不應該帶到云中去。

為了在應用完成開發(fā)前確認哪些漏洞可能被攻擊者利用,必須從整體的角度看應用。應用開發(fā)顧問公司Denim 集團CTO Dan Cornell稱這就是通常所說的攻擊面。

OWASP,SAFECode,云安全聯(lián)盟提供的工具,庫和API等可以幫助程序員模擬應用威脅,發(fā)現(xiàn)應用程序中可能出現(xiàn)故障的代碼,調用,互動和功能。

Cornell稱,從確定數(shù)據(jù)價值開始,應用程序會包含或訪問。例如,如果涉及個人可識別信息(PII),醫(yī)療保健或金融信息,應用就會成為目標。然后,通過查看應用的單獨組件模擬威脅。

Cornell建議企業(yè)設計安全的工作區(qū),如連接器,API,增強系統(tǒng)??赡艿脑?,使用新的應用設計作為升級舊的不安全系統(tǒng)的契機。

配置

Verizon公司Terremark安全方案總監(jiān)Omar Khawaja

Verizon云服務子公司Terremark安全方案總監(jiān)Omar Khawaja舉例稱,假設一個客戶面對的是處理金融交易的Web應用程序。在設計期間,必須在Web和交易服務器之間創(chuàng)建信任邊界來保護數(shù)據(jù)。這看似明顯的設計點,但是在虛擬環(huán)境和云環(huán)境中,這些信任區(qū)域常被忽視了。

賽門鐵克Phillips稱,當設計商務云服務供應商時,安全的區(qū)域也包括云中的客戶是如何彼此分隔的。

身份與訪問管理供應商Symplified公司CEO Eric Olden稱,身份聯(lián)盟,驗證和訪問標準——如OAUTH,XACML,SCIM和SAML——現(xiàn)正處于設計種,目的就是滿足訪問需求。

業(yè)內專家認為敏感數(shù)據(jù)加密還應該與驗證聯(lián)系起來。不過,據(jù)云安全聯(lián)盟去年十一月發(fā)布的一項調查結果顯示,云加密產(chǎn)品并不是非常有效。該份由Trend Micro贊助的報告推薦給傳輸,存儲中的數(shù)據(jù)設置多層加密,并進行密鑰管理。

▲Voltage安全產(chǎn)品管理副總裁Mark Bower

Voltage安全產(chǎn)品管理副總裁Mark Bower透露,驗證應該與數(shù)據(jù)加密聯(lián)系起來以減少實時數(shù)據(jù)的暴露——特別是新技術,如隔世保存加密。他說,“加密還應該用于保護授權用戶的實時數(shù)據(jù),例如,為了驗證一個交易或是將用戶與其賬號匹配,運營商或許只要查看社??ㄌ柎a碼的最后四位數(shù)字或者只查看信用卡號碼的最后一節(jié)。”

目前,大多數(shù)企業(yè)應該可以用數(shù)據(jù)集中方式加密自己的敏感數(shù)據(jù),這意味著存儲中,傳輸中和使用中的敏感信息都處于加密狀態(tài)。如果企業(yè)過渡到IaaS,他們就要為自己的應用負責,或許他們可以通過基于標準的API在云中復制相同技術。

如果購買SaaS,企業(yè)應該了解供應商如何幫助自己加密數(shù)據(jù),特別是如何進行云中的密鑰管理。例如,Voltage為Voltage云服務文件和郵件加密客戶管理云中密鑰。企業(yè)或許也想用on-premise密鑰服務器控制自己的密鑰。

OWASP Manico稱,當思考云中的應用程序部署時,托管環(huán)境的特殊類型決定了安全功能(如加密和監(jiān)控)會怎樣獲得支持。

例如,在IaaS模式中,要求這項服務的企業(yè)要對自己的應用程序負責。而如果是SaaS,供應商則會為企業(yè)管理應用。SaaS服務供應商還能管理云中的安全應用,并為客戶提供新的安全服務。

可視性和維護

在研發(fā)的關鍵階段和應用程序投入生產(chǎn)后,靜態(tài)分析和功能性測試也同樣重要。所以必須在設計,開發(fā)和后期生產(chǎn)期間測試應用程序以維護應用程序的安全態(tài)勢。

賽門鐵克Phillips稱,這意味著設計必須包括基本的監(jiān)控支持,如產(chǎn)生有用的日志,數(shù)據(jù)和訪問注冊的更改。

有大量工具與服務可用來測試Web應用程序看是否存在SQL注入,XSS和其他源于代碼的功能型漏洞。不過,專家認為在公共云應用的可視性方面,企業(yè)必須依靠其云服務供應商提供的監(jiān)控工具來監(jiān)視自己的數(shù)據(jù)。對供應商網(wǎng)絡的監(jiān)視主要依靠合同和年度審核。

安全的設計需要在業(yè)務,開發(fā)和安全部門之間共同計劃和協(xié)調。做起來雖難但并非不可能。

程序安全設計的資源

為程序員尋找指導方針比為設計師和規(guī)劃者尋找指導方針要容易。下面就是例子:

云安全聯(lián)盟有很多用于開發(fā)和部署云的指導方針,包括:

• 云計算重點領域安全指南——描述了云類型和組成要素以及映射出架構,管理和運營中關鍵區(qū)域威脅的方法。

• 一個Cloud Controls Matrix樣式表為云服務運營商和客戶列出了控件區(qū)域,規(guī)格和架構組件。

• 訪問公共云,私有云和混合云環(huán)境的工具集

OWASP有一個常用的代碼審查指南,它將安全,設計和業(yè)務環(huán)境聯(lián)系起來。其他流行的資源包括:

• 給程序員的安全小抄;

• 威脅建模指導;

• 安全編碼與測試指引。

SAFECode最近發(fā)布了安全軟件開發(fā)基礎實例的第二版,其他資源包括:

• 供應鏈應用的軟件保障;

• 軟件完整性控制的概述;

• 軟件安全工程師培訓。

程序安全設計要點

不論應用程序被部署在何處,基礎設計架構都適用。在賽門鐵克案例中,開發(fā)團隊都遵循這些基本設計原則:

1、在信任邊界數(shù)據(jù)重復驗證與保護

在信任邊界進行的數(shù)據(jù)傳輸必須受到保護,如在跨優(yōu)先級別的處理或是兩個獨立電腦之間進行處理。數(shù)據(jù)的類型,數(shù)值范圍,客戶端和服務器端的語義都必須進行驗證。數(shù)據(jù)保護可通過數(shù)據(jù)簽名這類機制來部署。

2、服務器和用戶代理的共同驗證

由于許多不受信任的實體都涉及用戶代理和服務之間的互動,所以用戶代理和服務必須創(chuàng)建共同驗證,而最好是通過PKI和多要素驗證實現(xiàn)共同驗證。

3、防止偷聽——強加密

敏感數(shù)據(jù)和關鍵數(shù)據(jù)可能暴露在用戶代理和服務器之間不受信任的實體面前。FIPS 140-2服從加密法則必須用于傳輸中的數(shù)據(jù)。即便是閑置的敏感數(shù)據(jù)也必須加密。要使用加強型密碼增加解密的難度。

4、會話超時和一次性密碼

長時會話可能導致攻擊重現(xiàn)和會話劫持。特別是在云應用中,一次性密碼和短時會話可以顯著降低這類漏洞的威脅。

5、最小特權

由多個要素組成的應用程序只能授予最低許可和最小權限,以減少攻擊者提高優(yōu)先權帶來的風險。

6、分區(qū)

隔開開規(guī)定的權限和資源,從而減少資源消耗和ddos漏洞。

分享到

huanghui

相關推薦