程序员会采取简单的方法 而不实施适当的密码安全
最近的一项研究显示,自由职业者需要被明确告知,要编写以安全可靠的方式存储密码的代码。
波恩大学(University of Bonn)的学者们对通过Freelancer.com平台雇佣的43名程序员进行了一项实验,他们发现,开发人员倾向于采用简单的方法,编写以不安全的方式存储用户密码的代码。
在他们的研究中,德国学者要求260名Java程序员为一个虚假的社交网络编写一个用户注册系统。
260名开发人员中,只有43人接受了这项工作,包括使用Java、JSF、Hibernate和PostgreSQL等技术来创建用户注册组件。
在这43位学者中,有一半人支付了100欧元,另一半人支付了200欧元,以确定更高的薪酬是否对密码安全功能的实施产生了影响。
进一步说,他们将开发小组第二次,促使开发人员的一半密码存储在一个安全的方式,和离开另一半存储密码的首选方法,因此形成四个季度开发商支付€100,提示使用安全的密码存储方法(P100),开发者支付€200,提示使用安全的密码存储方法(P200),开发者支付€100但不提示输入密码的安全(其他)而那些支付了200欧元却没有提示输入密码安全(N200)的用户。
研究人员说,开发人员花了三天时间提交他们的工作,当他们第一次发送一个以明文形式存储密码的项目时,他们必须要求43人中有18人重新提交他们的代码,以包含密码安全系统。
在需要重新提交代码的18名开发者中,有15名开发者从未被告知用户注册系统需要安全地存储密码,这表明开发人员在编写代码时并没有考虑到安全性。
另外三名来自被告知使用安全方法存储密码的那一半人,但他们是以明文形式存储密码的。
结果表明,在web开发社区中,对“安全密码”的理解程度有很大差异。
在这项研究中,开发人员选择实现的安全密码存储系统中,只有后两种,即PBKDF2和Bcrypt被认为是安全的。
8-Base6410-MD51-SHA-13-3DES3-AES5-SHA-2561-HMAC/SHA15-PBKDF27-Bcrypt
第一个是Base64,它甚至不是一个加密算法,而是一个编码函数,参与其中的开发人员似乎并不知道。MD5也是如此,它是一个散列函数。
“许多参与者使用哈希和加密作为同义词,”学者团队在他们的研究论文中说。
”的18个参与者收到了额外的安全要求,3决定使用Base64表示,例如:“[我]加密它清晰的密码是不可见的,解密是非常艰难的,”研究人员说,强调研究参与者不知道一些基本区别一个加密算法和一个函数,它只是谜团的人物。
此外,在43名开发人员中,只有15人选择实现salting,通过这个过程,存储在应用程序数据库中的加密密码将更难被破解,因为添加了一个随机数据因子。
研究还发现,43名开发人员中有17人从互联网网站上复制了他们的代码,这表明这些自由职业者不具备从头开发安全系统的必要技能,他们选择使用可能过时甚至漏洞百出的代码。
研究人员说,向开发商支付更高的租金并没有起到多大作用。
然而,研究小组发现,给程序员特定的指令来实现一个安全的密码存储系统,比什么都不说,然后指望开发人员自己考虑安全性,效果更好。
尽管如此,如果没有精确的说明,开发人员会选择他们“相信”的安全密码存储系统,但实际上并非如此,这表明在设计任何类型的安全系统时都需要专业人员的监督。
当我还是一名开发经理时,我在招聘过程中使用了一些非常类似的练习。至少90%的人以纯文本形式存储密码。他们的人数比我猜想的要多。
研究结果清楚地表明,每个自由开发者对网络安全最佳实践的知识因人而异。这可能是过时的培训,或者根本没有培训——这再次成为反对使用没有网络安全经验的开发人员从事此类工作的理由。
在过去的20年里,针对加密算法的攻击被大大方方地揭露了出来,而一个开发人员可能从一本过时的学校手册中学到的东西,在今天可能经不起推敲。这个OWASP备忘单是更好的密码实践的一个很好的起点。
更多关于波恩大学这项研究的细节可以在研究论文《如果你愿意,我可以存储加密密码》中找到。’这是一项针对自由开发者的密码存储领域研究。”
这项研究是2017年和2018年两项类似研究的延续,这两项研究使用学生作为研究对象,而不是自由开发者。
在之前的研究中,学生们表示,如果他们为一家公司创建代码,他们就会实现安全的密码存储。”2019年的研究表明,目前的开发者并不比没有监督的学生好多少。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
预约试驾比亚迪元PLUS前,需注意以下几点:首先确认车型配置与预算是否匹配,了解车辆性能及续航信息。其次,...浏览全文>>
-
小鹏G7试驾前,新手需掌握以下步骤:1 预约试驾:通过官网或APP预约,选择合适时间和地点。2 准备证件:...浏览全文>>
-
预约别克GL8试驾,4S店提供专业且贴心的服务流程。首先,可通过电话或线上平台提前预约,选择合适的时间与车型...浏览全文>>
-
试驾奇瑞新能源QQ多米,新手可参考以下流程:1 预约试驾:通过官网或4S店预约,选择合适时间。2 到店接...浏览全文>>
-
试驾宝马X1,感受紧凑型SUV中的驾驶乐趣。轻踩油门,2 0T发动机迅速响应,动力输出平顺有力,提速迅猛。方向...浏览全文>>
-
福特烈马预约试驾,线上+线下操作指南:线上预约:访问福特官网或官方App,选择“试驾预约”,填写个人信息、...浏览全文>>
-
奥德赛试驾预约,简单几步,开启完美试驾之旅。只需三步,即可轻松完成预约:第一步,访问官网或拨打热线;第...浏览全文>>
-
想要快速锁定雷克萨斯ES的试驾名额,可采取以下方法:首先,访问雷克萨斯官网或使用官方APP,填写基本信息并提...浏览全文>>
-
想体验理想L8的智能与豪华?现在即可在线下预约试驾!作为一款中大型SUV,理想L8融合了家庭出行与科技感,搭载...浏览全文>>
-
试驾SRM鑫源摩托车时,需注意以下几点:首先,确认车辆状态,检查刹车、轮胎、灯光等是否正常。其次,选择安全...浏览全文>>
- 理想L8试驾线下预约
- 宝马X1预约试驾,4S店体验全攻略
- 华晨新日预约试驾,如何享受4S店的专业服务?
- 小鹏P7+试驾,开启完美驾驭之旅
- 元UP试驾预约,快速上手指南
- 金龙汽车预约试驾,新手试驾注意事项
- 蓝电试驾预约,如何快速预约并体验驾驶乐趣?
- 乐道L60试驾,如何在4S店快速预约?
- 小鹏MONA M03试驾,开启完美驾驭之旅
- 试驾别克昂科威,轻松几步,畅享豪华驾乘
- 云度新能源预约试驾有哪些途径
- 乐道L60试驾,如何在4S店快速预约?
- 哈弗大狗试驾,开启完美驾驭之旅
- 试驾深蓝汽车深蓝S05,线上+线下操作指南
- 日产奇骏试驾怎么预约
- 鸿蒙智行问界M9预约试驾,新手试驾注意事项
- 奇瑞艾瑞泽8预约试驾怎么预约
- 荣威预约试驾全攻略
- 坦克试驾,开启完美驾驭之旅
- 吉利银河预约试驾需要注意什么