我的翻译--GSMem:通过GSM频率从被物理隔离的计算机上窃取数据
抽象概念
AG网络是指在物理上与公共互联网断开的网络。虽然近几年人们验证了入侵这类网络系统的可行性,但是从这种网络上获取数据仍然是一个有挑战的任务。在本文中,我们介绍GSMem,它是一个可以在蜂窝数据频率上窃取被隔离网络计算机数据的恶意软件。受感染计算机上的恶意程序调制信号,并通过调用使用内存的相关指令产生蜂窝移动数据无线电信号,并利用多通道内存架构放大传输的信号。此外,我们将介绍传输的信号可以由在被感染计算机附近的手机接收,利用手机的基带系统和基带固件接收并解调信号。我们会介绍信号的产生接收,数据的调制和传输的关键技术设计。我们将给出一个GSMem的原型实验系统来评价它的性能和局限性。按照我们目前的实验结果,使用移动电话接收,传输距离为1米到5.5米,当使用专用却并不太昂贵的接收工具,有效距离可达30米以上。
1.绪言
具有安全意识的单位采取各种措施防止敏感信息的泄露与被盗,负责处理敏感信息的计算机通常在无外界隔离的内部网络运行,他们在物理上与公共网络断开,随着防止内部人员恶意或者过失导致敏感信息泄露意识的增加,一些公司开始限制USB接口的使用以防止经由USB的恶意软件感染或者数据泄露。有一些公司认为智能手机的摄像头,蓝牙和WIFI是存在风险的,限制他们在特殊环境场所的使用。例如,英特尔公司最佳文档称:“目前,制造员工只可以携带并使用有最基本的手机功能如语音通话和短信息的手机,这些手机有没有摄像头,摄像或者WIFI。另一个例子,来访者在LockheedMartin访问时,要遵循如下的要求:“因为 ATL 是一个安全的设施,下列项目不允许在我们办公区使用: 照相机 (电影,视频,数字) 成像设备,录音机,听录音设备。使用手机是允许的,但不可以使用摄像机/录音功能。”许多有安全意识的组织采取了类似的做法。显然,这种做使有摄像头和WIFI的手机处于监控之下。然而,现代计算机属于电子设备,注定要发射一些不同强度和频率的无线电信号。此外,手机还有灵敏的无线电信号接收器。这两个因素结合起来,为隐蔽的攻击创造了可能。
在本文,我们提出的任何基本的桌面计算机都可以偷偷将数据传送到附近的移动手机敌的攻击模型。通过调用特定内存相关 CPU 指令产生可被接受的 GSM、 UMTS 和 LTE 的频率。通过使用多通道内存体系结构的功能,为信号的放大和传输增加功率。这些信号接收和解码由安装在标准的手机内核的程序完成。为了演示攻击模型的可行性,我们开发了 GSMem,这是一个由桌面计算机上运行程序以及在GSM手机上运行的程序共同组成的恶意程序。我们选取可靠的无线电调制方式和通讯频率,来提供通用的实验结论。我们将在稍后解释我们的方法是适用于 GSM、 UMTS 和 LTE 基带的,我们在这里用GSM手机作为接收器演示。
图 1 显示了典型的真实生活场景,在(1) 计算机上的流氓软件调制敏感信息并通过 GSM 蜂窝频率传输。传输行为发生在计算机正在工作,并不会影响用户体验的地方。手机中基带级 恶意程序接收信号和解调他们,将他们转换成有意义的信息。请注意,利用该模型的组件存在于几乎所有计算机和蜂窝设备,即使在许可进入特殊环境的低端蜂窝设备。
1.1基带领域的封闭的性质
基带芯片是管理设备底层无线电链接网络的部分,因此它是手机不可缺少的组成部分,基带处理器运行固件中的实时操作系统(RTOS),这些固件对公众是封闭的,只有设备制造商才能通过有限的接口访问基带芯片的功能。实时操作系统源代码,以及协议栈和其他的实现细节,是严格保密的商业机密。保密严格的基带芯片行业由很少的厂商控制着。缺乏文档和技术细节,使得独立软件供应商不能更好地开发新产品和基带芯片的接口技术。
我们可以认为当前对基带芯片内部工作原理和固件的保密是在通过保密来实现安全,然而,这种保护方法是有局限性的,优秀的黑客以坚持不懈的破解并设法利用基带系统为自己的追求,即使这是异常艰辛的。Weinmann [8] [9] [10] 对基带系统的获取和攻击都详尽的讨论。Welte 和 Markgraf [6] 也指出当前商业基带技术和实际应用中的几个安全问题。
1.2本文贡献
虽然电磁的泄露不是一个新的话题[11],但是以下的内容是本文最先提出的: (1) 使用多通道内存的指令从计算机发射出蜂窝频率信号和利用手机基带芯片固件的程序接收并调解信号,而无需其他特殊的硬件。(2) 还有一种的新方法可以把几乎任何手机变成有效的电磁波窃听装置无需使用专门的设备。安全专家应该意识到,我们相信我们提出的攻击模型构成了新的安全威胁。
虽然大部分的本文侧重于手机作为接收器,我们也会介绍发射机使用与内存相关的 CPU 指令发出电磁波。我们将使用并不昂贵的软件定义无线电设备(sdr)来接收,这也扩展了我们研究的范围,实践更加多样的数据传输方法。
本文的其余部分组织如下: 在第二小节,我们介绍我们的相关的作品,并简明回顾我们的创新。下一步,在第三节中,我们提出了攻击模型。第四节中,我们提出的必要的技术背景。第五节规定发射机,紧接着第六节描述接收器的详细的说明。第七节中,我们评估 GSMem 和目前的效果。接下来,第八节,我们讨论了可能的防御对策。我们在第九节做最后总结。
2.简述任务
使用泄漏或辐射出电磁信号来进行地址攻击的电磁泄露安全问题由Anderson首先发现[11]。,这个问题可以追溯到第一次世界大战时期,但是在之后的很长时间,他只被军事和政府部门所关注。然而在1985年,van Eck [13] 表明可以使用价格合适的设备去利用瞬变电磁脉冲辐射上的漏洞。他设法使用一个改良的电视机在可行的距离上去接收显卡辐射出来的电磁信号并尝试还原图像。2000 年前后,库恩和安德森发布与利用计算机瞬变电磁脉冲辐射上的漏洞的文章[14] [15],展示了可以通过适当的软件造成桌面计算机泄露出来无线电信号,这是一个新的信息安全研究方向。.一些网站和书籍提到了电磁脉冲辐射技术文档,有些甚至给出了DIY的教程[16],因此公众对EMSEC和电磁泄露安全问题更加感兴趣。Thiele [17] 是一个开源项目,被称为"电磁脉冲辐射的Eliza ",利用计算机 CRT 显示器来调制 AM 频率的无线电信号传送。请注意,无线电攻击有很多的用途而不仅仅是如本文所述的信息的泄露。他也可以用于窃听,攻击复杂的加密算法或是作为检查恶意进程的防御手段。此外,无线电攻击并不限于电磁辐射,克拉克,兰斯福德 et al [18] 使用功率消耗作为一个途径,可以发现计算机隐藏的信息或活动。他们的项目WattsUpDoc通过测量功耗来确定在医学的嵌入式设备上的系统是否存在恶意软件。Rührmair[19] 讨论使用功率和时间途径攻击物理 不可复制的数据。其他研究人员研究攻击的途径不再局限于无线电。Halevy 和塞纳[20],探讨声学窃听,研究重点在于敲击键盘声音产生的泄密。汉什帕赫和 Goetz [21]所提出的所谓"隐蔽声学网络"基于超声波波段,使用计算机的声音传递信息并用附近的一台计算机的麦克风接收。Callan et al [22]通提出一种基于指令级事件信道的通过无线检测任意一台电脑辐射掌握电脑使用情况的方法。他们的方法利用CPU和内存正常工作时产生的正常辐射。他们的局限性是需要昂贵的设备,使用距离也相当有限。古丽[23]提出AirHoppe,工作原理是植入恶意软件后的电脑利用VGA视频线产生无线电信号,使用有FM功能的手机接收。
2.1 有关入侵途径的比较
从被链接隔离处理的计算机上隐蔽的窃取数据涉及很多物理效应,如从显示器电缆线 [23],从扬声器 [21] [24],CPU运行的漏磁[22] 和热辐射[25] 。我们的方法,GSMem,使用多通道内存数据总线法神的电磁波。表 1 提供了 GSMem 和其他当前模型之间的简要比较。
Table 1: Comparison of current covert channels for airgapped networks
可以看出,这五种方法都是利用计算机的基本硬件作为发射工具,然而,不一定每一台计算机都有视频线和扬声器但是对于GSMEN和SAVAT,CPU和内存总是存在的。对于接受端,手机麦克风有可能不能靠近计算机,尤其是保密区域。FM接收器也不是每一台手机都有,而基带芯片是手机不可缺少的组成成分。
在各种基带芯片中,专业芯可以取得100到1000bit/s的比特率。然而使用手机的基带芯片,要慢得多(2bit/s),这使得本设备适合演示少量数据的盗取。大家要注意到,由于手机基带芯片行业的保密性,我们的演示是在可获取基带固件的低级落后手机上进行的。在最新的基带芯片上论证可能会有更好的结果,这件事可以作为未来一个新的研究方向。
3.建立威胁攻击模型
我们把GSMem看作是一个新的泄密路径概念的实验。我们建立一个特定的攻击模型,他可能会利用这个途径产生信息的泄露。我们把攻击模型分成两部分,一部分是一个感染了恶意程序的计算机,它作为发射源;另一部分是一个感染了恶意程序的手机,作为接收器。感染一台被隔离的计算机可以用Stuxnet [27] [28]、 [2] Agent.Btz 和其他 [1] [29] [30] [31]的方法,感染手机可以用社会工程、 恶意程序、 USB 接口或物理访问等方法从 [32] [33] [34]。如果被感染的手机在被感染的计算机附近,它就可以检测、 接收和解码任何传输的信号并存储有关获得的信息。之后,手机可以把窃取到的数据通过移动数据,短信或wifi传输给攻击者。虽然这种攻击模式复杂,但是近些年,攻击者的手法愈加高明,越来越多的复杂的攻击模式也被证明可行[35] [36] [37] [38]。
4.技术背景
我们用在分配的指定频率发射的电磁信号作为窃密的途径,这些信号可以被位于受感染计算机附近的手机基带芯片中的恶意程序检波,在本节中我们将提供有关的通讯协议和通讯频段,以及手机基带芯片的一些有用的技术背景。
4.1蜂窝通讯协议
移动网络有2G,3G,4G三个“代“,每一代都有其自己的标准、 网络体系结构、 基础设施、 和协议集。2g、 3g 和 4g 网络通常被称为 GSM、 UMTS 和 LTE ,以此反应标准的使用方法。在本文中,我们使用 GSM、 UMTS 和 LTE 的用语来表示这三代通讯技术。
4.1.2绝对无线电频道编号
手机和基站之间的通信 (传输和接收) 发生在整个频带内的频率的一个部分中。通讯标准的上行和下行频段被细划分成特定带宽的频段,每个频段是一个绝对射频信道。对这些绝对射频信道进行编号,而编号就用绝对射频信道号表示。常称绝对射频信道号为一个载波或一个频点。例如GSM850频带由123个绝对射频信道组成(128到251)。例如其中第128号编号表示上行频率824.2 MHz,下行频率869.2 MHz。在 UMTS 和 LTE中,绝对无线电频道编号各自被UARFCN 和 EARFCN取代。每一个绝对无线电频道编号的对应关系详见[40]。
4.2蜂窝网络波段
移动电话与蜂窝网络之间的无线通讯是通过负责处理手机无线电链路协议的基站链接的。基站与蜂窝网络之间的通讯基于不同的无线电频率波段。实际中,这些标准的使用取决于国家,区域,蜂窝网络运营商。虽然有的现代手机只能在特定区域使用,但是所有常见的频段如 GSM、 UMTS 和 LTE他们都支持。表2显示的现代手机支持的主要频率。每一个频段在频率数值一定的上方和下方范围内。例如,GSM 850 的频段是 824.2 MHz 和 894.2 MHz 之间。下表是国际标准 [39] 指定通讯标准的分配的频率。
4.2移动电话中的基带系统
现代手机包括至少两个独立的处理器 [9] [41]。一个是应用程序处理器,运行主要的操作系统(如安卓或iOS),进行图形用户界面的渲染,内存管理和进程调度。一个是基带处理器,它运行专用的 RTOS,管理无线电通信和维护协议栈。应用处理器和基带处理器从彼此独立工作,有单独的内存空间。然而,它们也会交换数据。例如,当拨号程序需要进行一个呼叫(应用处理器到基带处理器),收到短信手机的通知(基带处理器到应用处理器)。处理器之间的通信通常是通过一个共享内存段或专用串行接口 [9] [41] 进行的。和智能手机不同,低端手机,也提到作为功能手机,使用单个处理器来管理用户界面和蜂窝通信。对于功能手机,这种单一处理器也称为基带处理器。
4.2.1基带芯片构造
基带处理器是基带芯片的有机组成部分,该芯片由(1) 射频前端、 (2) 模拟基带、 (3) 数字基带和 (4) 基带处理器组成。[6] [41]
射频前端负责在物理层面上接收和传输信号,此组件包括: 天线,低噪声放大器 (LNA),混频器。模拟信号基带由一个数模转换器或模数转换器与射频前端进行沟通。数字基带包括数字信号处理器 (DSP) ,它是负责协议栈 (调制/解调信号和误差校正) 的最底层基础。基带处理器负责处理比协议栈更高和更复杂的图层。 DSP 和基带处理器之间的通信是通过共享内存接口 (图 2) 实现的。
5.发射部分
我们传输方式的物理基础是电磁能量辐射(EMR),这是一种电子设备运行过程中的能量排放形式。发出的波传播通过空间以辐射的方式传播。电磁波的传播有两个定义属性:赫兹 (Hz) 和振幅 (即强度,以dbm定义),在许多情况下,电子产品 (如线路、 电脑显示器、 显卡和通信电缆) 发出无线频率。他们的频率和幅值取决于其内部的电流和电压。先前的研究 [14] [23] [13] [42]从计算机组成和设计方向上有意或无意讨论过电磁波的排放。
我们认为计算机内存总线可以充当天线把无线电辐射到很远的位置。当CPU和内存交换数据时,从内存总线可以发射出无线电。发射频率以+、-200MHZ的环绕于内存总线的时钟震荡频率。因为需要电路中有很大的电压,所以正常情况下使用计算机不会产生很大的幅值。但是,我们发现,通过在多通道内存总线生成连续的数据流,是可能提高发射无线电波的振幅的。使用这个发现,我们就能通使用CPU指令开始和停止多通道传输来调制出可以作为数字信号载波的电波。
在本节的其余部分,我们将从底层向上描述发射机的设计。首先,我们讨论了载波 (信道频率) 的发出的无线电波。接下来,我们讨论一种通过总线调制二进制数据的方法。最后,我们提出一种简单的位框架协议来帮助接收机解调接收到的信号。由于本文的重点是拟议的隐蔽通道的可行性,我们不会详细地探讨所有可能的信号调制方式或二进制通讯协议。使用其他方式和协议更好完成目标应该是未来的研究方向。
5.1电磁波发射
多通道内存体系结构是一种技术,通过添加额外的线路,来增加内存模块和内存控制器之间的传输速率。多通道内存中的地址空间跨越多个物理内存条,必然要同时使用多个 (两个、 三个或四个) 数据总线传输数据。这种方式,可以在每次读/写操作时转移更多的数据。例如,支持双通道的主板有 2 x 64 位数据通道。一些计算机支持三通道内存,有的操作系统支持四通道。这种多通道内存体系在所有的Intel 和 AMD 主板上被使用。
在图 3 中,是故意让其发射无线电的双内存通道和普通使用计算机双内存通道无线电发射强度和频率的比较。所有通道都使用时,故意发射无线电的总线 (蓝色) 相比于正常使用计算机的总线(红色)能量增加。在频段 750-1000mhz中至少增加0.1到0.15db,在一些特殊频段上增加1到2.1dB。不同主板和内存技术产生的无线电频段见下表3。
基于我们的实验,我们发现当使用三个或四个总线来增加振幅时,无线电辐射几乎整个在如图三所示的范围内。这意味着,随着内存体系结构的发展,未来内存总线数目的增加,我们提出的泄密途径的质量会增加。请注意,这些无线电发射频率属于GSM、 UMTS 和 LTE频段,这就可以通过现代手机基带系统进行接收解码。
5.2信号调制
在通信中,调制是让模拟信号携带一些信息的过程。通常情况下,即使一个频率被选定为载波信道频率,在这个频率周围的频率也可以找到调制能量的大部分。有很多技术可以对载波进行调制以传输二进制数据,为了简单,只作为可行性演示,我们使用两种不同的无线电正弦波的幅度(B-ASK)传输,在指定的的时间中,高振幅表示1,低振幅表示0【43】。换句话说,把时间划分成指定的时间长度T,在一个时间间隔传输的幅值为高振幅,即为1,为低振幅,为0。我们这里的低振幅不是0,而是正常计算机的辐射水平。我们假设接收系统可以区分接收到的是正常强度还是高强度(详见第6节)。具体用主板内存总线调制BASK形式的信号的方式如下:所有内存地址全都传送“1”并维持t秒,然后传输“0”,也就是什么都不做(此时为“随意的电磁排放”)。在这种情况下,发射频率
我的翻译--GSMem:通过GSM频率从被物理隔离的计算机上窃取数据的更多相关文章
- 全球分布式数据库:Google Spanner(论文翻译)
本文由厦门大学计算机系教师林子雨翻译,翻译质量很高,本人只对极少数翻译得不太恰当的地方进行了修改. [摘要]:Spanner 是谷歌公司研发的.可扩展的.多版本.全球分布式.同步复制数据库.它是第一个 ...
- Linux就这个范儿 第12章 一个网络一个世界
Linux就这个范儿 第12章 一个网络一个世界 与Linux有缘相识还得从一项开发任务说起.十八年前,我在Nucleus OS上开发无线网桥AP,需要加入STP生成树协议(SpanningTree ...
- 再续session和cookie (网络整理)
摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术.本文将详细讨论session的工作机制并且对在Java ...
- HQL的一些语句总结
HQL原文来自:http://slaytanic.blog.51cto.com/2057708/782175/ Slaytanic老师 关于Hadoop的介绍来自:http://www.cnblo ...
- Hadoop入门进阶课程1--Hadoop1.X伪分布式安装
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan ...
- [笔记]SD卡相关资料
ESD静电放电模块 我知道的flash分为两种NOR flash和NAND flash,NOR falsh容量一般为1~16M用于单片机代码存储,NAND flash最小的是8M最大的现在听说有90G ...
- 大数据和Hadoop生态圈
大数据和Hadoop生态圈 一.前言: 非常感谢Hadoop专业解决方案群:313702010,兄弟们的大力支持,在此说一声辛苦了,经过两周的努力,已经有啦初步的成果,目前第1章 大数据和Hadoop ...
- python py2与py3的编码问题
一:什么是编码 将明文转换为计算机可以识别的编码文本称为"编码".反之从计算机可识别的编码文本转回为明文为"解码". 那么什么是明文呢,首先我们从一段信息说起, ...
- Git漏洞允许任意代码执行(CVE-2018-17456)复现
Git漏洞允许任意代码执行(CVE-2018-17456) 国外安全研究员 joernchen 在 9 月 23 日向 git 官方报告了漏洞的相关细节.10月5日,Git项目披露了一个漏洞,编号为C ...
随机推荐
- [红日安全]Web安全Day1 - SQL注入实战攻防
本文由红日安全成员: Aixic 编写,如有不当,还望斧正. 大家好,我们是红日安全-Web安全攻防小组.此项目是关于Web安全的系列文章分享,还包含一个HTB靶场供大家练习,我们给这个项目起了一个名 ...
- 同时安装了python和3,pycharm如何切换版本
1.打开pycharm 2.进入 File->Setting->Project:你的项目名->Project Interpreter 3.通过Project Interpreten ...
- 如何使用maven开启一个webapp项目
1.使用maven创建好一个webapp项目 2.pom.xml: 第一步:修改版本 <properties> <project.build.sourceEncoding>UT ...
- LeetCode 面试题 02.07. 链表相交
题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists-lcci/ 给定两个(单向)链表,判定它们是否相交并返回交 ...
- go笔记--几个例子理解context的作用
目录 go笔记--几个例子理解context的作用 context interface 先看一个简单的例程 context的作用 contxt相关函数 go笔记--几个例子理解context的作用 经 ...
- jQuery---jquery.ui实现新闻模块
jquery.ui实现新闻模块 jquery也有ui,了解即可,用的不多,类似element ui 和bootstrap JQuery UI API: jquery.ui实现新闻模块 draggale ...
- 将String类型的json数据转换为真正的json数据
问题 在做JavaWeb项目的时候,我们经常需要将Java对象转化为Json数据格式响应到前台页面,但是转化完成之后,看着是Json类型的数据格式,但实际上是字符串类型,在这里说两个方法将String ...
- js阻止事件冒泡(phpcms,浮窗第一次10秒弹出后每30秒弹出,动态更换日期)
/* v9_date_list 日期表 tiptime 考试日期(数据类型为日期) 如果要实现浮窗淡入淡出用jquery的("#main0").fadeIn(3500);淡出(&q ...
- pycharm导入python包
总步骤:file --> settings --> poject interpreter --> 点击加号 --> 搜索需要导入的python包 --> 选中需要导入的p ...
- Json与Ajax(注册实例)
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: "./server/slider.json", type: "po ...