最近在逛github的时候,发现了一个很有趣的项目,一个锁匠机器人!看名字就知道,它的功能就是开锁,长成这样:
它能够打开一些我们日常生活中不怎么常见的锁。这个机器人的设计初衷是为了解决使用通用钥匙(如TSA 007)所带来的安全隐患,因为这些通用钥匙能够打开许多不同的锁,而且可以轻易地在互联网上购买到。一个普通人使用通用钥匙,也可以很简单的打开一些我们常用的锁。
这个机器人通过将线材穿过一个中空的钥匙,按下每个锁销并暴力尝试所有可能的组合(是不是和暴力破解用户密码有点像)。由于它不依赖于力反馈,因此不受安全销的影响。然而,锁销的数量或潜在的切割深度(熵)越多,尝试所有组合所需的时间就会呈指数级增长。
例如,一个4个锁销/4个切割深度的锁大约需要3分钟,而5个锁销/5个切割深度的锁则需要大约35分钟。
它对于真正的锁匠来说,可能只是一个简单的玩具,但是对于一些特定的锁类型,比如一些具有多个安全销和难以撬动的钥匙通道的锁,对人类来说很难撬动,但对这个机器人来说就十分的Easy。
所以,作者的原初衷是,假如我们将锁换成这种特定的锁类型,那么对于目前的通用钥匙或者一般的锁匠来说,就很难打开这种锁了,安全性更高。 但是真正需要开锁的时候,也可以通过这个开源机器人来打开。
有兴趣的朋友们可以自己看看,甚至可以自己实现一个,大概成本在200刀左右。
github地址:https://github.com/etinaude/unlocked
原文始发于微信公众号(混入安全圈的程序猿):物理意义上的“黑客”,一个有趣的开源锁匠机器人
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论