Datadog Japanは6月28日、DevOps組織を標的とする脆弱性と脅威に関する「アプリケーションセキュリティ調査レポート」を発表した。これは、同社の顧客から得た実際のデータを分析したもので、「緊急とされた脆弱性のうち、実際にリスクが高く、優先的に取り組む必要があるものは3%に過ぎない」ことが分かったとしている。
Datadog Japan シニアセールスエンジニア 松崎裕樹
同社は脆弱性のリスク評価に当たって重要なのは「コンテキスト」だと指摘。脆弱性の潜在的な深刻度に加えてその脆弱性がどのような環境に存在しているのかなどの要因によって実際のリスクは変動することから、コンテキストを踏まえて評価することで深刻とされる脆弱性であっても、その多くは対応の優先度を下げることが可能だとする。限られた対応リソースを優先度に応じて効率良く活用していくことで、より効果的な対応が可能になるという。
「攻撃の74%は標的を誤ったものである」というデータもある。脆弱性を悪用する攻撃者がシステムの詳細情報を事前に把握しているとは限らず、手当たり次第に攻撃していることも多いためだ。具体的には、「サービスに存在していないエンドポイントを狙う」「アプリケーションで使用されていない言語を標的にする」「SQLデータベースがないシステムにSQLインジェクション攻撃を試みる」などの観測がある。逆に言えば、26%の攻撃は正しく標的を捉えているため、膨大なノイズに埋もれた攻撃の中から、こうした真に危険な攻撃をいち早く検出して対処することが重要だと言える。
脆弱性に対する攻撃の大半はバラマキ型となっており、正しく標的を捉えた攻撃となっているのはおよそ4分の1だという
シニアセールスエンジニアの松崎裕樹氏は、その背景として「近年は、(発見された)脆弱性を隠すのではなく、リスク対応のために公表していくカルチャー」が出来上がったと指摘。その影響もあって、公表される脆弱性情報が年々、増加傾向にあるとした。また、ユーザー企業も新しい技術からいち早くメリットを得ようと考えており、採用したテクノロジーやソフトウェアに脆弱性が見つかって対応に追われる状況もあるという。
公表される脆弱性が増え続けている背景要因と、それに対応する際の課題
同社のオブザーバビリティ製品は、大規模な分散アプリケーションのパフォーマンス情報などを詳細に把握できる点を強みとする。同社が提供するセキュリティ機能のApplication Security Management(ASM)やApplication Performance Monitoring(APM)は、オブザーバビリティのために収集したアプリケーションやマイクロサービスごとの詳細なログデータを、セキュリティにも活用するというアプローチで実装されている。このため、システムに余分な負荷をかけることなく、詳細な情報を性能監視などと同様のインターフェースで実行できる点が特徴となる。
アプリケーションレイヤーのセキュリティとしてはWeb Application Firewall(WAF)が広く使われているが、ネットワーク上でのパケット検査をベースとするWAFでは、パフォーマンスとのトレードオフの問題から探索できる情報に限界がある。同社のアプローチでは、分散アプリケーションを構成する多数のモジュールごとに使用されている開発言語や公開された脆弱性の有無といった基本情報から、その脆弱性に対して外部から攻撃が実行されたかどうかといった詳細情報も把握できるという。
とはいえ、アプリケーションのパフォーマンス維持などのいわゆるSite Reliability Engineering(SRE)を目的として同社のソリューションを活用してきたエンジニアが、そのままASMやAPMといったセキュリティ機能を活用できるのかという疑問もある。
この点について、松崎氏はDevSecOpsなどの考え方が普及してきている現在、サービスのオーナーシップを持っている開発/運用担当者がセキュリティや脆弱性管理に関しても責任を負うという形が増えてきており、セキュリティのために別途新しいツールを導入してその使い方を習得するのに比べると、オブザーバビリティプラットフォームにセキュリティ機能が統合された方がむしろ使いやすいと指摘した。
同社のセキュリティ機能のデモ画面。一般的なパフォーマンスモニタリングと同様のインターフェースで、モジュールごとの脆弱性情報を把握し、疑わしいリクエストの数やセキュリティアラートなどを確認できる
同社は「既に“オブザーブ”(観測)している環境をセキュアにせよ」というスローガンでオブザーバビリティとセキュリティの統合に取り組んでいるという。
既知の脆弱性を突かれた結果、深刻なセキュリティインシデントにつながるという事例が繰り返されており、脆弱性管理はセキュリティ対策として必須の取り組みといえる。その一方で、さまざまなソフトウェアコンポーネントに次々と脆弱性が見つかっている状況において、限られたリソースで万全に対応するのはそう簡単ではない。
そうした中、システムの稼働状況やさまざまなコンテキストを踏まえてリスクを正しく把握することができれば、適切に優先順位を付けて効率良く対応することが可能になるだろう。オブザーバビリティの活用例としても興味深い取り組みだと言えそうだ。