脆弱性管理は、IT 運用のセキュリティ確保において不可欠な要素です。しかし、システムを危険にさらす可能性のある脆弱性の広範な管理は困難を伴います。
2022年のCISO調査報告書によると、回答者のセキュリティチームのうち「本番環境で稼働中のすべてのアプリケーションおよびコードライブラリについて、完全に正確で継続的に更新されるレポートをリアルタイムで入手できる」と回答したのはわずか25%でした。さらに、現代のDevOpsプラクティスによってソフトウェア提供のスピードが向上した結果、情報セキュリティ責任者(CISO)の3分の2以上(69%)がリスク管理がより困難になったと述べています。
脆弱性管理は、特にLog4Shellの事例を踏まえ、デジタルトランスフォーメーションを進める組織にとって極めて重要です。その理由、そして実行時脆弱性検出がなぜ重要なのかを理解するには、セキュリティ脆弱性についてさらに詳しく知る必要があります。
セキュリティ脆弱性とは何でしょうか?
セキュリティ脆弱性とは、アプリケーション、オペレーティングシステム、ネットワーク、その他のITサービスやインフラストラクチャに存在する弱点であり、攻撃者がシステムを侵害したり、データを盗んだり、IT運用を妨害したりすることを可能にするものです。
複雑なITシステムは、脆弱なコンポーネントや旧式化、インジェクション攻撃、ソフトウェアやデータの完全性障害など、様々な理由からセキュリティ脆弱性の影響を受けやすい傾向にあります。したがって、組織は業務運営においてセキュリティ脆弱性がもたらす悪影響から保護する安全対策を実施する必要があります。
Perform 2024セッション「セキュリティ運用チームが脆弱性を迅速に保護する力を強化する」をご覧ください
脆弱性管理とは何でしょうか?
脆弱性管理とは、ソフトウェアの脆弱性を特定し、優先順位付けを行い、修正し、報告する実践です。組織は、考えられる脆弱性の範囲を網羅する実践を導入し、すべてのITシステムに適用すべきです。このような広範かつ徹底的なセキュリティ対策により、悪意のある行為者による組織のITサービスへの侵害リスクを軽減できます。
開発段階における脆弱性管理
ソフトウェア開発ライフサイクルには、全段階にわたる脆弱性管理を含める必要があります。
開発段階では、開発者がサードパーティのオープンソースコードを使用したり、アプリケーションロジックに誤りを生じさせたりすることで脆弱性が発生する可能性があります。脆弱性スキャンツールは、これらの両方のケースで役立ちます。このようなスキャンにより、チームは、データベースクエリに悪意のあるコードを注入することを可能にする SQL インジェクション攻撃を検出することができます。検出されなかった場合、侵害されたコードにより、攻撃者は許可されていないデータにアクセスできる可能性があります。この種の脆弱性スキャンは、静的解析とも呼ばれ、本番環境にリリースされる前にアプリケーションコードの脆弱性を検出します。
実行時における脆弱性管理
アプリケーションコードの脆弱性を静的解析で検出するだけでなく、組織は稼働中のアプリケーションやサービス内の脆弱性もスキャンする必要があります。例えば、攻撃者が誤設定されたファイアウォールルールを悪用し、ネットワーク上のサーバーにアクセスする可能性があります。サービスのランタイム環境をスキャンすることで、異常なネットワークトラフィックパターンを特定できます。例えば、通常は内部サーバーからのトラフィックのみを受信するサーバーに対して、外部ネットワークからのトラフィックを検知することが可能です。
偶発的なロジックエラーやネットワーク機器の設定ミスは重要に思えないかもしれませんが、一般的なソフトウェアにおける脆弱性の数は膨大であり、増加の一途をたどっています。米国国立脆弱性データベース(NVD)には、175,000件以上の既知の脆弱性が登録されています。NVDでは、これらの脆弱性を5段階の深刻度評価システムである共通脆弱性評価システム(CVSS)を用いて評価しています。この評価尺度は、なし(0)から重大(9.0-10.0)までを範囲としています。
脆弱性の数が多いことに加え、組織は脆弱性の深刻度を理解し、対処順序を優先順位付けする必要があります。例えば2021年12月、広く使用されているJavaライブラリ「Apache Log4j2」に発見されたゼロデイ脆弱性「Log4Shell」は、CVSSスコアで10点満点中10点を記録しました。このスコアは主にJavaライブラリの人気と広範な利用によるものでしたが、悪意のある攻撃者が容易に悪用できる点も要因でした。Log4Shellインシデントは、多くの組織にとって実行時脆弱性検出の重要性を認識させる契機となりました。
脆弱性管理のメリット:悪用および攻撃リスクの全体的な低減
適切に設計された脆弱性管理の実践を導入することで、組織は大きなメリットを得られます。全体として、この実践は脆弱性を特定し、本番コードに侵入するのを防ぐのに役立ちます。頻繁なコード変更や新機能・アプリケーションの定期的なリリースを行う組織にとって、積極的なセキュリティアプローチは不可欠です。
ソフトウェア開発ライフサイクルの一環として脆弱性スキャンを自動化することで、開発者は革新的な機能をより迅速にリリースできます。手動による脆弱性スキャンの追加的な負担がなくなるため、チームは開発中に脆弱性を発見し修正することが可能となります。同様に、実行環境を監視することで、本番環境で初めて明らかになる脆弱性を特定し修正することが可能です。
脆弱性管理における一般的な考慮事項
ITリーダーが脆弱性管理プロセスを導入し、ツールを選択する際には、いくつかの要素を考慮することが極めて重要です。
- タイムリーな検知。組織が脆弱性を迅速に検知する能力を確立することは極めて重要です。セキュリティ脆弱性が検知されない期間が長引くほど、攻撃者がそれを悪用するリスクが高まります。
- 最新の脆弱性スキャンツール。もう一つの重要な要素は、脆弱性スキャンツールを既知のリスクに対して最新の状態に保ち、ツールが何を監視すべきかを確実に認識させることです。
- パフォーマンスへの負荷軽減。脆弱性管理ツールは、組織内のアプリケーションやサービスのパフォーマンスに悪影響を与えないことが理想的です。
脆弱性管理プロセス
脆弱性管理の実践では、プロセスの全5段階に対処する必要があります:
- 脆弱性の評価
- 修正すべき脆弱性の優先順位付け
- 脆弱性を修正する
- システムの状態を再評価する
- その他のプロセスを改善し、潜在的なリスクを低減する
これら5つのステップを実施することで、セキュリティチームはリスクが深刻な悪用へと発展する前に、積極的に特定することが可能となります。
脆弱性管理におけるAIと自動化
脆弱性管理は複雑なプロセスであり、特に多くの組織が最新のマルチクラウド環境を採用する中でその傾向が強まっています。また、セキュリティチームが対応すべき脆弱性の範囲が広範であるため、データと知識を大量に必要とするプロセスでもあります。自動化、特にAIを活用した自動化は、デジタルトランスフォーメーションを進める現代の組織が直面するリスクレベルに対応するために不可欠です。
DynatraceApplication Security は、AI を活用したリスク評価とインテリジェントな自動化機能により、お客様の技術スタック全体をリアルタイムでスキャンし、脆弱性を検出します。開発段階から本番段階まで、DynatraceOneAgentは脆弱性を検出すると、セキュリティチームにプロアクティブにアラートを送信し、Dynatrace プラットフォームのトポロジーマップを使用して、影響を受ける依存関係を表示します。最後に、デイヴィス® AIエンジンにより、影響の深刻度に基づいて影響を受けるアプリケーションの優先順位付けが可能になります。Dynatrace Application Security モジュールは、大規模な自動脆弱性管理のメリットをすべて提供します。
効果的かつ効率的な脆弱性管理の実践に必要な要件について、最高情報セキュリティ責任者(CISO)の方々がどのような見解をお持ちか、詳しくはDynatraceレポート『2022年金融サービス業界CISOレポート:効果的な脆弱性管理を実現するには、可観測性とセキュリティの融合が不可欠』をご覧ください。
答えをお探しですか?
新しいディスカッションを開始するか、Q&A フォーラムでヘルプをお求めください。
フォーラムへ移動