亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        UniSan:防止操作系統(tǒng)內(nèi)核中由未初始化導(dǎo)致的信息泄漏

        2016-02-05 02:32:54盧康杰
        中國教育網(wǎng)絡(luò) 2016年12期
        關(guān)鍵詞:編譯器內(nèi)核字節(jié)

        文/盧康杰

        UniSan:防止操作系統(tǒng)內(nèi)核中由未初始化導(dǎo)致的信息泄漏

        文/盧康杰

        盧康杰

        佐治亞理工學(xué)院一名5年級計(jì)算機(jī)科學(xué)博士生,導(dǎo)師為Wenke Lee和Taesoo Kim。他的研究興趣是發(fā)現(xiàn)并解決系統(tǒng)安全,軟件安全,及手機(jī)安全領(lǐng)域的根本性安全問題。他的研究成果頗受學(xué)術(shù)圈認(rèn)可,目前他已經(jīng)發(fā)表8篇四大頂級安全會議的文章。

        個人主頁:

        http://www.cc.gatech.edu/~klu38。

        操作系統(tǒng)內(nèi)核作為可信計(jì)算基(TCB),其安全性是至關(guān)重要的。為保證內(nèi)核的安全性,多種安全機(jī)制已經(jīng)被普遍應(yīng)用,其中主要包括kASLR和StackGuard。然而這兩種安全機(jī)制的有效性的前提是內(nèi)核中沒有信息泄漏。換句話說,如果有信息泄漏,kASLR和StackGuard將會變得沒有意義,因?yàn)樗鼈兯蕾嚨囊恍╇S機(jī)值會被泄漏。那么問題來了,內(nèi)核中是否存在大量的信息泄露?我們通過調(diào)研分析發(fā)現(xiàn)答案是肯定的:內(nèi)核中存在大量的信息泄漏漏洞。比如,僅2013年就有近60個有CVE的Linux內(nèi)核信息漏洞。隨著進(jìn)一步研究發(fā)現(xiàn)大部分信息泄漏(大約60%)是因?yàn)樽x取未初始化內(nèi)存(uninitialized data read)導(dǎo)致,如圖1所示。

        可以想象一下,如果建立一個內(nèi)存對象(memory object)但不去初始化它,那么讀取這個內(nèi)存對象所得到的數(shù)據(jù)將會是以前遺留在內(nèi)存中的一些數(shù)據(jù)。如果這些數(shù)據(jù)包含kASLR隨機(jī)過的地址,StackGuard使用的隨機(jī)canary,或者是之前用戶遺漏的密碼等重要信息,那么就會造成這些重要信息的泄漏。而導(dǎo)致讀取未初始化內(nèi)存的原因又分為兩種:程序員的疏忽和編譯器的優(yōu)化。編譯器的問題導(dǎo)致了一個嚴(yán)重且普遍的問題:即使程序員初始化一個對象中的所有成員,仍然有一些字節(jié)沒有被初始化。代碼1列出了一個例子。在這個例子中程序員初始化了內(nèi)核堆棧對象“ci”的每一個成員,然而編譯器在第二個成員“slow”之后插入的3個填充字節(jié)仍然沒有初始化,當(dāng)“copy_ to_user”把未初始化字節(jié)拷貝給用戶空間時導(dǎo)致信息泄漏。目前已經(jīng)有很多攻擊利用這樣的信息泄漏來突破kASLR和StackGuard然后實(shí)現(xiàn)iOS越獄,Android root等等攻擊。雖然這個問題這么嚴(yán)重,然而,目前并沒有有效地防止讀取未初始化內(nèi)存的方法或工具。

        圖1 導(dǎo)致Linux 內(nèi)核信息泄漏原因統(tǒng)計(jì)(2013-2016年)

        為了解決這個問題讀取未初始化導(dǎo)致信息安全泄漏,我們提出了一種基于LLVM編譯器的方法。簡單來說,需要通過細(xì)顆粒度的(字節(jié)級別)、跨函數(shù)的、精確的可到達(dá)性和初始化性程序分析來檢查是否存在這樣一些不安全內(nèi)存對象:存在至少一條程序路徑使得一個內(nèi)存對象在離開內(nèi)核空間的時候并沒有完全被初始化。當(dāng)檢測出這樣的內(nèi)存對象以后,我們會在內(nèi)核中插入一些代碼對這些內(nèi)存對象進(jìn)行置零初始化。在實(shí)現(xiàn)UniSan過程中,通過設(shè)計(jì)很多方法來保證程序分析的完全性(也就是沒有漏報(bào)),比如解決了找間接調(diào)用對象的問題。目前已經(jīng)基于LLVM實(shí)現(xiàn)了UniSan,并且用它來保護(hù)最新的Linux內(nèi)核和Android內(nèi)核。實(shí)驗(yàn)結(jié)果顯示UniSan保護(hù)過的內(nèi)核運(yùn)行非常穩(wěn)定,毫無問題。作為驗(yàn)證,我們發(fā)現(xiàn)UniSan能完全防止已有的信息安全漏洞并且發(fā)現(xiàn)大量的新漏洞。

        代碼1 編譯器優(yōu)化插入未初始化的填充字節(jié),導(dǎo)致信息泄漏

        從性能角度看,UniSan幾乎沒有引起任何性能的降低(大多數(shù)情況下,性能影響小于0.5%)。綜合這些實(shí)驗(yàn)結(jié)果,UniSan以一種有效的,高性能的,無漏報(bào)的方法解決了操作系統(tǒng)內(nèi)核中由讀取未初始化內(nèi)存導(dǎo)致的普遍的信息泄漏問題。

        (注:原文發(fā)表在ACM CCS 2016,更多細(xì)節(jié)請看UniSan文章:http://www.cc.gatech.edu/~klu38/ publications/unisan-ccs16.pdf)

        猜你喜歡
        編譯器內(nèi)核字節(jié)
        萬物皆可IP的時代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
        No.8 字節(jié)跳動將推出獨(dú)立出口電商APP
        強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        基于相異編譯器的安全計(jì)算機(jī)平臺交叉編譯環(huán)境設(shè)計(jì)
        No.10 “字節(jié)跳動手機(jī)”要來了?
        基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
        Linux內(nèi)核mmap保護(hù)機(jī)制研究
        簡談MC7字節(jié)碼
        通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
        編譯器無關(guān)性編碼在微控制器中的優(yōu)勢
        少妇的丰满3中文字幕| 亚洲最大成人网站| 青春草在线视频免费观看| 欧美成人精品第一区二区三区| 日韩成人精品日本亚洲| 高清成人在线视频播放| 亚洲av免费手机在线观看| 一品二品三品中文字幕| 亚洲日本欧美产综合在线| 亚洲天堂色婷婷一区二区| 一区二区三区国产精品乱码| 帮老师解开蕾丝奶罩吸乳视频| 久久精品国产亚洲vr| 日韩人妻av不卡一区二区三区| 国产av一区二区三区在线播放 | 久久九九有精品国产尤物| 蜜桃色av一区二区三区麻豆| 日本精品一区二区三区二人码| 亚洲一区二区三区无码国产| 99精品热6080yy久久| 国产三级在线观看不卡| 国产精品日日做人人爱| 3d动漫精品一区二区三区| 日本视频一区二区三区免费观看 | 亚洲精品久久麻豆蜜桃| 亚洲精品一区久久久久一品av| 国产成人精品日本亚洲11| 久久与欧美视频| 日本午夜艺术一区二区| 337p人体粉嫩胞高清视频| 亚洲精品免费专区| 成人免费毛片在线播放| 99国产精品久久99久久久| 射死你天天日| 亚洲欧美日韩在线中文一| 黑人玩弄极品人妻系列视频| 疯狂的欧美乱大交| 99精品一区二区三区免费视频| 中文字幕人成乱码中文| 久久久久久久亚洲av无码| av无码久久久久久不卡网站|