<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

    安全簡報:滲透測試

      在聽到術(shù)語“滲透測試”時,您可能會聯(lián)想到一個孤獨的天才正在對一些倒霉的軟件執(zhí)行神奇的測試。在滲透測試復興之前,它或許是個真實的場景。現(xiàn)在,滲透測試的執(zhí)行方式要系統(tǒng)化得多。這樣做是必要的,因為安全開發(fā)生命周期 (SDL) 以及前載式安全設(shè)計和開發(fā)重點降低了潛在缺陷的數(shù)量,從而使在測試過程中查找漏洞的任務(wù)變得更加困難。軟件安全測試非常重要,不能僅依靠一小組專家來完成。它必須是能夠傳授、系統(tǒng)化且可重復的過程,這樣才能將其應(yīng)用到各種情況中。

      這并不是說滲透測試是一門科學。所有測試均有值行研究的方面;測試人員應(yīng)用輸入,而這些輸入會更改軟件內(nèi)部的數(shù)據(jù),從而導致其做出各種反應(yīng)。由于復雜性很高,無法進行精確預(yù)測;但是,我們可事先做好各種規(guī)劃工作,本專欄將介紹我們在 Microsoft 是如何制定規(guī)劃的。

      規(guī)劃

      對于傳統(tǒng)測試而言,規(guī)范、用戶文檔、用例和其他設(shè)計文檔非常充足。可使用這些信息設(shè)計一組測試用例來確認指定的功能。但有關(guān)規(guī)劃的可用信息資源則非常有限。滲透測試并不是為了確認功能;其目的是確認不再存在不安全的功能。遺憾的是,沒有人定義過用于此類行為的軟件開發(fā)項目,因此測試人員不得不自行解決。

      收集滲透測試信息的首個位置是軟件與外部環(huán)境之間的接口。用戶界面、網(wǎng)絡(luò)接口、API 和處理輸入的任意其他位置都是明顯的黑客攻擊目標。如果任意一個接口的設(shè)計或?qū)崿F(xiàn)欠佳,它們可能會允許惡意偽造的輸入并帶來災(zāi)難。可通過確定和記錄這些接口來開始執(zhí)行滲透測試。

      需要特別關(guān)注的第二個區(qū)域是錯誤消息和用戶警告對話框(它們將把來自軟件的信息傳遞給外部用戶)。由于某些用戶可能具有惡意企圖,因此必須了解會向其顯示哪些信息以及此類信息的傳遞方式。

      最后,滲透測試人員通常會定義災(zāi)難場景,以此指出成功的攻擊可能產(chǎn)生的后果。這些誤用案例(或者說濫用案例)通常起源于某種威脅模型或先前已知的攻擊。

      對于滲透測試而言,從這三類資源中收集信息是至關(guān)重要的準備工作,并且有助于指導您完成實際的測試。

      滲透測試類型

      測試的對象是變化 — 找出軟件及環(huán)境中可能發(fā)生變化的部分,改變它們,然后觀察軟件的反應(yīng)。測試目標是確保軟件在合理甚至不合理的生產(chǎn)環(huán)境中可靠且安全地運行。因此,測試人員可制定的最基本規(guī)劃是了解哪些部分可能發(fā)生變化以及在測試中需使用哪些方法來分階段實現(xiàn)這些變化。

      從安全角度來看,環(huán)境、用戶輸入以及內(nèi)部數(shù)據(jù)和邏輯是此類變化可能暴露出安全問題的主要位置。環(huán)境包括文件、應(yīng)用程序、系統(tǒng)資源和應(yīng)用程序使用的其他本地或網(wǎng)絡(luò)資源。所有這些都可能成為攻擊的入口點。用戶輸入是源自軟件分析和使用的外部(通常不受信任)實體的數(shù)據(jù)。內(nèi)部數(shù)據(jù)和邏輯是內(nèi)部存儲的變量和邏輯路徑(它們具有多種可能的枚舉)。

      通過改變軟件環(huán)境、輸入域和數(shù)據(jù)/邏輯路徑中的信息,就可以執(zhí)行攻擊。接下來我將更詳細地介紹這三類攻擊。

      環(huán)境攻擊

      軟件無法孤立地執(zhí)行。它依賴于一些二進制和等效于代碼的模塊(如腳本和插件)。它還可能使用注冊表或文件系統(tǒng)中的配置信息以及可能位于任意位置的數(shù)據(jù)庫和服務(wù)。每個此類環(huán)境交互都可能成為安全漏洞的來源,因此必須對其進行測試。

      對于應(yīng)用程序在此類交互中所具有的信任程度,還有許多必須考慮的重要問題,其中包括:應(yīng)用程序?qū)τ诒镜丨h(huán)境和遠程資源的信任程度如何?應(yīng)用程序是否將敏感信息放在其他應(yīng)用程序可讀取的資源(如注冊表)中?它是否信任自身加載的每個文件或庫,甚至無需確認內(nèi)容?攻擊者是否能夠利用這種信任來強制應(yīng)用程序服從其命令?

      除信任問題外,滲透測試人員還應(yīng)監(jiān)視可能出現(xiàn)錯誤或已被攻擊者替換(或修改)的 DLL、二進制代碼或應(yīng)用程序?qū)⑴c之進行交互并且未受到訪問控制列表 (ACL) 完全保護或者根本未受到保護的文件。測試人員還必須監(jiān)視訪問共享內(nèi)存資源或者在注冊表或臨時文件中存儲敏感數(shù)據(jù)的其他應(yīng)用程序。最后,測試人員必須考慮造成系統(tǒng)壓力的因素(如網(wǎng)速較慢、內(nèi)存不足等),并確定這些因素對安全功能的影響。

      環(huán)境攻擊方式通常是侵入不安全的環(huán)境并隨后在該環(huán)境中執(zhí)行應(yīng)用程序來查看其反應(yīng)。這是一種間接形式的測試;攻擊者對應(yīng)用程序的運行環(huán)境發(fā)起攻擊。現(xiàn)在,我們來看直接測試。

      輸入攻擊

      在滲透測試中,來自不受信任來源的輸入最為重要。包括通信路徑(如網(wǎng)絡(luò)協(xié)議和套接字)、公開的遠程功能(如 DCOM、遠程過程調(diào)用 (RPC) 和 Web 服務(wù))、數(shù)據(jù)文件(二進制文件或文本文件)、執(zhí)行過程中創(chuàng)建的臨時文件以及控制文件(如腳本和 XML),所有這些內(nèi)容都可能遭到篡改。最后,還必須檢查允許直接用戶輸入的 UI 控件(包括登錄屏幕、Web 前端及類似控件)。

      具體來說,您需要確定是否已正確控制輸入:是否接收合格的輸入并拒絕不適當?shù)妮斎耄ㄈ玳L字符串、格式不正確的數(shù)據(jù)包等)?適當?shù)妮斎霗z查和文件分析至關(guān)重要。

      需執(zhí)行測試來查看能不能將危險的輸入項輸入到 UI 控件中,并了解此時會產(chǎn)生什么樣的后果。此類輸入包括特殊字符、編碼輸入、腳本段、格式字符串、轉(zhuǎn)義序列等。需確定嵌入到數(shù)據(jù)包字段或文件中且可能導致內(nèi)存溢出的長字符串能否通過測試。協(xié)議流中損壞的數(shù)據(jù)包也是個問題。必須監(jiān)視崩潰和掛起并檢查堆棧是否存在可利用的內(nèi)存損壞。最后,必須確保當正確防御不適當?shù)妮斎霑r,驗證和出錯消息之類的信息會出現(xiàn)在正確的位置(客戶端而非服務(wù)器端)。

      輸入攻擊實際上類似于向應(yīng)用程序扔手榴彈。其中一些能正確躲避,而另一些則會導致軟件崩潰。滲透團隊將負責確定各種輸入攻擊,并啟動適當?shù)男迯痛胧?/p>

      數(shù)據(jù)和邏輯攻擊

      一些錯誤深藏在應(yīng)用程序的內(nèi)部數(shù)據(jù)存儲機制和算法邏輯當中。在這種情況下,似乎存在設(shè)計和編碼錯誤,開發(fā)人員假定用戶始終會按照正確的方式執(zhí)行操作或忽略了用戶可能用到的某些代碼路徑。

      拒絕服務(wù)是此類攻擊的主要代表,但還不是最危險的攻擊。如果開發(fā)人員沒有針對大量用戶(或連接、文件或?qū)е沦Y源耗盡的任意輸入)做出計劃,拒絕服務(wù)攻擊就可能成功。然而,還有大量需要測試的更加隱匿的邏輯缺陷。例如,如果導致錯誤消息的輸入和其他生成的輸出向攻擊者顯示了可利用的信息,就可能發(fā)生信息泄漏。始終應(yīng)刪除此類數(shù)據(jù),其中一個實際的示例是硬編碼的測試帳戶或測試 API(通常包含在內(nèi)部版本中以幫助實現(xiàn)測試自動化)。它們可能為攻擊者提供輕松的入侵點。還應(yīng)執(zhí)行另外兩個測試:輸入錯誤的憑據(jù)來確定內(nèi)部身份驗證機制是否可靠,以及選擇代碼路徑不同的輸入。通常一個代碼路徑是安全的,但可使用另一方式訪問相同的功能(可能無意間忽略一些關(guān)鍵的檢查)。

      不要膽怯

      滲透測試與傳統(tǒng)的功能測試存在很大差異;滲透測試人員不僅缺乏適當?shù)奈臋n,而且還必須能夠站在試圖進行破壞的用戶角度進行思考。這一點非常重要 — 開發(fā)人員往往假定用戶都非常守規(guī)矩并且不會執(zhí)行特殊的操作,因而拒絕修復錯誤。但實際上,您不可能如此冒險。黑客們會深入發(fā)掘各種漏洞,任意技巧、欺騙或異常測試用例都不例外。對于滲透測試人員而言,也同樣適用。

    posted on 2012-10-17 09:30 順其自然EVO 閱讀(311) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    <2012年10月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    導航

    統(tǒng)計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲an天堂an在线观看| 色吊丝性永久免费看码| 免费精品久久天干天干| 伊人久久大香线蕉亚洲五月天| 亚洲精品无码不卡在线播放| 久久久久免费看黄A片APP| 亚洲最大的黄色网| 99久久这里只精品国产免费| 亚洲精品国产第1页| 曰曰鲁夜夜免费播放视频| 亚洲AV无码乱码在线观看代蜜桃| 亚洲色大成网站www尤物| 无人在线观看免费高清视频| 亚洲最大黄色网站| 福利免费观看午夜体检区 | 亚洲综合色在线观看亚洲| 四虎精品免费永久免费视频| 免费日本黄色网址| eeuss草民免费| 亚洲第一精品在线视频| 最近中文字幕mv免费高清在线 | 3344免费播放观看视频 | 亚洲熟妇丰满xxxxx| 国产免费变态视频网址网站| 一级毛片在播放免费| 亚洲大成色www永久网站| 亚洲香蕉免费有线视频| 亚洲中文字幕乱码一区| 四虎国产精品免费视| 99视频在线观看免费| 亚洲精品在线免费观看| 国产美女被遭强高潮免费网站| 有码人妻在线免费看片| 久久久亚洲精品国产| 国产免费看JIZZ视频| 国产成人亚洲精品电影| 亚洲AV成人片色在线观看| 在线天堂免费观看.WWW| 日本激情猛烈在线看免费观看| 久久亚洲精品成人av无码网站| 四虎影视www四虎免费|