用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 2017 本站版權所有,禁止任意轉載 網路資訊雜誌 / 心動傳媒股份有限公司 聯絡電話:+886 2 29432416