第23回情報セキュリティ・シンポジウム

オープン・ソース・ソフトウェアのセキュリティ

OSSの世界観とセキュリティ
2023年3月3日（14:05-14:45）

JPCERTコーディネーションセンター

真鍋 敬士

はじめまして 1991年頃～
 配属された研究室でUNIXワークステーションの管理作業を担当させられる（ほとんどはフリーソフトウェアのインストール作業）
 浮動小数点コプロセッサを搭載していないPCで動作する386BSDを探していてLinuxを見つける
 Linuxコンソールで日本語を表示するプログラムを開発してユーザーやプログラマに配布 フリーソフトウェアのLinuxへの移植作業等に携わっていた面々を中心とした連絡をしていく中で国内向けのLinuxのメーリングリスト（ML）を立ち上げ
 Linuxディストリビューション向けの日本語拡張キットの作成と配布

 1995年頃～
https://www.jpcert.or.jp/recruit/ 1998年 財団法人日本情報処理開発協会（現 日本情報経済社会推進協会）の研究員としてJPCERT/CCの業務に従事
 2000年 JPCERT/CC運営委員（2002年から理事）
 2016年 金融ISAC理事
1© 2023 JPCERT/CC

 ダイアルアップ通信用ソフトウェアの開発と配布
 トンネリングソフトウェアの開発と配布

 2000年頃～
 いくつかの民間営利企業でOSSを取り扱う業務に就く

JPCERT/CCとは一般社団法人JPCERTコーディネーションセンター

Japan Computer Emergency Response Team / Coordination Centerコンピューターセキュリティインシデントへの対応、国内外にセンサーをおいたインターネット定点観測、ソフトウェアや情報システム・制御システム機器などの脆弱性への対応など国内の「セキュリティ向上を推進する活動」を実施



サービス対象: 国内のインターネット利用者やセキュリティ管理担当者、ソフトウェア製品開発者等のセキュリティに関わる担当者



インシデント対応をはじめとする、国際連携が必要なオペレーションや情報連携に関する日本の窓口となる「CSIRT」※各国に同様の窓口CSIRTが存在する（米国のCISA（US-CERT）、CERT/CC、中国のCNCERT/CC、韓国のKrCERT/CC等)

経済産業省からの委託事業としてサイバー攻撃等国際連携対応調整事業を実施
サイバーセキュリティ基本法上の「サイバーセキュリティに関する事象が発生した場合における国内外の関係者との連絡調整を行う関係機関」
サイバーセキュリティ協議会（2019年発足）の事務局をNISCとともに実施（事案対応の相談や情報共有活用の運用面を担当）
2© 2023 JPCERT/CCお品書き

一般教養としてのOSS
背景にある考え方
現実社会における悩み3© 2023 JPCERT/CCOSS（オープン・ソース・ソフトウェア）とはOSI（Open Source Initiative）による定義（1998年～）
公式（https://opensource.org/definition/）

日本語訳（https://opensource.jp/osd/osd19/）

1

Free Redistribution

再頒布の自由2

Source Code

ソースコード3

Derived Works

派生ソフトウェア

4

Integrity of The Author’s Source Code

作者のソースコードの完全性（integrity）

5

No Discrimination Against Persons or Groups

個人やグループに対する差別の禁止

6

No Discrimination Against Fields of Endeavor

利用する分野（fields of endeavor）に対する差別の禁止

7

Distribution of License

ライセンスの分配（distribution）

8

License Must Not Be Specific to a Product

特定製品でのみ有効なライセンスの禁止

9

License Must Not Restrict Other Software

他のソフトウェアを制限するライセンスの禁止

10

License Must Be Technology-Neutral

ライセンスは技術中立的でなければならない

OSIによる定義のルーツはDebian社会契約（https://www.debian.org/social_contract）
4© 2023 JPCERT/CCOSSに対する姿勢（日本）
特許庁（2019年）— デジタル化、IoT 化時代におけるオープンソースソフトウェアに係る知財リスク等に関する調査研究報告書
https://www.jpo.go.jp/resources/report/takoku/document/zaisanken_kouhyou/2019_06_1.pdf— Opensource for ALL

https://www.jpo.go.jp/resources/report/takoku/document/zaisanken_kouhyou/2019_06_2.pdf

経済産業省（2022年）— オープンソースソフトウェアの利活用及びそのセキュリティ確保に向けた管理手法に関する事例集を拡充しました
https://www.meti.go.jp/press/2022/05/20220510001/20220510001.html— OSS の利活用及びそのセキュリティ確保に向けた管理手法に関する事例集
https://www.meti.go.jp/press/2022/05/20220510001/20220510001-1-2.pdf

5© 2023 JPCERT/CCOSSに対する姿勢（米国）America’s Home for Open Source Projects from the Federal Government— https://code.gov/

U.S. Department of Commerce— https://www.commerce.gov/about/policies/source-code【余談】 2016年の“Federal Source Code Policy”が根拠
 発表当時のURL（リンク切れ）
https://www.whitehouse.gov/sites/default/files/omb/memoranda/2016/m_16_21.pdf

 アーカイブサイトのURL
https://obamawhitehouse.archives.gov/sites/default/files/omb/memoranda/2016/m_16_21.pdf

 ホワイトハウスサイト内のURL
https://www.whitehouse.gov/wp-content/uploads/legacy_drupal_files/omb/memoranda/2016/m_16_21.pdf
https://wordpress.org/

https://www.drupal.org/

オープンソースのコンテンツマネージメントシステム
6© 2023 JPCERT/CCOSS活用に関する実態調査
シノプシス社「オープンソース・セキュリティ&リスク分析レポート」

https://www.synopsys.com/ja-jp/japan/press-releases/2022-05-19.html— 調査は毎年行われており、レポートでは経年変化にも触れられている— 2,400を超す商用ならびに内製のコードベースを調査

コードベースの97%にOSSが含まれていた
全コードベースに占めるOSSコードの割合は78%
コードベースの30%にライセンスがないまたはカスタム・ライセンスを使用したOSSが含まれていた— 2,097のコードベースに対してセキュリティ・リスク診断

コードベースの85%に過去4年間以上開発活動実績のなかったOSSが含まれていた88%は、最新バージョンではないOSSコンポーネントを使用していた
コードベースの48%から1つ以上の高リスクな脆弱性が検出された81%のコードベースからは1つ以上の既知のOSS脆弱性が検出された— レポートではOSSプロジェクトにおける開発者の人数にも言及
7© 2023 JPCERT/CC

ソフトウェア超雑概説
ひとことでソフトウェアと言っても...

— システムソフトウェアとアプリケーションソフトウェア— プログラミング言語処理系（開発環境と実行環境）— 仮想化基盤— ...

これぜーんぶ、ソフトウェア

Webアプリケーション
フレームワーク

業務アプリケーション

OS

ツール

ライブラリ

OS
カーネル
ドライバー
ファームウェア
パソコン

ツール

処理系

ライブラリ

処理系

処理系

ツール

サーバー
ソフトウェアWebブラウザー

ライブラリ

OS
カーネル
ドライバー
ファームウェア
スマホ・パソコン

カーネル
ドライバー
ファームウェア
サーバー
仮想化

8© 2023 JPCERT/CCお品書き

一般教養としてのOSS
背景にある考え方
現実社会における悩み9© 2023 JPCERT/CCA long time ago,
この動作を変えられないの？

これもできるようにならないの？

UTSL（Use The Source, Luke）
この動作はおかしいよね？
10© 2023 JPCERT/CC

どうやって使うの？

20世紀：資源としてのソフトウェア
利用者
供給
ソフトウェア事業
サポート
販売

構築

VS

販売
ソフトウェア
保守

開発
需要

保守

利用者

開発

11

サポート

認めない

財の非排除性認める

私企業に委ねる

持続性

コミュニティーに委ねる

秘匿性で確保安全性

透明性で確保© 2023 JPCERT/CC

21世紀：担い手としてのソフトウェア
ITが多くの人にとっての日常にITのインフラ化

OSSも多くの人にとって身近な存在にオープンな仕様で構成

システムの相互運用性「ソフトウェア」にもオープンさが求められる

OSS = “オープンな仕様の代弁者”としての位置付け

UTSL!
12

© 2023 JPCERT/CCお品書き

一般教養としてのOSS
背景にある考え方
現実社会における悩み13© 2023 JPCERT/CC

ソフトウェアのセキュリティ
仕様・設計・実装上の欠陥（脆弱性）

 ソフトウェア個体における設計・実装上の問題
 それらが他のソフトウェアで使われることによる問題の継承
 共通的に使われる仕様（プロトコル・アルゴリズム等）の問題

仕様への理解不足に起因する問題
 設定ミス
 誤操作
 仕様の改善 教育・周知14© 2023 JPCERT/CC

利用者

提供者

 パッチマネージメント
 ライフサイクルマネージメント

“Software Bill of Materials”
2018年、NTIA（米国商務省電気通信情報局）のAllan Friedman博士が発表
NTIA「SOFTWARE BILL OF MATERIALS」
https://www.ntia.gov/SBOM— 従来から提唱されていたソフトウェア構成管理の考え方— セキュリティ、ライセンス、資産管理といった課題— ソフトウェアコンポーネント透明性への取り組みとして協議

2021年、大統領令でソフトウェアサプライチェーンのセキュリティ確保
The White House「Executive Order on Improving the Nation’s Cybersecurity」
https://www.whitehouse.gov/briefing-room/presidential-actions/2021/05/12/executiveorder-on-improving-the-nations-cybersecurity/— NIST（米国国立標準技術研究所）がガイダンスを策定する— ガイダンスでは製品購入者へのSBOM提供について記載する
2021年7月にNTIAがSBOMの最小要素を発表

15© 2023 JPCERT/CC

影響範囲の広いOSSの脆弱性例
Apache Struts 2

 Webアプリケーションフレームワーク
 CVE-2017-5638（S2-045）等

Webブラウザー
処理系

ツール

WordPress コンテンツマネージメントシステム（CMS）
 CVE-2017-5487等
 本体だけではなくプラグインの脆弱性もWebアプリケーション
フレームワーク
サーバー
ソフトウェアライブラリ

ツール

ファームウェア

処理系

カーネル
ドライバー

ライブラリ

カーネル
ドライバー

スマホ・パソコン

ファームウェア

OpenSSL SSL/TLSプロトコルライブラリ CVE-2014-0160（Heartbleed）等
16© 2023 JPCERT/CC

サーバー
仮想化

S2-045を悪用する攻撃への対応
3月6日：脆弱性の修正内容が開発者サイトに掲載される
3月7日：修正バージョンがリリースされる
3月8日：正式にアナウンスされる

国内被害サイトの公表は3,4月を中心に6月頃まで続いた

3月8日,9日：国内外のセキュリティ機関が注意喚起

3月6日～8日

3月9日～7月頃

7月末～9月頃

米国の信用情報会社Equifaxにおける対応
5月13日：脆弱性を悪用した不正アクセスが始まる
セキュリティツールが不正アクセスを検知することはなかった
3月15日：セキュリティ部門によるスキャン検査
この脆弱性が検出されることはなかった
7月29日：セキュリティ部門が不審な通信を検知してブロック
7月30日：セキュリティ部門が不審な挙動を検知してWebアプリケーションを停止
3月9日：担当者に対応指示
ポリシーで48時間以内のパッチ適用が定められていたが、対応されなかった

9月7日：公表（1.4億円の個人情報漏えい）

出典：UNITED STATES HOUSE of REPSENTATIVES（辞任したCEOが米下院の公聴会で証言）
https://docs.house.gov/meetings/IF/IF17/20171003/106455/HHRG-115-IF17-Wstate-SmithR-20171003.pdf
https://docs.house.gov/meetings/IF/IF17/20171003/106455/HHRG-115-IF17-Wstate-SmithR-20171003-SD009.pdf

17© 2023 JPCERT/CC

脆弱性対応には多くのステップがある
脆弱性が悪用される状態

一般的な公表
脆弱性の修正

開発・
リリース

開発者

発見

修正

発見者

検証

開発者

移植

リリース

検証

リリース

検証

（改修）

更新

アップデートの適用（更新）

アップデートのリリース
再配布者（OSや他のソフトウェアへの組み込み）

システム構築・運用者（一般的な“利用者側の対策”）

OSSに限らない課題
脆弱性の報告にまつわる懸念システムや他のソフトウェアに組み込まれることによる潜在化

脆弱性を作り込まない開発

改修できず更新を断念することもOSSのメリットとデメリット（“透明性”により顕在化しやすい）
OSSの場合はソースコード内の修正情報の扱いに懸念もOSSの場合は責任所在が不明瞭になりがち
OSSの場合は自らの技術力により時短できる可能性もOSSの場合は自ら開発に参加するという選択肢も18© 2023 JPCERT/CC

OSSの場合は自らの技術力により打開できる可能性もお問い合わせ、インシデント対応のご依頼はJPCERTコーディネーションセンター— Email：pr@jpcert.or.jp— https://www.jpcert.or.jp/reference.html

インシデント報告— Email：info@jpcert.or.jp— https://www.jpcert.or.jp/form/

制御システムインシデントの報告— Email：icsr-ir@jpcert.or.jp— https://www.jpcert.or.jp/ics/icsform.html

脆弱性に関するお問い合わせ— Email：vultures@jpcert.or.jp— https://jvn.jp/※資料に記載の社名、製品名は各社の商標または登録商標です。

19© 2023 JPCERT/CC