本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!
本文介绍一个用于逆向解析和攻击无线通信(私有)协议的开源工具。该工具是Johannes Pohl和Andreas Noack研发的,该成果也已发表在12th USENIX Workshop on Offensive Technologies(woot'18),woot是一个与Usenix Security一起举办的workshop。Universal Radio Hacker: A Suite for Analyzing and Attacking Stateful Wireless Protocols的原文及其演讲PPT下载链接为:Universal Radio Hacker: A Suite for Analyzing and Attacking Stateful Wireless Protocols | USENIX
本文基于对原文的学习和工具的使用,介绍URH的基本内容和使用方法。
目录
一、背景介绍
物联网设备普遍使用各自的无线私有协议。这些私有协议往往关注如何在物联网设备的资源受限情况下,能够稳定可靠运行。但是,协议往往忽视了信息安全防护。这也就导致各种无线智能设备存在加大的安全隐患,例如无线门锁或者汽车的无线钥匙等很容易遭受无线窃听、重放、篡改等攻击。网络攻击者要想对这些无线设备发起深层次的攻击,就需要深入的逆向解析这些无线私有协议。
软件无线电设备可以设定成物联网设备工作频段,来进行信号发送和接收,这为攻击者们开展无线协议逆向工作提供了很大的便利。但是,目前看来,绝大多数的软件无线电设备工具适用于的协议逆向的工作频段往往集中在高频频段(3-30MHz,例如13.56MHz的RFID的频段),而且这些工具也无法用于充分分析协议逻辑,必须配合其他的定制化工具或者相关芯片的资料才行。
因此,本文(Universal Radio Hacker: A Suite for Analyzing and Attacking Stateful Wireless Protocols),研制了一种开源工具Universal Radio Hacker(URH),可配合常见的软件无线电设备来对无线私有协议开展协议逆向分析,实现了信号解调、可定制的解码、协议模糊测试和仿真功能。总体来看,URH将协议逆向分析工作分成了以下几个阶段,即信号解析、信号分析、信号生成、信号仿真四个阶段。四个阶段中,上一个阶段的产出可以输入给下一个阶段使用。URH聚焦协议逻辑的分析,而不是仅仅关注对高频信号和数字信号解析过程。
二、URH设计目标
URH是一种用于分析无线私有协议的工具。URH通过控制软件无线电设备(例如USRP、HackRF等)接收无线采样信号,并将信号转化为01比特序列。但是URH的功能不仅仅局限于此,URH的目标是帮助你实现对某些物联网设备无线通信攻击的完整过程。
具体来看,URH有以下三个设计目标:
(1)提供一个直观的无线私有协议分析界面,并不需要使用者有太多深入的射频知识;
(2)给用户提供一个覆盖对一个有状态无线私有协议发起攻击涉及的所有完整操作;
(3)此工具需要提供给于其他软件配合工作的接口。
三、URH具体实现方法
1、URH实现方法概览
URH为了实现设计目标,将无线协议逆向解析分成以下三个主要步骤:
(1)信号解析:信号解析包括对原始采样信号的解调解码,其目标是将接收到的信号映射成数字bit数据。
(2)信号分析:将信号解析的bit数据解码成可读性高的文本