<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>

    分布式系統模糊測試有哪些挑戰


    發現錯別字 1年前 提問
    回答
    1
    瀏覽
    184
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    CISAW安全運維(專業級) 高級信息系統項目管理師

    分布式系統的模糊測試工作需要解決如下三個關鍵挑戰:

    • 跨進程邏輯的反饋收集:為了準確收集反饋,需要分析驅動的插樁策略。插樁器針對多進程程序進行優化,在精確收集反饋信息的同時降低執行成本。由于分布式系統邏輯復雜,盲目生成隨機輸入不足以在可行的時間內覆蓋源碼。因此,模糊測試工具必須收集每個輸入的反饋,以引導目標程序進入有趣的新路徑。分布式系統由一組不斷變化的組件構成;這些組件位于不同的進程中,運行在不同的主機上,并處理不同的請求。由于分布式系統的動態性,測試工具難以確定收集反饋的目標進程,更不用說在區分不同請求帶來的不同語意了。

    • 動態進程集合的異常檢測:為了檢測異常,需要調試輔助的監視策略。監視器捕獲新創建的進線程,并在不影響父子進程關系的情況下監視它們。要啟動分布式系統,用戶會首先調用啟動器,啟動器接下來會啟動守護進程,而守護進程會最終創建工作進程。簡而言之,在多階段的初始化過程中,進程集合發生動態而難以預知的變化。因此,模糊測試工具無法確定是否發生了異常。此外,鑒于工作進程已經受到內置的守護進程的監控,模糊測試工具無法重復地監視工作進程的異常。

    • 無關進程的噪音消除:為了消除噪音,需要進程感知的調度策略。調度器將輸入與處理它的進程關聯在一起,從而在不重啟目標系統的情況下,實現連續的模糊測試執行。通過頻繁重新啟動程序來消除噪音是不可行的。模糊測試工具通過不斷生成輸入來測試目標系統。由于輸入的執行次數巨大,必須避免對分布式系統進行昂貴的重新啟動。但是,傳統的模糊測試加速方法不支持多進程分布式系統。針對庫的模糊測試工具通常使用進程內測試,以降低每次執行輸入時創建進程的成本。根據定義,顯然進程內模糊不適用于多進程的分布式系統。

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

    1年前 / 評論
    亚洲 欧美 自拍 唯美 另类