Stack Overflow是一个非常流行的在线论坛/问答网站,许多程序员和软件开发人员使用它来寻找特定编程问题的答案。但是研究发现,在该网站上,最流行的帖子也可能存在安全隐患。

据外媒报道,近日研究人员发现,许多网上提供的信息/代码中包含可利用的安全漏洞。因为缺乏网络安全专业知识的用户不容易发现这些漏洞,弗吉尼亚理工大学、慕尼黑大学和德克萨斯大学圣安东尼奥分校的研究人员最近的研究表明,这些用户不能够依赖Stack Overflow的用户社区来帮助他们区分这些代码是否安全,哪怕是十分普遍流行的答案帖。

研究发现:

研究人员对与安全相关的Stack Overflow帖子进行了研究,并根据社区给出的评估方法对安全和不安全的回答进行了对比。为了确保安全回答和不安全回答之间的公平比较,他们重点研究与Java安全性相关的讨论帖。

他们汇编整理了953组类似的代码示例,并对它们的安全性进行了标记,标记得出785个安全回答和644个不安全回答。

与安全回答相比,不安全回答的浏览量更高(36508次比18713次)、得分更高(14比5)、平均复制次数更多(3.8次比3.0次)。34%的声望高的用户发布的帖子是不安全的。

研究结果表明,该网站的投票系统无法识别和奖励代码安全的答案。同时,其声望机制也未能在安全与否的问题上显示出值得信赖的用户。研究人员指出,提供安全答案的用户的声望值明显高于提供不安全答案的用户,但两者之间在声望等级上的差异可以忽略不计,因此用户不能依赖声望机制来识别安全答案。

其他发现:

最佳答案和重复出现的答案也不是用户识别安全代码的可靠方法。

不安全的答案在SSL/TLS中占比较大(70%)。安全答案在其他类别中占比较大(Asymmetric中占94%,Hash中占71%,Symmetric中占 54%,Random中占52%)。

由于用户提出了类似或相关的问题,一些用户便盲目复制粘贴代码以回答更多问题来获得分数,因此产生了重复答案。但研究人员没有发现用户故意发布不安全的答案来误导人们。

改进建议

研究人员表示,Stack Overflow用户无法依靠声誉机制或投票系统来推断答案的安全属性。最近的Meta Exchange讨论贴显示Stack Overflow开发人员将过时的安全问题的答案改为最新答案。

建议工具构建人员:

1.测试代码;

2.开发检测和修复安全漏洞的程序(最好能半自动化或自动化)。

建议Stack Overflow开发人员:

1.结合静态检查扫描帖子;

2.在存在漏洞的代码帖子上自动添加警告消息或特殊标签;

3.通知版主或声望高的用户利用克隆检测技术来检测和删除重复的问题和答案;

4.将对用户进行声望评分改为对问题标签的评分。

声明:本文来自E安全,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。