热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

剑走偏锋侧信道,黑客的最后一把“门钥匙”

高明的侧信道攻击,其攻击方式时常让防守方摸不着头脑,就好像《名侦探柯南》中描述的各种离奇古怪的案件。如果你是“柯迷”,想必定会回忆起剧集中几起经典的密室杀人案件,凶手往往不用踏入寝

高明的侧信道攻击,其攻击方式时常让防守方摸不着头脑,就好像《名侦探柯南》中描述的各种离奇古怪的案件。

如果你是“柯迷”,想必定会回忆起剧集中几起经典的密室杀人案件,凶手往往不用踏入寝室半步,甚至不用任何凶器就可以至被害者于死地。

剑走偏锋侧信道,黑客的最后一把“门钥匙”

《名侦探柯南》198话“诅咒假面的冷笑”

侧信道攻击亦是如此,其方式往往不是植入病毒或者强行攻入系统,而更多的是通过旁敲侧击的方式达成目的,正因如此侧信道攻击种类繁多且神出鬼没。

不久前举办的KCon大会上,来自银基安全的KEVIN2600分享了对侧信道攻击的相关研究成果。

侧信道,黑客的最后一把“门钥匙”

随着厂家安全意识的提高,嵌入式系统(比如POS机、比特币硬件钱包)本身的安全保障已经趋于完善。这种情况下,侧信道将成为黑客攻击的最后一把“门钥匙”。

相比其他攻击手段,侧信道攻击是一种针对软件或硬件设计缺陷剑走偏锋的攻击方式。那么,这种攻击方式究竟有多“偏”呢?这里,KEVIN2600通过几个案例验证了上述观点。

软件方面,基于Web页面,侧信道攻击的典型方式之一就是利用登录页面的账号、密码系统提示。

以WORDPRESS和Drupal为例,前者,用户如果输入了错误的账号,系统会直接提示“用户名不存在”,当输入了正确的账号,系统只会提示密码错误;后者,当用户进入到注册界面,输入的注册账号真实存在时,系统会提示注册账号已存在,否则则会继续填写。

这种机制的存在一方面为用户带来便捷,另一方面也为黑客进行攻击提供了筛选依据。

硬件方面,对于门禁产品展开的侧信道攻击可谓是五花八门,以破解门禁为例,其破解方式可谓是五花八门,当然,它们都会避开与锁的正面冲突。

利用侧信道攻击门禁的关注点并不在如何破解内部结构上。相比之下,关注点可以在固定锁器的螺丝上。无论多安全的锁,一旦固定的螺丝被卸下便等于前功尽弃;类似方式也适用于密码锁,一款名为Kaba Simplex Series 1000的密码锁,黑客可以直接通过一块强力磁铁将锁芯吸开,而不是破解密码。

侧信道案例分析

KEVIN2600称,侧信道攻击的方式大多需要借助硬件设备完成,其主要分为被动式和主动式攻击两种。其中,声波信号采集还原打印机原文、美国NSA电磁波监听、功耗分析破解公交卡密钥系统等均属于前者。

类似的被动式侧信道攻击使用之广泛,往往是源自设备自身无法避免的安全隐患。而对于被动式侧信道攻击的研究,时耗分析是最典型的研究方向。

第一个案例,是关于一个密码比对的函数流程的时耗分析。

对于某些开发人员来说,可能会用到类似单字节比对的函数,这些函数原本只是整个流程中的一部分,但是当它们被用于密码破解时,就会凸显其价值。

假设该密码为6个字节,首先需要对首个字节进行函数比对,如果是错误的那么可以退出流程,如果是正确的则会呼出“i++”继续下一字节比对流程,通过不断重复上述步骤,最终可以得到正确的6位密码。

“这是一款密码锁,当我的第一位输入错误的时候,时耗分析的波形显示硬件分析时长为55.9us,当输入正确的第一位数密码,其时长明变为75.1us,时长的增加意味着第一位密码的比对已经通过,现在进入到了后一位密码的比对步骤...根据这一特性,我们可以还原出本来的密码锁密码。”

虽然原理简单,但这样的破解思路被证明十分实用,DEFCON24上,就有人用这样的方式破解了美国军方枪械上的密码锁。

KEVIN2600称,这种猜侧密码的方式并不是万能钥匙,但是它可以大幅缩减破解密码的时间和范围,进而满足更低成本的破解需求。

第二个案例,是关于IOT设备的攻击实例。

一款WinkHub智能网关,在已经确认厂商打过补丁的情况下,黑客就无法通过网页漏洞对其进行远程命令执行(set_dev_value.php),但仍旧可以通过断绝阻断存储芯片NAND 数据引脚的方式来得到ROOT 权限.

侧信道案例实战

与时耗分析相对应的,是功耗分析。后者是基于微处理器在处理不同命令时的功耗不同进行判断,通过对其功耗数据的含义进行解析,同样可以完成侧信道攻击。

“功耗分析的前提,一定要确保处理器在进行加密运算,否则,我们收到的功耗数据是没有任何意义的。因此,功耗分析的要求在于对目标设备的处理器算法了如指掌。”

这里,KEVIN2600 推荐 ChipWhisperer 作为学习 SCA 的工具. 以下是 ChipWhisperer 的一些亮点.

·Colin O’Flynn设计制作,学习SCA功耗分析和毛刺注入神器

·基于Python跨平台开源软硬件项目(Windows;Linux;MacOS)

·可用于时序或电压毛刺注入攻击侧试,产生<2ns的脉冲信号

·通过DPA差分功耗分析获取诸如AES;3DES等加密密钥

剑走偏锋侧信道,黑客的最后一把“门钥匙”

第一个实战案例,是关于电磁信号的泄漏分析AES密钥。

对于银行POS这类产品而言,其安全措施通常会在监测到设备被外接设备或者拆解的时候清除全部密钥数据。这种情况下,通过电磁波泄露不需要拆解设备,同样可以获得密钥。

电磁波可通过H探头和软件无线电设备远程获取,当芯片01转换产生电磁波从空气中泄露,其中就包含了密钥指纹信息。研究表明,Tel Aviv大学科研人员通过测量分析电磁反射成功获取了GunPG密钥信息。

第二个案例,是通过侧信道电磁波注入EMFI 的方式得到密钥。雷锋网雷锋网雷锋网(公众号:雷锋网)

这是一种可以避免与目标设备直接接触的侧信道攻击方案。除了电磁波,也可以通过激光、声源等获得密钥。其中,前段时间流行的小黑盒正是经典的电磁波攻击方式。

最后,KEVIN2600总结道,即使再完美的设备也会有其安全隐患存在,以侧信道攻击手法为例,就可以清楚认识到绝对的安全是不存在的。


推荐阅读
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Swoole加密机制的安全性分析与破解可能性探讨
    本文深入分析了Swoole框架的加密机制,探讨了其在实际应用中的安全性,并评估了潜在的破解可能性。研究结果表明,尽管Swoole的加密算法在大多数情况下能够提供有效的安全保护,但在特定场景下仍存在被攻击的风险。文章还提出了一些改进措施,以增强系统的整体安全性。 ... [详细]
  • 字节跳动深圳研发中心安全业务团队正在火热招募人才! ... [详细]
  • Norton Partition Magic 中 PHP 函数 error_reporting(E_ALL ^ E_NOTICE) 的详细解析与应用
    在 Windows 环境下,通过具体示例分析了 `Norton Partition Magic` 中 `PHP` 函数 `error_reporting(E_ALL ^ E_NOTICE)` 的详细解析与应用。该函数用于控制错误报告级别,例如在从 PHP 4.3.0 升级到 4.3.1 后,程序出现多处错误的原因及解决方法。本文深入探讨了错误报告配置对程序稳定性的影响,并提供了实用的调试技巧。 ... [详细]
  • 本文首先对信息漏洞的基础知识进行了概述,重点介绍了几种常见的信息泄露途径。具体包括目录遍历、PHPINFO信息泄露以及备份文件的不当下载。其中,备份文件下载涉及网站源代码、`.bak`文件、Vim缓存文件和`DS_Store`文件等。目录遍历漏洞的详细分析为后续深入研究奠定了基础。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • 本指南详细介绍了在Linux环境中高效连接MySQL数据库的方法。用户可以通过安装并使用`mysql`客户端工具来实现本地连接,具体命令为:`mysql -u 用户名 -p 密码 -h 主机`。例如,使用管理员账户连接本地MySQL服务器的命令为:`mysql -u root -p pass`。此外,还提供了多种配置优化建议,以确保连接过程更加稳定和高效。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • 如何撰写PHP电商项目的实战经验? ... [详细]
  • 如何在益和VA中配置安全策略:应用管理设置的详细指南 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 本文针对Bugku平台上的“MD5碰撞”挑战进行详细解析。该挑战要求参赛者通过分析MD5哈希函数的碰撞特性,解决页面提示的输入问题。文章首先介绍了靶场链接和题目背景,随后详细描述了解题思路和步骤,包括如何利用已知的MD5碰撞实例来绕过验证机制,最终成功完成挑战。通过本分析,读者可以深入了解MD5算法的安全缺陷及其在实际应用中的潜在风险。 ... [详细]
author-avatar
rare懿然
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有