云應(yīng)用測試技術(shù)探索
云應(yīng)用安全測試還相當(dāng)新且復(fù)雜,因?yàn)樾枰_保安全的交叉點(diǎn)和傳輸點(diǎn)在不斷增加。測試體制還增加了若干顯著差異以確保云基礎(chǔ)設(shè)施系統(tǒng)的安全。
通常而言,云應(yīng)用的安全測試技術(shù)與Web應(yīng)用測試類似。向Web應(yīng)用安全一樣,組織必須確保機(jī)密或隱私數(shù)據(jù)保持安全,不僅在云系統(tǒng)如此,在應(yīng)用和任何連接系統(tǒng)上都應(yīng)如此。云應(yīng)用安全測試還相當(dāng)新且復(fù)雜,因?yàn)樾枰_保安全的交叉點(diǎn)和傳輸點(diǎn)在不斷增加。測試體制還增加了若干顯著差異以確保云基礎(chǔ)設(shè)施系統(tǒng)的安全。首先要記住的是的組織云系統(tǒng)的結(jié)構(gòu)。測試必須在內(nèi)部云中完成,以及與其他云的連接點(diǎn),包括內(nèi)部和外部的。測試還必須要跨越云進(jìn)行以確保數(shù)據(jù)安全和完整性,并將測試安全納入應(yīng)用之內(nèi)。
在開始云測試努力之前,記住該基礎(chǔ)設(shè)施是由另一個組織擁有和管理的,所以測試者不會擁有在內(nèi)部管理系統(tǒng)中一樣的訪問。安全測試涉及到測試攻擊工具、網(wǎng)絡(luò)、配置設(shè)置以及導(dǎo)致不利系統(tǒng)響應(yīng)的其他數(shù)據(jù)等。必須告知云供應(yīng)商測試情況以便準(zhǔn)備好對測試的支持并履行任何的合同義務(wù)。
要想進(jìn)行有效的云應(yīng)用安全測試,需要在云基礎(chǔ)設(shè)施內(nèi)部、外部、跨云基礎(chǔ)設(shè)施以及云應(yīng)用本身建立安全相關(guān)的測試,以確保應(yīng)用使用的業(yè)務(wù)數(shù)據(jù)和云系統(tǒng)是安全的。
內(nèi)外部測試
內(nèi)外部測試意味著把整個云基礎(chǔ)設(shè)施當(dāng)作一個系統(tǒng)來進(jìn)行測試。其范圍依賴于組織和應(yīng)用的設(shè)置。云系統(tǒng)可以是單個的,也可以是內(nèi)部的,或者也可以是多系統(tǒng)的,既有內(nèi)部也有外部的。測試的一項(xiàng)重要考慮是識別云系統(tǒng)的結(jié)構(gòu)以及受測試應(yīng)用在系統(tǒng)內(nèi)是如何運(yùn)作的。測試者需要知道所有的連接點(diǎn),包括數(shù)據(jù)連接和傳輸?shù)募?xì)節(jié),或者用來傳遞信息給應(yīng)用的數(shù)據(jù)消息服務(wù)。
從測試每一個云的內(nèi)部功能開始,然后為所有的連接點(diǎn)或額外的云建立測試。注意,知道云的性質(zhì)以及云是內(nèi)部的、外部的還是混合的很重要。測試需要被修改為在內(nèi)部云完全測試數(shù)據(jù)的安全,并測試該數(shù)據(jù)是可以被外部訪問還是通過消息系統(tǒng)訪問。
測試云端應(yīng)用包括類似用于Web應(yīng)用測試的滲透和數(shù)據(jù)測試技術(shù)。不同的是系統(tǒng)結(jié)構(gòu)和基礎(chǔ)設(shè)施有云供應(yīng)商而不是內(nèi)部組織管理時測試者獲得訪問的數(shù)量。其主要目標(biāo)使驗(yàn)證數(shù)據(jù)和應(yīng)用在內(nèi)部使安全的,并測試所有的連接點(diǎn),因?yàn)槊恳粋€連接都有可能是未經(jīng)許可的入口或訪問。
跨系統(tǒng)測試
跨云系統(tǒng)測試類似于從“外部”測試,但也有不同??缭葡到y(tǒng)測試意味著測試公有、私有或混合云應(yīng)用。大多數(shù)云應(yīng)用的目的都是在應(yīng)用以及因此也在云系統(tǒng)之間共享數(shù)據(jù)。再次地,在知道云系統(tǒng)的總體結(jié)構(gòu)、云應(yīng)用與該系統(tǒng)的交互方式以及共享信息或數(shù)據(jù)方式時測試最有效。
安全測試跨云和應(yīng)用進(jìn)行時,主要的關(guān)注點(diǎn)是確定數(shù)據(jù)是否被不恰當(dāng)?shù)卦L問或共享。作為測試者,我希望看看是否可以通過操縱云系統(tǒng)配置及訪問或角色安全,或者通過攔截消息或消息隊列獲得非授權(quán)的數(shù)據(jù)訪問。把注意力集中到發(fā)現(xiàn)以及測試任何可以被操縱為允許訪問進(jìn)入云系統(tǒng)的集成或連接點(diǎn)上。除了復(fù)雜的路徑以外,也要測試那些看似更簡單或明顯的地方,以便驗(yàn)證黑客無法獲得對機(jī)密數(shù)據(jù)的訪問。
Web應(yīng)用測試與云應(yīng)用測試的另一個需要記住的重要差別是,Web應(yīng)用有邊界,而云應(yīng)用沒有。因?yàn)橛锌赡苁菬o邊界的,所以測試者需要深入全面調(diào)查任何連接點(diǎn)或安全邊界情況。包括測試網(wǎng)絡(luò)訪問、邏輯錯誤以及架構(gòu)性安全問題。安全測試云應(yīng)用迫使測試者跳出盒子去測試,因?yàn)樵苹A(chǔ)設(shè)施在設(shè)計上就是開放的。
測試挑戰(zhàn)
除非組織測試團(tuán)隊獲得訪問授權(quán),云應(yīng)用安全測試的一個重大挑戰(zhàn)是缺乏對日志的訪問。記住,組織并不擁有系統(tǒng),因此在云環(huán)境下訪問服務(wù)器日志及其他類型的文件是不行的。測試者必須可以通過觀察擁有響應(yīng)、數(shù)據(jù)本身,以及性能或時間問題等在應(yīng)用內(nèi)可見的東西來確定問題是否存在。比方說,在應(yīng)用內(nèi),聚焦于驗(yàn)證某窗口的輸入,然后在另一個額外應(yīng)用窗口內(nèi)驗(yàn)證數(shù)據(jù)。熟悉應(yīng)用數(shù)據(jù)流、合法數(shù)據(jù)定義以及應(yīng)用與特定云之間的工作流那是必須的—換句話說,你得知道哪一個數(shù)據(jù)可以訪問以及合法與非法數(shù)據(jù)顯示的規(guī)則是什么。
基于云應(yīng)用基礎(chǔ)設(shè)施的性質(zhì),徹底測試是必不可少的,而且大部分的測試應(yīng)該基于應(yīng)用行為或響應(yīng)來進(jìn)行。要徹底規(guī)劃好測試時間。沒有經(jīng)由應(yīng)用或云連接點(diǎn)獲得的非授權(quán)的數(shù)據(jù)訪問對于一個組織的商業(yè)成功來說是必不可少的。
記住做好預(yù)先規(guī)劃并聯(lián)系云供應(yīng)商,安排好測試時間并告知供應(yīng)商計劃進(jìn)行的安全測試類型。比方說,由于測試認(rèn)證的原因,系統(tǒng)未被鎖住是至關(guān)重要的。對一個不是內(nèi)部擁有或管理的系統(tǒng)進(jìn)行測試必須提前做好溝通和計劃。