99久久国产综合精品国_亚洲av日韩aⅴ电影_午夜福利在线电影_亚洲aⅤ色欲久久一区二区三区_91九色蝌蚪国产精品_亚洲av无码乱码在线观看四虎_4国产精品无码制服丝袜_亚洲Av成人五月天在线观看_牛牛成人永久免费视频_午夜福利在线资源


扒一扒瀏覽器的安全機(jī)制

本文原創(chuàng)作者:梅孜,本文屬FreeBuf原創(chuàng)獎勵計劃,未經(jīng)許可禁止轉(zhuǎn)載

隨著互聯(lián)網(wǎng)深入人們的生活,瀏覽器的發(fā)展更加豐富多彩,其種類多樣,版本更新速度也日益提高。與此同時,瀏覽器的安全問題也備受關(guān)注。下面,我們就扒一扒主流瀏覽器實(shí)現(xiàn)了什么樣的安全機(jī)制。

一、背景
隨著互聯(lián)網(wǎng)的快速發(fā)展,種類繁多的瀏覽器也變得越來越復(fù)雜,它們不僅分析純文本和HTML,還包括圖像、視頻和其他復(fù)雜的協(xié)議和文件格式等。這些極大地豐富了瀏覽器的功能,給用戶帶來了方便和更好的瀏覽體驗(yàn),然而也帶來了一系列的安全問題,各種各樣的安全漏洞層出不窮,成為了黑客最易攻擊的對象之一。為此,瀏覽器廠商也在不懈努力,在積極修復(fù)漏洞的同時,也在瀏覽器安全機(jī)制方面做著努力,本文將展示和對比主流瀏覽器當(dāng)前對安全機(jī)制的實(shí)現(xiàn)狀況。

首先來看看最近全球?yàn)g覽器的市場份額,根據(jù)Net Market Share的統(tǒng)計數(shù)據(jù),2016年7月份全球?yàn)g覽器的市場份額如下圖所示:Chrome占據(jù)市場份額最多,占50.95%,其次是占29.60%的IE,接下來依次是Firefox、Safari和Edge,這五款瀏覽器占據(jù)了全球98.27%的市場份額,其影響力非同一般。
01

圖1 2016年7月份全球?yàn)g覽器市場份額分布圖

二、瀏覽器安全機(jī)制簡介
近來,我們對上述五款瀏覽器的安全機(jī)制做了初步的探究,發(fā)現(xiàn)其內(nèi)部的安全機(jī)制大同小異,下面就其主要的安全機(jī)制做一下簡單介紹。

1、沙箱(Sandbox)
沙箱是一種隔離對象/線程/進(jìn)程的機(jī)制,控制瀏覽器訪問系統(tǒng)資源的權(quán)限,從而達(dá)到保護(hù)用戶的系統(tǒng)不被網(wǎng)頁上的惡意軟件侵入、保護(hù)用戶系統(tǒng)的輸入事件(鍵盤/鼠標(biāo))不被監(jiān)視、保護(hù)用戶系統(tǒng)中的文件不被偷取等目的。最初的瀏覽器沙箱是基于Hook實(shí)現(xiàn)的,后來的Chrome沙箱是利用操作系統(tǒng)提供的一些安全機(jī)制實(shí)現(xiàn)的。

2、地址空間布局隨機(jī)化(ASLR)
ASLR是一項(xiàng)緩解緩沖區(qū)溢出問題的安全技術(shù)。其原理是將進(jìn)程運(yùn)行所需的系統(tǒng)核心組件和對象在內(nèi)存中的分布隨機(jī)化。為了防止攻擊者利用在內(nèi)存中跳轉(zhuǎn)到特定地址的函數(shù),ASLR技術(shù)隨機(jī)排列進(jìn)程的關(guān)鍵數(shù)據(jù)區(qū)域的位置,包括可執(zhí)行的部分、堆、棧及共享庫的位置。

3、JIT Hardening

JIT Hardening是防止對JIT引擎本身的濫用的機(jī)制。JIT引擎通常在可預(yù)測的地址空間中放置可執(zhí)行代碼,這無疑給攻擊者提供了可乘之機(jī)。只要攻擊者計算出可執(zhí)行代碼放置的地址,極有可能通過代碼覆蓋來進(jìn)行惡意活動。因此,必須有一項(xiàng)類似于ASLR的技術(shù)來保護(hù)JIT引擎,即JIT Hardienng。JIT Hardening常用技術(shù)包括:代碼庫隊(duì)列隨機(jī)化、指令庫隊(duì)列隨機(jī)化、常量合并、內(nèi)存頁面保護(hù)、資源限制等。

4、數(shù)據(jù)執(zhí)行保護(hù)(DEP)
DEP是一種阻止數(shù)據(jù)頁執(zhí)行代碼的機(jī)制。將數(shù)據(jù)所在內(nèi)存頁標(biāo)識為不可執(zhí)行,當(dāng)程序嘗試在數(shù)據(jù)頁面上執(zhí)行指令時會拋出異常,而不是去執(zhí)行惡意指令。

5、緩沖區(qū)安全檢查(/GS)
/GS是一種不強(qiáng)制緩沖區(qū)大小限制的代碼常用技術(shù)。通過將安全檢查插入到已編譯代碼中完成,檢測某些改寫返回地址的緩沖區(qū)溢出。

6、執(zhí)行流保護(hù)(CFG)
CFG是對CFI(控制流完整性)的一個實(shí)用性實(shí)現(xiàn),是一種編譯器和操作系統(tǒng)相結(jié)合的防護(hù)手段,目的在于防止不可信的間接調(diào)用。對基于虛表進(jìn)行攻擊的利用手段可以有效防御。

7、附加組件簽名機(jī)制
附加組件簽名機(jī)制是Firefox43版本開始正式采取的一項(xiàng)對其附加組件管理的機(jī)制。Mozilla 根據(jù)一套安全準(zhǔn)則對其附加組件進(jìn)行驗(yàn)證并為其“簽名”,需要簽名的類型包括擴(kuò)展,未被簽名的擴(kuò)展默認(rèn)被禁用。這一機(jī)制對阻止來自第三方的惡意擴(kuò)展起到了很好的作用。

8、W^X
W^X是“寫異或執(zhí)行”(WriteXOR Execute)的縮寫,是OpenBSD中富有代表性的安全特性之一。W^R內(nèi)存保護(hù)機(jī)制能夠讓網(wǎng)頁使用內(nèi)存寫入代碼或執(zhí)行代碼,但不能夠同時進(jìn)行這兩種操作,可以阻止某些緩沖區(qū)溢出的攻擊。

9、MemGC
MemGC即內(nèi)存垃圾收集器(Memory Garbage Collector),是一種內(nèi)存管理機(jī)制,由IE11的Memory Protector改進(jìn)而來,首次在EdgeHTML和MSHTML中使用,采用標(biāo)記清除(Mark-Sweep)算法對垃圾進(jìn)行回收,能夠阻止部分UAF(Use After Free)漏洞。

需要指出的一點(diǎn)是,上述幾種安全機(jī)制并不是瀏覽器獨(dú)有,有些機(jī)制,例如ASLR、/GS、CFG等,也被操作系統(tǒng)和編譯器廣泛采用。以上就是對幾種主要安全機(jī)制的簡單介紹,不夠全面和詳盡,還請大神勿噴。

三、主流瀏覽器對安全機(jī)制的實(shí)現(xiàn)情況
對于前面提到的幾種瀏覽器安全機(jī)制,主流瀏覽器并不是全部實(shí)現(xiàn)了,具體情況如下表所示:
02

圖2 主流瀏覽器安全機(jī)制的對比情況表

由表可以明顯看出,除了Safari以外,其他四種瀏覽器均實(shí)現(xiàn)了前六種安全機(jī)制。而Safari不支持緩沖區(qū)安全檢查機(jī)制,未實(shí)現(xiàn)CFG執(zhí)行流保護(hù)機(jī)制但有資料顯示其實(shí)現(xiàn)了控制流完整性(CFI)。對于后面三種安全機(jī)制,附加組件簽名機(jī)制和W^X機(jī)制是Firefox瀏覽器獨(dú)有的,而MemGC機(jī)制是Egde瀏覽器獨(dú)有的。

在此,還需指出一點(diǎn),雖然對某一安全機(jī)制有多個瀏覽器支持,但各個瀏覽器的實(shí)現(xiàn)方式及實(shí)現(xiàn)程度不盡相同。下面舉兩個例子加以說明:

(1)雖然Edge瀏覽器和IE瀏覽器都實(shí)現(xiàn)了沙箱機(jī)制,但Edge瀏覽器將框架進(jìn)程也包含在了整個安全體系里面,權(quán)限更低,大大提高了安全性。

(2)Chrome和IE的沙箱機(jī)制對各種行為的限制也是不同的,圖3列舉了一些常見行為及Chrome和IE沙箱機(jī)制對其的限制對比情況:

03

圖3 Chrome和IE沙箱機(jī)制對部分行為的限制情況

總結(jié)
瀏覽器發(fā)展至今,已經(jīng)擁有比較成熟的安全機(jī)制,主要包括沙箱機(jī)制、JIT Hardening、地址空間布局隨機(jī)化、數(shù)據(jù)執(zhí)行保護(hù)、緩沖區(qū)安全檢查、執(zhí)行流保護(hù)、附加組件簽名機(jī)制、W^X、MemGC等。然而,瀏覽器的安全并不是已經(jīng)完全保障,各大瀏覽器廠商也在安全機(jī)制方面做著不懈的努力,期待著瀏覽器安全方面質(zhì)的提高。

參考文獻(xiàn)
https://www.netmarketshare.com/

AccuvantBrowserSecCompar_FINAL.pdf

http://www.freebuf.com/news/73858.html

https://wiki.mozilla.org/Security/Sandbox

https://developer.apple.com/safari/technology-preview/release-notes/

https://support.mozilla.org/zh-CN/kb/add-ons-signing-firefox?as=u&utm_source=inproduct

https://jandemooij.nl/blog/2015/12/29/wx-jit-code-enabled-in-firefox/

https://securityintelligence.com/memgc-use-after-free-exploit-mitigation-in-edge-and-ie-on-windows-10/

*本文原創(chuàng)作者:梅孜,本文屬FreeBuf原創(chuàng)獎勵計劃,未經(jīng)許可禁止轉(zhuǎn)載


下一篇

聯(lián)系我們:cert@chaosec.com