ARM架构上用来替代JTAG的调试协议SWD-黑客接单平台

访客5年前黑客文章962
关于嵌入式开发人员和专门进犯硬件的黑客来说,JTAG 实践上是调试和拜访微处理器寄存器的标准。该协议已运用多年,至今仍在运用,JTAG调试接口有必要运用VCC、GND电源信号,以及TMS、TCK、TDI、TDO四根调试信号,别的TRST、RESET复位信号和RTCK(同步时钟)信号也在可选项里。现在,设备变得越来越小,微处理器的可用引脚数也越来越少,这些杂乱的信号,现已阻止了协议的正常运用。 为了处理这个问题,ARM创建了一个名为SWD(串行线调试)的代替调试接口。相关于JTAG接口,SWD运用了更少的信号。它只运用两个信号(SWDCLK和SWDIO),这个接口及其相关协议现在简直能够在所有的Cortex-[A,R,M]处理器中运用。 Cortex-A:面向功能密集型体系的运用处理器内核,Cortex-A处理器为运用操作体系(例如Linux或许Android)的设备供给了一系列处理方案,这些设备被用于各类运用,从低本钱手持设备到智能手机、平板电脑、机顶盒以及企业 *** 设备等。 Cortex-R:面向实时运用的高功能内核,Cortex-R系列是衍出产品中体积最小的ARM处理器。Cortex-R处理器针对高功能实时运用,例如硬盘操控器(或固态驱动操控器)、企业中的 *** 设备和打印机、消费电子设备(例如蓝光播放器和媒体播放器)、以及轿车运用(例如安全气囊、制动体系和发动机办理)。Cortex-R系列在某些方面与高端微操控器(MCU)相似,可是,针对的是比一般运用标准MCU的体系还要大型的体系。 Cortex-M:面向各类嵌入式运用的微处理器内核,Cortex-M系列是针对竞赛现已十分剧烈的MCU商场。Cortex-M系列根据ARMv7-M架构(用于Cortex-M3和Cortex-M4)构建,而较低的Cortex-M0+根据ARMv6-M架构构建。首款Cortex-M处理器于2004年发布,当一些干流MCU供货商挑选这款内核,并开端出产MCU器材后,Cortex-M处理器敏捷遭到商场喜爱。能够必定的说,Cortex-M之于32位MCU就好像8051之于8位MCU,遭到很多供货商支撑的工业标准内核,各家供货商选用该内核加之自己特别的开发,在商场中供给差异化产品。 ARM调试接口 体系结构概述 与JTAG将接口链接在一起相反,SWD运用名为DAP(调试拜访端口)的总线。在这个DAP上,有一个主端口(DP – Debug端口)和一个或多个隶属端口(AP – Access端口)相似于JTAG接口。DP运用包括AP地址的数据包与AP事务处理。 总而言之,外部调试器运用名为SWD的协议通过DP连接到DAP,ARM的这份介绍很好地概述了SWD架构: SWD架构 调试端口 调试端口是主机和DAP之间的接口,它还处理主机接口,现在有三个不同的调试端口能够拜访DAP: JTAG调试端口(JTAG- dp):该端口运用标准JTAG接口和协议来拜访DAP; 串行线调试端口(SW-DP):该端口运用SWD协议拜访DAP; 串行线/ JTAG调试端口(SWJ-DP):该端口能够运用JTAG或SWD拜访DAP,这是许多微处理器上常见的接口。它重用TMS和TCK JTAG信号,别离传输SWDIO和SWDCLK信号。为了从一个接口切换到另一个接口,有必要发送特定的序列。 拜访端口 能够根据需要将多个AP添加到DAP中,ARM供给了两个AP的标准: 1. 内存拜访端口(MEM-AP):该AP供给对中心存储器和寄存器的拜访; 2. JTAG拜访端口(JTAG-AP):该AP答应将JTAG链连接到DAP。 SWD协议 信号 如前所述,SWD只运用两种信号: · SWDCLK:主机宣布的时钟信号,因为处理器时钟和SWD时钟之间没有关系,所以频率的挑选取决于主机接口。在这篇文章中,更大 调试时钟频率约为60MHz。 · SWDIO:这是把数据从DP传送到DP的双向信号,数据由主机在上升沿设置,由DP在SWDCLK信号下降沿采样。数字电路中,数字电 平从低电平(数字“0”)变为高电平(数字“1”)的那一瞬间(时间)叫作上升沿。数字电路中,数字电平从高电平(数字“1”) 变为低电平(数字“0”)的那一瞬间叫作下降沿。 事务处理进程 每个SWD交流进程分三个阶段: 1.恳求阶段:从主机端口发送8位; 2.ACK阶段:从方针端口发送3位; 3.数据阶段:发向主机端口或从主机端口发送最多32位,带有奇偶校验位; 请留意,有必要在数据方向发生变化时发送Trn循环(Trn cycle)。 SWD搬运 恳求 恳求头包括以下字段: ACK ACK (Acknowledgement)便是承认字符,在数据事务处理中,接纳站发给发送站的一种传输类操控字符。表明发来的数据已承认接纳无误。 在TCP/IP协议中,假如接纳方成功的接纳到数据,那么会回复一个ACK数据。一般ACK信号有自己固定的格局,长度巨细,由接纳方回复给发送方。 ACK位包括恳求头的ACK状况,留意,有必要先读取LSB中的三个位。 数据 数据由主机发送或方针发送。它首要发送LSB,并以奇偶校验位完毕。 协议交互 现在咱们现已了解了协议的底层部分,现在是与实践方针交互的时分了。为了做到这一点,我运用了Hydrabus,但也能够运用总线海盗(Bus Pirate)或任何其他相似的东西。BusPirate 是由Dangerous prototypes 规划出品的一款硬件hacking 瑞士军刀,支撑多项常见协议并可跨渠道Windows/Linux/MAC,并具有丰厚的协助文档。在本文的测验中,我运用了一个名为Blue Pill的STM32F103开发板。绰号为蓝丸(蓝色药丸(blue pill)rootkit是以办理程序身份履行来操控电脑资源的歹意软件)Joanna Rutkowska是新加坡的IT安全公司COSEIN的一名安全研究员,她在2006年的黑帽简报会议上展现了Blue Pill rootkit,它是作为概念验证型歹意软件而开发的。原始的蓝色药丸(blue pill)操作根据AMD虚拟化(AMD-V),它是X86处理器架构的一套硬件扩展。该处理器扩展从软件上卸下了重复与低效的作业。通过处理器扩展、圈套和虚拟化仿真处理这些使命,根本上排除了通过操作体系[1][2]黑客接单网

相关文章

运用Sboxr完成DOM XSS缝隙的主动发掘与使用

这一系列文章将为咱们展现如安在单页或JavaScript富应用上,运用Sboxr完成DOM XSS缝隙的主动发掘与运用。咱们将以https://domgo.at靶场中的10个DOM XSS的小操练为...

运用Python检测并绕过Web应用程序防火墙

Web运用防火墙一般会被布置在Web客户端与Web服务器之间,以过滤来自服务器的歹意流量。而作为一名浸透测验人员,想要更好的打破方针体系,就有必要要了解方针体系的WAF规矩。现在,许多WAF都是根据签...

小学生都会挖掘的JSON Hijacking实战利用

JSON Hijacking缝隙的具体使用,有点相似与CSRF,不过原理使用方法不同,在这边文章我侧重解说json跨域绑架的使用环境建立与方法。 0×01缝隙的发掘 一般发掘的过程中,burpsuit...

用Google破解Google的ReCaptchav2 验证码

这是一个名叫ReBreakCaptcha的逻辑缝隙,而这个缝隙将答应你轻松地绕过网站所选用的GoogleReCaptcha v2验证码。 技能概览 早在2019年,我就开端研讨怎么才干绕过Google...

看我怎么免费获取价值

大约两个月前,因为我需求发送一个15G的文件,我的一个朋友借给我了他的WeTransfer账户运用,我留心了一下,他的这种WeTransfer PLUS会员每年的注册费是120欧元。出于挖洞者的猎奇...

东西引荐:Raptor WAF,轻量级WEB使用防火墙

  Raptor是一款选用C言语编写的WEB运用防火墙,运用DFA来阻挠SQL注入、Xss目录遍历等进犯。 编译&装置 $ git clone https://github.com/Cool...