一句话:通过大规模实证研究发现多语言代码的漏洞易发性与语言选择及语言接口机制显著相关。
多语言混合开发已是常态,但其是否带来显著安全影响仍不明确。本文对 GitHub 上流行多语言项目及其演化历史进行大规模研究,提出多语言代码刻画技术。结果显示,多语言代码的漏洞易发性(总体及特定类别)与语言选择存在统计显著关联;该关联与语言接口机制相关,而非由单一语言本身决定。作者进一步通过真实漏洞案例研究验证统计发现,并用语言选择与接口机制加以解释。最后呼吁立即评估和防御多语言漏洞,并给出实践建议。
Software construction using multiple languages has long been a norm, yet it is still unclear if multilingual code construction has significant security implications and real security consequences. This paper aims to address this question with a large-scale study of popular multi-language projects on GitHub and their evolution histories, enabled by our novel techniques for multilingual code characterization. We found statistically significant associations between the proneness of multilingual code to vulnerabilities (in general and of specific categories) and its language selection. We also found this association is correlated with that of the language interfacing mechanism, not that of individual languages. We validated our statistical findings with in-depth case studies on actual vulnerabilities, explained via the mechanism and language selection. Our results call for immediate actions to assess and defend against multilingual vulnerabilities, for which we provide practical recommendations.