研究人員揭示存在54年的通用圖靈機零日漏洞可用於執行任意代碼
瑞典斯德哥爾摩KTH皇家理工學院的計算機科學教授Pontus Johnson,剛剛在一篇學術文章中介紹了他在通用圖靈機(UTM)中發現的可執行任意代碼的相關漏洞。作為歷史上最早的計算機設計之一,通用圖靈機(UTM)是由已故的人工智能學家Marvin Minsky在1967年提出的一項概念模擬設計。儘管他承認這麼做沒有“現實意義”,但此事還是引發了業內人士的廣泛討論。
(來自:Marvin L. Minsky | PDF)
The Register 指出,這其實是一個相當有趣的哲學觀點,即如果計算機的最簡單概念之一容易受到用戶的干預,那我們應該的設計過程中嘗試部署哪些安全特性?
Pontus Johnson 在論文中寫道:“通用圖靈機常被認為是最簡單、最抽象的計算機模型,但通過利用UTM 缺乏輸入驗證這一缺點,就能夠誘騙它運行第三方編寫的程序”。
據悉,Marvin L. Minsky 在UTM 的概念設計中描繪了一款基於磁帶的機器,它能夠從模擬磁帶中讀取並執行相當簡單的程序。
磁帶上的指令以單行字母數字字符來表示,且能夠通過模擬磁頭的左右移動來讀取。儘管用戶能夠在磁帶開頭進行輸入,但在UTM 模型中,卻沒有考慮到用戶不該修改隨後的程序。
Pontus Johnson 補充道:“拋開歷史意義不談,我們還是可以深入講解這一最簡單計算機概念的脆弱性傾向”。
然而UTM 的“安全性”取決於一位數字,它被用來告訴機器“用戶輸入到此為止,之後的所有內容,都可適用機器剛剛讀取的參數來執行“。
儘管Marvin L. Minsky 沒有打造安全或易受攻擊的系統的意圖,但計算機科學家們顯然還是喜歡從基礎學術原理下手論證。
驗證攻擊的方法也很是簡單,只需在用戶輸入字段中編入’輸入在此結束’字符,然後補上自己想要執行的程序即可。
屆時UTM 會執行該操作,並跳過原本預期的後續程序。如果將復雜性擴大一些,你會發現它甚至具備了SQL 注入漏洞的所有特徵。
綜上所述,對於硬件和固件設計人員來說,最好還是從一開始就考慮到各項安全措施的部署。感興趣的朋友,可查閱CVE-2021-32471的更多細節。