<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Web 應用安全測評實施流程是什么


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    173
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    X0_0X
    等保中級測評師 CICSA
    最佳答案

    針對典型的Web應用安全測評,可以將其劃分為以下5個階段:資產劃分,信息收集,突破識別,安全評估以及解決方案的制定。

    1.資產劃分

    在Web安全測評中,資產劃分是所有工作的基礎,正所謂“方向問題是根本問題”。不同的Web應用根據各自的功能,業務的不同,對于安全的需求有很大的差異。通常需要在工作的準備階段對分段有一個高屋建瓴的認識,明確的工作目標以及被測對象在各個部分的安全需求。

    2.信息收集

    對于Web應用而言,可以通過枚舉應用程序的內容與功能,確定用戶輸入點,服務器端采用的技術架構,服務器端功能,并可能分析出可能實施攻擊的位置。

    通常情況下,手動瀏覽即可確定應用程序的絕大部分內容和功能,但為了更全面地記錄每項確定的功能,可以使用工具幫助進行分析,如Web Scarab, Nikto等。枚舉應用程序功能時,基本可以確定應用程序獲取用戶輸入的位置,主要包括:

    • (1) URL字符串,包括查詢字符串標記:

    • (2)獲取方式提交的參數:

    • (3) POST請求主體中提交的參數;

    • (4)餅干;

    • (5) HTTP消息頭.如User Agent, Accept-Language等。

    確定服務器端技術架構的方法規模,如版本信息,HTTP指紋,頁面文件擴展名,目錄名稱,會話令牌和第三方代碼組件。通過留意觀察應用程序,一般可插入到與服務器端功能和結構有關的大量信息。例如,應用程序是否執行了一系列性的輸入確認檢查, 應用程序是否會查詢已過期內容等。

    3.防御識別

    獲取Web應用的相關信息后,就對目標應用的功能,技術架構和可能的攻擊點有了基本的了解,接下來就要識別Web應用存在的各種安全漏洞。

    目前,針對Web應用的安全測評方法主要分為模擬真實的動態攻擊以發現突破的黑盒測試法和以掃描源代碼發現突破的白盒測試法兩類:黑盒測試在Web應用運行的時候對其進行分析,以發現攻擊者可能發現的弱點,優點是可以驗證突破及其可利用性,但也存在一些不足,如黑盒測試在開發生命周期方面,可能導致不完整的測試覆蓋,黑盒測試也不能指出突破產生于應用程序中的特定位置;白盒測試主要針對Web應用的源代碼進行分析,定位源代碼中可能出現的安全缺陷,優點是在開發生命周期的編碼階段就可以對同時,白盒測試可以指出在應用代碼中的位置,但白盒測試并不真正運行應用代碼,可能會出現漏報。

    在實際測評工作中,可以采用黑盒測試與白盒測試相結合的方式,在開發生命周期的不同階段對系統進行安全測試,降低分解產生的幾率。具體的入侵識別方法主要有以下4個方面。

    • (1)代碼審查。代碼審查是軟件開發中常用的白盒測試手段,和質量保證(QA,質量保證)測試排序,它更容易發現與架構以及時序相關的問題。對Web應用程序代碼進行審查時需要仔細檢查的相關安全功能組件,包括用戶驗證組件,會話管理組件,訪問控制組件,輸入輸出確認組件,外部組件接口。Web應用程序可以在很多平臺上進行開發,進行代碼審查時需要審查的代碼不盡相同,但在不同的平臺上進行代碼審查,通常都包括確定用戶提交數據的方法,檢查會話交互過程,檢查潛在危險的API使用和檢查平臺安全配置這幾個步驟。許多類型的Web應用程序入侵的代碼中都有相對致的特征,這也意味著通過掃描和搜索代碼就可以確定一個Web應用程序的大部分入侵。如SQL注入入侵通常存在于各種硬編碼的串行,與用戶可終止的數據串聯成最終執行語句;跨站腳本擴展存在于用戶收到的HTML代碼中,部分是由用戶可控制的數據構成的:路徑遍歷擴展存在于用戶可控制的輸入,確認確認就被傳送到文件系統API執行。

    • (2)數據流建模。數據流建模也是種基于白盒測試的方法, 需要Web應用的開發人員對Web系統可能產生的數據流從起點到終點進行全面,不遺漏的多重。通過梳理Web系統數據的來源盒走向,從Web系統的內部查找可能造成危害的來源,也包括應用程序的運行是否簡潔高效,是否可能導致系統意外崩潰的弱點等。

    • (3)邊界分析。邊界分析是針對各個安全域的邊界進行的分析。由于不同安全域的重要程度不同,其所使用的安全策略也應該有所區別,此時邊界安全就引起尤為重要。進入Web應用程序的用戶是否可以通過某些特定的存在的路徑訪問本地鏈接的數據,又如位于互聯網之上的用戶是否有跳過必要的認證(如登錄)而對Web應用程序進行訪問的可能。邊界分析就是通過對Web應用中是否存在不合理的越界訪問來定位一些典型的安全漏洞。

    • (4)滲透測試。相對于上述3種白盒測試方法,滲透測試完全從網絡攻擊者的角度,考慮并嘗試各種入侵Web應用系統的通道。滲透測試可以避免測試者嵌入系統開發者固有的邏輯習慣和操作假設,其測試結果通常更為直觀,因此對于Web應用程序的安全測評是非常重要的交換。常見的滲透測試方法包括針對Web應用認證機制的密碼字典攻擊和暴力破解,針對Web應用程序訪問權限的權限提升,針對Web應用與后臺數據庫交互的SQL注入,針對文件上傳,下載的路徑遍歷型漏洞等。

    4.安全評估

    漏洞的危害程度主要受 2 個方面因素影響,即漏洞利用可能性與漏洞造成的損失。如某個溢出漏洞,在當前環境下其利用過程極其困難或者說基本無法利用,那么這個漏洞就是危害程度較低,因為被利用的可能性很小。又如某公司把共享資料的用戶名密碼直接以明文形式顯示于內網某Web站點上,這個漏洞被利用的可能性是很高的,任何位于局域網內的用戶都可以獲取該信息,而共享的資料為非機密性的學習類資料,則造成的損失較小,通過綜合分析判定該漏洞的危害程度在可接受范圍內。在真實的測評工作中,在識別漏洞以及安全評估時,需要緊密結合Web應用系統自身的安全需求和測評人員以往工作的經驗。

    5.解決方案制定

    Web安全測評的最終產物是安全解決方案。安全解決方案是根據資產劃分、信息收集、漏洞識別及安全評估等階段的結果生成的一套有針對性的解決辦法。Web安全解決方案的制定有兩點原則:簡潔性與可用性。對于某些大型的Web應用,可能稍有改動都會付出巨大的人力物力,這時需要測試者給出的解決方案是簡單有效的,能在解決安全問題的基礎上最大程度地壓縮成本。如對于某個可導致命令執行的框架漏洞,整體的代碼升級固然是根本的解決方案,但是如果漏洞只針對個別頁面,則直接將其刪除無疑是一種更加簡潔易操作的解決方法。

    另外,隨著Web應用的快速發展,不能因安全解決方案的實施而犧牲了Web應用本身的可用性或性能。如某電子商務網站,出于安全考慮,在用戶每次交易時都必須經過各種冗余復雜的驗證流程,那么這種解決方案就是失敗的。最終解決方案應在Web應用的易用性與安全之間找到一個平衡點,統籌兼顧,從設計上遵循高聚合,低耦合,易于擴展的原則。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    1年前 / 評論
    回答數量: 1
    亚洲 欧美 自拍 唯美 另类