前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LTESniffer:一款功能强大的LTE上下行链路安全监控工具

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

作者头像
FB客服
发布2024-01-15 10:58:14
2520
发布2024-01-15 10:58:14
举报
文章被收录于专栏:FreeBuf

关于LTESniffer

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

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

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

功能介绍

当前版本的LTESniffer基于FAL‍CON项目实现其功能,并使用到了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依赖安装部署:

代码语言:javascript
复制
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:

代码语言:javascript
复制
git clone https://github.com/EttusResearch/uhd.git

cd <uhd-repo-path>/host

mkdir build

cd build

cmake ../

make -j 4

make test

sudo make install

sudo ldconfig

为USRP下载固件:

代码语言:javascript
复制
sudo uhd_images_downloader

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

代码语言:javascript
复制
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依赖安装部署:

代码语言:javascript
复制
sudo apt-get install build-essential git cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev

(右滑查看更多)

LTESniffer依赖安装部署:

代码语言:javascript
复制
sudo apt-get install libglib2.0-dev libudev-dev libcurl4-gnutls-dev libboost-all-dev qtdeclarative5-dev libqt5charts5-dev
代码语言:javascript
复制
(右滑查看更多)

源码构建LTESniffer:

代码语言:javascript
复制
git clone https://github.com/SysSec-KAIST/LTESniffer.git

cd LTESniffer

mkdir build

cd build

cmake ../

make -j 4 (use 4 threads)

(右滑查看更多)

工具使用

通用下行链路嗅探

代码语言:javascript
复制


sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -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"选项:

代码语言:javascript
复制
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"

(右滑查看更多)

通用上行链路嗅探

代码语言:javascript
复制


sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -C -m 1

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

-u: uplink frequency

(右滑查看更多)

Security API使用

代码语言:javascript
复制
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -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 <Phycial Cell ID (PCI)> -p <number of Physical Resource Block (PRB)>”指定一个要嗅探的基站:

代码语言:javascript
复制
sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -I <PCI> -p <PRB> -m 0

sudo ./<build-dir>/src/LTESniffer -A 2 -W <number of threads> -f <DL Freq> -u <UL Freq> -I <PCI> -p <PRB> -m 1

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

(右滑查看更多)

项目地址

LTESniffer

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LTESniffer是一款功能强大的LTE上下行链路安全监控工具,该工具是一款针对LTE的安全开源工具。
  • 当前版本的LTESniffer基于FAL‍CON项目实现其功能,并使用到了srsRAN代码库的部分功能,可以给广大研究人员提供下列安全功能:
  • 操作系统要求
    • 硬件要求
      • SDR
      • 首先,我们需要确保Ubuntu操作系统上的UHD库版本>= 4.0。
        • 通用下行链路嗅探
          • 通用上行链路嗅探
            • (右滑查看更多)
              • Security API使用
                • 指定基站
                • LTESniffer:
                • https://github.com/SysSec-KAIST/LTESniffer
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档