一句话:对 Stack Overflow 安全代码建议的实证研究表明,不安全答案反而更受社区青睐,声誉机制无法帮助识别安全选择。
Stack Overflow 是开发者获取安全实现建议的重要渠道,但已有研究发现热门答案可能包含可利用漏洞。本文系统研究该平台上的安全相关问答,围绕安全与不安全建议及社区内容评价进行对比。作者收集并整理了 953 组相似安全相关代码示例,标注出 785 个安全答案帖和 644 个不安全答案帖,并分析浏览量、评分、重复样本及用户声誉机制。结果显示,不安全建议平均浏览量更高(36,508 vs. 18,713)、评分更高(14 vs. 5)、重复更多(3.8 vs. 3.0);34% 由高声誉可信用户提供的帖子仍不安全。社区反馈无法帮助区分安全与不安全选择,声誉机制在安全问题上失效。
Stack Overflow (SO) is the most popular online Q&A site for developers to share their expertise in solving programming issues. Given multiple answers to a certain question, developers may take the accepted answer, the answer from a person with high reputation, or the one frequently suggested. However, researchers recently observed that SO contains exploitable security vulnerabilities in the suggested code of popular answers, which found their way into security-sensitive highprofile applications that millions of users install every day. This observation inspires us to explore the following questions: How much can we trust the security implementation suggestions on SO? If suggested answers are vulnerable, can developers rely on the community’s dynamics to infer the vulnerability and identify a secure counterpart? To answer these highly important questions, we conducted a comprehensive study on security-related SO posts by contrasting secure and insecure advice with the community-given content evaluation. Thereby, we investigated whether SO’s gamification approach on incentivizing users is effective in improving security properties of distributed code examples. Moreover, we traced the distribution of duplicated samples over given answers to test whether the community behavior facilitates or prevents propagation of secure and insecure code suggestions within SO. We compiled 953 different groups of similar security-related code examples and labeled their security, identifying 785 secure answer posts and 644 insecure answer posts. Compared with secure suggestions, insecure ones had higher view counts (36,508 vs. 18,713), received a higher score (14 vs. 5), and had significantly more duplicates (3.8 vs. 3.0) on average. 34% of the posts provided by highly reputable so-called trusted users were insecure. Our findings show that based on the distribution of secure and insecure code on SO, users being laymen in security rely on additional advice and guidance. However, the communitygiven feedback does not allow differentiating secure from insecure choices. The reputation mechanism fails in indicating trustworthy users with respect to security questions, ultimately leaving other users wandering around alone in a software security minefield.
DOI 原文 · arXiv · PDF(开放获取) · DBLP
@inproceedings{abs-1901-01327,
title = {How Reliable is the Crowdsourced Knowledge of Security Implementation?},
author = {Mengsu Chen and Felix Fischer and Na Meng and Xiaoyin Wang and Jens Grossklags},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00065}
}