Intel SGX

注:本文不涉及專業(yè)技術(shù)細(xì)節(jié),放心食用,看不懂也可直接看總結(jié)部分


BIOS中的SGX選項(xiàng)

Why

程序要運(yùn)行,就離不開(kāi)內(nèi)存,
程序使用的數(shù)據(jù)先從硬盤(pán)加載進(jìn)內(nèi)存,
才被CPU執(zhí)行.

放在一個(gè)具體場(chǎng)景里講,
軟件A將一加密狀態(tài)的txt文本,
從硬盤(pán)加載到內(nèi)存中并解密,
為之后的執(zhí)行邏輯做鋪墊.

壞蛋B蓄謀已久,
對(duì)軟件A的運(yùn)行邏輯進(jìn)行逆向分析,
針對(duì)性的編寫(xiě)了軟件B.

B可不是一個(gè)安分的正常軟件,
因?yàn)榇蠹夜灿脙?nèi)存,它能跑到A的內(nèi)存位置,
狙擊A解密txt的時(shí)機(jī),竊取A的明文txt內(nèi)容,
最后結(jié)果是B得逞,給A造成嚴(yán)重的泄密損失.
(內(nèi)存沒(méi)有隔離)


How

現(xiàn)代操作系統(tǒng) Linux Windows Mac,
已充分意識(shí)到這個(gè)安全問(wèn)題,
它們給每個(gè)程序定下游戲規(guī)則,
每個(gè)程序,都會(huì)被上頭分配一塊內(nèi)存作為日常開(kāi)銷,
但規(guī)矩是它只能訪問(wèn)這塊內(nèi)存,跑不到別人家內(nèi)存去,
聽(tīng)起來(lái)像是隔離一樣的解決方案.
應(yīng)用程序們生活在平行宇宙中,各過(guò)各的相安無(wú)事.
(進(jìn)程虛擬內(nèi)存空間)

問(wèn)題暫時(shí)得到了解決,
不過(guò)很快人們就發(fā)現(xiàn)了新的問(wèn)題,
如果作為上級(jí)的操作系統(tǒng)也被惡意程序B搞定了呢?
即程序B拿到了操作系統(tǒng)最高權(quán)限,手握大權(quán),
能不能訪問(wèn)程序A的內(nèi)存,還不是自己說(shuō)了算?
(提升權(quán)限)

安全專家們不得不開(kāi)始考慮,
假設(shè)應(yīng)用 系統(tǒng) BIOS都不可信,
要怎樣才能實(shí)現(xiàn)內(nèi)存訪問(wèn)控制,
讓程序B規(guī)規(guī)矩矩的,永遠(yuǎn)別想惦記人家A的內(nèi)存.

同時(shí)前提是,還不能添加新硬件模塊給用戶添加負(fù)擔(dān),
這個(gè)需求太變態(tài)了.
(TCB可信計(jì)算基)


What

既然中間商們也會(huì)淪陷,直接放棄對(duì)它們信賴好了,
Intel的工程師們一拍大腿想到一個(gè)解決方案,
直接在CPU里添加一個(gè)叫SGX(Software Guard Extensions)的新功能.

現(xiàn)在程序A可以向CPU申請(qǐng)一塊內(nèi)存安全區(qū),
程序A將它的數(shù)據(jù)和代碼載入到這個(gè)內(nèi)存安全區(qū),
該內(nèi)存安全區(qū)的逆天特性是:
惡意程序B,操作系統(tǒng),甚至BIOS系統(tǒng),通通無(wú)權(quán)訪問(wèn)和干涉.

以前惡意程序B只要搞定操作系統(tǒng)就可以拿下程序A,
現(xiàn)在不好使了,它還要搞定CPU,
至此SGX實(shí)現(xiàn)內(nèi)存隔離.
(Enclave安全區(qū))


放在一個(gè)具體場(chǎng)景里舉例

1Password是一款全球流行的密碼管理軟件,
日常使用它時(shí),我們需要輸入密碼密鑰等,
執(zhí)行驗(yàn)證和解密后,才能查看保存在其中的各類密碼.

用戶把密碼輸進(jìn)1Password后,
密碼會(huì)出現(xiàn)在1Password運(yùn)行時(shí)的內(nèi)存中,
在以前,擁有操作系統(tǒng)權(quán)限的惡意程序B,
是有能力在內(nèi)存中嘗試窺探這些密碼密鑰的.

現(xiàn)在1Password使用了Intel SGX技術(shù),
把密鑰數(shù)據(jù)和加解密過(guò)程扔進(jìn)了安全區(qū)里,
使用操作系統(tǒng)管理員權(quán)限也無(wú)權(quán)訪問(wèn)篡改.
(1Password請(qǐng)給我打錢)


和TPM的區(qū)別?

TPM用于OS和應(yīng)用的靜態(tài)完整性度量.
SGX除了提供程序加載時(shí)的完整性驗(yàn)證外,還保證程序運(yùn)行時(shí)安全,緩解針對(duì)程序運(yùn)行時(shí)的攻擊.


普通用戶如何開(kāi)啟SGX功能?

1 CPU支持SGX功能
2 BIOS支持SGX功能
3 BIOS中開(kāi)啟SGX功能
4 安裝Intel SGX PSW軟件


SGX相關(guān)安全問(wèn)題

SGX拉高了軟件運(yùn)行時(shí)安全的下限,但并非萬(wàn)無(wú)一失的,
業(yè)界已經(jīng)對(duì)SGX技術(shù)展開(kāi)了廣泛的安全研究,
出現(xiàn)了一些針對(duì)性的邊信道攻擊的案例,
如比較出名的SGX Foreshadow 預(yù)兆漏洞),
由于內(nèi)容過(guò)于硬核,我基本上沒(méi)有看懂,
這里內(nèi)容就不往下展開(kāi)了.


總結(jié)

應(yīng)用程序運(yùn)行時(shí)申請(qǐng)了一塊安全的內(nèi)存空間,只有它自己能訪問(wèn),
其他惡意軟件,即使是操作系統(tǒng)都無(wú)權(quán)訪問(wèn),
加解密過(guò)程和密鑰放入其中得到了保護(hù),
實(shí)現(xiàn)了黑箱子一樣的效果.

不依賴TPM芯片,
不用信任TPM芯片,
將可信計(jì)算基縮小到了CPU.


參考

SGX技術(shù)的分析和研究
http://www.jos.org.cn/html/2018/9/5594.htm#b18

360冰刃實(shí)驗(yàn)室-調(diào)試Released SGX Enclave
https://www.anquanke.com/post/id/209744

Sgx-Step:一款針對(duì)Intel SGX平臺(tái)的滲透測(cè)試攻擊框架
https://www.freebuf.com/articles/system/220234.html

SGX可能遇到的攻擊
https://zhuanlan.zhihu.com/p/42088755

SGX側(cè)信道攻擊綜述
https://www.freebuf.com/articles/system/149551.html

Spectre攻擊變體SgxSpectre現(xiàn)身能從Intel SGX封裝中提取數(shù)據(jù)
https://www.anquanke.com/post/id/99843

Using Intel’s SGX to keep secrets even safer
https://blog.1password.com/using-intels-sgx-to-keep-secrets-even-safer/

Detecting and Enabling Intel? SGX | Intel Software
https://www.youtube.com/watch?v=bca5NcjoEdc

Foreshadow漏洞
Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution
https://www.usenix.org/conference/usenixsecurity18/presentation/bulck
https://en.wikipedia.org/wiki/Foreshadow

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載兵罢,如需轉(zhuǎn)載請(qǐng)通過(guò)簡(jiǎn)信或評(píng)論聯(lián)系作者。
  • 序言:七十年代末柴墩,一起剝皮案震驚了整個(gè)濱河市抬驴,隨后出現(xiàn)的幾起案子赎败,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稚失,死亡現(xiàn)場(chǎng)離奇詭異搀绣,居然都是意外死亡飞袋,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門链患,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)巧鸭,“玉大人,你說(shuō)我怎么就攤上這事麻捻「偃裕” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵贸毕,是天一觀的道長(zhǎng)郑叠。 經(jīng)常有香客問(wèn)我,道長(zhǎng)明棍,這世上最難降的妖魔是什么乡革? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上沸版,老公的妹妹穿的比我還像新娘嘁傀。我一直安慰自己,他們只是感情好视粮,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布细办。 她就那樣靜靜地躺著,像睡著了一般蕾殴。 火紅的嫁衣襯著肌膚如雪笑撞。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,741評(píng)論 1 289
  • 那天钓觉,我揣著相機(jī)與錄音娃殖,去河邊找鬼。 笑死议谷,一個(gè)胖子當(dāng)著我的面吹牛炉爆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卧晓,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼芬首,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了逼裆?” 一聲冷哼從身側(cè)響起郁稍,我...
    開(kāi)封第一講書(shū)人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎胜宇,沒(méi)想到半個(gè)月后耀怜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡桐愉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年财破,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片从诲。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡左痢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出系洛,到底是詐尸還是另有隱情俊性,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布描扯,位于F島的核電站定页,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏绽诚。R本人自食惡果不足惜典徊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一竟趾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宫峦,春花似錦、人聲如沸玫鸟。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)屎飘。三九已至妥曲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钦购,已是汗流浹背檐盟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留押桃,地道東北人葵萎。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像唱凯,于是被迫代替她去往敵國(guó)和親羡忘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348