はじめに
API10:2019 不足しているログと監視
脅威エージェント・攻撃経路 | セキュリティの弱点 | 影響 |
---|---|---|
この脆弱性自体は単独で悪用されるわけではありませんが、攻撃者が気付かれにくくする効果があります。ログ記録と監視がどれだけ不十分かによって、攻撃者は長時間気付かれず、あるいは全く気付かれない可能性があります。 | システム上で調査が必要な事象が発生しても、ログ記録と監視が不十分であれば調査手段がなく、そもそも問題に気付けない恐れがあります。 | 十分なログ記録と監視を行わなければ、攻撃者は時間をかけて状況を調査した後、実行に移す可能性があり、攻撃後もその痕跡を追跡できなくなります。 |
題名の通りですが、この脆弱性は一見よりも複雑です。APIがログを全く記録しなかったり、ログレベルが不適切に設定されている場合は脆弱ですが、ログメッセージの内容が期待通りであり、十分な詳細が含まれているかどうかも確認する必要があります。
もう一つ難しい点はログの整合性です。たとえば、悪意あるユーザーが特別な文字を挿入し、ログ記録時にその構造を崩してしまう可能性があります。これをログインジェクションと呼び、ログ記録の効果を無効にしかねません。
何を、いつ、どの環境で記録するかを明確に決めたら、これらのログを監視する必要があります。監視がなければ、ログ運用の効果が大きく低下します。
ログだけでなく、APIやインフラ自体も監視することが大切です。
ビジネスの視点では影響は多方面に及びます。まず、ログには個人情報が含まれることが多く、その情報が外部に漏れるとプライバシー上の問題が生じます。攻撃者からログを守ることは非常に大切です。
同じ理由で、ログに記録されるデータは、他の脆弱性(たとえばXSS)と同様に十分に検証された状態にしておく必要があります。ログを汚染されると、正しく精査されたデータを記録する努力が無意味になってしまいます。
もし十分なログ記録がなければ、攻撃が発生した際の追跡が困難になります。
ログの記録は大切ですが、過剰に記録するとリソースを消費します。ログを大量に記録したり、ログ収集エンドポイントにレート制限を設けなければ、攻撃者がサーバーのリソースを使い果たし、DoS攻撃につながる恐れがあります。
さらに、外部監査が行われた際、監査証跡がなければ意図を証明することができません。
ログがCSV形式で記録される場合、攻撃者がこれを把握していれば、カンマ ( , ) のような悪意のある文字を挿入する可能性があります。CSVログではカンマが新しい列と解釈され、コードやログ構造が崩れてしまいます。特にログ監視が行われている場合、監視ツールも特定の形式を期待しているため、列が多すぎる行が現れると動作が乱れることがあります。
name,lastname,email
test,test,test@test.com
test2,test2,test@test.com
test3,te,st3,test@test.com
次の例として、攻撃者がシステムに侵入し、監視ツールに気付かれることなく9年間にわたり顧客のデータにアクセスするケースが挙げられます。実際、過去にこのような事件が発生しています (https://healthitsecurity.com/news/insurer-dominion-national-reports-server-hack-that-began-august-2010)。
一見すると不足しているログ記録と監視は大きな問題に見えませんが、内部を詳しく見ると多くの問題が潜んでいます。十分なログがなければ攻撃者は自由に行動でき、たとえ十分なログがあっても、それを監視する体制がなければ意味がありません。このような脆弱性の深刻さを考慮すると、ログ記録と監視は設計段階から組み込むことが重要です。2021年の脆弱性を比較したOWASP Top 10 2021の調査報告も参考にしてください。
最新情報を購読