サーバーレスのリアルタイムおよびレトロアクティブなマルウェア検出

BinaryAlert はオープンソースのサーバーレス AWS パイプラインです。S3 バケットにアップロードされたファイルが、設定可能な YARA ルールセットですぐにスキャンされます。一致が検出されるとすぐにアラートが発報され、インシデント対応チームは、脅威が拡散する前に脅威を迅速に封じ込めることができます。
機能
- Amazon Web Services(AWS)で構築: BinaryAlert をデプロイするために必要なのは AWS アカウントだけです。
- YARA の幅広いサポート: 独自の YARA ルールを追加するか、サードパーティのリポジトリから自動的にクローンを作成します。
- リアルタイム: BinaryAlert(S3 バケット)にアップロードされたファイルは、すぐに分析用にキューイングされます。
- サーバーレス: すべての計算は Lambda 関数によって処理されます。サーバーを管理する必要がないため、セキュリティが強化され、自動的にスケーリングできます。
- Infrastructure as Code: インフラストラクチャ全体が、Terraform 構成ファイルで記述されています。そのため、誰でも 1 つのコマンドで BinaryAlert を数分でデプロイできます。
- レトロアクティブな分析: YARA ルールセットを更新すると、BinaryAlert がファイルコーパスの全体をレトロアクティブにスキャンして、新しい一致を検出します。
- 簡単に設定可能: BinaryAlert の設定は、単一の Terraform 変数ファイルで管理されます。
- 高品質のコード: Python3 で記述されており、ユニットテストとコーディング規範を使用して、クリーンで信頼性の高いコードベースを確保しています。
- 低コスト: AWS の請求額は、分析されるファイルの数のみによって決まります。
アーキテクチャ

- 組織はファイルを集めて、BinaryAlert S3 バケットに配信します。対象となるファイルには、実行可能バイナリ、メールの添付ファイル、ドキュメントなどが含まれます。
- S3 バケットにアップロードされたすべてのファイルは、すぐに分析用にキューイングされます。
- ディスパッチング Lambda 関数は 1 分ごとに実行され、ファイルをバッチにグループ化し、数十のアナライザーを並行して呼び出します。
- 各アナライザーは、事前にコンパイルされた YARA ルールのリストを使用してファイルをスキャンします。
- YARA の一致は DynamoDB に保存され、アラートは SNS トピックに送信されます。Airbnb では StreamAlert を使用してこれらのアラートをディスパッチしていますが、他の組織は代わりにメールまたはその他のサポートされている SNS サブスクリプションを使用してアラートを利用できます。
- レトロアクティブな分析の場合、バッチング Lambda 関数は S3 バケット全体を再び分析されるようにキューイングします。
- 設定可能な CloudWatch アラームは、BinaryAlert のコンポーネントが異常な動作をしている場合にトリガーされます。これにより、YARA 一致アラートに使用されているものとは異なる SNS トピックに通知されます。