《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > Mozilla 自身是如何模糊 Firefox 瀏覽器的?

Mozilla 自身是如何模糊 Firefox 瀏覽器的?

2021-06-29
來源:嘶吼專業版
關鍵詞: Mozilla Firefox 模糊

  Mozilla一直在模糊Firefox及其底層組件,它已被證明是識別質量和安全漏洞的最有效方法之一。通常,研究人員會在不同級別上應用模糊測試:瀏覽器作為一個整體進行模糊測試,但也需要花費大量時間來對孤立的代碼(例如使用libFuzzer)或整個組件(例如使用單獨的外殼的JS引擎)進行模糊測試。在此文中,研究人員將只負責解釋瀏覽器模糊漏洞,并詳細介紹他們已經尋找到的方法。

  構建工具

  為了盡可能有效,研究人員使用了多種漏洞檢測方法。這些包括清除器,如AddressSanitizer(帶有LeakSanitizer)、ThreadSanitizer和UndefinedBehaviorSanitizer,以及使用調試構建來啟用斷言和其他運行時檢查。研究人員還使用了像rr和Valgrind這樣的調試器。這些工具中的每一個都提供了不同的視角來幫助發現特定的漏洞類型,但許多工具彼此不兼容,或者需要使用自己的自定義版本才能發揮作用或提供最佳結果。除了提供調試和漏洞檢測外,一些工具如果沒有構建工具就無法工作,例如代碼覆蓋率和libFuzzer。每個操作系統和體系結構組合都需要一個獨特的構建,并且可能只支持這些工具的一個子集。

  最后,每個變體都有多個活動變體,包括發行版,Beta版、nightly版本和延長支持版本(Extended Support Release, 簡稱“ESR”),Firefox CI Taskcluster實例會定期構建每個實例。所謂nightly版本,通常是開發者自己維護的一個版本。白天的時候開發者們將各自的修改提交到一個中心代碼庫,然后在晚上做一次編譯得到的版本。一般來說nightly版本會包含最新的漏洞修改和新增功能,所以適合那些關注某個漏洞,或者是特別喜歡最新版本的用戶使用。但是因為沒有經過充分的測試,可能會有很多不穩定的地方。

  下載版本

  Taskcluster使得查找和下載最新版本進行測試變得很容易。研究人員在上面討論了由不同的儀表類型創建的變體的數量,研究人員需要對它們進行自動化模糊處理。由于構建、工件、體系結構、操作系統以及每個軟件包的大量組合,因此下載是一項艱巨的任務。

  為了幫助降低構建管理的復雜性,研究人員開發了一個稱為fuzzfetch的工具。Fuzzfetch可以很容易地指定所需的構建參數,并將下載并解壓縮該構建。

  如何生成測試用例

  因為這篇博文的目的是解釋整個流程,因此研究人員不會花太多時間來解釋模糊測試,結合使用公共可用的和定制的模糊測試器來生成測試用例。

  如何執行,報告和擴展

  對于以瀏覽器為目標的模糊測試器, Grizzly管理和運行測試用例并監控結果,創建適配器可以使研究人員輕松地在Grizzly中運行現有的模糊測試器。Grizzly是一種應用程序框架,專門解決編寫成千上萬用戶訪問服務器時候產生的各種漏洞。

微信圖片_20210629223127.jpg

  為了充分利用任何給定設備上的可用資源,研究人員并行運行多個Grizzly實例。

  對于每個模糊測試器,研究人員都創建了容器來封裝運行它所需的配置。這些都存在于Orion monorepo中?!∈裁词?Monorepo?Monorepo 其實不是一個新的概念,在軟件工程領域,它已經有著十多年的歷史了。概念上很好理解,就是把多個項目放在一個倉庫里面,相對立的是傳統的 MultiRepo 模式,即每個項目對應一個單獨的倉庫來分散管理。每個模糊測試器都有一個配置,根據該模糊測試器的優先級來配置具體的部署和資源分配。Taskcluster持續部署這些配置以分配工作并管理模糊測試節點。

  Grizzly Target處理諸如掛起、崩潰和其他漏洞等漏洞的檢測。Target是Grizzly和瀏覽器之間的接口。檢測到的漏洞會自動打包并上報給FuzzManager服務器。FuzzManager服務器提供了自動化和篩選結果的UI。

  其他更有針對性的模糊測試器使用JS shell和基于libFuzzer的目標使用模糊接口。許多第三方庫在OSS-Fuzz中也被模糊化了,這些不在本文的討論范圍之內。

  模糊測試結果

  對不同的目標大規模運行多個模糊器會產生大量的數據,這些崩潰不適合直接輸入到漏洞跟蹤系統,比如Bugzilla。FuzzManager客戶端庫可以過濾崩潰變化和重復結果,然后再離開模糊測試節點。唯一結果將報告給FuzzManager服務器。通過FuzzManager的web界面,可以創建簽名,將報表分組到存儲桶中,幫助客戶端檢測重復的結果。

  模糊測試器通常會生成長達數百甚至數千行的測試用例。FuzzManager存儲桶將自動進行掃描,以在Taskcluster中進行隊列減少任務。這些還原任務使用Grizzly Reduce和Lithium來應用不同的還原策略,通常會刪除大多數不必要的數據。每個存儲桶都將持續進行處理,直到成功完成還原操作為止。然后,工程師可以對最小化的測試用例進行最終檢查,并將其附加到漏洞報告中。最終結果通常用作Firefox測試套件中的崩潰測試。測試過程請點此查看。還定期測量模糊器的代碼覆蓋率,再次使用FuzzManager收集代碼覆蓋率數據并生成覆蓋率報告。

  漏洞報告

  由于研究人員的目標是創建可操作的漏洞報告,以盡快修復漏洞,同時最小化開發人員的開銷。

  研究人員通過以下方式做到這一點:

  崩潰信息,例如日志和堆棧跟蹤;

  建設和環境信息;

  減少測試用例;

  Pernosco會話;

  回歸范圍(通過Bugmon分割);

  通過Bugmon進行驗證;

  Grizzly Replay是形成Bugmon和Grizzly Reduce的基本執行引擎的工具,它使收集rr痕跡提交到Pernosco變得容易。它使重新運行瀏覽器測試用例在自動化和手動使用方面都很容易。

  如前所述,研究人員也一直在使用Pernosco。Pernosco是一個為rr跟蹤提供web界面的工具,使開發人員無需直接訪問執行環境就可以使用它們。這是一個由同名公司開發的工具,可以極大地幫助調試大規模并行應用程序。當測試用例太不可靠而無法減少或附加到漏洞報告時,它也非常有用。創建一個rr跟蹤并上傳它可以使不再使用的漏洞報告具有可操作性。

  Grizzly和Pernosco的合并帶來了一個額外的好處,那就是使不常見的、難以重現的漏洞變得可行。一個非常不一致的漏洞的測試用例可以運行數百或數千次,直到在rr下發生所需的崩潰為止。跟蹤被自動收集并準備提交給Pernosco并由開發人員修復,而不是因為它不可操作而被忽略。

  要對新特性進行適當的評估,可以通過fuzzing@mozilla.com或通過Matrix聯系。一旦開始對組件進行模糊測試,研究人員將主要通過Bugzilla進行通信。如前所述,研究人員努力解決可修復的漏洞。

  Bugmon用于自動將回歸范圍平分為兩部分,并盡快通知適當的人員,并在將漏洞標記為“已修復”后進行驗證。關閉漏洞會自動將其從FuzzManager中刪除,因此,如果在代碼庫中找到類似的漏洞,則可以再次對其進行識別。

  模糊測試期間發現的一些漏洞將阻止研究人員有效地模糊功能或構建變體,這些被稱為模糊阻止程序,它們以幾種不同的形式出現。從產品的角度來看,這些漏洞看起來似乎是無害的,但是它們可以阻止模糊測試程序針對重要的代碼路徑,甚至完全阻止模糊測試目標。適當地對這些漏洞進行優先級排序并快速將其修復是非常有用的。

  PrefPicker管理用于模糊測試的Firefox首選項集。在首選項之后添加功能時,請考慮將其添加到PrefPicker模糊模板中,以便在模糊過程中啟用它。對PrefPicker模糊模板的定期審核可以幫助確保不遺漏區域,并盡可能有效地利用資源。

  與其他領域一樣,衡量是評估成功的關鍵部分。研究人員利用Bugzilla的meta bug功能來幫助跟蹤由模糊器識別的漏洞。研究人員努力使每個模糊器和每個模糊的新組件都有一個meta bug。

  例如,Domino的meta bug列出了該工具標識的所有漏洞(超過1100個)。使使用此Bugzilla數據,研究人員可以顯示多年來各種模糊測試的影響。

微信圖片_20210629223133.jpg

模糊測中有許多組件, 這些組件在不斷發展,以適應調試工具、執行環境和瀏覽器內部的變化。開發人員總是在添加、刪除和更新瀏覽器功能。




電子技術圖片.png

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国内外成人在线视频| 亚洲电影免费观看高清| 欧美日韩一区二区欧美激情| 亚洲精品综合久久中文字幕| 一本久久a久久免费精品不卡| 国产精品实拍| 国产精品一区二区三区四区五区| 欧美日韩综合| 亚洲激情精品| 亚洲午夜日本在线观看| 免费久久99精品国产自在现线| 亚洲一区二区三区欧美| 亚洲女优在线| 国产精品视频| 午夜精品久久一牛影视| 国产自产v一区二区三区c| 一本大道av伊人久久综合| 亚洲精品午夜| 国产乱肥老妇国产一区二| 狠狠88综合久久久久综合网| 欧美久久99| 欧美激情中文字幕一区二区| 国产欧美精品va在线观看| 国产精品sss| av成人天堂| 亚洲一区三区电影在线观看| 国产精品日韩一区| 欧美女人交a| 欧美精品18+| 久久精品最新地址| 亚洲精品视频免费在线观看| 亚洲永久字幕| 国产精品青草综合久久久久99| 久久一区二区三区超碰国产精品| 国产一区日韩一区| 亚洲国产一区视频| 麻豆91精品91久久久的内涵| 欧美一级理论性理论a| 欧美黄色影院| 亚洲欧美高清| 国产视频在线观看一区| 激情综合视频| 欧美色精品天天在线观看视频| 亚洲品质自拍| 欧美一区二区福利在线| 亚洲九九九在线观看| 国产精品视频yy9099| 亚洲国产视频直播| 亚洲一区三区电影在线观看| 国语自产偷拍精品视频偷| 国产精品成人一区二区艾草| 欧美日韩免费精品| 欧美日韩一区三区四区| 亚洲中无吗在线| 亚洲最新视频在线| 亚洲第一页自拍| 欧美特黄a级高清免费大片a级| 欧美一区二区三区成人| 久久九九有精品国产23| 国产亚洲一区二区三区在线观看| 久久精品综合网| 国产精品高潮呻吟| 亚洲另类在线视频| 欧美日本不卡高清| 欧美视频在线一区| 欧美天天影院| 久久综合综合久久综合| 伊人蜜桃色噜噜激情综合| 欧美视频三区在线播放| 国产色综合天天综合网| 欧美伦理影院| 亚洲女同性videos| 亚洲夫妻自拍| 欧美一区二区大片| 国产精品区一区二区三| 亚洲高清在线视频| 久久在线91| 久久综合伊人77777| 欧美国产综合视频| 亚洲小说区图片区| 欧美成人自拍视频| 91久久精品www人人做人人爽| 久久久久久久久蜜桃| 免费一区二区三区| 欧美午夜精品伦理| 国产亚洲激情视频在线| 亚洲欧洲av一区二区| 亚洲大胆人体视频| 亚洲国产成人在线| 欧美日韩一本到| 欧美一级片久久久久久久| 欧美日韩日本国产亚洲在线| 久久精品国产免费| 亚洲日本在线观看| 亚洲视频综合在线| 国产精品外国| 亚洲每日在线| 欧美日产一区二区三区在线观看| 国产精品日韩精品欧美精品| 欧美xart系列高清| 欧美精品一区二区在线观看| 最新国产成人在线观看| 国产精品一级二级三级| 久久久97精品| 久久精品视频导航| 亚洲一区在线免费观看| 精品51国产黑色丝袜高跟鞋| 国产一级久久| 国产一区二区在线免费观看| 国产综合色精品一区二区三区| 欧美精品手机在线| 欧美在线播放一区| 亚洲深爱激情| 欧美深夜影院| 欧美精品一区二区三区久久久竹菊| 国产一区二区久久精品| 国产亚洲毛片在线| 尤物精品在线| 亚洲人成在线播放网站岛国| 欧美黄色免费| 欧美激情精品久久久六区热门| 亚洲欧洲日产国码二区| 影视先锋久久| 久久精品人人| 午夜精品视频在线观看| 亚洲国产一区二区视频| 香蕉久久精品日日躁夜夜躁| 欧美在线一二三四区| 红桃视频亚洲| 欧美日韩成人综合在线一区二区| 美女免费视频一区| 国产真实久久| 欧美影院视频| 9色porny自拍视频一区二区| 久热这里只精品99re8久| 国产综合久久久久久鬼色| 国产精品日韩电影| 亚洲综合首页| 欧美屁股在线| 国产精品国产精品国产专区不蜜| 宅男在线国产精品| 欧美国产综合视频| 一区二区三区精品在线| 国产精品久在线观看| 国产精品天美传媒入口| 免费精品99久久国产综合精品| 国产日韩精品一区二区三区| 男人的天堂亚洲在线| 国产农村妇女精品一区二区| 国产精品狼人久久影院观看方式| 香蕉国产精品偷在线观看不卡| 亚洲精品日韩欧美| 欧美一二三视频| 韩国成人福利片在线播放| 国内精品伊人久久久久av影院| 亚洲国产毛片完整版| 久久精视频免费在线久久完整在线看| 亚洲天堂av高清| 国产偷自视频区视频一区二区| 日韩视频免费在线| 精品av久久707| 卡一卡二国产精品| 国产午夜精品久久| 韩日午夜在线资源一区二区| 国产主播在线一区| 免费观看在线综合| 国产欧美一区二区精品忘忧草| 欧美天堂在线观看| 久久久精品一品道一区| 久久精品成人| 欧美激情女人20p| 日韩一区二区福利| 免费在线观看一区二区| 国产日产高清欧美一区二区三区| 亚洲国产精品热久久| 欧美日韩亚洲激情| 极品av少妇一区二区| 亚洲一区二区三区免费视频| 一本到12不卡视频在线dvd| 亚洲精品国产品国语在线app| 亚洲精品日韩综合观看成人91| 最近看过的日韩成人| 欧美成人精品一区二区| 欧美一区二区三区视频免费| 国产精品美女久久久久久2018| 香蕉久久一区二区不卡无毒影院| 亚洲视频在线一区| 国产午夜精品美女视频明星a级| 欧美激情一区二区三区不卡| 国产精品久久婷婷六月丁香| 欧美国产日韩一区二区三区| 久久女同精品一区二区| 美女精品一区| 性久久久久久久| 欧美高清视频一区二区| 99国产精品国产精品久久| 欧美经典一区二区三区| 国产丝袜美腿一区二区三区| 欧美日本高清| 亚洲亚洲精品三区日韩精品在线视频| 在线观看视频一区| 日韩一级视频免费观看在线| 亚洲无毛电影| 久久黄色小说| 欧美日韩一区二| 国产精品高潮呻吟久久| 91久久线看在观草草青青| 亚洲天堂av综合网| 久久久97精品| 香蕉av777xxx色综合一区| 国产精品第13页| 国产日韩欧美在线播放不卡| 在线视频亚洲| 国产亚洲成av人在线观看导航| 亚洲一区二区不卡免费| 一本一本久久a久久精品综合麻豆| 国产欧美69| 亚洲欧美在线一区二区| 激情视频亚洲| 国产精品99久久99久久久二8| 国产精品一区二区三区四区| 精品69视频一区二区三区| 99精品久久| 日韩视频在线观看免费| 欧美经典一区二区| 国产一区二区三区在线观看视频| 久久aⅴ国产欧美74aaa| 欧美在线影院| 欧美一级黄色网| 国内成人在线| 欧美喷水视频| 国产精品乱子久久久久| 欧美尤物巨大精品爽| 亚洲人成网在线播放| 夜夜嗨一区二区| 在线成人激情黄色| 老牛嫩草一区二区三区日本| 国内久久精品| 国产欧美一区二区三区另类精品| 亚洲一二三四久久| 亚洲精品乱码久久久久久按摩观| 国产精品白丝av嫩草影院| 尤物视频一区二区| 久久精品亚洲精品| 一本到12不卡视频在线dvd| 在线观看一区欧美| 欧美精品午夜视频| 欧美寡妇偷汉性猛交| 久久免费黄色| 亚洲黄色成人久久久| 久久九九全国免费精品观看| 国产嫩草一区二区三区在线观看| 欧美日韩免费高清| 久久久综合激的五月天| 欧美一区不卡| 欧美美女bbbb| 欧美在线二区| 韩国视频理论视频久久| 一区二区三区四区国产| 亚洲自拍都市欧美小说| 红桃视频欧美| 久久精品亚洲乱码伦伦中文| 在线亚洲免费视频| 亚洲欧洲一区二区在线观看| 欧美激情一级片一区二区| 亚洲黄色天堂| 欧美久久一区| 欧美激情在线观看| 暖暖成人免费视频| 欧美日韩国产一区精品一区| 国产欧美日韩在线播放| 国产一在线精品一区在线观看| 亚洲天堂第二页| 亚洲欧美成人精品| 另类综合日韩欧美亚洲| 亚洲午夜91| 亚洲高清免费| 亚洲一区在线直播| 欧美激情影院| 一区国产精品| 99国产精品久久久久老师| 国模私拍一区二区三区| 欧美国产综合视频| 欧美一区二区网站| 一本一本久久a久久精品综合妖精| 亚洲国内欧美| 亚洲国产一区二区视频| 亚洲自拍偷拍一区| 欧美丰满高潮xxxx喷水动漫| 国产精品成人观看视频国产奇米| 亚洲一区二区三区在线播放| 欧美va亚洲va国产综合| 欧美视频免费在线观看| 狠狠色综合播放一区二区| 国产亚洲欧美日韩日本| 久久久久久久久久久成人| 国产精品一区二区欧美| 亚洲欧洲一区二区三区| 亚洲线精品一区二区三区八戒| 久久夜精品va视频免费观看| 免费成人黄色片| 亚洲免费影视| 亚洲精品久久久蜜桃| 一区二区免费看| 欧美国产免费| 欧美在线观看你懂的| 尤物yw午夜国产精品视频| 久久午夜av| 亚洲欧美日韩国产| 精品1区2区3区4区| 欧美色另类天堂2015| 精品成人一区二区三区四区| 精品999在线播放| 国产精品大片| 久久一区二区三区超碰国产精品| 精品成人一区二区三区四区| 亚洲国产日韩欧美综合久久| 欧美日韩国产va另类| 国产一区二区三区四区五区美女| 欧美一级二区| 欧美一级二区| 午夜精品久久久久99热蜜桃导演| 国产亚洲欧洲| 久久久久九九九| 午夜精品视频在线观看一区二区| 国产精品久久久久aaaa九色| 亚洲乱码日产精品bd| 久久国产精品久久久久久电车|