ATmega微控制器通常具有两个锁定位LB1和LB2。一个阻止进一步编程,而另一个阻止闪存被读回。如果两者都设置,则需要先擦除芯片,然后才能再次对其进行编程。这样可以防止闪存被读出并进行反向工程。在其他许多微控制器系列中也可以找到类似的机制。

其他某些处理器也有广泛记载的旁路技术,例如: PIC 18F452,可在其中擦除单个模块,并写入固件以读出其他模块(在“黑暗之心-探索HID iCLASSTM安全性的未知水域”中记录)。 ,论坛帖子由提供服务的公司读出受保护的ATmega芯片。也有一些网站(通常是.ru)提供这些服务。价格通常在$ 500- $ 1500附近,周转时间为几周。我曾询问他们是否返回未损坏的芯片,但没有得到回应。微控制器”,许多微控制器可以使用时钟,电源或数据故障来绕过复制保护。但是,我还没有在该领域看到任何实际的例子或进一步的研究。

几年前,干扰在绕过卫星电视接收器中使用的智能卡上的保护方面非常普遍,但是,在干扰器的某些电路图之外,我再也没有找到很多信息。 />
是否有人对使用小故障绕过复制保护有进一步的了解?

评论

我讨厌发表这些祝贺性的,无效的声明,但真是太棒了。

RussianSemiResearch公司可以读取许多带保护的MCU。

好吧,如果正确实现了锁定,则无法使用引导加载程序来更改锁定位并回读代码。但是与此同时,人们写信要求以500美元解锁AVR,他们如何实现这一目标?有什么主意吗?

她在这个YouTube频道中提供了许多有关故障和解释每个步骤的实用示例,可​​能会对您有所帮助:youtube.com/channel/UCaEgw3321ct_PE4PJvdhXEQ。

#1 楼

您正在寻找什么样的进一步信息?我认为您的目标是读取ATmega微控制器的闪存内容。您找到了有关小故障器如何工作的信息,现在我想您想确认是否可以在确定小故障器之前进行确认?在这种情况下,是可能的。我无法提供任何论文,因为它是基于实际经验的(不一定是基于ATmega mcu的)。

因为通常没有办法自己为嵌入式板提供核心时钟(与智能卡),则必须进行功率,激光或电磁干扰。假设您要供电,则基本上必须用您提供的电源替代目标的核心电源。通过这种方式,您可以注入电源故障(正向或反向)。

有很多原因可能会导致绕过复制保护,这完全取决于保护机制的实现。您可以尝试一些时间:




只是在冷重置之后。说复制保护位的值存储在OTP中。系统在重置后立即执行一些初始化。这可以包括将保护位值传输到内部寄存器。在此时刻发生故障可以例如“取消”传输,更改总线上的值或阻止将该值存储到目标寄存器中。

运行时任何时候。运行时的故障可能会影响任何寄存器。这是一个疯狂的尝试,但是有趣的事情还是会发生(您好JTAG解锁!)

在权限检查期间。如果闪存读取受保护,则意味着必须在某些时候验证您是否具有权限。如果您可以影响此决定的结果,则可以授予您访问内容的权限。
您可以想到的还有很多,但是还有很多原因可以阻止成功(例如,JTAG接口的永久物理断开)带有抗熔剂等)


评论


感谢你的回答。我并不是特别想绕过ATmega,这只是微控制器的一个例子,那里没有众所周知的方法。我确实在寻找一个实用的硬件和软件示例-一切似乎都很罗word。

– Cyber​​gibbons
13年4月11日在14:59

#2 楼

它并非直接针对绕过复制保护,而是由Jasper van Woudenberg通过故障注入对嵌入式系统进行故障处理方面进行了大量研究。他的研究应用包括操纵分支决策,泄漏指令和加密密钥,因此也有可能将其应用于您的目标。

他2012年演讲的幻灯片可以在以下位置找到:http: //www.riscure.com/news-events/fault-injection-attacks-on-embedded-chips(可以在此处找到该公司的更多出版物)

他最近在Infiltrate发表了演讲2013年在该领域影响重大,因此请留意其中的幻灯片和视频。

此外,可能值得了解Xbox 360小故障及其涉及的过程。

评论


Xbox小故障hack链接已死

–烛光
15年7月10日在13:25

#3 楼

为了读取Atmel AVR ATmega MCU的闪存内容,您可以断开主芯片。它不会返回未损坏的芯片,而是提供代码和程序。

评论


您是在打开芯片盖并在视觉上还是使用激光读取闪光灯?这是可能的,但不是我要问的问题。

– Cyber​​gibbons
13年8月15日在13:30

#4 楼

这并不是您问题的真正答案,而是我几个小时一直在想的另一种方法。

根据我的经验,通过设置软件来设置JTAG端口的锁定将特定寄存器设置为特定值。这些信息可以从微控制器的手册中轻松获得。

我的想法是从软件方面而不是从硬件方面进行攻击。

假设:


该设备允许使用USB,UART等进行现场固件更新。
固件未加密(根据我的经验,有时未加密)。

我的想法是更改固件文件,并注入清除锁定寄存器的特定操作码。

这只是一个主意,我之前从未尝试过,但我想这是可能的。 ..

评论


如果正确实施了锁定,则应该在没有复位的情况下更改固件。

–nneonneo
13年4月11日在13:45

我不能说所有的微控制器,但是在Atmel的SAM3(Arm Cortex M3)中,可以进行一些更改。

–烛光
13年4月11日在13:51

那不是很大的锁,不是吗?我认为AVR控制器并非如此。

–nneonneo
13年4月11日在13:54

您对AVR的看法是正确的,如此处所述:electronics.stackexchange.com/questions/53282/…

–烛光
13年4月11日在13:59

由于这不是小故障,因此我认为这不是答案。

– Cyber​​gibbons
13年4月12日在2:10

#5 楼

我在中国见过其中一家公司,也见过很多显微镜,所以我假设要对芯片进行拆封并在芯片上进行一些修改。