用户
搜索

该用户从未签到

版主

推荐组组员(最帅的那个)

Rank: 7Rank: 7Rank: 7

33

主题

46

帖子

367

魔法币
收听
0
粉丝
1
注册时间
2018-4-12

i春秋推荐小组

Arizona 版主 推荐组组员(最帅的那个) i春秋推荐小组 楼主
发表于 2018-7-3 10:19:56 06537

羞辱Tapplock智能锁

几个周前,YouTube上一个名为JerryRigEverything的人发布了一个拆除Tapplock智能锁的视频。

https://youtu.be/RxM55DNS9CE</br>

他发现,使用粘性的GoPro底座可以取下锁的背部,之后用螺丝刀拆卸它,就可以打开锁扣了。

这看起来像一个巨大的安全疏忽 - 我有一点不能相信。 他们真的考虑过这种袭击吗? 公司当然有第三方来测试锁吗? 它触发了我像是IOT中蜘蛛人的超能力来查看它的网站,FCC文档和它的手册。</br>

材料选择:Zamak3,并不是像它看起来那样</br>

排在第一位的是材料的选择

Zamak 3

是一种锌铝合金,通常在儿童玩具,门把手,男士剃须刀等压铸产品中使用。 它不牢固,很脆弱,在400℃以下可以熔化。 对于一个强壮的锁体来说这不是一个好的选择。 但是这对于制造外观和感觉坚固的铸件来说非常好,而且听起来会很酷 - 会给人一种安全感。

加密方式:AES 128,一定很安全!

我注意到的下一件事是有关加密的:

他们已经推出了“AES 128位加密”,并推断其安全性与军方一样。 它必须是安全的! 然而,这是对物联网黑客的亮的一个红牌 - 它忽略了配对,密钥交换,密钥共享......并且最重要的是它没有提及身份验证。 时间长了我们就可以看到AES-128使用的方式使它非常不安全。

独立的对锁进行评论

https://www.techadvisor.co.uk/review/accessories/tapplock-one-review-3672266/

“就像他们到来时一样艰难” - 不,这个锁在Abloy Protec上无法修补 https://www.abloy.co.uk/en/abloy/abloy-co-uk/products-mpc/padlocks/pl362—grade-6/

“实际上是牢不可破的” - 我还没有看到这种尺寸的锁能够承受4'螺栓刀。

这些令人担忧的强有力的安全声明表明市场的压力和这个有很强的关系

所以我们买了一个

它有足够多的可疑问题使其我下定决心要订购。

£80和14个小时后,Tapplock抵达我家门口。

JerryRigEverything攻击

我做的第一件事是把GoPro安装到锁的后面。 我将它放在锁上施加压力约30分钟,确保它卡住了。

在背部移动之前,对粘贴物施加力,剪切粘性垫。 看起来这一个没有打开。

事实证明,为了防止其转动,它的背部有一个弹簧加载销与销接合。 可能我们可以施加足够的力量来剪切销钉,但它需要的不仅仅是一个粘性垫。 这消除了原始攻击的优雅简单和速度。 关于JerryRig讨论显然只有一个锁 - 其他的似乎没有这个问题

羞辱这个锁:低功耗蓝牙

我们转向蓝牙低功耗,这是让事情变得非常糟糕的地方。

通常我喜欢阅读需要时间,努力和创造力的关于物联网的攻击,但我不能在这里做到。 在45分钟内,我们有能力接触到Tapplock并把它解锁。

首先,应用程序通过没有传输加密的HTTP协议进行通信。 。这在2018年是不可原谅的。

我可以看到,每次连接BLE时,都会将一串“随机”数据发送到BLE锁上。 没有这些数据,锁将不会响应命令。

但也有人指出,无论连接多少次,这些数据都没有变化。 在gatttool中有几行命令,显然这个锁很容易受到微小的Replay攻击

该应用程序允许您与其他人“共享”锁定,稍后撤消权限。 我与另一个用户分享了锁,并嗅探了BLE数据。 它与正常的解锁数据相同。 即使您撤消权限,您也已经向其他用户永久性地提供了他们需要使用该锁进行身份验证的所有信息。

这个问题与Ring Smart Doorbell的问题非常相似 - 不可能撤消另一个高权限用户权限。

无出厂重置

之后我看到锁没有出厂重置。 你可以从帐户中删除锁,但用于解锁的数据保持不变。

这些相同的数据是使用HTTP发送到服务器和从它们的服务器发送的,所以恰当定位在网络上的攻击者可以截获数据并解锁。

这些不是小问题,但我们并不处于任何Tapplock可以打开的阶段。 我们需要弄清楚那些随机数据要做什么。

总的Pwnage

几分钟后,找到与锁配对的方法:

`   public void regularPair(String str, byte[] bArr, byte[] bArr2) {

  bArr = getCMD(CMD_PAIRING_REGULAR, bArr, bArr2);

  send(str, bArr);

  str = TAG;

  bArr2 = new StringBuilder();

  bArr2.append("Regular pair called, send ");

  bArr2.append(BluetoothTool.byteToStr(bArr));

  Log.e(str, bArr2.toString());

}`

这会发送一个固定的命令CMD_PAIRING_REGULAR,接着是两个字节数组。

那两个字节数组是什么?

this.bluetoothCenterManager.regularPair(lockMacAddress, BluetoothTool.strToBytes(lockInfo.getKey1()), BluetoothTool.strToBytes(lockInfo.getSerialNo()));

Key1和SerialNo。 它们来自哪里? 锁第一次配对时,它们使用方法keyAndSerialNo从BLE MAC地址派生。

`lockInfo.setKey1(BluetoothTool.keyAndSerialNo(lockInfo.getMac(), BluetoothTool.KEY_ONE));lockInfo.setSerialNo(BluetoothTool.keyAndSerialNo(lockInfo.getMac(), BluetoothTool.SERIAL_NO));`

这个方法用来做什么?


       public static String keyAndSerialNo(String str, String str2) {

      str = AndroidTool.md5(str.toUpperCase()).toUpperCase();

      if (str2.equals(KEY_ONE) {

         str = str.substring(0, 8);

      } else if (str2.equals(KEY_TWO) {

         str = str.substring(8, 16);

      } else if (str2.equals(SERIAL_NO) {

         str = str.substring(16, 24);

      }

      return str;

   }

它将BLE MAC地址大写并采用MD5散列。 0-7字符是key1,16-23是序列号。

是。 我们唯一需要解锁的是知道BLE MAC地址。 由锁广播的BLE MAC地址。

我对安全性有多糟糕感到非常惊讶,我订购了另一个,并通过电子邮件发送Tapplock检查锁和应用程序是否真实。

我编写了攻击脚本来扫描Tapplocks并解锁它们。 你可以走到任何Tapplock并在2秒内解锁。 它不需要技能或知识就可以做到这一点。

我们正在将脚本移植到Android应用,以使其更易于访问。 我不想被指责要求昂贵或难以获得的设备。

这种安全级别是完全不可接受的。 消费者应该得到更好的服务,像这样对待你的顾客是非常不敬的。 说实话,我无语了。

物理安全

据称这把锁是反垫片。 他们使用了一种通用的方法来防止这种情况 - 枷锁中的一个步骤。 这应该防止攻击者将垫片从侧面滑向闩锁。

但是枷锁已经很薄了。 进一步降低压力,并在步骤中引入压力点......这太过分了。

用一把12“的螺栓切割器,锁在10秒内被切开,使用该步骤作为弱点。

我们还没有真正考虑锁的其他物理安全方面 - 这不是一个免费的pentest。

泄露

作为一个挂锁,Tapplock有一个非常简洁的安全目标:阻止攻击者通过打开枷锁进行物理访问。

锁定的程度取决于威胁模型 - 它只会减慢攻击者的速度,永远不会不可达。

然而,Tapplock低于任何可接受的标准。 它只能用手机在2秒以内打开。

发现这一点花了一个小时。

经过考虑,我决定对此漏洞运行7天的泄露窗口。 这比正常要短得多,但这不是一个正常的锁:

  • 该设备是一种安全产品,该漏洞完全破坏了这种安全性。

  • 只需要下载的应用程序,就可以在一个小时内发现漏洞,因此恶意攻击者很可能会发现并利用此问题。

  • 该锁受到了社交媒体的重视,增加了恶意演员攻击设备的可能性。 我们与正在调查锁定的其他研究人员进行了联系

  • 锁业主可以通过转向低成本的机械挂锁轻松便宜地降低风险。

我的推理是合理的; 关于通知Tapplock的问题,我收到了通知:

<center>“谢谢你的提示。 我们很清楚这些笔记。“</center>

哇:Tapplock已经知道这些问题,但继续销售亚马逊的锁,并没有让客户意识到。 我想不出任何其他术语来描述这一点,而是“不道德的”。 这是对信任的滥用。

我强烈敦促Tapplock主动向客户告知问题; 我们还没有看到这是否会发生。 他们从注册过程中获得客户的电子邮件地址,因此让他们告知客户将是微不足道的。

是的,供应商自愿披露声誉造成的损害是很大的,但企业通常从管理良好的安全事件中恢复过来。

Tapplock可能会陈述如下:“我们发现锁中存在安全漏洞; 我们强烈建议您使用替换锁作为临时措施,同时我们紧急更新软件以解决问题“

仅仅因为如果你再加锁,Tapplock死亡,你就需要把它切断!

媒体采访

Tapplock已经被许多大网站和几个YouTubers评论过。

我看不到一个已经测试了锁的安全性的人。

我可以看到他们中有很多人在谈论锁的安全性。

这需要受到挑战 - 人们为什么会审查允许虚假安全声明的设备?

结论

如果您正在使用Tapplock,请考虑以下事项:

  • 锁的物理安全性不如大多数£10挂锁。

  • 只需使用移动电话即可轻松打开锁。

  • Tapplock没有让你意识到这些风险。

我会建议大多数人投资合理的机械挂锁。

更新

Tapplock昨晚发布了这个:https://tapplock.com/notice/20180612/ - 就在我们披露截止日期之前。

这似乎太少了,太迟了:它没有明确说明任何人都可以打开任何锁,也不应该使用临时更换锁直到应用固件更新。

很高兴能够获得这项工作的奖励,但如果Tapplock已经主动联系所有客户并提供了明确的解释,缓解和补救计划,我们更愿意这样做。

作者:

Andrew Tierney</br>

翻译:i春秋翻译小组-Neo</br>

翻译来源:https://www.pentestpartners.com/security-blog/totally-pwning-the-tapplock-smart-lock/

评价:整体翻译流畅度很好,是看懂文章在翻译的。666~(括号内删除,此条五毛)

发新帖
您需要登录后才可以回帖 登录 | 立即注册