ミネソタ大学の研究グループがLinuxカーネルのソースコードに意図的に脆弱性を混入させようとした問題で、Linuxカーネルコミュニティとミネソタ大学との間の険悪な関係が解消されつつある。この問題は、Linuxカーネルのセキュリティ対応の体制を検証するためのプロジェクトとして、ミネソタ大学の大学院生2人が意図的に問題のあるパッチをLinuxカーネルのソースコードに混入させようとしたというものだ。この問題に対し、Linux安定版ブランチのLinuxカーネルメンテナーとして開発コミュニティで高く評価されているGreg Kroah-Hartman氏は、当事者の大学院生だけでなく、同大学と関係のあるすべての開発者をLinuxカーネルへのコントリビューションから締め出した。この事態を受けて、ミネソタ大学はLinuxカーネル開発コミュニティの要求に応じ、問題への対応を進めていた。そして今回、The Linux Foundationのテクニカルアドバイザリーボード(TAB)と有志のLinuxカーネルメンテナーおよび開発者が、これまでにミネソタ大学の関係者から受理したパッチに関する徹底的な調査の結果をLinuxカーネルメーリングリストに報告した。
報告によれば、再レビューされたミネソタ大学関係者からのコミットは435件で、「その大部分が正しいものであることが判明した」という。残りのコミットのうち、39件には修正の必要があり、25件はすでに別のコミットで修正済み、12件は対象となるドライバーやサブシステムが問題が発生する前に使われなくなっており対象外、9件は問題の研究グループが作られる前のもので、1件は作者の要請により削除されていた。
意図的な問題のある変更5件がLinuxカーネルメーリングリストに提出されていた。これらの変更は正体を偽って提出されており、これはLinuxカーネルにコードをコントリビューションする上でのルールに反しているという。問題の研究者らが研究プロジェクトの成果として発表した論文「On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits」の主張とは異なり、TABは今回の報告で、「提出されたすべての不正なパッチは発見されるか無視されていた。悪意のあるパッチを前にした際に、私たちのパッチレビューのプロセスは意図した通りに機能した」と述べている。
調査で新たな攻撃が見つかることはなかったものの、カーネル開発コミュニティは、今回の膨大な調査は必要なものだったと考えている。Kroah-Hartman氏は、筆者の取材に対して「徹底的にやることが求められていた」と述べている。これは、可能性は小さくても、意図的に不正なコードがプログラムに挿入されていた可能性が否定できなかったためだ。
ミネソタ大学はLinux FoundationのTABから突きつけられた要請のほとんどに積極的に対応した。同大学は、Linuxコミュニティに対して、今回の研究プロジェクトを誰がどのような実行したかに関する情報を全面的に開示している。
今回の報告では、今後Linuxコミュニティと同大学が良好な協力関係を取り戻すための推奨事項として、ミネソタ大学に「カーネルに組み込むことを提案する修正内容の品質」を向上させることなどを求めている。
またTAB側でも、「研究者らと協力して、すべての研究を目的とするグループがLinuxカーネル(あるいはオープンソースプロジェクト全般)と関わる際に従うべきベストプラクティスを明示する文書を作成する」としている。さらに、ミネソタ大学とカーネルコミュニティとの間で失われた信頼関係を再び築く上で、TABは同大学に対し、提案されたカーネルの変更を、公に提出される前にレビューし、フィードバックを提示する、経験のある内部の開発者を指名するなどのレビュープロセスを整えるよう求めている。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。