行业资讯

研究人员成功在DNA中写入可执行码

  虽然这是软体界所创造过最接近真正病毒的东西,但它其实算不上是一种电脑病毒。它是由复制指令组成的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资讯,而这完全是另一个世界。

Copyright © 2017-2022 Www.Jifangkongtiao.Cc 金恒创新 版权所有 京ICP12345678