Java安全编码:糟糕的在线建议和令人困惑的APIs

发布时间:2019-11-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java安全编码:糟糕的在线建议和令人困惑的APIs脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

对于程序员和软件开发人员来说,网络论坛提供了一个交流知识和寻找具体编码难题答案的好地方。遗憾的是,他们并不总是准确信息的来
图片描述
弗吉尼亚理工大学的一组研究人员分析了数百篇关于Stack Overflow的文章,(Stack Overflow是一个很受欢迎的开发者论坛或者说Q&A网站)发现许多提供答案的开发人员并没有意识到编码选项的安全含义,并显示出了缺乏网络安全培训

他们发现的另一件事是,有时,最热门的帖子或答案包含了一些不安全的建议,这些建议会在软件中引入安全漏洞,而正确的修复程序不那么受欢迎,也不容易看到,因为它们是用户提供的,其信誉分数较低。

因此,提问者和回答者之间的社会动态肯定会对人们的安全选择产生影响。

获得正确的安全性

研究人员集中研究与Java安全性相关的帖子,从软件工程和安全角度考虑,针对的是SPRing SecurITy的问题上发表的文章,Spring Security是一个第三方Java框架,为企业应用程序提供身份验证、授权和其他安全特性。

Spring Security旨在促进安全编码,但很明显,许多程序员发现它的APIs过于复杂,文档记录不足,运行时系统的错误报告令人困惑

“此外,多语言支持获取数据的能力相当弱。在安全应用程序中,多语言的情况是很常见的,因为通常数据是用一种编程语言加密的(比如:Python)并在另一个编程语言解密(例如:Java)。这些问题会严重阻碍开发人员的生产力。”

开发人员在花太多时间解决APIs的正确用法时常感到沮丧,并且常常选择了完全不安全的修补程序,比如使用过时的加密哈希函数,禁用了跨站点请求伪造保护,信任了HTTPS验证中的所有证书,或者使用了过时的通信协议。

研究人员指出:“这些糟糕的编码实践,如果在生产代码中使用,将严重损害软件产品的安全性。”

建议每个人都参与

“这项工作的意义在于,我们为大量令人担忧的安全编码问题提供了经验证据,而这些问题之前并没有被报道过。这些问题是由于各种原因,包括企业安全应用的快速增长,软件开发人员缺乏安全培训,以及设计了糟糕的安全库,”研究人员指出。

他们建议设计人员删除或弃用弱安全性的APIs,设计简化的APIs,并在默认情况下实现强大的安全性御,并设计干净且有帮助的错误报告接口,其中还包括可能的根本原因和解决方案

另一方面,开发人员绝对应该需要安全检查,并进行安全测试,以检查实现的功能是否如预期的那样工作。在Stack Overflow和其他类似的社区网站和论坛上流行和接受的答案应该像一粒盐,如果可能的话,它们的准确性应该是独立的。

最近的相关研究显示,排名靠前但不够充分的编程Web教程也将漏洞引入了软件。

最后,工具生成器应该考虑使它们能够自动诊断安全错误,并建议安全补丁或解决方案。

“构建漏洞防御技,比较同级应用程序使用相同系列的APIs来推断和警告潜在的错误使用。探索检查和加强安全性相关注释、代码和配置之间的语义一致性的方法。构建新的方法来转换声明性安全性和编程式安全性的实现,”研究人员总结道。

小编总结:当程序员或者软件开发者在编码遇到难题时,找网络论坛,或寻大神求助,或自己探索都是可行的,但一定要意识到编码选项的安全性,选择了错误的编码,将严重影响企业软件产品,因此,安全编码,人人有责。

本文由阿里聚安全编译,原文链接:https://www.helpnetsecurity.c...

脚本宝典总结

以上是脚本宝典为你收集整理的Java安全编码:糟糕的在线建议和令人困惑的APIs全部内容,希望文章能够帮你解决Java安全编码:糟糕的在线建议和令人困惑的APIs所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。