精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品美女诱惑| 亚洲午夜av电影| www.成年人视频| 亚洲日本在线播放| 久久精品久久综合| 欧美激情视频给我| 国产男男chinese网站| 精品美女一区| 一区二区三区四区五区视频在线观看| 精品一区二区三区免费毛片| 中文字幕在线观看高清| 伊人激情综合| 最近2019中文字幕mv免费看| 日本一级片在线播放| 欧美视频在线视频精品| 精品福利樱桃av导航| 中国一区二区三区| 免费在线黄色电影| 成人一级片网址| 国产欧美一区二区三区视频| www..com国产| 中文不卡在线| 中文字幕在线看视频国产欧美在线看完整 | 亚洲影院色无极综合| 日本a级c片免费看三区| 亚洲黄色大片| 欧美精品一二区| 黄大色黄女片18免费| 色天天色综合| 亚洲第一精品自拍| 午夜av中文字幕| 123成人网| 91国产免费看| 精品99在线视频| 不卡专区在线| 亚洲夂夂婷婷色拍ww47 | 国产精品理论在线| 亚洲欧洲色图| 亚洲精品视频久久| 黄色网址在线视频| 高清欧美性猛交xxxx黑人猛| 日韩视频在线你懂得| 91精产国品一二三产区别沈先生| 国产福利亚洲| 欧美综合久久久| 亚洲乱码国产一区三区| 欧美xxx视频| 色综合欧美在线| 欧美 日韩精品| 亚洲三级欧美| 日韩欧美精品在线观看| 男人日女人bb视频| 国产精欧美一区二区三区蓝颜男同| 午夜视频一区在线观看| 欧美成人高潮一二区在线看| 97在线超碰| 精品久久久久久国产91| 欧美a v在线播放| 日本三级一区| 日本丶国产丶欧美色综合| 任你操这里只有精品| 青青热久免费精品视频在线18| 色婷婷综合在线| 少妇高清精品毛片在线视频| 日韩一级二级| 欧美精品色综合| 污视频网址在线观看| 国产一区二区三区视频在线| 欧美成人一区二区三区| 中国极品少妇xxxx| 亚洲人成网亚洲欧洲无码| 在线播放国产一区二区三区| 性欧美疯狂猛交69hd| 欧美日韩1080p| 555www成人网| 伊人网av在线| 豆国产96在线|亚洲| 久久国产精品高清| jizz亚洲| 一区二区三区不卡在线观看 | 丝袜亚洲另类丝袜在线| 国产精品视频999| 国产不卡av在线播放| 99久久夜色精品国产网站| 欧美一区二区三区四区夜夜大片 | 欧美/亚洲一区| 国产做受高潮69| 波多野结衣黄色| 国产传媒欧美日韩成人| 蜜桃999成人看片在线观看| 1769在线观看| 偷拍与自拍一区| 天天综合网 天天综合色| 992tv成人免费观看| 俺来也官网欧美久久精品| 色乱码一区二区三区88| 欧美丝袜在线观看| 久久精品国产亚洲blacked| 青青草国产成人99久久| 国产欧美一区二区三区在线 | 一个人www视频在线免费观看| 欧美性高清videossexo| 丰满少妇xbxb毛片日本| 精品视频免费在线观看| 久久久久久97| 国产又粗又猛视频| 26uuu欧美| 日本成人在线不卡| 日韩精品三区| 国产亚洲精品久久久久婷婷瑜伽| 992tv成人免费影院| 一区二区三区日| 91在线播放网址| 精品嫩模一区二区三区| 日本免费在线播放| 亚洲啪啪91| 成人黄在线观看| 九色视频在线观看免费播放| 一区二区三区精品| 亚洲视频一二三四| 中文字幕你懂的| 国产成人自拍网| 亚洲综合视频一区| 在线成人视屏| 国产午夜精品理论片a级探花| 国产一级生活片| 国产精品一级在线| 中文字幕第一页亚洲| 99热播精品免费| 亚洲欧洲一区二区三区久久| 久久久久久久99| 国产白丝精品91爽爽久久| 在线看视频不卡| 欧美大片1688网站| 国产一区二区动漫| 伊人中文字幕在线观看| 91老师国产黑色丝袜在线| 欧洲精品一区二区三区久久| 亚洲图色一区二区三区| 久久在线观看视频| 国产精品无码一区二区桃花视频| 亚洲v欧美v另类v综合v日韩v| 污污视频在线观看网站| 樱桃视频在线观看一区| 亚洲精品免费一区亚洲精品免费精品一区 | 三级福利片在线观看| 欧美猛男男办公室激情| 最新天堂在线视频| 欧美视频xxxx| 久久成人免费网| 亚洲欧美成人一区| 青娱乐极品盛宴一区二区| 在线视频欧美日韩| 一区二区不卡视频在线观看| 国产精品素人一区二区| 黄色手机在线视频| 天天做综合网| 亚洲aⅴ男人的天堂在线观看| 国产激情在线观看| 日韩免费看网站| 久久亚洲av午夜福利精品一区| 成人丝袜18视频在线观看| 我的公把我弄高潮了视频| 日本午夜精品久久久| 欧美在线激情视频| 成人午夜在线观看视频| 欧美美女激情18p| 久久黄色小视频| 26uuu国产日韩综合| 亚洲中文字幕久久精品无码喷水| 久久视频国产| 亚洲一区二区三区四区视频 | 色婷婷亚洲mv天堂mv在影片| 91亚洲国产成人久久精品网站| 欧美色图天堂| 亚洲人成77777在线观看网| 最近中文字幕在线免费观看| 亚洲日本在线天堂| 色婷婷免费视频| 青青草视频一区| av一区二区三区免费观看| 色老板在线视频一区二区| 国产精品直播网红| 日韩免费影院| 亚洲最新在线视频| 亚洲精品久久久狠狠狠爱 | 国产伦精品一区二区三区千人斩| 国产精品视频一| 国产黄色在线观看| 精品免费视频.| 国产乱码在线观看| 亚洲五月六月丁香激情| 国产毛片欧美毛片久久久| 国产精品一区免费视频| 黄色高清无遮挡| 国户精品久久久久久久久久久不卡| 中文字幕日韩免费| 极品美女销魂一区二区三区| 国产精品久久久久久久乖乖| 国产一区二区三区不卡视频网站| 亚洲在线视频观看| 欧美黑人一区| 欧美国产日本在线| 在线看av的网址| 日韩av在线免播放器| 国产伦精品一区二区三区视频痴汉| 黑人巨大精品欧美一区二区三区 | 日本在线一二三| 91精品国产综合久久久久久久久久 | 一级片一级片一级片| 久久久精品中文字幕麻豆发布| 麻豆传媒在线看| 免费av网站大全久久| 国产精品丝袜久久久久久消防器材| 影视亚洲一区二区三区| 日韩欧美电影一区二区| 精品少妇一区| 97se亚洲综合在线| 91成人小视频| 国产精品久久久久久久久久久新郎 | 国产成人一区二区三区小说| bbw在线视频| 欧美日韩第一页| 搞黄网站在线观看| 日韩一中文字幕| aaa在线观看| 亚洲天堂网在线观看| 亚洲av成人精品一区二区三区在线播放| 欧美一区二区三区成人| 国产伦精品一区二区三区四区| 欧美性猛交xxxx乱大交退制版| 久草视频一区二区| 日韩欧美一区二区三区久久| 麻豆久久久久久久久久| 午夜视黄欧洲亚洲| 国产精品自拍视频一区| 亚洲一区二区在线视频| 久久国产精品波多野结衣| 亚洲精品欧美综合四区| 成人免费毛片xxx| 亚洲欧美日韩精品久久久久| 成年人免费视频播放| 国产精品美女久久久久高潮| 亚洲色图27p| 亚洲美女偷拍久久| 加勒比婷婷色综合久久| 亚洲猫色日本管| 欧美三级在线免费观看| 亚洲综合激情另类小说区| 久久久久久免费观看| 亚洲成av人片在线| www日韩精品| 在线免费观看日韩欧美| 最近中文字幕在线观看视频| 在线不卡一区二区| 国产黄频在线观看| 亚洲国产成人91精品| 午夜影院免费体验区| 亚洲免费av片| 三区四区电影在线观看| 欧美理论电影在线观看| 大香伊人中文字幕精品| 青青久久av北条麻妃黑人| 亚洲成人看片| 91久久久久久| 国产精品99久久免费观看| 久久伊人资源站| 欧美综合视频| 国产在线无码精品| 亚洲精品激情| 91精品无人成人www| 国产乱理伦片在线观看夜一区| 日本精品一二三区| 久久青草欧美一区二区三区| 欧美日韩国产一二三区| 一区二区三区不卡视频| 亚洲 欧美 成人| 欧美另类高清zo欧美| 黄色成人一级片| 在线一区二区日韩| 搞黄网站在线看| 国产精品九九久久久久久久| 在线日韩成人| 日韩三级电影网站| 欧美视频不卡| 国产精品拍拍拍| 国产成人av电影在线播放| 黄色aaa视频| 亚洲免费观看高清完整版在线观看熊| 97人人澡人人爽人人模亚洲| 欧美无砖砖区免费| 韩国av在线免费观看| 在线亚洲国产精品网| 超碰在线视屏| 91免费看国产| 国产一区网站| 国产色一区二区三区| 免费在线看成人av| 国产麻豆xxxvideo实拍| 1024国产精品| 中文字幕亚洲乱码熟女1区2区| 欧美一区二区国产| 国产免费a∨片在线观看不卡| 欧美激情欧美狂野欧美精品| 欧洲亚洲精品久久久久| 久久久久久国产精品一区| 亚洲无中文字幕| 男人舔女人下面高潮视频| 成人精品国产一区二区4080| 成人自拍小视频| 欧美三片在线视频观看 | 久久夜精品香蕉| 免费观看成人性生生活片 | 精品日本一区二区| 欧美成人tv| 99九九99九九九99九他书对| 国产午夜精品久久| 欧美bbbbbbbbbbbb精品| 日韩精品一区二区三区视频 | 久久久无码人妻精品无码| 国产精品国产三级国产普通话三级 | 日韩欧美小视频| 国产精品va在线播放| 任我爽精品视频在线播放| 久久人人爽人人爽人人av| 国产传媒一区在线| 成熟的女同志hd| 在线播放视频一区| 免费黄色电影在线观看| 国产精品视频自在线| 欧洲grand老妇人| 老熟妇仑乱视频一区二区| 久久精品一区四区| 永久免费无码av网站在线观看| 日韩成人中文字幕| 午夜久久中文| 乱色588欧美| 久久久人人人| 三上悠亚影音先锋| 91福利精品第一导航| 韩国免费在线视频| 国产精品99久久99久久久二8| 国产一区不卡| 麻豆一区二区三区视频| 国产精品伦一区| 91影院在线播放| 欧美刺激性大交免费视频| 日韩精品一区二区三区中文字幕 | wwwwww.欧美系列| 美日韩一二三区| 亚洲欧美精品一区| 日韩毛片在线| 在线免费观看成人网| 激情丁香综合五月| 久久久久久久九九九九| 欧美精品一区二区蜜臀亚洲| 三妻四妾完整版在线观看电视剧| 欧美日韩免费精品| 久久国产乱子精品免费女| 日韩视频中文字幕在线观看| 91麻豆精品国产91久久久久久久久| 青春草在线视频| 久久久久久a亚洲欧洲aⅴ| 三级欧美在线一区| 久久嫩草捆绑紧缚| 91av视频在线免费观看| 国产小视频一区| 91国在线精品国内播放| 色天天色综合| 欧美日韩国产成人| 国产成人精品亚洲线观看| 日本少妇高潮喷水视频| 国产欧美日韩另类一区| 国产精品久久久久久无人区| 九九热这里只有精品6| 香蕉久久精品| www.亚洲自拍| youjizz亚洲| 99久久免费观看| 91年精品国产| 91丨porny丨在线中文| 海角国产乱辈乱精品视频| 久久爱www成人| 无套内谢丰满少妇中文字幕| 五月婷婷综合在线| 尤物在线视频| 国产日韩精品一区观看| 麻豆极品一区二区三区| 国产第一页在线播放| 一本一本久久a久久精品综合小说 一本一本久久a久久精品牛牛影视 | 成人在线观看你懂的| 亚洲国产精品二十页| 亚洲精品成人电影| 国产精品福利小视频| 黄色av日韩| 久草手机视频在线观看| 日韩av在线网页| 久久男人av资源网站| 国产成人极品视频| 亚洲18在线|