气隙系统通过网卡LED泄漏数据

2023-12-22 23:59

本文主要是介绍气隙系统通过网卡LED泄漏数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以色列研究人员 Mordechai Guri 发现了一种使用网卡上的 LED 指示灯从气隙系统中提取数据的新方法。该方法被称为“ETHERLED”,将闪烁的灯光转换为可以被攻击者解码的摩尔斯电码信号。

捕获信号需要一台摄像机,该摄像机可以直接对准气隙计算机卡上的 LED 灯。这些可以被翻译成二进制数据来窃取信息。

ETHERLED 攻击图

气隙系统是通常存在于高度敏感环境(例如关键基础设施、武器控制单元)中的计算机,出于安全原因,这些环境与公共互联网隔离。

然而,这些系统在气隙网络中工作并且仍然使用网卡。Mordechai Guri 发现,如果入侵者用特制的恶意软件感染他们,他们可以用修改 LED 颜色和闪烁频率的版本替换卡驱动程序,以发送编码数据波。

ETHERLED 方法可以与使用 LED 作为状态或操作指示器的其他外围设备或硬件一起使用,例如路由器、网络附加存储 (NAS) 设备、打印机、扫描仪和各种其他连接设备。

与之前披露的基于光学发射的数据泄露方法(控制键盘和调制解调器中的 LED)相比,ETHERLED是一种更隐蔽的方法,不太可能引起怀疑。

攻击首先在目标计算机上植入恶意软件,该恶意软件包含网卡固件的修改版本。这允许控制 LED 闪烁频率、持续时间和颜色。

控制 LED 指示灯的代码

 

或者,恶意软件可以直接攻击网络接口控制器 (NIC) 的驱动器,以更改连接状态或调制生成信号所需的 LED。

三种潜在的攻击方法

研究人员发现,恶意驱动程序可以利用已记录或未记录的硬件功能来调整网络连接速度并启用或禁用以太网接口,从而导致指示灯闪烁和颜色变化。

网卡指示灯亮起以传送信号

Guri 的测试表明,每个数据帧都以“1010”序列开头,以标记数据包的开始,然后是 64 位的有效负载。

信号内容

对于通过单个状态 LED 进行的数据泄露,生成持续时间在 100 ms 和 300 ms 之间的摩尔斯电码点和破折号,由 100 ms 和 700 ms 之间的指示器停用空间隔开。

使用驱动程序/固件攻击方法时,莫尔斯电码的比特率最多可增加十倍。

为了远程捕获信号,威胁参与者可以使用智能手机摄像头(最远 30m)、无人机(最远 50m)、被黑网络摄像头(10m)、被黑监控摄像头(30m)以及望远镜或带有远摄或超变焦镜头的摄像头等任何东西(超过 100m)。

通过 ETHERLED 泄露密码等机密所需的时间在 1 秒到 1.5 分钟之间,具体取决于所使用的攻击方法,比特币私钥需要 2.5 秒到 4.2 分钟,而 4096 位 RSA 密钥需要 42 秒到 1 小时。

传输机密所需的时间

Mordechai 还发表了一篇关于“ GAIROSCOPE ”的论文,这是一种针对气隙系统的攻击,它依赖于目标系统上产生的共振频率,由附近(最远 6 米)智能手机的陀螺仪传感器捕获。

https://arxiv.org/pdf/2208.09764.pdf

7 月,同一位研究人员提出了“SATAn”攻击,它使用计算机内部的 SATA 电缆作为天线,产生可以被附近(最远 1.2 米)笔记本电脑捕获的携带数据的电磁波。

Mordechai Guri 博士的气隙隐蔽通道方法的完整集合可以在内盖夫本古里安大学网站的专门部分中找到。

https://cyber.bgu.ac.il/advanced-cyber/airgap

这篇关于气隙系统通过网卡LED泄漏数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/525971

相关文章

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入