0x00 前言
在移动互联网深入普及和物联网开始规模应用的今天,网络安全公司怎能不研究移动安全,要研究移动安全,怎能没有4G/LTE伪基站研究测试环境?
本文介绍如何利用开源项目和SDR,合法的搭建并使用便携式4G/LTE伪基站,用于实验室的安全研究,或者用于用户授权的物理渗透测试。
0x01 合法开展研究活动
根据国家无线电管理法规,我们需要先取得频率、设备和人员许可才能合法的在通信业务频段进行收发。而已经分配给运营商的频段,需要该运营商同意才能使用。因此,我们做通信实验时,通常的做法不是申请许可,而是构造一个封闭的电磁空间,即法拉第笼,在这个空间里进行无线信号的发射和接收不会影响到外部世界。
法拉第笼是由金属或金属网包围形成的一个空间,大可以到一个大房子,小可能就是一个小箱子。测试时,如果法拉第笼比较小,我们就只把发射和接收无线电信号的天线放在法拉第笼里面,其它部分仍可放在外面,内外通过馈线连接。
0x02 硬件准备
SBC:UP Board, Intel Atom x5-Z8350 四核CPU,4GB RAM,64GB eMMC
SDR:USRP B200mini + USB电缆
天线+馈线+双工器
充电宝:5V 3A(非常重要)
0x04 软件准备
1.Ubuntu 16.04 LTS
安装之后更新
2.必备软件:Git
国内专享:Shadowsocks、Privoxy
科学上网配置略。
0x05 安装步骤
1.eNodeB: OpenAirInterface
<a></a>
2.EPC: OpenAir-CN
0x06 配置
1.eNodeB:
找到 ~/openairinterface5g/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band3.tm1.usrpb210.conf 进行如下修改,并另存为enb.band3.tm1.usrpb200.conf。
2.EPC:
修改hosts文件和hostname,然后重新启动。
复制EPC配置文件:
编辑hss.conf
编辑mme.conf
编辑spgw.conf
编辑HSS freediameter配置文件 (/usr/local/etc/oai/freeDiameter/hss_fd.conf):
编辑MME freediameter配置文件 (/usr/local/etc/oai/freeDiameter/mme_fd.conf):
0x07 运行
安装证书:
首次运行HSS:
之后每次运行HSS:
运行MME:
安全测试通常不需要运行SP-GW。
运行eNB:
0x08 高级玩法
1.对TD-LTE的支持
OAI本身支持TD-LTE。但是因为TD系统全网收发同步的要求,伪基站要正常工作,就必须与运营商现网同步。OAI已含有部分通过空中接口信号实现TD同步的代码,需要进一步修改才能完成与现网同步。
2.精简代码
如果我们只做网络安全研究,不做通信研究,就不需要完整的EPC。大部分公司只是研究空口的DoS攻击和RRC重定向攻击,每次只有少量固定格式的网络报文从MME返回,因此可以修改代码,直接返回我们想要的报文,或者执行我们想要的逻辑,就可以精简掉EPC,只运行lte-softmodem一个进程就好了。
3.连接运营商核心网
如果能从运营商核心网获得安全认证四元组:Kasme、AUTN、RAND、XRES,就能通过双向鉴权,让LTE手机相信我们的基站是真基站。这需要修改MME的代码和freeDiameter的配置来实现。
4.同一硬件集成LTE+GSM伪基站
5.架设自己的测试网
如果你对某一种高级玩法感兴趣,并且知道大体怎么实现,欢迎找我组队,可以一起做点有意思的(开源)通信安全项目,Seeker老师的微信:70772177。
0x09 结束语
在万物互联时代,了解LTE可用性和安全性的边界,事关我们每个人的人身安全和数据安全。
不管你是在开发无人驾驶汽车、医疗设备、智能电表,还是普通的移动应用,过于相信运营商网络的可用性和安全性都会带来安全威胁。不只是网络安全公司需要研究无线通信的安全,产品开发者同样需要。
本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/7420134.html ,如需转载请自行联系原作者