Amazon Web Services ブログ

Amazon CodeGuru Reviewer の新機能 — ログインジェクションの脆弱性を検出する Detector Library および Security Detectors

Amazon CodeGuru Reviewer は、コード内のセキュリティ脆弱性を検出し、コードの品質を向上させるためのインテリジェントな推奨事項を提供するデベロッパーツールです。例えば、CodeGuru Reviewer は、Open Web Application Security Project (OWASP) の上位 10 個のカテゴリからセキュリティリスクを特定し、AWS API および共通暗号ライブラリのセキュリティのベストプラクティスに従う、Java および Python コード用の Security Detectors を導入しました。re: Invent で、CodeGuru Reviewer はハードコードされたシークレットを識別する Secrets Detector を紹介しAWS Secrets Manager でシークレットをセキュア化するための修復手順を提案しました。これらの機能は、デプロイする前にセキュリティ上の問題を見つけて修復するのに役立ちます。

2022 年 2 月 15 日(米国時間)、CodeGuru Reviewer の 2 つの新機能をご紹介したいと思います。

  • 新しい Detector Library には、CodeGuru Reviewer が欠陥の可能性を検出するのに使用するディテクタが詳細に記述されており、Java と Python の両方のコードサンプルが含まれています。
  • このブログ記事でご紹介した Apache Log4j の脆弱性と同様の Java や Python コード内のログインジェクションの欠陥を検出するための、新しい Security Detectors が導入されました。

これらの新機能について詳しく見ていきましょう。

Detector Library を使用する
CodeGuru Reviewer がコードのレビューに使用するディテクタについて明確に理解していただくために、詳細情報とコードサンプルの入手が可能な Detector Library の共有を開始しました。

これらのディテクタは、AWS でセキュアで効率的なアプリケーションを構築するのに役立ちます。ディテクタライブラリでは、CodeGuru Reviewer のセキュリティディテクタとコード品質ディテクタに関する詳細情報 (説明、アプリケーションに対する重要度および潜在的な影響、リスクの軽減に役立つ追加情報など) を入手できます。

各ディテクタが、さまざまなコード欠陥を検出することに注意してください。各ディテクタに非準拠コードと準拠コードの例が 1 つずつ掲載されています。ただし、CodeGuru は機械学習と自動推論を使用して、考えられる問題を特定します。このため、各ディテクタが、ディテクタの説明ページに示された明示的なコード例に加えて、さまざまな欠陥を検出できます。

ディテクタをいくつか見てみましょう。あるディテクタは、安全でない Cross-Origin Resource Sharing (CORS) ポリシーを検出します。これらのポリシーは、許容度が高すぎ、信頼できないまたは悪意のあるソースからコンテンツを読み込む恐れがあります。

ディテクターライブラリのスクリーンショット。

別のディテクタは、攻撃を許し望ましくない動作を引き起こす可能性のある誤った入力検証の有無をチェックします。

ディテクターライブラリのスクリーンショット。

アプリケーションで AWS SDK for JavaAWS SDK for Python (Boto3) を使用するのに役立つディテクタもあります。例えば、パスワードやアクセスキーなどのハードコードされた認証情報や、AWS リソースの非効率なポーリングを検出できるディテクタがあります。

ログインジェクションフローを検出する新しいディテクタ
最近の Apache Log4j の脆弱性問題を受け、CodeGuru Reviewer に新しいディテクタが導入されました。これは、サニタイズされておらず実行可能かもしれないものをログに記録しているかどうかをチェックします。これらのディテクタは、「CWE-117: Improper Output Neutralization for Logs」(CWE-117: ログ出力の不適切な無作用化) で述べられている問題をカバーしています。

これらのディテクタは Java および Python コードで動作し、Java の場合は、Log4j ライブラリに限定されません。使用しているライブラリのバージョンによっては動作しません。その場合、実際にログ記録されている内容を確認してください。このようにして、将来に同様のバグが発生した場合に保護できます。

ディテクターライブラリのスクリーンショット。

これらのディテクタにより、ユーザが提供する入力はログに記録される前にサニタイズされます。これにより、攻撃者がこの入力を利用して、ログの整合性を損なわせたり、ログエントリを偽造したり、ログモニターをバイパスしたりすることを回避できます。

利用可能なリージョンと料金
これらの新機能は、Amazon CodeGuru が提供されているすべての AWS リージョンで今すぐご利用いただけます。詳細については、「AWS リージョン別のサービス表」をご覧ください。

Detector Library は、ドキュメントの一部として自由に参照できます。ログインジェクションの脆弱性を検出する新しいディテクタには、標準料金が適用されます。詳細については、「Amazon CodeGuru の料金」のページを参照してください。

Amazon CodeGuru Reviewer を今すぐ使い始めて、コードのセキュリティを向上させましょう。

Danilo

原文はこちらです。