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

访客5年前黑客文章973
关于嵌入式开发人员和专门进犯硬件的黑客来说,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]黑客接单网

相关文章

DedeCMS v 5.7 sp2 RemoveXSS bypass

DedeCMS 简称织梦CMS,当时最新版为 5.7 sp2,最近又去挖了挖这个CMS,发现过滤XSS的RemoveXSS函数存在缺点导致能够被绕过。 相关环境 源码信息:DedeCMS-V5.7-U...

由此次阿里云事情谈粗犷的安全防护手法

 昨日阿里接连爆出了两个有意思的事情,一是阿里云服务器呈现毛病,导致误删除了许多用户文件( http://www.weibo.com/1747505067/CyvEkrxPS );二是阿里供认下一年校...

你还在重视勒索病毒?他人现已转行挖矿

导语:近来,腾讯游戏安全中心捕获一款网吧内传达的歹意软件。原以为是惯例的网吧盗号木马,但详细剖析之后发现并非如此。经证明该歹意软件是现在发现的首款运用Windows SMB缝隙传达,开释虚拟钱银矿机挖...

华为内部web安全规律

Web安全准则 1.认证模块有必要选用防暴力破解机制,例如:验证码或许屡次接连测验登录失利后确定帐号或IP。 阐明:如选用屡次接连测验登录失利后确定帐号或IP的办法,需支撑接连登录失利确定战略的“答...

PHP序列化与反序列化解读

花费了点时刻研讨了下PHP序列化,写在这儿。一是便利自己知识点回忆,二是协助相同有疑问的人,欢迎纠正过错,不喜勿喷. 0×01.确认装备文件 首要体系运用的ubuntu apt-get install...

Faraday:一款多功能协同式浸透测验东西&缝隙办理渠道

今日给咱们介绍的是一款名叫Fareday的东西,它是一款协同式多功能浸透测验及缝隙办理渠道。 新版本的Faraday引入了一个新的概念,即IPE(整合型浸透测验环境),也便是所谓的多用户浸透测验IDE...