这是一个很棒的想法:当他们搞砸时,获取加密库以警告开发人员

在加密库中建立警告,提醒开发人员注意不安全的编码实践,这是提高应用程序安全性的有效方法。

在本周举行的USENIX可用隐私和安全研讨会(SOUPS)2018上,来自德国几所大学的一组研究人员报告了这方面的研究结果。

在会议发表的一篇论文中,“开发人员应该得到安全警告:关于集成安全建议对加密API滥用的影响”,Peter Leo Gorski,Luigi Lo Iacono,Dominik Wermke,Christian Stransky,Sebastian Moeller,Yasemin Acar和Sascha Fahl描述了他们如何修改Python加密库以提供实现建议,从而产生更安全的代码。

干预主义系统经常使人们烦恼 - 见证了Microsoft Office Assistant(也称为Clippy)的怨恨。但至少在这种情况下,未经请求的建议可以让开发人员远离自己。

boffins将大量软件漏洞归因于滥用与安全网络连接,移动应用程序权限和加密API相关的安全API的开发人员。

而不是通过IDE(集成开发环境)插件简化安全库或添加帮助等替代方法 - 研究人员修改PyCrypto库以捕获问题并提供修复建议,而不需要通过IDE(集成开发环境)插件进行更改 - 这需要更改编程接口和持续开发多个IDE的插件。终奌站。

研究参与者的方式如下:

/!\ 警告
您正在使用弱加密算法RC4(aka ARC4或ARCFOUR):

        文件:SecurityAdviceExample.py
        行:14
        路径:/ filepath
        功能:arc4_example
        代码:cipher = ARC4.new(tempkey)

ARC4的使用使处理过的数据的机密性处于危险之中,并可能导致数据泄露。

(后面是示例代码,展示了如何正确实现AES。)

PyCrypto的修改版本挂钩到API调用,实例化弱加密对象,例如Crypto.Cipher.ARC2.new(),它依赖于不安全的ARC2算法。创建此类对象后,更改的库将调用advice方法以显示相应的警告。

“在可能的情况下,安全建议会提出代码更改以修复负责任的安全问题,”研究人员在他们的论文中解释道。“我们发现我们的方法显着提高了代码安全性。收到安全建议的参与者中有73%修复了他们不安全的代码。”

boffins通过检查密钥生成(大小和随机性),密钥存储(密钥是否实际加密以及是否来自提供的密码)以及相关指标(如加密算法的选择)来判断安全性。

调查规模并不大 - 只有53名有效参与者参与 - 但是参与该研究的近39,000份电子邮件邀请和177名开始从事指定编码任务的人员。

研究人员所面临的挑战不仅涉及在纯文本终端的限制内有效地呈现信息,还要详细描述风险,在触发警告的源代码中提供上下文相关的解释,并提出有意义的选项解决问题。

研究人员得出结论,API集成的安全建议对代码安全性有重大影响,尽管他们承认提供上下文敏感的建议相当复杂,值得进一步研究。®

  • 发表于:
  • 原文链接http://www.theregister.co.uk/2018/08/14/developers_crypto_training
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券