本篇文章為大家展示了針對(duì)Intel SGX平臺(tái)的滲透測(cè)試攻擊框架Sgx-Step該怎么搭建,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)專注于塔什庫(kù)爾干塔吉克網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供塔什庫(kù)爾干塔吉克營(yíng)銷型網(wǎng)站建設(shè),塔什庫(kù)爾干塔吉克網(wǎng)站制作、塔什庫(kù)爾干塔吉克網(wǎng)頁(yè)設(shè)計(jì)、塔什庫(kù)爾干塔吉克網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造塔什庫(kù)爾干塔吉克網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供塔什庫(kù)爾干塔吉克網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
工具概述
類似Intel SGX這樣的可信執(zhí)行環(huán)境能夠保證目標(biāo)計(jì)算機(jī)在受到網(wǎng)絡(luò)攻擊或入侵的時(shí)候,仍然能夠保證敏感計(jì)算不受影響。而本文所介紹的SGX-Step是一款針對(duì)Intel SGX平臺(tái)的開(kāi)源測(cè)信道攻擊研究框架,SGX-Step由一個(gè)Linux內(nèi)核驅(qū)動(dòng)器和用戶空間庫(kù)組成,它將允許我們配置不受信任的頁(yè)表?xiàng)l目并完全從用戶空間環(huán)境(Enclave)中斷x86 APIC計(jì)時(shí)器。我們提出并評(píng)估了一種改進(jìn)的從指令級(jí)粒度上出發(fā)的單步Enclave執(zhí)行技術(shù),并演示了SGX-Step如何來(lái)執(zhí)行多種高級(jí)攻擊。
與以前的Enclave搶占方案不同,SGX-Step設(shè)計(jì)的關(guān)鍵是為了保存頁(yè)表項(xiàng)的物理內(nèi)存位置以及本地APIC內(nèi)存映射I/O配置寄存器和x86中斷描述符表(IDT)。這將允許不受信任的主機(jī)進(jìn)程(攻擊者控制)輕松(i)跟蹤或修改Enclave頁(yè)表?xiàng)l目,(ii)配置APIC計(jì)時(shí)器的一次性/定期中斷源,(iii)觸發(fā)內(nèi)部處理器中斷,(iv)以及完全在用戶空間中注冊(cè)自定義的中斷處理程序。
下圖中顯示的是我們的框架中斷和恢復(fù)SGX Enclave時(shí)的硬件和軟件操作步驟:
1、本地APIC計(jì)時(shí)器中斷抵達(dá)一個(gè)加密指令內(nèi)。
2、處理器執(zhí)行AEX過(guò)程,該過(guò)程安全地將執(zhí)行上下文存儲(chǔ)在enclave的SSA幀中,初始化CPU寄存器,并將向量存儲(chǔ)到IDT中注冊(cè)的(用戶空間)中斷處理程序。
3、此時(shí),任何特定于攻擊的間諜代碼都可以輕松插入。
4、代碼庫(kù)會(huì)返回至用戶空間AEP。我們修改了官方SGX SDK的不受信運(yùn)行時(shí)環(huán)境,以便輕松注冊(cè)自定義AEP stub。
5、接下來(lái),我們?cè)趫?zhí)行(6)ERESUME之前,通過(guò)寫入初始計(jì)數(shù)MMIO寄存器,為下一個(gè)中斷配置本地APIC計(jì)時(shí)器。
SGX-Step需要使用到一個(gè)SGX-capabel Intel處理器以及一個(gè)Linux內(nèi)核。我們將其升級(jí)為了i7-6500U/6700 CPU,并且能夠在Ubuntu 16.04(內(nèi)核版本4.15.0)平臺(tái)上運(yùn)行。相關(guān)的Linux內(nèi)核參數(shù)如下:
Linux內(nèi)核參數(shù) | 功能 |
---|---|
nox2apic | 在內(nèi)存映射I/O模式下配置本地APIC設(shè)備(以利用SGX-Step的精確單步執(zhí)行功能)。 |
iomem=relaxed, no_timer_check | 過(guò)濾內(nèi)核日志中不需要的警告消息。 |
isolcpus=1 | 將目標(biāo)進(jìn)程與一個(gè)獨(dú)立的CPU核心關(guān)聯(lián)起來(lái)。 |
dis_ucode_ldr | 禁用CPU微碼更新。 |
我們可以通過(guò)下列方式來(lái)將相應(yīng)啟動(dòng)參數(shù)傳遞至內(nèi)核執(zhí)行:
$ sudo vim /etc/default/grub # GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nox2apic iomem=relaxed no_timer_check isolcpus=1"$ sudo update-grub && sudo reboot
最后,為了復(fù)現(xiàn)我們的研究成果,請(qǐng)確保在BIOS中禁用了了C-States和SpeedStep技術(shù)。下表中列出的是該工具目前所支持的Intel CPU以及相應(yīng)的單步APIC計(jì)時(shí)器間隔(libsgxstep/config.h):
模塊名稱 | CPU | 頻率 | APIC計(jì)時(shí)器間隔 |
---|---|---|---|
Skylake | i7-6700 | 3.4 GHz | 19 |
Skylake | i7-6500U | 2.5 GHz | 25 |
Skylake | i5-6200U | 2.3 GHz | 28 |
Kaby Lake R | i7-8650U | 1.9 GHz | 34 |
Coffee Lake R | i9-9900K | 3.6 GHz | 21 |
為了啟用和注冊(cè)自定義的AEP stub,我們修改了官方Intel SGX SDK的不受信運(yùn)行時(shí)環(huán)境:
$ git submodule init$ git submodule update$ ./install_SGX_driver.sh # tested on Ubuntu 16.04$ ./patch_sdk.sh$ ./install_SGX_SDK.sh # tested on Ubuntu 16.04
SGX-Step自帶了可加載的內(nèi)核模塊,支持導(dǎo)出IOCTL接口。運(yùn)行下列命令即可構(gòu)建和加載/dev/sgx-step驅(qū)動(dòng)器:
$ cd kernel$ make clean load
$ cd app/bench$ NUM=100 STRLEN=1 make parse # alternatively vary NUM and use BENCH=1 or ZIGZAG=1$ # (above command defaults to the Dell Inspiron 13 7359 evaluation laptop machine;$ # use DESKTOP=1 to build for a Dell Optiplex 7040 machine)$ # use SGX_SDK=/home/jo/sgxsdk/ for a local SDK installation$ # use M32=1 To produce a 32-bit executable
如果你想在自己的項(xiàng)目中使用SGX-Step的話,最簡(jiǎn)單的方法就是通過(guò)git子模塊來(lái)使用:
$ cd my/git/project$ git submodule add [email protected]:jovanbulck/sgx-step.git$ cd sgx-step # Now build `/dev/sgx-step` and `libsgxstep` as described above
接下來(lái),進(jìn)入app目錄并查看Makefiles,我們將會(huì)看到一個(gè)客戶端應(yīng)用程序與libsgxstep以及其他本地SGX SDK/PSW包建立了連接。
上述內(nèi)容就是針對(duì)Intel SGX平臺(tái)的滲透測(cè)試攻擊框架Sgx-Step該怎么搭建,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站題目:針對(duì)IntelSGX平臺(tái)的滲透測(cè)試攻擊框架Sgx-Step該怎么搭建
本文地址:http://chinadenli.net/article40/gpcdeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航、商城網(wǎng)站、全網(wǎng)營(yíng)銷推廣、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)