意外提交:研究源代码仓库中密钥泄露的预防和补救策略
密码学与安全
2022-11-15 v2
摘要
用于源代码的版本控制系统(如 Git)是现代软件开发环境中的关键工具。许多开发者使用在线服务(如 GitHub 或 GitLab)进行协作软件开发。尽管软件项目通常需要代码密钥才能运行(例如 API 密钥或密码),但它们需要在项目内部被安全地处理。既往研究与新闻报道已表明,开发者会因过失将代码密钥(如私钥、密码或 API 密钥)提交至公共源代码仓库而受到指责。然而,使密钥公开可用可能带来灾难性后果,例如使系统易受攻击。在一项混合方法研究中,我们调查了 109 名开发者,并对曾经历过密钥泄露的开发者进行了 14 次深度半结构化访谈。我们发现 30.3% 的参与者过去曾遭遇密钥泄露,且开发者在密钥泄露预防与补救方面面临若干挑战。基于我们的发现,我们讨论了挑战(例如估算泄露密钥的风险)以及开发者在补救和预防代码密钥泄露方面的需求(例如低采用要求)。我们也向开发者和源代码平台提供者给出降低密钥泄露风险的建议。
引用
@article{arxiv.2211.06213,
title = {Committed by Accident: Studying Prevention and Remediation Strategies Against Secret Leakage in Source Code Repositories},
author = {Alexander Krause and Jan H. Klemmer and Nicolas Huaman and Dominik Wermke and Yasemin Acar and Sascha Fahl},
journal= {arXiv preprint arXiv:2211.06213},
year = {2022}
}