LTESniffer:一款功能强大的LTE上下行链路安全监控工具

关于LTESniffer

LTESniffer是一款功能强大的LTE上下行链路安全监控工具,该工具是一款针对LTE的安全开源工具。

该工具首先可以解码物理下行控制信道(PDCCH)并获取所有活动用户的下行链路控制信息(DCI)和无线网络临时标识符(RNTI)。获取到解码后的DCI和RNTI信息之后,LTESniffer将进一步解码物理下行链路共享信道(PDSCH)和物理上行链路共享信道(PUSCH),以检索上行链路和下行链路数据业务。

LTESniffer还提供了API接口,该API提供了三种用于安全应用程序和安全研究的相关功能。很多LTE安全研究都会涉及到通过被动嗅探工具来捕捉与安全隐私相关的无线数据包,但目前所有的开源工具都无法百分之百满足这一需求,主要原因就是它们无法解码PDSCH和PUSCH中的协议包。为此,LTESniffer便应运而生。

LTESniffer:一款功能强大的LTE上下行链路安全监控工具_第1张图片

功能介绍

当前版本的LTESniffer基于FALCON项目实现其功能,并使用到了srsRAN代码库的部分功能,可以给广大研究人员提供下列安全功能:

1、实时解码LTE上下行控制数据信道:PDCCH、PDSCH、PUSCH;

2、LTE Advanced和LTE Advanced Pro,上行链路和下行链路最高可达256QAM;

3、支持的DCI格式:0、1A、1、1B、1C、2、2A、2B;

4、支持的传输模式:1、2、3、4;

5、FDD(频分双工);

6、基站最大20MHz;

7、自动检测智能手机的最大UL/DL调制方案(DL上64QAM/256QAM,UL上16QAM/64QAM/256 QAM);

8、自动检测每个UE的物理层配置;

9、LTE Security API:RNTI-TMSI映射、IMSI收集、UE功能分析;

硬件和软件要求

操作系统要求

当前版本的LTESniffer可以在Ubuntu 18.04/20.04/22.04上稳定运行。

硬件要求

推荐硬件配置如下:

Intel i7 CPU(至少8个物理核心);

至少16GB RAM

256GB SSD存储

SDR

srsRAN库支持的SDR,例如USRP或BladeRF;

SDR支持通过USB 3.0端口与PC连接;

配备GPSDO和两个RX天线;

USRP B-Series(B210/B200);

工具安装

首先,我们需要确保Ubuntu操作系统上的UHD库版本>= 4.0。

UHD依赖安装部署:

sudo apt update

sudo apt-get install autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool \

g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev \

libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools \

python3-ruamel.yaml

从源码克隆和构建UHD:

git clone https://github.com/EttusResearch/uhd.git

cd /host

mkdir build

cd build

cmake ../

make -j 4

make test

sudo make install

sudo ldconfig

为USRP下载固件:

sudo uhd_images_downloader

我们这里选择使用USRP X310,并将其连接至PC,测试连接和固件:

sudo sysctl -w net.core.rmem_max=33554432

sudo sysctl -w net.core.wmem_max=33554432

sudo ifconfig <10Gb card interface> mtu 9000

sudo uhd_usrp_probe

srsRAN依赖安装部署:

sudo apt-get install build-essential git cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev

LTESniffer依赖安装部署:

sudo apt-get install libglib2.0-dev libudev-dev libcurl4-gnutls-dev libboost-all-dev qtdeclarative5-dev libqt5charts5-dev

源码构建LTESniffer:

git clone https://github.com/SysSec-KAIST/LTESniffer.git

cd LTESniffer

mkdir build

cd build

cmake ../

make -j 4 (use 4 threads)

工具使用

通用下行链路嗅探

 
  
sudo .//src/LTESniffer -A 2 -W  -f 
-C -m 0 example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -C -m 0 -A: number of antennas -W: number of threads -f: downlink frequency -C: turn on cell search -m: sniffer mode, 0 for downlink sniffing and 1 for uplink sniffing

如需使用USPR B210并以下行链路模式运行LTESniffer,需要在命令行添加-a "num_recv_frames=512"选项:

sudo .//src/LTESniffer -A 2 -W  -f 
-C -m 0 -a "num_recv_frames=512" example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -C -m 0 -a "num_recv_frames=512"

通用上行链路嗅探

 
  
​​​​​​​sudo .//src/LTESniffer -A 2 -W  -f 
-u
    -C -m 1 example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1 -u: uplink frequency

Security API使用

 
  
​​​​​​​sudo .//src/LTESniffer -A 2 -W  -f 
-u
    -C -m 1 -z 3 example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1 -z 3 -z: 3 for turnning on 3 functions of sniffer, which are identity mapping, IMSI collecting, and UECapability profiling.     2 for UECapability profiling     1 for IMSI collecting     0 for identity mapping

指定基站

LTESniffer支持使用命令行参数“-I -p ”指定一个要嗅探的基站:

sudo .//src/LTESniffer -A 2 -W  -f 
-I -p -m 0 sudo .//src/LTESniffer -A 2 -W -f
-u
    -I -p -m 1 example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -I 379 -p 100 -m 1

项目地址

LTESniffer:【GitHub传送门】

参考资料

https://syssec.kaist.ac.kr/pub/2023/wisec2023_tuan.pdf

GitHub - falkenber9/falcon: FALCON - Fast Analysis of LTE Control channels

GitHub - srsran/srsRAN_4G: Open source SDR 4G software suite from Software Radio Systems (SRS) https://docs.srsran.com/projects/4g

10 Gigabit Ethernet Card for Desktop | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)

你可能感兴趣的:(LTESniffer)