精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

可怕!CPU暗藏了這些未公開的指令!

商務辦公
平常我們談論網絡安全問題的時候,大多數時候都是在軟件層面。談應用程序的漏洞、后端服務的漏洞、第三方開源組件的漏洞乃至操作系統的漏洞。

大家好,我是軒轅。

我們知道,我們平時編程寫的高級語言,是經過編譯器編譯以后,變成了CPU可以執行的機器指令:

而CPU能支持的指令,都在它的指令集里面了。

很久以來,我都在思考一個問題:

CPU有沒有未公開的指令?

或者說:

CPU有沒有隱藏的指令?

為什么會有這個問題?

平常我們談論網絡安全問題的時候,大多數時候都是在軟件層面。談應用程序的漏洞、后端服務的漏洞、第三方開源組件的漏洞乃至操作系統的漏洞。

但很少有機會去觸及硬件,前幾年爆發的熔斷和幽靈系列漏洞,就告訴我們,CPU也不是可信任的。

要是CPU隱藏有某些不為人知的指令,這是一件非常可怕的事情。

如果某一天,某些國家或者某些團體組織出于某種需要,利用這些隱藏的指令來發動攻擊,后果不堪設想。

雖然想到過這個問題,但我一直沒有付諸實踐去認真的研究。

直到前段時間,極客時間的一位老師分享了一份PDF給我,解答了我的疑惑。

這份PDF內容是2017年頂級黑客大會Black Hat上的一篇報告:《us-17-Domas-Breaking-The-x86-ISA》,作者是大神:@xoreaxeaxeax,熟悉匯編的同學知道這名字是什么意思嗎?

這份PDF深度研究了x86架構CPU中隱藏的指令,原報告因為是英文,看起來有些晦澀,這篇文章,我嘗試用大家易懂的語言來給大家分享一下這篇非常有意思的干貨。

有些人會問:真的會有隱藏指令的存在嗎,CPU的指令集不是都寫在指令手冊里了嗎?

我們以單字節指令為例,單字節的范圍是0x00-0XFF,總共256種組合,Intel的指令手冊中是這樣介紹單字節指令的:

橫向為單字節的高四位,縱向為單字節的低四位,順著表格定位,可以找到每一個單字節指令的定義。比如我們常見的nop指令的機器碼是0x90,就是行為9,列為0的那一格。

但是不知道你發現沒有,這張表格中還有些單元格是空的,比如0xF1,那CPU拿到一個為0xF1的指令,會怎么執行呢?

指令手冊沒告訴你。

這篇報告的主要內容就是告訴你,如何去尋找這些隱藏的指令。

指令集的搜索空間

想要找到隱藏的指令,得先明確一個問題:一條指令到底有多長,換句話說,有幾個字節,我們應該在什么樣的一個范圍內去尋找隱藏指令。

如果指令長度是固定的,比如JVM那樣的虛擬機,那問題好辦,直接遍歷就行了。

但問題難就難在,x86架構CPU的指令集屬于復雜指令集CISC,它的指令不是固定長度的。

有單字節指令,比如:

90  nop

CC int 3

C3 ret

也有雙字節指令,比如:

8B C8  mov ecx,eax

6A 20 push 20h

還有三四節、四字節、五字節···最長能有十幾個字節,比如這條指令:

指令:lock add qword cs:[eax + 4 * eax + 07e06df23h], 0efcdab89h

機器碼:2e 67 f0 48 818480 23df067e 89abcdef

一個字節、兩個字節,甚至三個四個遍歷都還能接受,4個字節最多也就42億多種組合,對于計算機來說,也還能接受。

但越往后,容量是呈指數型增長,這種情況再去遍歷,顯然是不現實的。

指令搜索算法

這份報告中提出了一種深度優先的搜索算法:

該算法的指導思想在于:快速跳過指令中無關緊要的字節。

怎么理解這句話?

比如壓棧的指令push,下面幾條雖然字節序列不同,但變化的只是數據,其實都是壓棧指令,對于這類指令,就沒必要花費時間去遍歷:

  • 68 6F 72 6C 64 push 646C726Fh
  • 68 6F 2C 20 77 push 77202C6Fh
  • 68 68 65 6C 6C push 6C6C6568h

第一個字節68就是關鍵字節,后面的四個字節都是壓入棧中的數據,就屬于無關緊要的字節。

如果能識別出這類,快速跳過,將能夠大面積減少需要遍歷的搜索空間。

(PS:本文來自公眾號:編程技術宇宙)

上面只是一個例子,如何能夠系統化的過濾掉這類指令呢?報告中提出了一個方案:

觀察指令中的有意義的字節,它們對指令的長度和異常表現會產生沖擊。

又該怎么理解這句話?

還是上面那個例子,當嘗試修改第一個字節68的時候,這一段二進制序列可能就完全變成了別的指令,甚至指令長度都會發生變化(比如把68改成90,那就變成了一個字節的nop指令),那么就認為這第一個字節是一個有意義的字節,修改了它會對指令的長度產生重要影響。

反之,如果修改后面字節的數據,會發現這仍然是一條5個字節的壓棧指令,長度沒變化,也沒有其他異常行為表現與之前不同,那么就認為后面幾個字節是無關緊要的字節。

在這個指導思想下,我們來看一個例子:

從下面這一段數據開始出發:

我們從兩個字節的指令開始遍歷:

把最后那個字節的內容+1,嘗試去執行它:

發現指令長度沒有變化(具體怎么判斷指令長度變沒變,下一節會重點討論),那就繼續+1,再次嘗試執行它:

一直這樣加下去,直到發現加到4的時候,指令長度發生了變化,長度超過了2(但具體是多少還不知道,后文會解釋):

那么在這個基礎上,長度增加1位,以指令長度為3的指令來繼續上面的探索過程:從最后一位開始+1做起。

隨著分析的深入,梳理一下指令搜索的路徑圖:

當某一條的最后一個字節遍歷至FF時,開始往回走(就像遞歸,不能一直往下,總有回去的時候):

往回走一個字節,將其+1,繼續再來:

按照這個思路,整個要搜索的指令空間壓縮到可以接受遍歷的程度:

如何判定指令長度

現在來解答前面遺留的一個問題。

上面這個算法能夠工作的一個重要前提是:

我們得知道,給末尾字節+1后,有沒有影響指令的長度。

要判斷某個字節是不是關鍵字節,就得知道這個字節的內容變化,會不會影響到指令長度,所以如果無法判斷長度有沒有變化,那上面的算法就無從談起了。

所以如何知道長度有沒有變化呢?報告中用到了一個非常巧妙的方法。

假設我們要評估下面這一串數據,前面開頭到底多少個字節是一條完整指令。

可能第一個字節0F就是一條指令。

也可能前面兩個字節0F 6A是一條指令。

還可能前面五個字節0F 6A 60 6A 79 6D是一條指令。

到底是什么情況,我們不知道,讓我們用程序來嘗試推導出來。

準備兩個連續的內存頁面,前面一個擁有可執行的權限,后面一個不能執行。

記住:當CPU發現指令位于不可執行的頁面中時,它會拋異常!

現在,在內存中這樣放置上面的數據流:第一個字節放在第一個頁面的末尾位置,后面在字節放在第二個不可執行的頁面上。

然后JMP到這條指令的地址,嘗試去執行它,CPU中的譯碼器開始譯碼:

譯碼器譯碼發現是0F,不是單字節指令,還需要繼續分析后面的字節,繼續取第二個字節:

但注意,第二個字節是位于不可執行的頁面,CPU檢查發現后會拋出頁錯誤異常:

如果我們發現CPU拋了異常,并且異常的地址指向了第二個頁面的地址,那么我們可以斷定:這條指令的長度肯定不止一個字節。

既然不止一個字節,那就往前挪一下,放兩個字節在可執行頁面,從第三個字節開始放在不可執行頁面,繼續這個過程。

繼續上面這個過程,放三個字節在可執行頁面:

四個:

當放了四個字節在可執行頁面之后,事情發生了變化:

指令可以執行了!雖然也拋了異常(因為天知道這是個什么指令,會拋什么異常),但頁錯誤的地址不再是第二個頁面的地址了!

有了這個信號,我們就知道,前面4個字節是一條完整的指令:

挖掘隱藏指令

現在核心算法和判斷指令長度的方法都介紹完了,可以正式來開挖,挖出那些隱藏的指令了!

以一臺Intel Core i7的CPU為目標,來挖一挖:

挖掘成果,收獲頗豐:

這些都是Intel指令集手冊中未交待,但CPU卻能執行的指令。

然后是AMD Athon的CPU:

挖掘成果:

那這些隱藏的指令是做什么的呢?

有些已經被逆向工程分析了。

還有的就是毫無記錄,只有Intel/AMD自己人知道了,誰知道它們用這些指令是來干嘛的?

軟件即便是開源都能爆出各種各樣的問題,何況是黑盒一樣的硬件。

CPU作為計算機中的基石,它要是出了問題,那可是大問題。

我不是陰謀論,害人之心不可有,但防人之心不可無。

看完這些,我對國產、安全、自主可控這幾個字的理解又加深了一層。

各位朋友,你對這些隱藏指令怎么看?歡迎評論區分享你的觀點。

最后,歡迎大家加入我的知識星球,新一輪的學習活動就快要開始了。

責任編輯:武曉燕 來源: 編程技術宇宙
相關推薦

2009-07-06 18:01:04

Windows CE未公開函數

2010-07-26 16:26:56

MS SQL Serv

2010-07-23 15:52:52

MS SQL Serv

2025-01-20 15:22:55

2025-06-03 08:28:00

2015-05-22 11:33:08

2018-07-12 05:33:30

2019-11-20 15:40:48

CPU軟件處理器

2022-08-15 10:47:01

IP屬地互聯網

2023-06-13 15:55:54

2021-03-08 10:58:03

漏洞Microsoft E微軟

2017-11-09 15:29:21

CPU溫度常識

2024-09-12 12:44:36

AI訓練

2021-11-10 15:37:49

Go源碼指令

2019-03-18 15:56:56

IntelAMDCPU

2023-02-02 14:16:39

GPT-4微軟

2010-07-19 15:49:22

求職陷阱

2020-11-09 07:25:20

函數 JavaScript數據

2016-09-22 15:57:29

IT石油天然氣

2020-07-10 13:58:18

Windows 7微軟軟件
點贊
收藏

51CTO技術棧公眾號

91精品人妻一区二区三区蜜桃欧美| 亚洲欧洲日夜超级视频| 日韩欧美中文字幕一区二区| 久久午夜影院| 色婷婷亚洲精品| 亚洲一区综合| 国模无码一区二区三区| 日本中文字幕不卡| 欧美华人在线视频| 日本激情小视频| 爱情电影网av一区二区| 偷拍与自拍一区| 日本一区二区三区在线视频| 国产suv一区二区| 西西裸体人体做爰大胆久久久| 丝袜美腿亚洲一区二区| 中文字幕无码人妻少妇免费| 久久久久黄色| 岛国av一区二区| 亚洲第一精品区| 伦理片一区二区三区| 国产综合成人久久大片91| 欧美亚洲第一区| www色aa色aawww| 少妇精品久久久一区二区| 欧美刺激午夜性久久久久久久| 国产精品涩涩涩视频网站| 久久青青色综合| 亚洲少妇中出一区| 亚洲精品一区国产精品| 日韩在线免费看| 成人在线综合网站| 91在线免费观看网站| 日日夜夜狠狠操| 亚洲裸体俱乐部裸体舞表演av| 久久精品一偷一偷国产| 久久久久久久毛片| 亚洲人成伊人成综合图片| 欧美sm美女调教| 韩国三级与黑人| 永久免费观看精品视频| 欧美性三三影院| 日韩av在线综合| av资源亚洲| 欧美色另类天堂2015| 国产 日韩 欧美在线| 自由的xxxx在线视频| 中文字幕中文字幕一区| 亚欧精品在线| 国产午夜在线观看| 国产欧美日韩视频一区二区| 欧美黄色直播| 国际av在线| 久久男人中文字幕资源站| 久久青青草综合| 欧美套图亚洲一区| 久久久噜噜噜久噜久久综合| 久久久久久久久一区二区| 国产精品国产高清国产| 99久久精品情趣| 欧美不卡1区2区3区| 日韩午夜影院| 国产日本欧洲亚洲| 亚洲免费精品视频| 免费在线毛片网站| 亚洲老妇xxxxxx| a级黄色片免费| 国精产品一区一区三区mba下载| 一区二区高清在线| 免费av手机在线观看| 成人在线高清免费| 精品久久久精品| 可以在线看的黄色网址| 岛国一区二区| 日韩一区二区在线看片| 精品人妻伦一二三区久| 一本色道久久综合亚洲精品酒店| 亚洲色图五月天| 91入口在线观看| 18岁网站在线观看| 91久久国产综合久久91猫猫| 色婷婷国产精品久久包臀| 国产精品久久久久9999小说| 国产精品久久久久久吹潮| 欧美妇女性影城| 少妇伦子伦精品无吗| 农村少妇一区二区三区四区五区| 亚洲欧美成人网| 在线观看天堂av| 国产在线成人| 国产精品video| 国产欧美一区二区三区视频在线观看| 国产寡妇亲子伦一区二区| 精品国产中文字幕| 中文字幕日本在线观看| 亚洲黄色在线视频| 色诱视频在线观看| 精品久久亚洲| 亚洲欧美国产精品专区久久| 国产男女猛烈无遮挡在线喷水| 亚洲性人人天天夜夜摸| 国产精品毛片a∨一区二区三区|国| 国产精品久久久久久无人区| 91在线精品一区二区三区| 中文字幕在线中文字幕日亚韩一区| 女人天堂av在线播放| 欧美网站一区二区| 国产真实乱人偷精品| 仙踪林久久久久久久999| 96精品视频在线| 国产乱人乱偷精品视频a人人澡| 99久久精品国产毛片| 自拍另类欧美| 欧美成人ⅴideosxxxxx| 日韩欧美你懂的| 欧美激情视频二区| 一区二区日本视频| 51精品国产人成在线观看| 国产69久久| 精品电影在线观看| 日本成人xxx| 久久影视一区| 日韩免费av一区二区| 日本美女一级视频| 亚洲免费在线观看视频| 日韩肉感妇bbwbbwbbw| 日韩三级毛片| 欧美激情中文网| 国产精品久久久久久久免费看| 国产网站一区二区三区| 国产白丝袜美女久久久久| 精品麻豆剧传媒av国产九九九| 在线视频日韩精品| 天堂中文字幕在线观看| 99久久精品久久久久久清纯| 日本精品福利视频| 久久久91麻豆精品国产一区| 最新亚洲国产精品| 亚洲最新av网站| 国产精品午夜电影| 日本免费观看网站| 国产伦精品一区二区三区视频 | 色菇凉天天综合网| 免费看毛片的网站| 国产精品va| 99久久99久久精品国产片| a视频在线播放| 欧美精品第1页| 女人18毛片毛片毛片毛片区二| 蜜桃免费网站一区二区三区| 日韩欧美99| 日本综合视频| 中文字幕免费国产精品| 中文字幕久久网| 欧美国产欧美亚州国产日韩mv天天看完整| 男人的天堂99| 国产乱码精品一区二区亚洲| 国产精品高清网站| 色开心亚洲综合| 777色狠狠一区二区三区| 卡通动漫亚洲综合| 高清日韩电视剧大全免费| 大胆欧美熟妇xx| 欧美大胆视频| 日韩av色综合| 在线观看完整版免费| 91精品婷婷国产综合久久性色| 精品无码久久久久成人漫画| 国产成人在线免费| 日韩精品 欧美| 亚洲资源网你懂的| 国产精品免费看久久久香蕉| 婷婷五月在线视频| 日韩女优av电影| 久久久久久久久久免费视频 | 精品无码在线观看| 久久电影网电视剧免费观看| 九一免费在线观看| 久久黄色一级视频| 日韩视频1区| 国色天香2019中文字幕在线观看| 天堂av手机版| 色婷婷综合在线| 来吧亚洲综合网| 成人午夜电影小说| 国产精品69页| 欧美 日韩 国产 一区| 国产一区二区精品免费| 欧美电影免费观看网站| 久久久999国产| 视频一区 中文字幕| 欧洲精品视频在线观看| 国产少妇在线观看| 91色porny| 中文字幕亚洲欧洲| 99精品视频免费全部在线| 香蕉久久免费影视| 国产精品久av福利在线观看| 国产成人综合精品在线| 先锋成人av| 国产一区二区日韩| 高h震动喷水双性1v1| 在线观看日韩国产| 国产乡下妇女做爰毛片| 国产精品麻豆99久久久久久| 日本黄色动态图| 久久成人免费网| 国产极品尤物在线| 中文字幕一区二区三区在线视频 | 欧美日韩播放| 国产99在线播放| 欧美黑粗硬大| 日本不卡高字幕在线2019| 在线中文字幕第一页| 一区二区在线视频播放| 欧美一级一区二区三区| 欧美精品在线一区二区| 亚洲熟女综合色一区二区三区| 亚洲欧美激情一区二区| 国产精品免费无码| 91视频免费看| 岛国精品一区二区三区| 韩国精品一区二区| 性chinese极品按摩| 国产精品久久久久久久久久妞妞 | 青青青草视频在线| 色偷偷偷综合中文字幕;dd| 精品视频二区| 亚洲精品ady| 亚洲黄色小说网址| 日韩一卡二卡三卡国产欧美| 中文字幕精品无码亚| 色综合天天狠狠| 欧美日韩精品区| 性久久久久久久久久久久| 久久久www成人免费毛片| 亚洲色欲色欲www| 美国一级片在线观看| 欧美国产激情二区三区| 精品无码国产污污污免费网站 | 免费在线观看亚洲| 日韩一区在线免费观看| 亚洲熟女少妇一区二区| 国产精品天美传媒| 国产一二三四区在线| 国产视频视频一区| 一色道久久88加勒比一| 国产亚洲制服色| 国产综合精品久久久久成人av| 久久精品夜色噜噜亚洲a∨| www.av欧美| 国产日韩v精品一区二区| 亚洲理论片在线观看| 久久久无码精品亚洲日韩按摩| 色噜噜日韩精品欧美一区二区| 久久久影视传媒| 白白色免费视频| 国产精品女主播在线观看| 91ts人妖另类精品系列| 亚洲欧洲无码一区二区三区| 三级av在线免费观看| 亚洲精品五月天| 久久久全国免费视频| 五月天欧美精品| 中文字幕亚洲乱码熟女1区2区| 色欧美88888久久久久久影院| 手机看片久久久| 欧美性高清videossexo| 国产精品美女一区| 欧美成人伊人久久综合网| 搡老岳熟女国产熟妇| 亚洲欧美日韩国产成人| 成人免费在线电影| 精品国模在线视频| 欧美精品videosex| 欧美性受xxx| 996久久国产精品线观看| av成人在线电影| 亚洲aa在线| 午夜精品短视频| 午夜久久美女| 999香蕉视频| 国产一区二区0| 日本丰满少妇裸体自慰| 国产精品免费看片| 久久精品美女视频| 91国在线观看| 亚洲成人一级片| 亚洲人成在线观看| 超碰在线caoporen| 情事1991在线| 久久精品免视看国产成人| 久久精品日产第一区二区三区| 毛片aaaaaa| 成人黄色国产精品网站大全在线免费观看 | 国产丝袜精品视频| 欧美日韩在线资源| 97视频在线观看播放| 男人亚洲天堂| 久久久久高清| 欧美粗暴jizz性欧美20| 国产女女做受ⅹxx高潮| 国产真实精品久久二三区| 亚洲最大成人网站| 亚洲综合一二区| 中日精品一色哟哟| 精品国产乱码久久久久久免费| 国产成人天天5g影院在线观看| 久久久久久久久久亚洲| 91成人短视频在线观看| 快播亚洲色图| 欧美日韩亚洲一区在线观看| 成人免费在线观看视频网站| av在线不卡免费看| 特级片在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 蜜桃视频污在线观看| 日日狠狠久久偷偷四色综合免费| 五月天av在线| 国产成人精品自拍| 亚洲影视一区| 色啦啦av综合| 亚洲国产精品成人综合色在线婷婷| 日韩成人高清视频| 日韩欧美一级在线播放| 日韩子在线观看| 国产精品久久久久久久久久久久| 国产伦理久久久久久妇女 | 91精品国产综合久久久久久| 国产在线观看精品一区| 亲爱的老师9免费观看全集电视剧| 亚洲一区二区三区日本久久九| 天天做天天爱天天高潮| 免费成人av资源网| 99久久精品免费视频| 福利二区91精品bt7086| 日韩一区二区三区不卡| 欧美国产日本高清在线 | 明星裸体视频一区二区| 亚洲激情婷婷| 欧美丰满熟妇bbb久久久| 一区二区三区免费观看| 精品人妻午夜一区二区三区四区| 久久精品成人欧美大片| 亚洲成人a级片| 国产精品波多野结衣| 极品销魂美女一区二区三区| 亚洲av无一区二区三区| 欧美久久免费观看| 欧美日韩xx| 91欧美日韩一区| 欧美黄色大片网站| aaa黄色大片| 丰满岳妇乱一区二区三区| 国产美女性感在线观看懂色av| 国产成人精品网站| 日产精品一区二区| 色一情一区二区| 一区二区三区四区在线免费观看 | 成人做爰69片免费看网站| 日韩欧美不卡视频| 国产婷婷成人久久av免费高清| 筱崎爱全乳无删减在线观看| 欧美精品久久久| 奇米精品一区二区三区在线观看| 林心如三级全黄裸体| 欧美一区二区三区在线视频| 91福利国产在线观看菠萝蜜| 国产传媒一区二区三区| 国产精品视频久久一区| 亚洲av成人无码久久精品| 欧美精品精品一区| 美女91在线| 免费久久久一本精品久久区| 肉肉av福利一精品导航| 日本 欧美 国产| 亚洲精品一区二区三区四区高清| 亚洲色图官网| 亚洲综合首页| 东方欧美亚洲色图在线| 黄色片网站在线免费观看| 日韩在线视频二区| av成人资源| 日韩中文字幕免费在线| 亚洲视频在线一区观看| 日本激情视频网站| 国产玖玖精品视频| 亚洲国产激情| xxxxx99| 欧美精品一区二区高清在线观看| 91看片一区| 成人短视频在线观看免费| 久久嫩草精品久久久久| 国产黄色片免费| 欧美最猛性xxxxx免费| 亚洲综合自拍| 日韩人妻无码精品综合区| 日韩免费看网站| 韩国精品主播一区二区在线观看| 日韩精品一区二区在线视频|