賽門鐵克高級技術(shù)總監(jiān)Gary Phillips
賽門鐵克高級技術(shù)總監(jiān)、SAFECode董事會成員Gary Phillips稱,隨著應(yīng)用程序?qū)⒏嗟牟渴鸬教摂M化環(huán)境、云計算環(huán)境甚至是移動平臺中,一個安全的程序設(shè)計要在開發(fā)完成前和開發(fā)期間都對應(yīng)用程序進行測試。
據(jù)Phillips透露,安全的代碼開發(fā)實例正在商務(wù)供應(yīng)商之間興起。最新的IBM X-Force 2011 年中趨勢與威脅報告中提到的Web應(yīng)用程序漏洞在減少也證明了這一點。報告中提到這是六年來Web應(yīng)用程序漏洞第一次出現(xiàn)減少,從去年的49%降到了 37%(占2011上半年所報告漏洞總和的比例)。
IBM高級安全總監(jiān)Jack Danahy
另一方面,IBM高級安全總監(jiān)Jack Danahy稱,漏洞的數(shù)量翻了三番,而寫這份報告的人預(yù)計移動漏洞的數(shù)量在2012年會翻兩倍。SQL注入,XSS,輸入驗證和大量傳統(tǒng)攻擊方法都盛行于Web應(yīng)用程序當中,這些則不應(yīng)該帶到云中去。
為了在應(yīng)用完成開發(fā)前確認哪些漏洞可能被攻擊者利用,必須從整體的角度看應(yīng)用。應(yīng)用開發(fā)顧問公司Denim 集團CTO Dan Cornell稱這就是通常所說的攻擊面。
OWASP,SAFECode,云安全聯(lián)盟提供的工具,庫和API等可以幫助程序員模擬應(yīng)用威脅,發(fā)現(xiàn)應(yīng)用程序中可能出現(xiàn)故障的代碼,調(diào)用,互動和功能。
Cornell稱,從確定數(shù)據(jù)價值開始,應(yīng)用程序會包含或訪問。例如,如果涉及個人可識別信息(PII),醫(yī)療保健或金融信息,應(yīng)用就會成為目標。然后,通過查看應(yīng)用的單獨組件模擬威脅。
Cornell建議企業(yè)設(shè)計安全的工作區(qū),如連接器,API,增強系統(tǒng)??赡艿脑挘褂眯碌膽?yīng)用設(shè)計作為升級舊的不安全系統(tǒng)的契機。
配置
Verizon公司Terremark安全方案總監(jiān)Omar Khawaja
Verizon云服務(wù)子公司Terremark安全方案總監(jiān)Omar Khawaja舉例稱,假設(shè)一個客戶面對的是處理金融交易的Web應(yīng)用程序。在設(shè)計期間,必須在Web和交易服務(wù)器之間創(chuàng)建信任邊界來保護數(shù)據(jù)。這看似明顯的設(shè)計點,但是在虛擬環(huán)境和云環(huán)境中,這些信任區(qū)域常被忽視了。
賽門鐵克Phillips稱,當設(shè)計商務(wù)云服務(wù)供應(yīng)商時,安全的區(qū)域也包括云中的客戶是如何彼此分隔的。
身份與訪問管理供應(yīng)商Symplified公司CEO Eric Olden稱,身份聯(lián)盟,驗證和訪問標準——如OAUTH,XACML,SCIM和SAML——現(xiàn)正處于設(shè)計種,目的就是滿足訪問需求。
業(yè)內(nèi)專家認為敏感數(shù)據(jù)加密還應(yīng)該與驗證聯(lián)系起來。不過,據(jù)云安全聯(lián)盟去年十一月發(fā)布的一項調(diào)查結(jié)果顯示,云加密產(chǎn)品并不是非常有效。該份由Trend Micro贊助的報告推薦給傳輸,存儲中的數(shù)據(jù)設(shè)置多層加密,并進行密鑰管理。
▲Voltage安全產(chǎn)品管理副總裁Mark Bower
Voltage安全產(chǎn)品管理副總裁Mark Bower透露,驗證應(yīng)該與數(shù)據(jù)加密聯(lián)系起來以減少實時數(shù)據(jù)的暴露——特別是新技術(shù),如隔世保存加密。他說,“加密還應(yīng)該用于保護授權(quán)用戶的實時數(shù)據(jù),例如,為了驗證一個交易或是將用戶與其賬號匹配,運營商或許只要查看社??ㄌ柎a碼的最后四位數(shù)字或者只查看信用卡號碼的最后一節(jié)。”
目前,大多數(shù)企業(yè)應(yīng)該可以用數(shù)據(jù)集中方式加密自己的敏感數(shù)據(jù),這意味著存儲中,傳輸中和使用中的敏感信息都處于加密狀態(tài)。如果企業(yè)過渡到IaaS,他們就要為自己的應(yīng)用負責,或許他們可以通過基于標準的API在云中復(fù)制相同技術(shù)。
如果購買SaaS,企業(yè)應(yīng)該了解供應(yīng)商如何幫助自己加密數(shù)據(jù),特別是如何進行云中的密鑰管理。例如,Voltage為Voltage云服務(wù)文件和郵件加密客戶管理云中密鑰。企業(yè)或許也想用on-premise密鑰服務(wù)器控制自己的密鑰。
OWASP Manico稱,當思考云中的應(yīng)用程序部署時,托管環(huán)境的特殊類型決定了安全功能(如加密和監(jiān)控)會怎樣獲得支持。
例如,在IaaS模式中,要求這項服務(wù)的企業(yè)要對自己的應(yīng)用程序負責。而如果是SaaS,供應(yīng)商則會為企業(yè)管理應(yīng)用。SaaS服務(wù)供應(yīng)商還能管理云中的安全應(yīng)用,并為客戶提供新的安全服務(wù)。
可視性和維護
在研發(fā)的關(guān)鍵階段和應(yīng)用程序投入生產(chǎn)后,靜態(tài)分析和功能性測試也同樣重要。所以必須在設(shè)計,開發(fā)和后期生產(chǎn)期間測試應(yīng)用程序以維護應(yīng)用程序的安全態(tài)勢。
賽門鐵克Phillips稱,這意味著設(shè)計必須包括基本的監(jiān)控支持,如產(chǎn)生有用的日志,數(shù)據(jù)和訪問注冊的更改。
有大量工具與服務(wù)可用來測試Web應(yīng)用程序看是否存在SQL注入,XSS和其他源于代碼的功能型漏洞。不過,專家認為在公共云應(yīng)用的可視性方面,企業(yè)必須依靠其云服務(wù)供應(yīng)商提供的監(jiān)控工具來監(jiān)視自己的數(shù)據(jù)。對供應(yīng)商網(wǎng)絡(luò)的監(jiān)視主要依靠合同和年度審核。
安全的設(shè)計需要在業(yè)務(wù),開發(fā)和安全部門之間共同計劃和協(xié)調(diào)。做起來雖難但并非不可能。
程序安全設(shè)計的資源
為程序員尋找指導(dǎo)方針比為設(shè)計師和規(guī)劃者尋找指導(dǎo)方針要容易。下面就是例子:
云安全聯(lián)盟有很多用于開發(fā)和部署云的指導(dǎo)方針,包括:
• 云計算重點領(lǐng)域安全指南——描述了云類型和組成要素以及映射出架構(gòu),管理和運營中關(guān)鍵區(qū)域威脅的方法。
• 一個Cloud Controls Matrix樣式表為云服務(wù)運營商和客戶列出了控件區(qū)域,規(guī)格和架構(gòu)組件。
• 訪問公共云,私有云和混合云環(huán)境的工具集
OWASP有一個常用的代碼審查指南,它將安全,設(shè)計和業(yè)務(wù)環(huán)境聯(lián)系起來。其他流行的資源包括:
• 給程序員的安全小抄;
• 威脅建模指導(dǎo);
• 安全編碼與測試指引。
SAFECode最近發(fā)布了安全軟件開發(fā)基礎(chǔ)實例的第二版,其他資源包括:
• 供應(yīng)鏈應(yīng)用的軟件保障;
• 軟件完整性控制的概述;
• 軟件安全工程師培訓(xùn)。
程序安全設(shè)計要點
不論應(yīng)用程序被部署在何處,基礎(chǔ)設(shè)計架構(gòu)都適用。在賽門鐵克案例中,開發(fā)團隊都遵循這些基本設(shè)計原則:
1、在信任邊界數(shù)據(jù)重復(fù)驗證與保護
在信任邊界進行的數(shù)據(jù)傳輸必須受到保護,如在跨優(yōu)先級別的處理或是兩個獨立電腦之間進行處理。數(shù)據(jù)的類型,數(shù)值范圍,客戶端和服務(wù)器端的語義都必須進行驗證。數(shù)據(jù)保護可通過數(shù)據(jù)簽名這類機制來部署。
2、服務(wù)器和用戶代理的共同驗證
由于許多不受信任的實體都涉及用戶代理和服務(wù)之間的互動,所以用戶代理和服務(wù)必須創(chuàng)建共同驗證,而最好是通過PKI和多要素驗證實現(xiàn)共同驗證。
3、防止偷聽——強加密
敏感數(shù)據(jù)和關(guān)鍵數(shù)據(jù)可能暴露在用戶代理和服務(wù)器之間不受信任的實體面前。FIPS 140-2服從加密法則必須用于傳輸中的數(shù)據(jù)。即便是閑置的敏感數(shù)據(jù)也必須加密。要使用加強型密碼增加解密的難度。
4、會話超時和一次性密碼
長時會話可能導(dǎo)致攻擊重現(xiàn)和會話劫持。特別是在云應(yīng)用中,一次性密碼和短時會話可以顯著降低這類漏洞的威脅。
5、最小特權(quán)
由多個要素組成的應(yīng)用程序只能授予最低許可和最小權(quán)限,以減少攻擊者提高優(yōu)先權(quán)帶來的風險。
6、分區(qū)
隔開開規(guī)定的權(quán)限和資源,從而減少資源消耗和ddos漏洞。