Coders Conquer Security OWASP Top 10 API Series - Insufficient Logging and Monitoring

2020年11月25日発行
マティアス・マドゥ博士著
ケーススタディ

Coders Conquer Security OWASP Top 10 API Series - Insufficient Logging and Monitoring

2020年11月25日発行
マティアス・マドゥ博士著
リソースを見る
リソースを見る

ロギングとモニタリングが不十分な欠陥は、認証の失敗、アクセス拒否、入力検証エラーなどのロギングに関するサイバーセキュリティ計画が失敗した場合に多く発生します。本番環境の他の場所でも発生する可能性がありますが、最も関連性が高いのは、無効なログイン試行を阻止できなかった場合です。

これは、サイバーセキュリティチームが攻撃を知らないため、攻撃に対応できないという意味で、危険な脆弱性です。これは攻撃者にとって大きなアドバンテージとなり、システムへのさらなる侵入や認証情報のアップグレードを試みている間、攻撃者に気づかれずに済むことになります。実際、適切なロギングとモニタリングがなければ、大きな被害が出る前に攻撃を検知して阻止することは非常に難しく、不可能になります。

今すぐチャレンジして自分の実力を試してみませんか?これをチェックしてください。

ロギングやモニタリングが不十分な場合、攻撃者はどのように利用するのでしょうか?

どのようなAPIでも、ログレベルが正しく設定されていなかったり、低く設定されていたり、エラーメッセージに十分な詳細が含まれていなかったり、ログ機能が全く存在していなかったりすると、ロギングやモニタリングが不十分になる恐れがあります。

興味深い例として、ハッカーがあるウェブサイトやサービスの危険なユーザー名のリストを大量に入手した場合が挙げられます。実験の結果、ログインに3回失敗すると、システムからロックアウトされ、サイバーセキュリティ担当者に通知されることがわかりました。

この情報をもとに、単一のアカウントにブルートフォースをかけるのではなく、"123456 "や "password "などの一般的なパスワードを使用して、侵害されたリストのすべてのユーザー名でログインを試みるスクリプトを作成します。その際、ロックアウトやアラートの閾値を下回るように、各ユーザー名を1回または2回だけ試すのがコツです。運が良ければ、少なくとも数個のパスワードをすぐに盗むことができます。その後、ログインカウンターがリセットされるのを1日待って、"qwerty "や "god "などの別のパスワードを使って再度プロセスを実行するだけです。管理者が彼らの行為に気づかなければ、攻撃者はこのリストを何度も確認し、最終的に弱いパスワードを持つほとんどのアカウントを侵害することができます。

OWASP が提供している例では、ある動画共有プラットフォームが、不十分なロギングとモニタリングの脆弱性を悪用したクレデンシャルスタッフィング攻撃を受けたことがあります。この会社は、ユーザーから苦情が来るまで、この攻撃が起こっていることを知りませんでした。最終的には、API ログから証拠を発見し、すべてのユーザーに強制的なパスワード変更の通知を行い、規制当局に攻撃を報告しなければなりませんでした。  

ログ・モニタリングが不十分な脆弱性の解消

自動化と常時監視を行うことで、この脆弱性に終止符を打つことができます。まず、認証に失敗した場合はすべてログに記録する必要があります。そのログは、STIXやTAXIIのような機械で読める形式にして、閾値に関係なく攻撃を探すように訓練されたセキュリティ情報・イベント管理(SIEM)システムに取り込めるようにしておく必要があります。

また、ログファイルの保護も必要です。ログファイルを機密情報として扱い、攻撃者による削除や変更から保護してください。ログファイルのバックアップと暗号化の両方を行うのが良い方針です。

最後に、カスタムダッシュボードとアラートを作成して、疑わしい活動があれば、できるだけ早く検出して対応できるようにします。攻撃者がシステムを使用する時間をなくせば、検知されないように低コストでゆっくりとした攻撃手法を用いることができなくなります。

この脆弱性に関する詳細な情報や、組織やお客様を被害から守る方法については、ブログのページをご覧ください。 Secure Code Warriorブログページでは、この脆弱性に関するより詳しい情報や、他のセキュリティ上の欠陥の被害から組織やお客様を守るための方法をご紹介しています。また、Secure Code Warrior トレーニングプラットフォームのデモをお試しいただくことで、サイバーセキュリティに関するすべてのスキルを磨き上げ、最新の状態に保つことができます。

リソースを見る
リソースを見る

著者

マティアス・マドゥ博士

マティアスは、15年以上のソフトウェアセキュリティの実務経験を持つ研究者・開発者です。フォーティファイ・ソフトウェア社や自身の会社(Sensei Security)などでソリューションを開発してきました。キャリアの中で、Matiasは、商用製品につながる複数のアプリケーションセキュリティ研究プロジェクトを主導し、10件以上の特許を取得しています。また、RSAカンファレンス、Black Hat、DefCon、BSIMM、OWASP AppSec、BruConなどの世界的なカンファレンスで定期的に講演を行っているほか、高度なアプリケーションセキュリティトレーニング(courses )の講師も務めています。

Matiasはゲント大学でコンピュータ工学の博士号を取得し、アプリケーションの内部構造を隠すためのプログラム難読化によるアプリケーションセキュリティを研究しました。

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

Coders Conquer Security OWASP Top 10 API Series - Insufficient Logging and Monitoring

2020年11月25日発行
マティアス・マドゥ博士著

ロギングとモニタリングが不十分な欠陥は、認証の失敗、アクセス拒否、入力検証エラーなどのロギングに関するサイバーセキュリティ計画が失敗した場合に多く発生します。本番環境の他の場所でも発生する可能性がありますが、最も関連性が高いのは、無効なログイン試行を阻止できなかった場合です。

これは、サイバーセキュリティチームが攻撃を知らないため、攻撃に対応できないという意味で、危険な脆弱性です。これは攻撃者にとって大きなアドバンテージとなり、システムへのさらなる侵入や認証情報のアップグレードを試みている間、攻撃者に気づかれずに済むことになります。実際、適切なロギングとモニタリングがなければ、大きな被害が出る前に攻撃を検知して阻止することは非常に難しく、不可能になります。

今すぐチャレンジして自分の実力を試してみませんか?これをチェックしてください。

ロギングやモニタリングが不十分な場合、攻撃者はどのように利用するのでしょうか?

どのようなAPIでも、ログレベルが正しく設定されていなかったり、低く設定されていたり、エラーメッセージに十分な詳細が含まれていなかったり、ログ機能が全く存在していなかったりすると、ロギングやモニタリングが不十分になる恐れがあります。

興味深い例として、ハッカーがあるウェブサイトやサービスの危険なユーザー名のリストを大量に入手した場合が挙げられます。実験の結果、ログインに3回失敗すると、システムからロックアウトされ、サイバーセキュリティ担当者に通知されることがわかりました。

この情報をもとに、単一のアカウントにブルートフォースをかけるのではなく、"123456 "や "password "などの一般的なパスワードを使用して、侵害されたリストのすべてのユーザー名でログインを試みるスクリプトを作成します。その際、ロックアウトやアラートの閾値を下回るように、各ユーザー名を1回または2回だけ試すのがコツです。運が良ければ、少なくとも数個のパスワードをすぐに盗むことができます。その後、ログインカウンターがリセットされるのを1日待って、"qwerty "や "god "などの別のパスワードを使って再度プロセスを実行するだけです。管理者が彼らの行為に気づかなければ、攻撃者はこのリストを何度も確認し、最終的に弱いパスワードを持つほとんどのアカウントを侵害することができます。

OWASP が提供している例では、ある動画共有プラットフォームが、不十分なロギングとモニタリングの脆弱性を悪用したクレデンシャルスタッフィング攻撃を受けたことがあります。この会社は、ユーザーから苦情が来るまで、この攻撃が起こっていることを知りませんでした。最終的には、API ログから証拠を発見し、すべてのユーザーに強制的なパスワード変更の通知を行い、規制当局に攻撃を報告しなければなりませんでした。  

ログ・モニタリングが不十分な脆弱性の解消

自動化と常時監視を行うことで、この脆弱性に終止符を打つことができます。まず、認証に失敗した場合はすべてログに記録する必要があります。そのログは、STIXやTAXIIのような機械で読める形式にして、閾値に関係なく攻撃を探すように訓練されたセキュリティ情報・イベント管理(SIEM)システムに取り込めるようにしておく必要があります。

また、ログファイルの保護も必要です。ログファイルを機密情報として扱い、攻撃者による削除や変更から保護してください。ログファイルのバックアップと暗号化の両方を行うのが良い方針です。

最後に、カスタムダッシュボードとアラートを作成して、疑わしい活動があれば、できるだけ早く検出して対応できるようにします。攻撃者がシステムを使用する時間をなくせば、検知されないように低コストでゆっくりとした攻撃手法を用いることができなくなります。

この脆弱性に関する詳細な情報や、組織やお客様を被害から守る方法については、ブログのページをご覧ください。 Secure Code Warriorブログページでは、この脆弱性に関するより詳しい情報や、他のセキュリティ上の欠陥の被害から組織やお客様を守るための方法をご紹介しています。また、Secure Code Warrior トレーニングプラットフォームのデモをお試しいただくことで、サイバーセキュリティに関するすべてのスキルを磨き上げ、最新の状態に保つことができます。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。