合成DNA序列可被制成木马感染计算机
合成DNA序列可被制成木马感染计算机

合成DNA序列可被制成木马感染计算机

合成DNA序列可被制成木马感染计算机

前言:
2020年,疑似来自南亚次大陆某国家的Patchwork组织又名“白象组织”、“摩诃草组织”伪造*****健康委员会等官方站点,将含有后门的.xlsm、.docx文档伪装成官方文件借大型公共卫生事件在医疗卫生系统中传播并自动下载伪装成.jpeg图片的后门程序,从而实现远程控制、文件上传/下载、屏幕内容窃取。该组织擅长使用钓鱼手法进行信息搜集并精心策划对医疗、科技、政治、军事等特定群体的攻击并长期隐匿,形成高危害持续安全威胁。当人们集中精力提高意识防范钓鱼攻击时,一种全新的基于合成DNA的投毒攻击手法在实验室中诞生。正文约4000字,预计阅读时间14分钟

 

这种合成DNA序列并非用于感染人类或者动物,但能让计算机交出控制权。

电影《银翼杀手》中,数字人joi的投影靠在克隆人K的身上,两人看着同一块屏幕上的Real和Copy两个生命体的DNA序列。joi:“你们是A和C,T和G组成的,我是0和1组成的。”k:“一半的序列,双倍的浪漫。”合成人主角K和数字人joi的爱情是生物与数字彼此的湖中之影。0和1的二进制,atcg的四进制,爱与恐惧,恨与贪婪,好像被写入了life.confg。

ATCG四种碱基可以使用二进制表示,而 4=2²,可用4个二进制数表示:00、01、10、11。假设存储8位数据(既1Byte),数据是10 00 10 11,那么对应存储的碱基是:CACG。

假设读取的数据是:GCCA,那么对应读取出来的二进制数据就是:11 10 10 00。

2012年,GEORGE M. CHURCH, YUAN GAO, AND SRIRAM KOSURI等人将一部电影、一个电脑操作系统、一篇论文、一个电脑病毒以及一张50美元的亚马逊礼品卡进行“碱基编码”,对DNA进行测序后转为二进制,几乎无误差的重现所有文件。

  • L001—通道编号.R1—测序读段。在此示例中,R1表示第一个测序读段(Read 1)。对于双端测序运行,至少会有一个文件包含R2的文件,表示第二个测序读段(Read 2)。001—最后一个分段始终为001。(注:此编号通常用于多文件拆分时的顺序标识)

FASTQ 文件中的每个条目由四行组成:

  • 序列标识符

  • 序列
  • 质量分数标识符行(仅由 + 组成)
  • 质量得分

@SIM:1:FCX:1:15:6329:1045 1:N:0:2
TCGCACTCAACGCCCTGCATATGACAAGACAGAATC
+
<>;##=><9=AAAAAAAAAA9#:<#<;<<<????#=

2017年,有研究者利用CRISPR-Cas的记忆和剪切功能成功将一段视频编码到大肠杆菌的基因组中。然后对大肠杆菌进行测序,能成功读取并还原短片。

CRISPR-Cas原本是细菌为了对抗噬菌体或其他攻击者的免疫系统。会像杀毒软件一样检测并杀死入侵者。CRISPR谐音crisper“保鲜盒”,是DNA的一段存储空间,可以俘获记录外来入侵者的特征码,并登记为“黑名单”。Cas则是在细胞内巡逻的哨兵,它会识别并精准切断入侵的攻击者。因其具有记忆和精准剪切特性,成为了非常受欢迎的基因编辑工具。

这说明数字信息可以被编码并存储于活细胞基因组内,生物技术和数字技术在此产生关联,就像《银翼杀手》中的K和joi。那么生物攻击和计算机黑客攻击也会产生融合吗?

任何能输入数据的地方都有可能被精明的黑客利用:如图黑客车牌号ZU 0666之后的’ 0,0); DROP DATABASE TABELICE 会让停车场终止查询车牌号,并删除名为 TABELICE 的数据库。

当然在开启了防护的情况下这种明显的攻击行为会被安全软件识别并拦截,就像细菌的免疫系统CRISPR-Cas一样有效。

虽然生物实验室通常会与互联网物理隔离,包括禁用USB以封堵恶意程序的进入。但从社会工程学角度,样本接收窗口不会关闭,这是一个暴露的攻击面,利用实验室对样本的信任即可形成“社会工程攻击”。许多实验室并不是自己进行测序,而是将样本运输到实验外包商,这可能形成一个“水坑攻击”(利用某人对某事物的信任,在其必经之路挖一个水坑)。如果伪装成序列的恶意文件被上传至专业论坛、在线生物数据库如“GenBank等待被科学家下载分析就会形成“鱼叉攻击”(攻击者举起鱼叉,等待受害者游向诱饵)。

由于测序的成本的下降和测序通量的增加,湿实验外包商的规模也在扩大。外包测序行业可能成为被攻击的对象。精心构造的恶意样本如唾液、头发等被邮寄给外包实验室,或将伪装成序列文件的程序上传到云服务器。目前DNA序列的设计、数据保存和分析逐渐走上云服务器面向公网开放。例如illumina的BaseSpace、Microsoft Genomics,Galaxy生物信息分析平台和Broad研究所的云上变异检测工具。

图:Greg Moss / Wellcome Sanger Institute
图:Greg Moss / Wellcome Sanger Institute

“供应链攻击”的思路是从上游开始的:打着”共享人类科学技术”的公益旗号将含有后门的科学软件四处传播

dna-security-software-exploit Dennis Wise / 华盛顿大学

网络上免费分享的工具中许多是用C和C++等语言编写的,这些工具通常没有严格的输入控制或者在编写过程中使用了不安全函数和可溢出缓冲区。

缓冲区内存中存放数据的地方。程序向内存写入数据时如果没有足够的空间就会发生缓冲区溢出。溢出的数据会覆盖相邻内存空间的其他合法数据,导致运行失败或者去执行预先注入的攻击性代码。此时这些攻击性代码会以原有程序的身份权限运行,就像病原体伪装成宿主细胞的免疫逃逸现象。

华盛顿大学的研究者就进行了一次针对基因测序的攻击实验。fqzcomp软件是压缩FASTQ文件的常见的基础工具。首次攻击实验从https://sourceforge.net/projects/fqzcomp/下载了fqzcomp4.6版本进行修改并植入了一个漏洞:让处理和压缩DNA测序读段的函数使用固定长度的缓冲区。然后针对这个漏洞编写了一段shellcode并转为DNA序列进行合成和测序。

本次攻击实验从https://sourceforge. net/projects/fqzcomp/获取了fqzcomp4.6版本的源代码并插入了一个漏洞:该漏洞存在于一个单独处理并压缩DNA测序读段的函数中,该函数使用​​固定长度的缓冲区​​存储压缩数据。fqzcomp属于FASTQ压缩领域的基础工具之一,其改进版本如Slimfastq和LFQC均被用于压缩率对比实验。此类工具中静态缓冲区可能成为潜在攻击面,如缓冲区溢出漏洞可被用于控制流劫持

然而首份“攻击性DNA”样本由于存在太多重复序列导致PCR过程产生了偏好性扩增和形成发卡结构阻碍了聚合酶的延申。低GC区域出现链断裂和脱嘌呤现象,最终产物中可能包含大量截断序列导致这份样本无法准确合成。并且由于测序仪的读长限制,这个攻击载荷并不能有效执行。攻击实验转向x86架构,因为x86的指令集更紧凑,可以减少样本使用连续相同碱基。

 

于是研究团队将另一种攻击性反弹shell语句转为DNA序列后委托IDTgBlocks公司合成,IDTgBlocks公司合成最多500个碱基对的报价仅为89美元

shell是用户和内核的接口,用户可以通过shell输入命令执行系统操作.在计算机中shell是用户和内核的接口,用户输入命令可以执行系统操作。如在Windows系统中,可以按Win键输入CMD或PowerShell启动,然后输入命令或编写脚本。 也许你曾经在这里使用ping命令检查网络是否连接正常或者使用CD和DIR命令查看过硬盘里的文件。但Shell还有一个鲜为人知的便利功能就是把操作权限交给网络上的其他人,这有可能被攻击者滥用。

这份反弹shell语句“攻击性DNA”样本在illumina平台流动池的四个通道(lane,物理上分开的部分)上进行了测序,然后产生的FASTQ文件被输入到被植入漏洞的fqzcomp软件中,由于漏洞的存在,软件执行了语句并把bash shell反弹到攻击者服务器degdeg.com的9号端口上,攻击者可以实现任意远程代码执行(RCE漏洞),此时攻击者在远程通过degdeg.com能像计算机的主人一样执行任何操作。研究结果表明,合成DNA理论上有可能破坏计算机系统。

研究团队还分析了 13 个开源程序,并梳理了代码中的已知漏洞或不安全因素,这些程序在昂贵的测序仪或者实验室的计算机/服务器运行着。

经统计:DNA 测序软件中发现每 1000 行代码有 2.005 个不危险函数,而对照组每 1000 行代码有 0.185 个危险函数。研究人员在DNA测序软件中发现的最常见不安全函数包括strcat、strcpy和sprintf,且普遍存在固定长度缓冲区的使用。

当处理长度可变的DNA序列(如FASTQ中的@SEQ_ID行后接数百至数千bp的序列)时,若未校验输入长度,直接复制到固定缓冲区:NGS测序读长可达300-600 bp(双端合计600-1200 bp),而许多旧版软件缓冲区仅预留512-1024字节,易触发溢出。

生成含可变长度元数据的报告时:read_id可能包含实验编号、样本ID等长字符串(如SRR12345678.1_HWI-ST1234:123:D12345ACXX:1:1101:54321:6789),长度超过100字符。溢出可覆盖返回地址,注入shellcode,如通过恶意构造的DNA序列编码x86指令。

这些结果表明“生物信息项目的总体安全水平很低”,不过有一定的攻击难度。研究团队认为尽管这些漏洞可能构成RCE——盗窃个人信息,篡改测试结果,通过仪器与公司的内网横向移动窥探公司的商业秘密、知识产权等等。

但目前人们不必感到担忧,虽然作为科学实验这很有趣,但利用条件非常苛刻,首先能够发现漏洞并针对性合成攻击性DNA序列就存在技术门槛。而且这是一项测试性的攻击,是在关闭了基本的安全设置下完成的。研究者强调本次反弹shell攻击实验之所以能成功是因为事先对fqzcomp程序进行了破坏性修改才产生了漏洞。而且该漏洞对错误序列不具备鲁棒性:因为仅需一个错误的碱基就无法形成攻击。

在这次实验中,只有76.2%的读取没有错误。另一个问题是DNA链会随机以正反两个方向进行测序。反向测序不会读出可运行的代码。该研究团队还强调,使用 DNA 测序服务的人至少现在还不用担心。“即使有人想恶意地这样做,它也可能不会奏效。”

 

关于防御手段:该研究团队的建议是遵循安全软件的最佳实践,在设计实验流程时使用对抗性思维,监控谁可以接触DNA 样本,在处理 DNA 样本之前验证 DNA 样本的来源,使用代码审计和安全工具,以及开发检测 DNA 中恶意可执行代码的方法。

读取的质量(E 质量高于 A)Dennis Wise / 华盛顿大学

 

参考资料:
《Next-Generation Digital Information Storage in DNA》https://www.science.org/doi/10.1126/science.1226355

《CRISPR–Cas encoding of a digital movie into the genomes of a population of living bacteria》https://www.nature.com/articles/nature23017

《Computer Security, Privacy, and DNA Sequencing:Compromising Computers with Synthesized DNA, Privacy Leaks, and More》

郑秋生《网络安全技术及应用》

袁春风 余子濠《计算机系统导论》

UW DNA 测序安全性研究 

dnasec.pd

fUSENIX 安全 ’17 |USENIX 公司



 

 

 

ae05539ea1e60f154d176c25983e01d2883e9383

逸思Space.

 

 

 


了解 逸思Space. 的更多信息

订阅后即可通过电子邮件收到最新文章。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注