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

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.