不慣れな開発者とコードの複雑さに潜む盲点
「Linux」の脆弱性を生むのは誰か? ベテラン開発者の意外なミス
オープンソースの代表格「Linux」の安全性を脅かす脆弱性。その原因は開発者の「不慣れ」やソースコードの「複雑さ」だけとは限らない。1万件超のデータ分析で見えてきた意外な事実とは。
オープンソースOS「Linux」のカーネル開発プロジェクトは、2024年に共通脆弱(ぜいじゃく)性識別子(CVE)の採番機関であるCNA(CVE Numbering Authority)に指定された。これによって、2024年単年で4000件を超えるCVEが公開されるなど、CVEのデータが急増し、大規模な脆弱性の分析が可能になった。
ミネソタ大学(University of Minnesota)の大学院生であるヤン・サン氏は、2015年から2025年までの10年間に登録された、1万1000件を超えるLinuxカーネルの脆弱性データを収集、分析した。その結果から判明した、脆弱性を導入しやすい開発者の特徴や、ソースコードの複雑度と脆弱性の関連性を解説する。
脆弱性を混入させやすい開発者の特徴
併せて読みたいお薦め記事
ソースコード内の脆弱性
本稿は2026年5月に開催された「Linux Security Summit North America 2026」において、サン氏が登壇したセッション「Exploring Function-Level Code Metrics and Developer Attributes for Linux Kernel Vulnerabilities」の内容を基に構成している。
サン氏は、脆弱性の原因を作った「脆弱性誘発コミット」(VIC:vulnerability-inducing commits)と、それを修正した「脆弱性修正コミット」(VFC:vulnerability-fixing commits)のペアを8796組特定し、開発者の特徴やコードの複雑さとの関連を調べている。
従来の研究はファイル単位で分析する方法が主流だ。しかし脆弱性はファイル全体ではなく特定の関数内で発生する。そのため本研究では、分析の単位を脆弱性が発生した箇所である関数レベルにそろえてデータを収集した。これによって、従来のファイル単位分析よりも詳細で正確な傾向の把握が可能になった。
サン氏が開発者の活動履歴や経験値を比較・分析したところ、脆弱性を混入させた開発者には以下の明確な傾向が見られた。
- 経験やソースコードへの理解に欠ける
- 過去のコミット数や直近6カ月間の活動量、対象ファイルやサブシステムへの熟知度が低い開発者ほど、脆弱性を生みやすい。
- ベテラン(メンテナー)の意外な関与
- プロジェクトの取りまとめ役である「メンテナー」が、ドライバやファイルシステム、アーキテクチャ、メモリ管理などの主要領域において、脆弱性の修正時よりも混入時に高い割合で関与していた。
2つ目の傾向について、サン氏が「メンテナーはより複雑なソースコードを扱っているためではないか」と仮説を立てて検証したところ、実際には非メンテナーが書いたソースコードの方がわずかに複雑であり、ソースコードの難易度だけが理由ではないことが明らかになった。
ソースコードの複雑さと脆弱性の意外な関係
ソースコードにおける条件分岐の多さや制御フローの深さといった構造的な複雑度を比較した結果、興味深い事実が判明した。
- 脆弱性修正後のソースコードの方が複雑になる
- 約70%の関数において、脆弱性が発生した時点よりも、脆弱性を修正した時点の方がソースコードの構造的な複雑度が高い。これは、脆弱性を直す過程で検証ロジックや条件チェックが追加されるためだと考えられる。
- 複雑さ=脆弱性の発生源とは限らない
- メモリ操作に関する指標を含め、構造的に複雑なソースコードが必ずしも脆弱性を生み出すわけではなく、複雑さだけを脆弱性の自動検出の指標に用いる手法には限界がある。
2015〜2025年の分析で多かった脆弱性の種類と場所
2015年から2025年までのデータをまとめると、特定のパターンに集中していることが分かる。主な原因はメモリの安全性問題、空ポインタ参照、処理の競合の3つであり、これらが全体の80%以上を占めていた。主な発生箇所はドライバ、ネットワーク、ファイルシステムの3領域で全体の約半数を占めていた。共通処理が記述されたヘッダファイル(インクルードディレクトリ)も、頻繁にパッチが適用される箇所だった。
今回の実証的な分析結果は、Linuxカーネルにおける脆弱性発見プロセスの効率化や、新たな脆弱性検出ツールの開発を後押しする基礎データとして活用が期待される。
本稿は、The Linux Foundationが2026年6月4日に公開した動画「Exploring Function-Level Code Metrics and Developer Attributes for Linux Kernel Vulnerabi... Yan Sun」を基に作成しました。
Copyright © ITmedia, Inc. All Rights Reserved.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。
関連記事
新着ホワイトペーパー PR
-
製品資料
[ゾーホージャパン株式会社] サイバー攻撃からネットワークを守る上で確実に押さえておきたいポイントとは? -
事例
[アルプス システム インテグレーション株式会社] 中小企業でも安心して活用できる「手ごろなSOCサービス」とは? -
製品資料
[株式会社シーイーシー] 脱VMwareに成功した企業は何をどう実践した? 事例に学ぶ戦略立案&実装のコツ -
製品資料
[株式会社オービックビジネスコンサルタント] ランサムウェア攻撃を“二重の防御構造”で防ぐ、クラウド型基幹システムの実力 -
製品資料
[株式会社オービックビジネスコンサルタント] 動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
鹿島建設のDXを阻む「10年前のAWS」 安全性と自由度を両立したモダナイズ
-
2
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
3
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
4
Microsoft激怒のゼロデイ脆弱性「無断公開」 パッチを待つのが危険な理由
-
5
「Excel管理」では限界――製造現場の改善が進まない“隠れた原因”
-
6
NECの「BluStellar」に必要なデータ保護と活用のための技術とは
-
7
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
8
ランサムウェアに悪用された“Windowsの穴”とは? パッチで直らない脆弱性も
-
9
「Oracle Database」のサポート体系が変更 料金への影響は?
-
10
Windows Server 2025移行の“超難関”「Active Directory」問題解決ガイド
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
“あのファイル転送”で暗躍するノーウェアランサム
-
9
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー