G.O.S.S.I.P 阅读推荐 2022-11-04

admin 2022年11月5日11:03:26评论28 views字数 1743阅读5分48秒阅读模式

不知道我们的读者喜欢不喜欢看动画片,有没有看过《无敌破坏王》。如果你看过,还记得那里面可爱的大坏蛋拉尔夫和那个万能的“阿修”——Fix-It Felix Jr.吗?今天我们推荐的也是一篇和修复这个主题相关的研究论文:To Fix or Not to Fix: A Critical Study of Crypto-misuses in the Wild

G.O.S.S.I.P 阅读推荐 2022-11-04

经过多年的发展,针对源代码(特别是Java代码)的密码学误用检测(crypto misuse detection)技术和工具已经有了长足进展,诸如SpotBugsCryptoGuardCogniCrypt_{SAST}等工具已经可以比较智能地报告Java源代码项目中的相关问题。但是不管是报告的问题本身的准确性,还是开发人员对待这些报告的(认可)态度,可能都还存在较大的改进的空间。作者在本文中关注了两个主题:

  1. 在当前的密码学误用检测工具的输出中,主要的误报来源是什么?

  2. 检测到的密码学误用问题,对项目本身的实际安全威胁如何?

针对上面的两个问题,作者的研究依然关注两类典型的密码算法库——Java Cryptography Architecture (JCA) 和 Bouncy Castle (BC),并在936个开源的Java项目中发现了210个使用了这两类密码算法库相关API的项目。根据CogniCrypt_{SAST}的报告,这其中88.10%的项目至少包含了一个密码学误用问题。我们先来看看作者针对两个问题的研究结论:

针对第一个问题,作者深入追踪了这些报告,并发现其中很大比例的误用案例,实际上发生在一些非安全相关的场合(non-security context),所以开发者即使知道了也往往对其置之不理,而在软件工程领域,还有一个专业的名字effective false positive来形容这种问题(来自Google研究人员发表在ICSE 2015的论文Tricorder: Building a Program Analysis Ecosystem,作者里面还有一个人名字叫做Van Gogh~)。

针对第二个问题,作者定义了一种将密码学误用和安全攻击关联的威胁模型,然后用来评估密码学误用问题的实际安全影响力,在这种评估方法的测量下,作者标记了所有误用案例中的42.78%为高危安全问题。

G.O.S.S.I.P 阅读推荐 2022-11-04

让我们继续看看论文的一些细节,首先,作者在整个测试中主要使用了CogniCrypt_{SAST} 2.7.2版本 (下载地址:https://github.com/CROSSINGTUD/CryptoAnalysis/releases/tag/2.7.2)来评估开源代码的密码学误用问题,并分析了超过900个相关Java开源项目,总体的分析结果如下表所示:

G.O.S.S.I.P 阅读推荐 2022-11-04

而本文最为关注的问题,可能就是确定一个被检测出的密码学误用到底是否属于误报。作者仔细检查了其中的100多个误用报告,发现其中大部分都是确定的问题。特别地,针对作者非常关注的effective false positive情况,研究发现,像代码中使用MessageDigest这样的密码学功能时,往往并不是在做一些安全相关的操作,而是应用在一些功能性操作上(例如检测某个特定的输入是否和预设的MD5值相同),作者认为这种问题并不是一个非常“密码安全”的误用。实际上,我们如果熟悉Android APP开发,也会经常发现这种模式,例如在很多加壳代码中使用的固化密钥的加密,实际上并不是为了保护数据,而是为了将代码内置的字符串“mask”起来,对抗静态分析工具。

G.O.S.S.I.P 阅读推荐 2022-11-04

接下来,作者掉转方向,去关注那些确认的密码学误用问题的严重性,这部分作者写得有点潦草,只是简单说了一下每一类问题的基本原因,比如高危问题中,主要是因为密钥的不安全生成导致的,但是具体情况并没有详细报告,其余的一些高危问题是因为使用了低版本的SSL/TLS协议,这个结论看起来也比较平凡。

G.O.S.S.I.P 阅读推荐 2022-11-04

总之,作者在本文中对密码学误用的探索,比原来的一些工作又深入了一小步,我们也期待能够读到更多关于密码学实践的相关论文~


论文PDF:https://arxiv.org/pdf/2209.11103.pdf


原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2022-11-04

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月5日11:03:26
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 阅读推荐 2022-11-04http://cn-sec.com/archives/1392322.html

发表评论

匿名网友 填写信息