使用 USRP 和 Gnu Radio 拦截 GSM 通信
如上通过0xea提到,@ domi007公布的4篇博客文章(1,2,3,4),详述他与GSM嗅探和破解经验。他还发表了有关 GSM 安全性的录制演示文稿(幻灯片)。关于同一主题,也就是嗅探GSM与HackRF,分析GSM与Airprobe和Wireshark,三个混沌计算机俱乐部演讲(一讨论宽带GSM嗅探,另一个讨论GSM网络的功能)和一个提到的上述关于GSM破解。最后但并非最不重要的是,还有一个名为“拦截移动电话/GSM 流量”的 Black Hat 2008 演示文稿,由 David Hulton 和 Steve video (.mov) 撰写。观察:还有Srlabs的这个教程,它使用他们自己的工具 Kraken,其中包括使用 Airprobe 解密 GSM 和Airprobe 自己的关于解码 GSM的教程。当选择你的SDR,我建议你阅读这种比较约HackRF,bladeRF和USRP B210。还有RTL-SDR。他们都很好。我还建议使用Gqrx,因为它构建在 Gnuradio 上并且具有简洁的界面。
在架构和理论方面,我推荐About GSM Dm Channels,这是一篇非常完整和详细的初学者论文,解释了 GSM 架构及其工作原理。我还推荐GSM - 架构、协议和服务以及4G:LTE/LTE-Advanced for Mobile Broadband(如果考虑 LTE),它为想要深入研究的人提供了有关 GSM 功能的更多信息和详细信息。
关于 GSM 加密及其缺陷,我建议GSM 加密通信的 Instant Ciphertext-Only Cryptanalysis,其中讨论了对 A5/(1,2,3) 的密文攻击,GSM A5/1 加密算法的基于硬件的密码分析- 包括 2关于 A5/1 的页面简介,然后继续进行密码分析 - 以及对第三代 GSM 电话中使用的 A5/3 密码系统的实际时间攻击- 讨论了对 A5/3 的攻击。最后,还有一个 PC 上 A5/1 的实时密码分析,一个非常好的文档,称为3G 和 LTE的安全性,讨论了安全架构和对其缺陷的攻击,以及软件硬件权衡 - A5/1 的应用密码分析- A5/1 上的另一篇不错的论文。观察:您可以在本页中间找到 A5/3 的规格。还有两个 Blackhat 演示文稿以简洁的方式介绍了这些论文的一部分:攻击电话隐私和破坏电话隐私。如果您喜欢动画,YouTube 上有A5/1 Cipher Animation。@matthew_d_green值得一提,因为他在他的博客中写了一个蜂窝通信加密缺陷的小综合。
重要观察: GSM 规范位于3GPP 的网站上。要找到它们,您需要确定要查找的零件的编号。然后,您浏览到他们的 ftp 服务器并查找日期并发布您喜欢的版本。(需要通过他们的联系邮件征求 2012-13 之前的版本)。假设您想要最新的“3G 及以后/GSM”信令协议规范,您需要浏览到他们的“最新”文件夹,下降到您正在寻找的版本(即版本 12),最后下载“系列” ”,其中包含您需要的信息 - 在本例中为“Series 24”。因此,您努力的结果将是:ftp://ftp.3gpp。. 这不是一个很好的用户体验,尤其是因为有几个空目录,但只要有耐心,你就可以找到你要找的东西。
@ gat3way特别值得一提的,在他的博客破解GSM A5 / 1记录他的实验(1,2,3) -包括A5 / 1机制的简要描述-而事实上,他已经实现了破解A5支持/ 1 在他的密码恢复工具hashkill - git commit 中使用 Pornin 的攻击。
现有的工具来破解A5 / 1是海妖,通过srlabs(可通过GIT中://git.srlabs.de/kraken.git),其应该与记录的gnuradio / Gqrx的数据,并与解析它后使用Airprobe。它需要 GSM 彩虹表,可在跳转处使用。
可以考虑的另一个工具是hashkill,这需要在“frame_number:密钥流”被破解密钥格式-它的作者发布的代码转换冲进所需的输入格式的箱子在这里。他还发布了一个php 脚本来定位合适的 SI5/SI6 加密突发以进行破解——您需要更改 SI5 帧的硬编码值以适合您的位置——与 Kraken 的 xortool、gsmframecoder(将用于计算Timing Advance 更改)和Airprobe应该足以破解 GSM。
@domi007最近发表了一系列博客文章,详细介绍了他在窥探和解密 GSM 方面所做的努力。在 USRP 的指导下,他使用了rtlsdr。他还使用了支持osmocomBB 的电话。他的努力建立在 Karsten Nohl 关于破解 GSM 的研究(您也可以观看视频)和他的约 1.5 TB 彩虹表的基础上。