可怕!CPU暗藏了这些未公开的指令!

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ก.ย. 2024
  • CPU有没有隐藏的不为人知的指令呢?
    刚来TH-cam的新人,还请大家多多指教。欢迎订阅我的频道,持续分享硬核又有趣的计算机知识。
    视频中分析使用的报告来自2017年黑客大会Black Hat上的一篇报告:《us-17-Domas-Breaking-The-x86-ISA》
    作者是大神:@xoreaxeaxeax

ความคิดเห็น • 82

  • @xuanyuancoding
    @xuanyuancoding  หลายเดือนก่อน +27

    刚来TH-cam的新人,还请大家多多指教。欢迎订阅我的频道,持续分享硬核又有趣的计算机知识。

    • @田自強
      @田自強 หลายเดือนก่อน

      給你正解啦!
      PS:很可怕嗎?這....上課都有在教啊?

    • @ABABBAB
      @ABABBAB 27 วันที่ผ่านมา

      能不能解釋一下是做什麼用的

    • @jui-shuyeh6807
      @jui-shuyeh6807 27 วันที่ผ่านมา

    • @elyjamesuzu
      @elyjamesuzu 26 วันที่ผ่านมา

    • @user-jdi8kqwfj2
      @user-jdi8kqwfj2 13 วันที่ผ่านมา

      你们的群组是哪个平台的群

  • @unknow_______
    @unknow_______ หลายเดือนก่อน +43

    這種狀況在晶片上是個很普遍的事,不光是CPU像是一般生活中更常使用到的MCU也是一樣的狀況,這些隱藏的指令或是操作位置主要是用於工程驗證所以不會開放給普通使用者查看,因為沒必要也不需要,開放了反而有機會被使用者誤操作而造成問題,看手冊上很多連續操作的暫存器突然有缺或是某幾個bit寫保留或消失描述,這些大概率就是被隱藏的功能了

    • @呂奕珣
      @呂奕珣 หลายเดือนก่อน +5

      怕這些沒有開放的指令被駭客開發出漏洞 我覺得文件還是要寫清楚的好

  • @tommymairo8964
    @tommymairo8964 หลายเดือนก่อน +22

    這樣會不會錯過某些需要特殊狀態才合法的指令?比如程序是在 usermode 運行的,但是指令要在 kernel mode 才能執行。或者需要在有 hypervisor 的情況下才有效,抑或是執行一個隱藏指令前,需要先用另一個隱藏指令開啟某種狀態,否則不視為合法指令。

    • @RobberPhex
      @RobberPhex 17 วันที่ผ่านมา

      对,你提到的ring会对cpu行为产生影响。
      类似的,寄存器状态(cpuid)、内存数据等,都会影响cpu行为。
      但路也是要一步一步走的,现找出指令,再看如何分析指令行为吧。

  • @jessishandsome
    @jessishandsome หลายเดือนก่อน +5

    有些隱藏指令有可能是用來融斷CPU固定位置的保險,主要用來屏蔽核心,降階用
    還有就是CPU也有許多空腳位,可能要搭配這些秘密指令使用

    • @田自強
      @田自強 หลายเดือนก่อน +1

      請看正解

  • @litater4419
    @litater4419 หลายเดือนก่อน +8

    前面的人都说的挺多的了,有一些可能是实现了一些特殊操作,必须HIFI5 DSP核心就有一些特殊指令,只能被特定编译器编译出来,并且具体也没助记符,也没对应的反汇编工具.但是他们会大致说明这些指令目的干什么.不但这样,有一些还要签署NDA才能拿到对应编译器,当然既然知道有这么一个指令存在,通过大量摸索,肯定也是大概知道干嘛的,就比如前面说的HIFI5 DSP核,就有专门的矩阵运算指令,虽然他不说,但是用他编译器编译一次就能看出来,又因为编译器需要签NDA,自然就更神秘了.

  • @jasonlin5884
    @jasonlin5884 หลายเดือนก่อน +1

    1:47 其實手冊裡有講,執行到這種未定義的碼時,會產生一個硬體中斷:invalid opcode exception。軟體或作業系統都會在這個中斷服務程序佈建對此種錯誤的處理、恢復的方式(即攔截錯誤、通知用戶發生錯誤了)。全系統並不致於崩潰。

  • @許明陽
    @許明陽 หลายเดือนก่อน +4

    沒辦法,不只CPU,這個只能問IC設計公司,其真實用意,有些除錯用,有些管理,有些可能不可告人。。。但還好,這風險還是可控,因隱藏指令導致商業風險,需要賠償。。。

  • @stevenxia-ep2qx
    @stevenxia-ep2qx หลายเดือนก่อน +7

    undocumented instructions VS undefined instructions

  • @laurentcharles7179
    @laurentcharles7179 หลายเดือนก่อน +12

    应该是用来debug或者查询相关信息的指令,至于有没有安全漏洞就不知道了

    • @hclin-eg9cg
      @hclin-eg9cg 28 วันที่ผ่านมา

      哈~如果要產生「安全漏洞」的話,無需使用未公開的指令。

    • @cooolkie
      @cooolkie 28 วันที่ผ่านมา

      ​​@@hclin-eg9cg這並不代表除此之外的安全漏洞不值得被發現

  • @Chuan-wh5ek
    @Chuan-wh5ek หลายเดือนก่อน +1

    蠻合理的, 可以用這些去埋晶片的FSM之類的, 去達到保護chip IP或是更多功用

  • @阿才-f1x
    @阿才-f1x หลายเดือนก่อน +1

    所以黑客就是花非常多心力
    在看一眼原始碼就能解決的問題上

  • @KorlinAng-bs7rh
    @KorlinAng-bs7rh หลายเดือนก่อน +1

    This is known as Super Duper Command set. It exists in all computable devices.

  • @yuyaolin7861
    @yuyaolin7861 หลายเดือนก่อน

    不只指令隱藏,某些CPU的位置,資料也有隱藏,一種是保留給下一代CPU 始用,另一種是CPU,內部Debug 容錯,還有識別使用

  • @unexceptedworld
    @unexceptedworld หลายเดือนก่อน +23

    扔掉x86吧,投入arm的怀抱,arm所有指令长度都是一样的

    • @hclin-eg9cg
      @hclin-eg9cg 28 วันที่ผ่านมา +7

      既然是未公開指令,很難說arm沒有。更何況arm有幾個cpu自己不執行

    • @xiaoxiaoxiao2043
      @xiaoxiaoxiao2043 28 วันที่ผ่านมา +4

      复杂指令对于涉及极端复杂计算的情况是比定长指令的精简指令集有性能优势。不能仅靠指令长度来判别性能高低,指令集本身是服务于CPU架构,而CPU架构的选择又是由具体的工业需求所决定的。 假如你的CPU 有缓存限制,且单条指令的解码开销不在你考虑之内。那么复杂指令集是一个好选择。
      对了,现代CISC 是同时支持变长或定长指令的。

    • @asdv342
      @asdv342 20 วันที่ผ่านมา

      arm似乎允许厂商增加指令

    • @asdv342
      @asdv342 20 วันที่ผ่านมา

      ​@hclin-eg9cg协同处理器很多啊,联发科音频DSP,modem,电源管理都是

    • @yrr0r244
      @yrr0r244 17 วันที่ผ่านมา

      ⁠@@hclin-eg9cg 所有指令长度相等,所以有多少能放隐藏指令的位置一目了然。

  • @dediver832
    @dediver832 5 ชั่วโมงที่ผ่านมา

    几乎每款 CPU, MCU 都有 undocumented 指令, 并不是什么可怕的事

  • @3a146
    @3a146 28 วันที่ผ่านมา

    CPU是你的finer topology,它的唯一性永远比你的细,因为你得把你的程序encode进去,从这个意义上掌握指令集的人当然可以任意用monad修饰你的代码,约束恐怕只有半导体规模和你程序的复杂性了。

  • @dannyumd
    @dannyumd 16 วันที่ผ่านมา

    請問一下,這是否是用上 x86 新加入的 NX 功能?用來判定是否可截斷指令長度?NX 是用來避免緩衝區溢位執行的

  • @hclin-eg9cg
    @hclin-eg9cg 28 วันที่ผ่านมา +1

    以前的 CPU 如:6502、Z-80 也有未公開的指令,沒什麼大驚小怪的。

  • @Slymitec
    @Slymitec 7 วันที่ผ่านมา

    大部分就是调试和屎山指令,怎么提出掉这些也是个难题。

  • @AllenKuokwyshell
    @AllenKuokwyshell 27 วันที่ผ่านมา

    一般而言如果真要塞入甚麼秘密指令通常需要經過一許多特殊的手法與門檻才行。以PC的狀況來說,當系統進行超頻或是任何不穩定的操作,都有可能造成資料或是指令的錯誤。而這些隨機產生的錯誤如果會被輕易執行而造成傷害其實是非常危險的。討論這些問題,就好比我們在探討執行一個未被公開的API,系統服務,或是註冊的中斷服務。很多軟體設計者,也會偷偷藏入許多不為人知的參數。通常更多的都是除錯用的後門或是未被關閉診斷功能。但是絕對不會輕易的能夠被使用。

  • @a8572069
    @a8572069 20 วันที่ผ่านมา

    這部影片沒有進一步解釋那些不在文件上的指令是做什麼用的 有點可惜
    不過有隱藏指令也是可想而知的 因為有一些指令單純就是用於內部測試的 或著是IC廠覺得這個功能你用不到 那也沒必要告訴你

  • @TiWang-j5s
    @TiWang-j5s 2 วันที่ผ่านมา

    工程里面的维修通道而已 没什么大不了

  • @0715-QG
    @0715-QG 25 วันที่ผ่านมา

    一直有,不然怎能各國買賣呢!

  • @雪岸翔太
    @雪岸翔太 หลายเดือนก่อน +4

    連這種專業頻道都有喊1 2....

    • @田自強
      @田自強 หลายเดือนก่อน

      這算專業的嗎? 理工組都知道的常識啊?

  • @sail
    @sail หลายเดือนก่อน +1

    本來就有,跟intel買得到授權

  • @leiguo9446
    @leiguo9446 23 วันที่ผ่านมา

    我估摸着只能反汇编那种美国官方的病毒什么的才能找出一些特定cpu指令,否则靠自己去研究概率很低很低。

  • @何家慶-e5o
    @何家慶-e5o 26 วันที่ผ่านมา

    應該可以配合PC就可以知道指令長度。

  • @zatic99
    @zatic99 15 วันที่ผ่านมา

    龍頭蛇尾
    講了概念卻沒講結果 問號

  • @funkhsu9343
    @funkhsu9343 29 วันที่ผ่านมา

    原来硬件层面也有这么多问题啊

  • @yfzhang4709
    @yfzhang4709 หลายเดือนก่อน

    A CPU inside CPU

  • @matrix_tomato
    @matrix_tomato หลายเดือนก่อน +2

    问题不知道做什么用的

    • @alexwu493
      @alexwu493 หลายเดือนก่อน +1

      以後可以用

    • @alexwu493
      @alexwu493 หลายเดือนก่อน +1

      我可以從未知或是未使用得指令發送給cpu 可以造成漏洞去做內核控制

  • @Wind_of_Night
    @Wind_of_Night หลายเดือนก่อน +2

    看到這篇讓我想到,知名的未來人【約翰提托(John titor)】,IBM 5100的故事。
    反而故事中真不真實我是不知道,但是反倒是IBM內部人士證實,確實該電腦有隱藏功能。
    且全世界只有20人知道(或少於這個數字),全部排查完後發現沒有異樣。【間接證實這條都市傳說留言的可靠性】

    • @阿才-f1x
      @阿才-f1x หลายเดือนก่อน

      他完全沒提到
      智慧型手機、AI、電動車等現在流行趨勢
      應該很明顯了吧
      現代人要裝未來人
      就跟1980年代個科幻電影一樣
      都殖民火新了
      還在用陰極射線管電視
      我也可以隨便說說
      什麼我2100年回來的
      2040年核融合會商轉,電價直接砍成1/10
      2050年AI發展進入全盛時期(因為電能充足)
      2070年人腦完全解密,人們可以透過腦機介面操控義肢、感受虛擬世界
      到時候就知道這段言論有多蠢(或真有白癡相信我未來人)

  • @rcz8888
    @rcz8888 17 วันที่ผ่านมา +1

    鸿蒙把一切交给党😅不就安全了

  • @maomao3593
    @maomao3593 หลายเดือนก่อน +1

    这也没意义啊,依赖没有文档记录的东西,对软件兼容性是一场灾难。英特尔可以随时改变这些指令的预期行为,而没有义务提前通知你

    • @朝辉-w6g
      @朝辉-w6g หลายเดือนก่อน +1

      😂那得改变CPU内部的存储器内容,不是那么容易的。😂

    • @ggalsorunning3762
      @ggalsorunning3762 หลายเดือนก่อน +10

      依赖这些没有文档的指令集目的是开采漏洞,本来就不会等厂商通知

  • @aliendouglas1186
    @aliendouglas1186 หลายเดือนก่อน +2

    这也是网安必须纯国产化的考量,真对抗起来,对方给你发个指令,所有设备瘫痪,已经有很多真实案例在先了,还有人一直阴阳怪气的抹黑国产化,是纯坏。

    • @田自強
      @田自強 หลายเดือนก่อน

      請看正解

    • @a8572069
      @a8572069 20 วันที่ผ่านมา

      邏輯鬼才....你怎麼會覺得CPU"國產化"以後 就不會有這個狀況?

  • @lowmol
    @lowmol หลายเดือนก่อน

    算盘没有隐藏指令. 折腾这些有没有一种可能是吃的太饱了?

    • @田自強
      @田自強 หลายเดือนก่อน

      完全不是,請看正解.

  • @dlfang
    @dlfang 25 วันที่ผ่านมา

    很有意思😏

  • @朝辉-w6g
    @朝辉-w6g หลายเดือนก่อน

    有的😂

  • @司马珊珊
    @司马珊珊 หลายเดือนก่อน +3

    🤣传说中的军事上的考量?

  • @orbleh3622
    @orbleh3622 หลายเดือนก่อน

    intel、amd这类设计厂才能知道了。

    • @orbleh3622
      @orbleh3622 หลายเดือนก่อน

      所以国内还是要自己设计、制造芯片,乘risc-v的东风。x86说不定啥时候就被坑,特别是用于国防。

    • @田自強
      @田自強 หลายเดือนก่อน

      請看正解

    • @not_vinkami
      @not_vinkami 25 วันที่ผ่านมา

      到底是哪一個這麼脆弱的國家需要完全閉關鎖國才能保證自己安全呢?還是說虧心事做多了怕別人復仇?

  • @myEsn2E9
    @myEsn2E9 13 วันที่ผ่านมา

    不相干

  • @碧藍档案
    @碧藍档案 24 วันที่ผ่านมา

    🤔

  • @camfocus8888
    @camfocus8888 14 วันที่ผ่านมา

    半桶水垃圾影片,不知道原因的亂怕,沒結果的瞎說,說一個寂寞的影片可以封鎖檢舉差評⋯⋯

  • @田自強
    @田自強 หลายเดือนก่อน +3

    ㄜ.....這些都是計算機概論裡提到過.......
    算是CPU暗藏了這些未公開的祕密嗎? 假使有考高考資訊處理,電子工程,電信工程的人都會知道的常識啊.....
    就算沒高考,念理甲科大學上課都會教啊........這算可怕嗎?
    還是教授在上課時,你們都在夢周公?!(傻)

    • @kunkun06
      @kunkun06 หลายเดือนก่อน +4

      我本來還奢望他會舉例例子結果一個也沒有,在那邊標題寫說很可怕然後影片裡連可怕在哪都不講
      不知道是這種只講一半的風氣是現在做頻道的調調還是其時沒料只能當個標題黨,我祝福這個頻道趕緊被鎖一鎖,不然就轉型做幹片

    • @田自強
      @田自強 หลายเดือนก่อน +2

      其實為何CPU還有一些破碎編譯碼,某網友終於點到一點:一種是保留給下一代CPU 始用,另一種是CPU,內部Debug 容錯,還有識別使用
      這課本都有提到過.
      那為何會保留呢?
      1. 不確定該編碼會不會影響到其他非本公司軟體的相容性.(假使沒有相容性問題,下次更新就會釋放)

    • @田自強
      @田自強 หลายเดือนก่อน +1

      @@kunkun06 其實為何CPU還有一些破碎編譯碼,某網友終於點到一點:一種是保留給下一代CPU 始用,另一種是CPU,內部Debug 容錯,還有識別使用
      這課本都有提到過.
      那為何會保留呢?
      1. 不確定該編碼會不會影響到其他非本公司軟體的相容性.(假使沒有相容性問題,下次更新就會釋放)

    • @jessishandsome
      @jessishandsome หลายเดือนก่อน

      @@田自強 就隱藏指令啊,如果被黑客利用起來,從底層指令突破,繞過安全限制,不可怕嗎?加上防毒軟體完全無法識別這種攻擊,因為指令根本沒見過,上課有教工程模式,但有教隱藏了何種指令嗎?

  • @mingzih
    @mingzih หลายเดือนก่อน

    2!

  • @libor_ca
    @libor_ca หลายเดือนก่อน

    1!

  • @李志顺-f7h
    @李志顺-f7h 23 วันที่ผ่านมา

    我觉得殖民手机来的性价比高,为啥要选择CPU?