G.O.S.S.I.P 学术论文推荐 2021-01-06

admin 2022年5月16日09:29:20评论31 views字数 747阅读2分29秒阅读模式

去年2月,学术会议还在享受最后的黄金时代——线下举办的会议正在疯狂传播病毒,而在San Diego举行的CGO 2020会议上,来自德国的研究人员介绍了一项代码开发中的辅助技术——CogniCrypt_{gen},即使用code generator来帮助开发人员正确使用Crypto API


G.O.S.S.I.P 学术论文推荐 2021-01-06


在现实中,很多密码学系统提供的Crypto API非常容易被开发人员错误使用,下图就是一个包含了许多隐蔽错误的实例:在这个例子中,看起来好像密码学函数都被正确使用了(例如使用了PBKDF2来生成key,迭代次数100000次也足够强壮),然而这个示例还是百密一疏:首先,考虑到Java的特性,这里面pwd并不应该用String类型(否则pwd将长期保存在内存中,容易被攻击);其次,salt的值应该是随机而不是固定的;最后,开发人员应该显式调用clearPassword函数来清理password。


G.O.S.S.I.P 学术论文推荐 2021-01-06

这样看来,正确使用Crypto API确实需要计算机进行辅助,因此作者指出,在之前他们的相关研究中,已经设计了名为CrySL的一种domain-specific language(DSL)来规范API函数的使用,因此为何不借用CrySL来帮助开发人员呢?


G.O.S.S.I.P 学术论文推荐 2021-01-06


作者设计了CogniCrypt_{gen}这样一个code generator,利用下图中类似的template来规范和生成安全的Crypto API使用代码片段


G.O.S.S.I.P 学术论文推荐 2021-01-06


G.O.S.S.I.P 学术论文推荐 2021-01-06


作为一款开发辅助插件,作者评估了CogniCrypt_{gen}的内存开销和对系统的影响:


G.O.S.S.I.P 学术论文推荐 2021-01-06


论文PDF:

https://www.bodden.de/pubs/krueger20cognicryptgen.pdf


原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 学术论文推荐 2021-01-06

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月16日09:29:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   G.O.S.S.I.P 学术论文推荐 2021-01-06http://cn-sec.com/archives/923849.html

发表评论

匿名网友 填写信息