狗汪汪玩转无线电 -- GPS Hacking

Kevin2600 · 2015/12/09 10:12

0x00 序


GPS Hacking 在过去几年的安全会议上一直都是很受关注的议题. 但往往因为内容太过学术化, 所需设备成本太高. 让许多感兴趣的朋友苦于无法入门. 直到GPS-SDR-SIM 这类开源项目的出现, 跟王康大牛在今年Blackhat Europe 2015 上的主题演讲. 彻底打开了GPS 的神秘面纱. 让小伙伴可以真正过一把GPS Hacking 的瘾.

想必大家对于研究GPS的神器, 软件无线电SDR都略有所闻. 但早期设备USRP价格昂贵. 直到大家发现了神奇的电视棒 RTL-SDR. 前阵子似乎人人都喜欢用它来看大"灰机". 不过因为硬件上的限制,电视棒只能用来收取数据. 而 HackRF 跟 BladeRF 因其支持收发数据, 而价格又比USRP 便宜许多. 便成了当下热衷玩无线的朋友们的首选. 当然HackRF 跟 BladeRF之间也在所支持的频率, 采样率上有所不同. 最重要的一点BladeRF是全双工哦. 以下是几款SDR 设备之间的对比图, 大家可以根据具体需要选购.

GPS系统简介

GPS 系统本身非常复杂, 涉及到卫星通信等各个领域. 这里只是简单介绍一下. 我们通常所说的 GPS 全球定位系统是由美国国防部建造完成. 目前在太空中共有31颗卫星在同时运作. 一般我们需要至少4颗卫星来完成三角定位. GPS卫星同时发送民用L1和军用L2两种无线信号. 我们通常使用的是没有加密的L1民用 1575.42MHz 的超高频波段.

GPS 信号里包含了3种常用信息.

Pseudorandom code: 简单的ID 码, 用来识别每颗卫星.

Ephemeris data: 包含卫星的运行状态, 时间日期等信息. 这在通过卫星来定位起到非常重要的作用.

Almanac data: 包含有每颗卫星的轨道信息,以及卫星在某个特定时段将出现的具体位置.

0x01 BladeRF GPS 信号伪造步骤


1.1 在Ubuntu 14.04.3 中安装 BladeRF 工具

安装 header 文件

安装 BladeRF 固件 & FPGA 镜像

完成后可在/usr/share/nuand/BladeRF/下找到hostedX40.rbfbladerf_fw.img文件. 这时便可将BladeRF插入USB接口.通常系统会自动载入FPGA 镜像.也可以通过命令行bladerf_cli -l /路径/hostedX40.rbf手动载入. 在成功载入后,BladeRF主板上的3 个LED 小灯便会亮起, 同时我们可以加-p参数来进一步验证系统安装成功.

1.2 GPS-SDR-SIM 安装

1
2
3
git clone https://github.com/osqzss/gps-sdr-sim.git
cd gps-sdr-sim 
gcc gpssim.c -lm -O3 -o gps-sdr-sim

设置经纬度并生成数据样本. 注意这里 I/Q基带信号数据为16.

随后 gps-sdr-sim 会自动生成带有经纬度信息的数据文件. 我们便可以通过 bladerf_cli 来发送伪造的GPS 数据.

1.3 GPS-SDR-SIM 运行时间问题

在实际测试过程中汪汪发现, 默认情况下GPS模拟器只能连续工作5分钟左右. 通过查看源代码后, 我们可以发现这是因为程序默认设置导致. 在程序设计之初为了节省硬盘空间, 默认只生成了300秒左右的数据. 我们可以通过改动参数来延長工作時間. 但需要注意的是仅仅延長到15分鐘,數據便可達到5G大小.

0x02 GPS信号伪造实战


汪汪在这里跟分享几个实际的测试案例. 感兴趣的朋友也可以自行测试下.

2.1 微信周边妹子

听说许多程序猿因为平时工作紧张, 性格腼腆. 很难有机会跟心中的女神接触. 而微信中”附近的人”则解决了此类问题. 大家只要坐在家中打开GPS定位, 便可跟周边的心仪女神 Say Hello 啦. 但美中不足的是范围仅限几十公里内. 那么对某些胸怀天下, 万花丛中过, 片叶不沾身的大神来说未免太有局限性了. 这里汪汪给大家带来第一个GPS 信号伪造案例 -- 微信”附近”妹子.

听说前阵子在海南三亚有个美女扎堆的活动, 汪汪很是好奇都是啥样的美女呢..让我们来查下附近的人吧. 哦..在没发送伪造的GPS坐标前,只能找到汪汪所在城市的妹子.

在开始发送伪造的GPS坐标5分钟后, 汪汪终于如愿以偿找到了三亚附近妹子 :)

哈哈..汪汪必须感叹下..真的是技术宅改变命运啊...

2.2 Nike+ 计步数伪造

很多喜欢研究移动安全的朋友一定看过蒸米发过的一篇文章 "利用Android Hook进行微信运动作弊".(感兴趣的朋友可以移步观看http://drops.wooyun.org/tips/8416). 文中他提到了通过利用Android Hook进行计步作弊, 跟朋友圈里的好友PK运动量. 但该方法需要手机root后,安装相关作弊插件来实现. 对于其他计步类软件,还需要对插件进行相关改动. 这里测试目标为 Nike+ Running. 先来看段视频. 因为完成全部攻击效果需要一定时间, 所以本视频做了加速处理.

http://player.youku.com/player.php/sid/XMTQwMzAxMTk4OA==/v.swf

通过GPS-SDR-SIM的主页, 我们可以得知伪造的的GPS经纬度数据可以是静态, 也可以是动态模式的. 为了成功模拟出运动轨迹, 我们需要伪造动态模式的GPS经纬度数据. 可以通过以下参数来完成.

1
gps-sdr-sim -e brdc3540.14n -u circle.csv -b 16

大家可以看到通过直接对GPS信号进行伪造, 成功欺骗了Nike+ 这类计步器APP. 即使在被窝里躺着,也可以跑第一哦. 当然汪汪还是希望大家可以真的跑起来, 享受运动的快乐.

2.3 伪造信号范围测试

从前面几个实验可以知道, 通过软件模拟信号, GPS接收设备在短距离内的效果是非常明显的. 那么在较大范围内GPS接收设备的效果如何呢?实际的有效距离又是多远呢?当然这跟设备的输出功率, 天线增益, 以及附近其他信号干扰程度有关. 所以这里汪汪只是做个简单的室内测试. 大家还是要以实际情况为准. 请先看这段测试视频.

http://player.youku.com/player.php/sid/XMTQwMzAwNzMxNg==/v.swf

从视频可以看到在这个直线距离大概为25米, 中间无任何障碍物的走廊里成功改变了GPS 接收设备的经纬度. 通常真实的GPS 信号从2万千米的高空下到地面已经非常微弱, 因此在室内几乎检测不到信号. 所以在室内GPS 信号伪造攻击的效果是很明显的.

0x03 总结


通过以上几个案例, 相信大家对GPS 信号伪造有了一定程度的了解. 但就GPS系统本身而言, 这是一个非常好玩又很深的领域. 市面上的GPS 相关产品也总类繁多, 每款产品对GPS 欺骗攻击的反应也各不相同. 大家可以发挥下想象力玩出新花样.

最后要感谢 osqzss; 王康和无数 GNURadio 爱好者们的无私分享. 正因为有了他们,我们才可以更好的体验软件无线电的无穷魅力. 推荐大家围观 GPS-SDR-SIM 的项目主页和王康在黑帽大会上的演讲稿. 拥有HackRF设备的朋友也可以看看lxj616写的“劫持GPS定位&劫持WIFI定位”.

0x04 参考文献

  • http://drops.wooyun.org/tips/10580
  • https://github.com/osqzss/gps-sdr-sim
  • https://en.wikipedia.org/wiki/GPS_signals
  • “Time and Position Spoofing with Open Source Projects” Kang Wang
  • http://www.taylorkillian.com/2013/08/sdr-showdown-hackrf-vs-bladerf-vs-usrp.html

转载于:https://www.cnblogs.com/jarvise/p/5153407.html

狗汪汪玩转无线电 -- GPS Hacking相关推荐

  1. 狗汪汪玩转嵌入式 -- WINKHUB 边信道攻击 (NAND Glitch)

    Kevin2600 · 2016/01/20 13:07 0x00 前言 随着物联网IOT的飞速发展,各类嵌入式设备, 路由器安全研究也越来越火. 但因为跟以往纯软件安全研究的要求不同, 这类研究往往 ...

  2. 小米加密兔和百度莱茨狗怎么玩?莱茨狗和加密兔怎么注册

    数字货币区块链加密货币无疑是2018年最热门的新闻 了,尤其是近段时间各个巨头的加入更增加了,区块链技术的蓬勃发展,目前360区块猫,百度莱茨狗,小米加密兔,网易星球都纷纷涌入区块链技术.对于未来来说 ...

  3. rust狗阳玩的什么游戏_微博搜索

    我儿子. 产检的时候一直很顺利,每次B超.彩超,都没有任何问题. 但是. 在预产期前20多天,B超发现腹部有一肿块,大小41mm*38mm. 4*4CM,对于一个未出生的婴儿来说,是相当大一坨了. 对 ...

  4. 使用HackRF和外部时钟实现GPS欺骗实验

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 之前在网上几个网站上看到过很多题为<狗汪汪玩转无线电 -- GPS Hacking (上)>的博客,但是一直手里没有适用于Hac ...

  5. 饲养员在给动物喂食时,给不同的动物喂不同的食物,而且在每次喂食时,动物都会发出欢快的叫声。例如,给小狗喂骨头,小狗会汪汪叫;给小猫喂食,小猫会喵喵叫。

    本案例要求编写一个程序模拟饲养员喂食动物的过程,案例要求如下: 饲养员给小狗喂骨头,小狗汪汪叫. 饲养员给小猫喂小鱼,小猫喵喵叫. 定义Dog类 package 实验五;public class Do ...

  6. 永不消逝的电波(四):从无线电角度揭秘定位劫持

    0×00 前言 2015年的时候,360UnicornTeam 在Defcon黑客大会以及阿里移动安全 在BlackHat大会上均带来了GPS劫持的演讲,给大家揭开了GPS Hacking的神秘面纱在 ...

  7. 如何选择适合你的兴趣爱好(十九),养狗

    围城网的摇摇今天给大家带来了"如何选择适合你的兴趣爱好"系列专辑的第十八讲 --养狗.随着人们生活水平的逐渐提高,我国兴起了一股养狗的热潮.人们养狗的热情空前高涨起来,城市居民的养 ...

  8. 狗年拜年php源码,2018狗年拜年词大全!再也不担心拜年没祝词啦~祝您新年快乐!...

    原标题:2018狗年拜年词大全!再也不担心拜年没祝词啦~祝您新年快乐! 2018 狗 年 大 吉 HAPPY NEW YEAR 为了您在春节期间能够在第一时间 为您的亲朋好友送上祝福~ 小编已经贴心的 ...

  9. 使用 RTL-SDR 加密狗和 OTG 适配器在 Android 上收听广播对话

    从急救人员到酒店清洁人员,每个人都使用在亚兆赫范围内运行的无线电进行通信,通常甚至没有对传输进行编码.虽然编码和加密越来越多地用于无线电通信,但只需 RTL-SDR 适配器和智能手机即可开始收听您周围 ...

最新文章

  1. C# Java间进行RSA加密解密交互
  2. MySQL5.7 版本的安装、配置
  3. RabbitMQ direct交换机
  4. ospf hello时间和dead_图文并茂解释OSPF邻居关系建立失败的几种常见情况(太实用了!)...
  5. ruby sinatra mysql_一分钟开始持续集成之旅系列之:Ruby + Sinatra 应用
  6. pysimplegui 显示 html,PySimpleGUI 的第一个桌面软件
  7. 人工智能之语音识别技术【科普】
  8. MOQL—筛选器(Selector)(三)
  9. R语言实现故障树定量与定性分析——以GJB-Z 768A-1998 故障树分析指南图5.37为例
  10. C语言学生信息管理系统详细设计
  11. 反射机制,类的加载机制,和注解的配置参数的结合使用详解
  12. 解决mac可以聊QQ微信不能浏览网页问题
  13. 大众点评信息流基于文本生成的创意优化实践
  14. ad18常用快捷键可以修改吗_AD18的常用操作及快捷键
  15. 15家企业入选2020年中国最佳雇主榜单;《新形势下国企数字化转型之路》白皮书发布 | 美通企业日报...
  16. 通达信波段王指标公式主图_通达信波段操盘主图指标公式
  17. BZOJ4836: [Lydsy1704月赛]二元运算-分治FFT
  18. 实现HTML的简单压缩
  19. 记录用retinaNet执行DDSM代码中的问题(求精度的过程中出现的错误)
  20. ChatGPT万能工具箱 | ChatGPT辅助神器 提升了用户体验 提问回答更加精确。

热门文章

  1. 微积分入门书籍(一)
  2. 陶哲轩实分析:微积分基本定理剖析
  3. 湘大校内好项目,现诚寻可靠的创业合伙人
  4. Pandas常用方法一
  5. E1视音频编解码器应用方案详细说明
  6. onload事件-----addLoadEvent函数
  7. dncnn图像去噪_深立井井壁图像的卷积神经网络去噪方法
  8. 什么是OID(全局对象标识符)
  9. BIM模型文件下载——某加油站服务区Revit模型
  10. 宜建立自主可控的车用芯片和操作系统技术体系