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

关于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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/337176.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

年度晒单丨10 件带娃小物,第 5 个超省妈!

2023 年过得可真快&#xff01;回想起“兵荒马乱”的一年&#xff0c;更让人珍惜井然有序的生活。在 2023年&#xff0c;麦麦也开始上幼儿园了&#xff0c;慢慢地出现了很多新毛病&#xff0c;比如&#xff1a;不愿意睡午觉、不肯在幼儿园拉臭臭、回家也不愿意坐马桶......我试…

面试宝典进阶之关系型数据库面试题

D1、【初级】你都使用过哪些数据库&#xff1f; &#xff08;1&#xff09;MySQL&#xff1a;开源数据库&#xff0c;被Oracle公司收购 &#xff08;2&#xff09;Oracle&#xff1a;Oracle公司 &#xff08;3&#xff09;SQL Server&#xff1a;微软公司 &#xff08;4&#…

el-table表格实现横竖双表头,双击输入框编辑

1. 横竖双表头 <script setup lang"ts">const tableData [{name: "Tom",date: "2016-05-03",address: "No. 189, Grove St, Los Angeles",},{date: "2016-05-02",name: "jack",address: "No. 189, G…

Kaniko

一. Kaniko 官网 Kaniko 是一个是谷歌开源的一款用来构建容器镜像在k8s集群内构建容器镜像的工具&#xff0c;使用时&#xff0c;需要一个 Kubernetes 集群&#xff0c; 可以在 Kubernetes 上无需特权的构建 image&#xff0c;k8s CRI无需docker使用后 pull 和 push 镜像很慢…

在qemu虚拟机环境下,使用kgdb调试kernel

enable kgdb的情况下&#xff0c;使用qemu启动kernel 1&#xff0c;需要先在内核配置中增加kgdb的支持 2&#xff0c;启动qemu虚拟机时&#xff0c;增加参数-s -S&#xff0c;这两个参数会使得kernel在启动之后遇到的第一个指令等待gdb连接 例子&#xff1a; /qemu-project…

WPF真入门教程26--项目案例--欧姆龙PLC通讯工具

1、案例介绍 前面已经完成了25篇的文章介绍&#xff0c;概括起来就是从0开始&#xff0c;一步步熟悉了wpf的概念&#xff0c;UI布局控件&#xff0c;资源样式文件的使用&#xff0c;MVVM模式介绍&#xff0c;命令Command等内容&#xff0c;这节来完成一个实际的项目开发&#…

【makedown自带语法技巧】

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

外包做了5个月,技术退步一大半了。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;20年通过校招进入深圳某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

虚幻UE 材质-纹理 1

本篇笔记主要讲两个纹理内的内容&#xff1a;渲染目标和媒体纹理 媒体纹理可以参考之前的笔记&#xff1a;虚幻UE 媒体播放器-视频转成材质-播放视频 所以本篇主要讲两个组件&#xff1a;场景捕获2D、场景捕获立方体 两个纹理&#xff1a;渲染目标、立方体渲染目标 三个功能&am…

C++ continue语句

作用&#xff1a;在循环语句中&#xff0c;跳过本次循环中余下尚未执行的语句&#xff0c;继续执行下一次循环 与break的区别在于&#xff0c;如果把上述continue换位break&#xff0c;则该程序执行到break则会直接退出for循环&#xff0c;不再执行后面的代码和以后的循环。 实…

【C++】STL 算法 ⑨ ( 预定义函数对象示例 - 将容器元素从大到小排序 | sort 排序算法 | greater<T> 预定义函数对象 )

文章目录 一、预定义函数对象示例 - 将容器元素从大到小排序1、sort 排序算法2、greater<T> 预定义函数对象 二、代码示例 - 预定义函数对象1、代码示例2、执行结果 一、预定义函数对象示例 - 将容器元素从大到小排序 1、sort 排序算法 C 标准模板库 ( STL , Standard Te…

来了!私域流量转化差4大的原因

很多做私域的朋友常常苦恼的问题&#xff0c;辛辛苦苦把流量从公域引到私域&#xff0c;但是转化特别差&#xff1b;私域里躺着大量的沉默用户&#xff0c;不知道该如何激活&#xff1b;私域业务整体产出特别低&#xff0c;在犹豫要不要放弃等...... 要解决这些问题&#xff0c…