LinuCシステムアーキテクト SA02試験の例題と解説
SA.06.2セキュリティの予防措置
LinuC システムアーキテクト SA02試験の出題範囲から「SA.06.2 セキュリティの予防措置」についての例題を解いてみます。
例題
あるオープンソースソフトウェアに新たな脆弱性が報告された。報告によると、バージョン 1.1.0 ~ 1.1.8 に脆弱性があり、これを修正したバージョン 1.1.9 が既にリリースされている。現在運用中のある Debian/GNU Linux マシンではこのソフトウェアを使用しており、apt コマンドで現在使用中のバージョンを確認すると 1.1.6 であった。また、apt コマンドで現在リポジトリから配布されている最新版を確認したところ、1.1.6-0+deb11u3 という新しいバージョンが提供されていることが分かった。この状況の解釈として正しいものは次のうちどれか。
- apt で現在配布されている最新版はバージョン文字列に 1.1.6 と記載されているので該当脆弱性が未修正であると判断できる。
- apt で現在配布されている最新版はバージョン文字列に 0+deb11u3 という記載があり、これが該当脆弱性のパッチ修正版を示すので修正済みと判断できる。
- このソフトウェアの開発元が修正版をリリース済みであるので、apt で最新パッケージに更新することで該当脆弱性を解決できる。
- これだけでは情報が不足していて、apt で現在配布されている最新版において該当脆弱性が修正済みかどうかは判断できない。
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「4. これだけでは情報が不足していて、apt で現在配布されている最新版において該当脆弱性が修正済みかどうかは判断できない」です。
Debian などの多くの Linux ディストリビューションでは、パッケージ管理システムを通じてソフトウェアの脆弱性対策版が提供されますが、必ずしも元のソフトウェアがそのまま提供されるとは限らず、ある過去バージョンに対してセキュリティ更新だけを適用したバックポート版が提供されることもあります。その場合、バージョン番号は元のソフトウェアにおいて脆弱性を修正したバージョンの番号とは必ずしも一致しません。今回は Debian のケースなので、「1.1.6-0+deb11u3」というバージョンが該当脆弱性を修正済みかどうかは、Debian 側で管理、情報提供されているセキュリティバグトラッカーを確認する必要があります。
昨今のシステムでは依存しているソフトウェアの数が膨大になっているので、脆弱性の影響をすべて人力で把握・対処するのは現実的ではありません。信頼され広く使われている脆弱性診断ツールは上記のような点を踏まえて正しく診断できるように設計されているので、実際の開発・運用ではこれらのツールを活用することも重要になります。
例題作成者
LinuC システムアーキテクト 試験開発コミュニティ