脆弱性管理とは?
脆弱性とは、セキュリティ上の弱点や欠陥のことで、脆弱性管理はソフトウェアの開発段階から脆弱性の検出・評価・優先順位付け・修正を継続的に行う管理プログラムです。 脆弱性評価は脆弱性管理プロセスの一部であり、脆弱性を効率的かつ効果的に管理するためには、自動化できる管理ツールが必要です。
脆弱性には2種類あり、未知の脆弱性と既知の脆弱性があります。未知の脆弱性は発見されたばかりで修正プログラムがない、あるいは開発者やベンダーに認知されていない脆弱性のことです。
既知の脆弱性はセキュリティ専門機関に報告されてCVE※のリストに載ったり、修正プログラムが配布されたりします。ですから、既知の脆弱性に関しては対処できます。
※インシデントや脆弱性に関する世界共通のリスト
エクスプロイト:脆弱性管理が必要な理由
脆弱性は日々新たに発見されており、アプリやソフトウェアの開発において決して避けて通ることのできない問題になっています。悪意のある攻撃者はこの脆弱性を悪用してエクスプロイト攻撃を仕掛けてくるからです。
エクスプロイトとは
ソフトウェアやアプリに潜んでいるセキュリティの脆弱性を利用して攻撃するプログラムです。利用者の多いソフトウェアの脆弱性を狙えば、同時多発的に標的を攻撃できるため、サイバー犯罪に利用されています。
IPAが発表した「情報セキュリティ10大脅威 2022」の6位には、「脆弱性対策情報の公開に伴う悪用増加」が挙げられており、脆弱性の「修正プログラムの公開前を狙う攻撃(ゼロデイ攻撃)」は7位です。
脆弱性を突いて攻撃された結果、生じる可能性のある損害(業務停止や株価に与える影響など)を考えると、脆弱性管理は必要不可欠な業務です。
参考情報
脆弱性があるソフトウェアを利用する危険性
日本医師会総合政策研究機構のレポートでは、糖尿病患者の治療に用いるインスリンポンプの制御システムの脆弱性を突いて、「致死的な攻撃」を仕掛けられると報告されています。
インスリンを送り込むポンプの無線機能に脆弱性が存在すると、それを突きポンプ自身を停止させたり、投与するインスリンの量を外部から操作できるようになるのです。
これは、最新の情報セキュリティの研究、開発、および動向を参加者に提供するセキュリティイベント「Black Hat」にて、Jerome Radcliffe氏により発表された攻撃事例で、実際にノートPCを用いて、約15m以内のICD(植込み型除細動器)に830ボルトの電流を流せることを実演しています。
さらに、ペースメーカーとの無線通信に使われるプログラムに対して不正なファームウェアへと更新することで、大量のペースメーカー/ICDへの一斉攻撃も可能と言われており、ソフトウェアの脆弱性対策が如何に重要かがわかる事例となっています。
参考情報
関連記事
脆弱性に関連する統計データ
「Stext-centerk Watch」によると、2020年に公開されたセキュリティ脆弱性の数は前年より1,000件近く増加し、17,055件でした。(CVE)
「ServiceNow」が発表した2019年度のアンケート調査2 では、サイバー被害の60%が既知の脆弱性にパッチを適用していない点が原因だったことが明らかになっています。また、62%は自社組織の脆弱性に気付いてすらいませんでした。
なお、回答に協力した企業がパッチを適応できるまでに平均151日かかっていました。この結果から、サイバー攻撃による被害を防止するために、迅速なパッチ適用の重要性が理解できます。パッチの適応は攻撃者とシステム管理者の競争なのです。
組織のほぼ 48% が過去2年間にデータ侵害があったと報告しています。サイバーセキュリティ チームは、対応するのに十分な設備を備えておらず、適切なツールを活用してタイムリーに検出し、パッチを適用する必要があります。
※Ponemon Instituteによる調査(Ponemon Instituteは組織のプライバシーとデータ保護の実践を検証する機関です。)
引用元
参考情報
セキュリティ脆弱性の統計 – 2020|Stext-centerk Watch
脆弱性管理における4つのプロセス
ソフトウェアの脆弱性対策において、ソフトウェアを常に最新の状態に保ち、セキュリティパッチを適用させるのが基本です。 大抵の場合、実際にサイバー攻撃が実行される前に脆弱性に対処しておくことで、被害を未然に防げます。
このようにして、ソフトウェアのバージョンが更新されていないためにセキュリティホールが放置された状況を作らないようにする必要があります。
しかし、リアルタイムで最新のソフトウェアアップデートを適用し続けるのは容易ではありません。脆弱性対策情報は、IPAがデータベースにまとめている「JVN iPedia」を見れば確認できますが、その情報を日々確認するだけでも相当な労力です。
その結果、脆弱性の修正プログラムが公開されても、当分の間放置される状況が生まれます。このような状況は「Nデイ攻撃」の被害を受けやすい環境を作り上げてしまうため注意が必要です。攻撃者にとって脆弱性に関する情報は、攻撃の手法にバリエーションを加える武器庫のようなものです。
「Nデイ攻撃」とは、パッチが既に提供されている脆弱性を標的にして行われる攻撃です。脆弱性対策情報は、システム管理者だけではなく攻撃者も利用しています。サイバー攻撃の遂行に非常に高いテクニックが必要なゼロデイ攻撃よりも、公開されている脆弱性を狙うNデイ攻撃の方が実行しやすいのです。
では、これらの脅威に対処するために必要な、脆弱性管理における以下の4つのプロセスを確認しておきましょう。
- 脆弱性を検出する
- 脆弱性を評価して優先順位を定める
- 脆弱性を修正する
- 修正を検証する
参考情報
JVN iPedia|IPA
1.脆弱性を検出する
脆弱性を検出するための主な脆弱性管理ツールは脆弱性スキャナです。 毎週脆弱性スキャナを用いて社内外のネットワークスキャンを実行しましょう。スキャンの実行によってシステムに負荷がかかる場合は稼働のピークを避けて実施するようにします。
新しいシステムが導入された場合は、通常のスキャンスケジュールよりも早いタイミングでそのシステムをスキャンしてください。
関連記事
参考情報
2.脆弱性を評価して優先順位を定める
連日のように様々なベンダーから発表される脆弱性は、累積で見ると圧倒されるほど多くのリスクがあるため、発見した脆弱性をすべて修正するのは現実的ではありません。ですから大切なのは自社に最も脅威となり、重要性が高く、悪用される可能性の高い脆弱性を見極めて対処することです。
例えば特定のソフトウェアの脆弱性を見つけても誤検知の可能性があり、使用できないように無効にしている場合などは特に対応する必要はありません。 それに、割合は低いですが誤検知の可能性がないかどうかを見極める必要もあります。
悪用された既知の脆弱性リスト(CISA)を確認して、実際に悪用されている脆弱性の中に、社内で利用しているソフトウェアに共通するものが無いかどうかを把握する必要があります。
脆弱性の優先順位を定めるCVSSの数値
脆弱性に対処する優先順位を定める際には、下記に掲載するIPAのリスク分析シートやCVSSの数値を参考になさってください。CVSSは「共通脆弱性評価システム」という意味で、脆弱性をリスク評価するための指標です。 すぐに対処する必要があるか緊急性を考慮し、重大なインシデントを特定して優先順位を定めましょう。
CVSS v3では、深刻度レベル分けを次のように設定しています。
深刻度 | スコア |
---|---|
緊急 | 9.0~10.0 |
重要 | 7.0~8.9 |
警告 | 4.0~6.9 |
注意 | 0.1~3.9 |
なし | 0 |
CVSSは、情報システムの脆弱性に対するオープンで汎用的な評価手法であり、ベンダーに依存しない共通の評価方法を提供しています。 CVSSを用いると、脆弱性の深刻度を同一の基準の下で定量的に比較できるようになります。また、ベンダー、セキュリティ専門家、管理者、ユーザ等の間で、脆弱性に関して共通の言葉で議論できるようになります。
引用元
参考情報
事業被害ベースのリスク分析シート|IPA
3.脆弱性を修正する
修正プログラムやアップデートを確実に実行していくために、まず社内で使用しているソフトウェアと、そのバージョンのリストを作成します。
しかし、企業のシステムネットワークでは複数のソフトウェアが動作しているため、個人利用の場合のように単純なアップデートはできません。1つのソフトウェアをアップデートすると、別のソフトウェアに不具合が生じるケースがあるからです。
アップデートが提供された際には、事前にテスト環境で検証し、計画的にパッチマネジメントしていきましょう。パッチを適用させるのに時間を要する場合には、脆弱性保護機能のあるファイアウォールなどで時間を稼ぐこともできます。
4.修正を検証する
意外に省略してしまうのが修正後の検証です。修正後に再度スキャンを実行し、脆弱性のリスクが解消されているかどうかを確認してください。 また、対応した脆弱性の数、修正プログラムの実行に要した時間などを記録しておくと、今後の対応にも活かせるでしょう。
脆弱性への対応において手動プロセスは不利
前述したように脆弱性は日々新たに発見され、それに対処するための新たな規格にも対応しなければなりません。そのうえで脆弱性管理における4つのプロセスを手動で行うのは事実上不可能であり、逆にリスクを伴います。
脆弱性管理を手動で行うと、情報の鮮度に問題が出て脆弱性を検出する際の精度が下がる可能性があります。そうなると脆弱性を見落とし、実際には影響のない脆弱性に労力をかけてしまい、本当に脅威となる脆弱性に手が回らなくなってしまうことさえあるのです。ServiceNowによると、
回答者の 52% は、手動プロセスを使用しているため、組織が脆弱性への対応で不利な立場に置かれていると述べています。
引用元
ですから脆弱性管理において、そのプロセスを自動化できるシステムは必要不可欠といえます。
Cybellumで脆弱性管理を自動化
Cybellumは脆弱性の検出・分析の大部分を自動化して管理プロセスを効率的に行います。 脆弱性への対応状況は一元管理され、自動車業界や医療業界など、各種業界規則にも対応可能です。
脅威となる最も重要な脆弱性を注視して修正に要する時間を削減し、タイムパフォーマンスを向上させます。
Cybellumは高いセキュリティが求められる自動車部品メーカー・医療機器メーカー・産業機器メーカーに最適な脆弱性管理システムです。
ソフトウェアの脆弱性管理を1つのプラットフォームで一元管理
- SBOM抽出
- 脆弱性検出
- リスク評価
- 対策提示~対処管理
- 対応記録
- 自動継続監視
Cybellumにより、すべてのファームウェア・構成要素の正確な設計図(SBOM)を入手して継続的に更新することで、システム全体を横断して脆弱性を特定し、修正できます。
ファームウェアのデータベースを通してCyber Digital Twins™技術を使うと、関連する脆弱性やゼロデイ案件に一致するリスクを自動的に照合。 次いで、システムに与える影響度に基づいて対策すべきセキュリティ上の脅威を優先順位付けします。
Cyber Digital Twins™とは、リアル空間のモノなどに関わるデータを、双子のようにサイバー空間上で再現する技術です。 CybellumはCyber Digital Twins™技術により、ソフトウェア製品の出荷後も継続的に脆弱性のチェックを行えます。
Cybellumの特徴の一つはバイナリコード※をスキャンできることです。 ソースコードがなく、ファームウェアやフレームワークなどがバイナリ形式の場合でも、バイナリコードをスキャンして脆弱性を検知できます。
※コンピューターが理解できる2進数に変換されたコード
まとめ:手動では排除できない脆弱性を自動で管理
脆弱性管理の4つのプロセスと、脆弱性管理を自動化させる必要性について解説してきました。現状の開発技術では、OSSやソフトウェアから脆弱性を完全に排除することはできません。脆弱性に対処して被害を未然に防いでいくためには、手動プロセスはどうしても不利です。 脆弱性の検出・分析を自動化して、管理プロセスを効率的に行えるツールを検討してみてはいかがでしょうか。
Cybellum お役立ち資料
Cybellumのカタログやホワイトペーパーをダウンロードいただけます。