用 DNA 寫出真正的電腦「病毒」?研究人員成功在 DNA 中寫入可執行碼

你以為實驗室的結果不會造成什麼風險?現在科學家寫出一段可執行程式碼注入DNA後,理論上電腦只要一讀取就會感染。研究人員Rick Sanchez短短三行程式碼,可能引來警方上門。

雖然這是軟體界所創造過最接近真正病毒的東西,但它其實算不上是一種電腦病毒。它是由複製指令組成的 DNA 片段,其中資訊將可控制讀取它的電腦。它必須植入宿主系統才能自我複製繁殖,而這只要一層蛋白質外殼,不過用檔案 metadata 和標頭也辦得到。

但是一開始他們如何寫出一段能嵌入 DNA 的可執行程式碼呢?

首先,研究人員要決定要攻擊哪裏。他們選擇 C 是有理由的,C 經常出現重大漏洞導致系統遭到緩衝溢位攻擊。

之後他們就開始編碼,以核鹼基(nucleobases,組成基因的材料)來編寫二進位,例如:A=00, C=01, G=10, T=11。

電腦遵守的是依據電流脈衝的開、關形成的二元串流,即 0 與 1,因此可執行檔程式碼也必須經過同樣的二態。讀取 DNA 序列將會把惡意程式碼送進讀取的電腦中,並藉此發動緩衝溢位攻擊,以便使系統門戶洞開取得管理員權限。

「從 ASCII 的 A、T、G 和 C 轉成位元串,在取得最大讀取長度的固定大小的緩衝中即可完成,」研究人員 Karl Koscher 表示:「攻擊程式有 176 個鹼基長,壓縮程式將每個鹼基壓縮成 2bits,封裝起來變成一個 44 byte 的攻擊程式。」

大部份這些 bytes 被用於編寫 ASCII 殼層指令,4 byte 被用來把轉換函式回復成 C 標準函式庫中的 system() 函式,後者會執行殼層指令。另外 4 byte 則用以告知 system() 記憶體內指令何在。

也就是說,將這株 DNA 餵給組譯器,它就成了 176 核鹼基的程式,前後真的只要 3 行程式就辦到了。

即使警方及商業間諜出手干預的可能性還很低,但緩衝溢位攻擊威力強大,這表示開發人員一定早就在注意這類攻擊手法。去年舉世震驚的 Heartbleed 就是緩衝溢位攻擊的一種,現在有些 boilerplate wrapper 會檢查是否有這類漏洞,如果發現到此類錯誤就會立即停止。

此外,由於它是一種 DNA 攻擊,因此機制上必然有問題。它的株體可能斷裂,而且因為 DNA 可雙向讀取,所以程式碼也可能被反向錄寫。但研究人員表示未來高明的攻擊者可以把程式碼寫成迴文 (palidrome),就不會害到自己了。

但作為一個新興威脅,這種 DNA 攻擊還是值得大家小心。「我們知道如果壞人控制了電腦處理的資料,它就可控制那台電腦。」指導該研究的 Tadayoshi Kohno 說。Kohno 專門研究來自生物相關的資訊攻擊,例如入侵像計步器這種嵌入式系統。這種研究不只要關注網路連結、USB 隨身碟和使用者等,也需了解電腦序列的 DNA 資訊,而這完全是另一個世界。

Source: ExtremeTech

關於我們

自 1990 年創刊 UXmaster 雜誌,1991 年獲得美國 LAN Magazine 獨家授權中文版,2006 年獲得 CMP Network Computing 授權,2009 年合併 CMP Network Magazine 獨家授權中文版,2014 年轉型為《網路資訊》雜誌網站,為台灣中小企業協助技術領導者落實企業策略,了解網路規劃及應用,為企業網路應用、管理、MIS、IT 人員必備之專業雜誌網站。


與我們聯絡

加入《網路資訊》雜誌社群

© Copyright 2023 本站版權所有,禁止任意轉載 網路資訊雜誌 / 心動傳媒股份有限公司 聯絡電話:+886 2 29432416

探索更多來自 網路資訊雜誌 的內容

立即訂閱即可持續閱讀,還能取得所有封存文章。

Continue reading