关于LTESniffer
LTESniffer是一款功能强大的LTE上下行链路安全监控工具,该工具是一款针对LTE的安全开源工具。
该工具首先可以解码物理下行控制信道(PDCCH)并获取所有活动用户的下行链路控制信息(DCI)和无线网络临时标识符(RNTI)。获取到解码后的DCI和RNTI信息之后,LTESniffer将进一步解码物理下行链路共享信道(PDSCH)和物理上行链路共享信道(PUSCH),以检索上行链路和下行链路数据业务。
LTESniffer还提供了API接口,该API提供了三种用于安全应用程序和安全研究的相关功能。很多LTE安全研究都会涉及到通过被动嗅探工具来捕捉与安全隐私相关的无线数据包,但目前所有的开源工具都无法百分之百满足这一需求,主要原因就是它们无法解码PDSCH和PUSCH中的协议包。为此,LTESniffer便应运而生。
功能介绍
当前版本的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 updatesudo 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.gitcd <uhd-repo-path>/hostmkdir buildcd buildcmake ../make -j 4make testsudo make installsudo ldconfig
为USRP下载固件:
sudo uhd_images_downloader
我们这里选择使用USRP X310,并将其连接至PC,测试连接和固件:
sudo sysctl -w net.core.rmem_max=33554432sudo sysctl -w net.core.wmem_max=33554432sudo ifconfig <10Gb card interface> mtu 9000sudo 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.gitcd LTESniffermkdir buildcd buildcmake ../make -j 4 (use 4 threads)
工具使用
通用下行链路嗅探
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -C -m 0example: 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 ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -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 ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -C -m 1example: sudo ./src/LTESniffer -A 2 -W 4 -f 1840e6 -u 1745e6 -C -m 1-u: uplink frequency
Security API使用
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -C -m 1 -z 3example: 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 profiling1 for IMSI collecting0 for identity mapping
指定基站
LTESniffer支持使用命令行参数“-I <Phycial Cell ID (PCI)> -p <number of Physical Resource Block (PRB)>”指定一个要嗅探的基站:
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -I <PCI> -p <PRB> -m 0sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -I <PCI> -p <PRB> -m 1example: 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)