要約
プログラムのソース コードには、そのセマンティクスが定義されるだけでなく、その作成者を特定できる微妙な手がかりも含まれています。
いくつかの研究では、機械学習を使用してこれらの手がかりを自動的に抽出でき、数百人のプログラマーの中からプログラムの作成者を特定できることが示されています。
この帰属は、個人が特定され、訴追される可能性があるため、反検閲およびプライバシー強化技術の開発者にとって重大な脅威となります。
この脅威からの理想的な保護は、ソース コードの匿名化です。
しかし、そのような匿名化の理論的原理も実際的な原理もこれまでのところ調査されていません。
この論文では、この問題に取り組み、コードの匿名化について推論するためのフレームワークを開発します。
$k$ 匿名プログラム ($k$ 作者のいずれかに帰することができないプログラム) を生成するタスクは、一般的な場合には計算可能ではないことを証明します。
解決策として、$k$-uncertainty と呼ばれる緩和された概念を導入します。これにより、開発者の保護を測定できるようになります。
この概念に基づいて、コードの正規化、コーディングスタイルの模倣、コードの難読化などの匿名化手法の候補を実証的に研究します。
攻撃者が匿名化を認識している場合、どの手法も十分な保護を提供しないことがわかりました。
実際のコードではアトリビューションのパフォーマンスが著しく低下していることが観察されていますが、すべての開発者にとって信頼できる保護が実現されているわけではありません。
私たちは、コードの匿名化は難しい問題であり、研究コミュニティによるさらなる注意が必要であると結論付けています。
要約(オリジナル)
The source code of a program not only defines its semantics but also contains subtle clues that can identify its author. Several studies have shown that these clues can be automatically extracted using machine learning and allow for determining a program’s author among hundreds of programmers. This attribution poses a significant threat to developers of anti-censorship and privacy-enhancing technologies, as they become identifiable and may be prosecuted. An ideal protection from this threat would be the anonymization of source code. However, neither theoretical nor practical principles of such an anonymization have been explored so far. In this paper, we tackle this problem and develop a framework for reasoning about code anonymization. We prove that the task of generating a $k$-anonymous program — a program that cannot be attributed to one of $k$ authors — is not computable in the general case. As a remedy, we introduce a relaxed concept called $k$-uncertainty, which enables us to measure the protection of developers. Based on this concept, we empirically study candidate techniques for anonymization, such as code normalization, coding style imitation, and code obfuscation. We find that none of the techniques provides sufficient protection when the attacker is aware of the anonymization. While we observe a notable reduction in attribution performance on real-world code, a reliable protection is not achieved for all developers. We conclude that code anonymization is a hard problem that requires further attention from the research community.
arxiv情報
著者 | Micha Horlboge,Erwin Quiring,Roland Meyer,Konrad Rieck |
発行日 | 2024-04-10 14:16:11+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google