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