资讯详情

Osmocom SIMtrace简介

简介

Osmocom SIMtrace用于被动跟踪SIM卡片和手机之间SIM-ME通信软件和硬件系统。

它使用支持USB的AT91SAM7微控制器的T = 0兼容USART工作。

USART在SIM卡和手机之间ISO 7816-3 / TS 11.在接口上交换时被动接收字节。 接收到的字节通过USB发送到PC,PC上面的程序叫simtrace从USB收集数据,分析设备APDU并通过GSMTAP转发到wireshark协议分析器。

特征

  • 完全无源扫描仪
  • RST和ATR检测
  • 支持PPS / PTS自动波特率
  • APDU的分割 SIMtrace可用于监控ME-SIM通信也可以模拟手机或SIM卡,也可以MitM。 虽然硬件支持所有这些模式,但软件中只实现了监控。

TODO

SIMtrace帮助不仅仅是一个社区项目。

有些任务需要电子或电子SIM卡协议的知识只需要非常基本的C编程技能:

  • 使用libusb热插拔API保持程序跨度SIMrtace断开连接 有些任务不需要微控制器编程技能:
  • 扩展/完成SIM协议的wireshark解剖器。 以下是其他可以改进的方面:
  • 检查奇偶校验错误
  • 验证TCK / PCK校验字节
  • 实施MITM

硬件

第一种实现方法Olimex SAM7-P64开发板,其中一些I / O从线路到来RebelSIM_Scanner的机械SIM卡适配器。 如果使用RebelSIM扫描仪,即使只使用线路,也要连接USB。 它需要供电,否则真正的读者往往无法初始化卡。

现在我们有专门的PCB设计。 原理图和Gerber文件是作为开源硬件发布的,可以由所有人制作。

然而,那些对从零开始构建它不感兴趣的人可以从零开始http://shop.sysmocom.de/products/simtrace购买完整的工厂生产、测试和闪存PCB组件

它还可以通过独立的适配器和全尺寸SIM卡连接.链接

SIMtrace_Hardware提供更多详细信息

固件

AT91SAM7S该装置的固件通过重复使用OpenPCD编写了许多代码RFID阅读器。 详细信息可在SIMtrace找到固件。

文档

请检查用户手册的附件。 在那里,你会发现一些安装现成软件包的提示 你最喜欢的Linux发行版。

主机PC软件

simtrace程序是git://git.osmocom.org/simtrace.git仓库的一部分。 它将绑定到USB设备并使用UDP / IPv4发送GSMTAP帧到localhost:4729。

前提条件libosmocore和头文件(simtrace_usb.h)。

其它软件包:

sudo apt-get install libusb-1.0-0-dev

编译:

git clone git://git.osmocom.org/simtrace.git cd simtrace/host/ make

访问它

添加udev使用规则simtrace并以非root用户身份访问设备(只需osmocom组中)

sudo groupadd osmocom sudo adduser $USERNAME osmocom sudo tee /etc/udev/rules.d/10-osmocom.rules << EOF # to use, install this file in /etc/udev/rules.d as 10-osmocom.rules # rule to grant read/write access on SIMtrace to group named osmocom. SUBSYSTEM=="usb", ATTR{idProduct}=="0762", ATTRS{idVendor}=="16c0", MODE="0660", GROUP="osmocom" EOF sudo service udev reload

必须注销并重新登录才能生效。

使用它 简单地开始simtrace。 它将发送GSMTAP帧到UDP / IPv4 localhost:4729。

它还将帧hexdumps打印到控制台,如下所示:

sudo ./simtrace APDU: (9): a0 a4 00 00 02 6f 07 9f 0f APDU: (22): a0 c0 00 00 0f 00 00 00 09 6f 07 04 00 15 00 15 01 02 00 00 91 78 APDU: (9): a0 a4 00 00 02 6f 38 9f 0f APDU: (22): a0 c0 00 00 0f 00 00 00 09 6f 38 04 00 15 00 55 01 02 00 00 91 78 APDU: (16): a0 b0 00 00 09 ff 3f ff ff 00 00 3f 03 00 91 78 APDU: (9): a0 a4 00 00 02 6f ad 9f 0f APDU: (8): a0 b0 00 00 01 00 91 78 APDU: (9): a0 a4 00 00 02 6f 07 9f 0f APDU: (16): a0 b0 00 00 09 08 49 06 20 11 49 00 11 06 91 78 APDU: (9): a0 a4 00 00 02 6f 7e 9f 0f APDU: (18): a0 b0 00 00 0b ff ff ff ff 64 f0 00 ff fe 00 03 91 78 APDU: (9): a0 a4 00 00 02 6f 78 9f 0f APDU: (9): a0 b0 00 00 02 00 01 91 78 APDU: (9): a0 a4 00 00 02 6f 74 9f 0f APDU: (23): a0 b0 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 78 APDU: (9): a0 a4 00 00 02 6f 20 9f 0f APDU: (16): a0 b0 00 00 09 ff ff ff ff ff ff ff ff 07 91 78 APDU: (9): a0 a4 00 00 02 6f 30 9f 0f APDU: (22): a0 c0 00 00 0f 00 00 00 f0 6f 30 04 00 11 00 55 01 02 00 00 91 78

Wireshark集成

也有实验补丁simtrace.git软件包的一部分。 它也包含在wireshark(因为wireshark 1.7.1)。

在wireshark中查看APDU:

  • 本地主机SIMtrace本地自动打开一个UDP接收器不需要做任何事情
  • 在另一台机器上获取数据

    • 在另一台机器上启动一台GSMTAP的UDP接收器(不在netcat“连接”时使用)

      1 
      socat -u udp-recv:4729 / dev / null 
    • 告诉SIMtrace转发哪台机器

      1 
      ./simtrace -i 192.168.0.1 

协议分析远未完成,补丁总是很受欢迎!

其他软件

simlabTrace似乎能够使用MITM,并且似乎也有一个使用SIMtrace作为读卡器的CCID驱动程序。

联系人/邮件列表

对于任何与开发或使用有关的问题,都有一个邮件列表[mailto:simtrace@lists.osmocom.org],您可以在http://lists.osmocom.org/mailman/listinfo/simtrace 订阅/取消订阅它并阅读 档案在http://lists.osmocom.org/pipermail/simtrace/

请确保您在开始发布之前阅读MailingListRules。

Osmocom SIMtrace Hardware

此页面专门用于Osmocom SIMtrace的硬件,如下所示:  

您可以在sysmocom商店购买该设备。

连接器">连接器

  • USB:USB mini-B连接器。主要连接器。主机软件通过USB与电路板进行通信(嗅探,…)。它也可以用来闪存微控制器(使用DFU)。
  • 串行:2.5毫米插孔串行电缆,由osmocomBB使用。用于调试设备的端口(printf去那里)。
  • 调试(P2):与串行相同,但使用FTDI串行电缆。建议在将电缆插入simtrace之前,先切断6pin FTDI连接器的电压线。
  • jtag(P1):JTAG 20针连接器,用于进行硬件辅助调试。
  • BT1:电池连接器(4.5-6V DC)。通常USB提供电源,但电池端口可用于自主使用SIMtrace。嗅探的数据可以保存在闪存(U1)中。
  • FFC_SIM(P3):将扁平柔性电缆与SIM端连接起来用于电话。
  • SIM(P4):将您的SIM卡放在那里(而不是在手机中)
  • 重置(SW1):重置主板(不擦除固件)。如果你太懒惰拔掉并重新插上USB。
  • 引导加载程序(SW2):用于启动引导加载程序以使用DFU闪存设备。插入USB时按下。
  • 测试(JP1):使用SAM-BA使用跳线短路闪烁。
  • 擦除(JP2):使用跳线短路以完全擦除固件。

电路图

原理图,Gerber文件等可以在simtrace.git存储库的’hardware’子目录中找到:http://cgit.osmocom.org/cgit/simtrace/tree/hardware (网页浏览) git://git.osmocom.org/simtrace(git clone URL) 我们使用Kicad作为EDA工具。大部分关于原理图和Gerber文件的工作都由Kevin Redon完成,基于Harald Welte的原始设计。

最新原理图的PDF格式图也可作为此页的附件。

互连

硬件原理图非常非常简单:

  • 将SIM-RST与PA7连接
  • 将SIM-I / O与PA6和PA1连接
  • 将SIM-CLK与PA2和PA4连接
  • 将SIM-GND与GND连接

操作模式

AT91SAM7S的USART能够T = 0。文档只提及它在时钟主模式,就像你一样会在智能卡读卡器中运行,积极与智能卡通话。但是,通过使用USART输入时钟多路复用器,您可以使用外部生成的CLK,如手机SIM卡插槽中的那个。

不幸的是,USART的Rx超时功能在T = 0模式下不工作,所以我不得不重新实现Rx超时(等待时间) 通过TC(定时器/计数器)模块0进行处理。由于技术限制,我们将等待最多一个字节(12 etu)比我们应该。

Modi

SIMtrace可以用作:

  • 嗅探器
  • 读卡器
  • 卡模拟器
  • 人在这方面的中间人 SAM7S提供2个T = 0的USART端口。 一个连接到手机(PA21-PA27),另一个连接到SIM(PA1-PA7)。 线路通过总线开关从手机传输到SIM卡(IC4 = CB3Q3244)。 总线交换机提供4条线路的2条总线:
  • 第一个用于转发RST,CLK和VPP(在SIM和电话之间)。它由SC_SW(PA20)控制,
  • 第二个用于转发I / O(在SIM和电话之间)。它由SC_I / O(PA19)控制, 各种修改需要中断不同的线路:

SW_SC(PA20)|SC_I / O(PA19)|描述|方式

L| L|电话和SIM直接连接|嗅探器(使用任何USART端口) L| H|只有I / O中断|MitM(使用两个USART端口) H| H|手机和SIM卡未连接|读卡器,仿真器(使用每个USART端口) 截至目前,仍然只有嗅探器在固件中实现

SIM卡支持各种类别(电压等级):A类= 5.0V,B类= 3.0V,C类= 1.8V。 SIMtrace v1.x仅支持B类(3.0V),所有实际SIM卡和手机也支持。 为确保使用B类,SIMtrace通过将VCC线保持在该电压下强制3.3V(在3.0V±10%规格内)。 SIMtrace v2将支持所有3个类。

posted on 2018-07-21 06:54 sundaygeek 阅读(...) 评论(...) 编辑 收藏

标签: ad1814jp集成电路

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台