气隙系统通过网卡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

相关文章

Java中注解与元数据示例详解

《Java中注解与元数据示例详解》Java注解和元数据是编程中重要的概念,用于描述程序元素的属性和用途,:本文主要介绍Java中注解与元数据的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参... 目录一、引言二、元数据的概念2.1 定义2.2 作用三、Java 注解的基础3.1 注解的定义3.2 内

将sqlserver数据迁移到mysql的详细步骤记录

《将sqlserver数据迁移到mysql的详细步骤记录》:本文主要介绍将SQLServer数据迁移到MySQL的步骤,包括导出数据、转换数据格式和导入数据,通过示例和工具说明,帮助大家顺利完成... 目录前言一、导出SQL Server 数据二、转换数据格式为mysql兼容格式三、导入数据到MySQL数据

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

C#提取PDF表单数据的实现流程

《C#提取PDF表单数据的实现流程》PDF表单是一种常见的数据收集工具,广泛应用于调查问卷、业务合同等场景,凭借出色的跨平台兼容性和标准化特点,PDF表单在各行各业中得到了广泛应用,本文将探讨如何使用... 目录引言使用工具C# 提取多个PDF表单域的数据C# 提取特定PDF表单域的数据引言PDF表单是一

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬