
エンタープライズ規模でのリアルタイム・コンテナベースのファイルスキャン
Strelkaは、脅威ハンティング、脅威検出、インシデント対応に使用されるリアルタイムのコンテナベースファイルスキャンシステムです。元々はLockheed MartinのLaika BOSSや類似プロジェクト(関連プロジェクトを参照)が確立した設計に基づいており、Strelkaの目的はエンタープライズ規模でのファイル抽出とメタデータ収集を実行することです。
Strelkaは、いくつかの重要な点で兄弟プロジェクトとは異なります:
Strelkaはモジュラー式のデータスキャンプラットフォームであり、ユーザーやシステムがファイルを送信して、ファイルの内容とメタデータの分析、抽出、報告を行うことができます。SIEMと組み合わせることで、Strelkaは集約、アラート、アナリストに環境をよりよく理解する能力を提供し、直接データ収集や時間のかかるファイル分析を行う必要をなくします。

Strelkaでファイルを実行するのは簡単です。このセクションでは、単発分析のためのStrelkaの抽出および分析機能を紹介します。
エンタープライズ環境でStrelkaを適切に構築およびデプロイする方法の詳細については、ドキュメントを確認してください。
# Ubuntu 23.04
sudo apt install -y wget git docker docker-compose golang jq && \
sudo usermod -aG docker $USER && \
newgrp docker
git clone https://github.com/target/strelka.git && \
cd strelka
rm configs/python/backend/yara/rules.yara && \
git clone https://github.com/Yara-Rules/rules.git configs/python/backend/yara/rules/ && \
echo 'include "./rules/index.yar"' > configs/python/backend/yara/rules.yara
注意: go buildプロセスをスキップして、http://0.0.0.0:9980のStrelka UIを使用してファイルを分析できます。
docker compose -f build/docker-compose-no-build.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
注意: go buildプロセスをスキップして、http://0.0.0.0:9980のStrelka UIを使用してファイルを分析できます。
docker compose -f build/docker-compose.yaml build && \
docker compose -f build/docker-compose.yaml up -d && \
go build github.com/target/strelka/src/go/cmd/strelka-oneshot
任意のマルウェアサンプル、またはStrelkaに分析させたい他のファイルを使用してください。
wget https://github.com/ytisf/theZoo/raw/master/malware/Binaries/Win32.Emotet/Win32.Emotet.zip -P samples/
./strelka-oneshot -f samples/Win32.Emotet.zip -l - | jq
以下の出力は簡潔にするために編集されています。
{
"file": {
"depth": 0,
"flavors": {
"mime": ["application/zip"],
"yara": ["encrypted_zip", "zip_file"]
},
"scanners": [
"ScanEncryptedZip",
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanYara",
"ScanZip"
]
},
"scan": {
"encrypted_zip": {
"cracked_password": "infected",
"elapsed": 0.114269,
"total": {"extracted": 1, "files": 1}
}
}
}
{
"file": {
"depth": 1,
"flavors": {
"mime": ["application/x-dosexec"],
"yara": ["mz_file"]
},
"name": "29D6161522C7F7F21B35401907C702BDDB05ED47.bin",
"scanners": [
"ScanEntropy",
"ScanFooter",
"ScanHash",
"ScanHeader",
"ScanPe",
"ScanYara"
]
},
"scan": {
"pe": {
"address_of_entry_point": 5168,
"base_of_code": 4096,
"base_of_data": 32768,
"checksum": 47465,
"compile_time": "2015-03-31T08:53:51",
"elapsed": 0.013076,
"file_alignment": 4096,
"file_info": {
"company_name": "In CSS3",
"file_description": "Note: In CSS3, the text-decoration property is a shorthand property for text-decoration-line, text-decoration-color, and text-decoration-style, but this is currently.",
"file_version": "1.00.0065",
"fixed": {"operating_systems": ["WINDOWS32"]},
"internal_name": "Callstb",
"original_filename": "NOFAstb.exe",
"product_name": "Goodreads",
"product_version": "1.00.0065",
"var": {"character_set": "Unicode", "language": "U.S. English"}
}
},
"yara": {
"elapsed": 0.068918,
"matches": [
"SEH__vba",
"SEH_Init",
"Big_Numbers1",
"IsPE32",
"IsWindowsGUI",
"HasOverlay",
"HasRichSignature",
"Microsoft_Visual_Basic_v50v60",
"Microsoft_Visual_Basic_v50",
"Microsoft_Visual_Basic_v50_v60",
"Microsoft_Visual_Basic_v50_additional",
"Microsoft_Visual_Basic_v50v60_additional"
],
"tags": [
"AntiDebug",
"SEH",
"Tactic_DefensiveEvasion",
"Technique_AntiDebugging",
"SubTechnique_SEH",
"PECheck",
"PEiD"
]
}
}
}
もしStrelkaがデプロイされ、環境内でファイルを取り込んでいる場合、これらのイベントをSIEMに収集しているかもしれません。この分析を使用して、不審なyaraタグに一致するイベントを検索するルールを作成し、潜在的に悪意のあるファイルについて警告することができます。
scan.yara.tags:("Technique_AntiDebugging" && "SubTechnique_SEH")
StrelkaのUIは、提供されたコンテナをビルドするときに利用可能です。このWebインターフェースを使用すると、ファイルをStrelkaにアップロードしてイベントをキャプチャし、ローカルに保存できます。
http://localhost:9980/ にアクセスし、ログイン情報 strelka/strelka を使用してください。

50以上のファイルスキャナ(exe、docx、js、zipなど最も一般的なファイルタイプ向け)を備えたStrelkaは、ユーザーがホスト、ネットワーク、またはエンタープライズ上のファイルに関する新しい洞察を得ることを可能にします。Strelka自体は検出エンジンではありませんが(ただしYARAを利用しています)、不審または悪意のあるファイルを特定するのに十分なメタデータを提供できます。Strelkaの潜在的な用途には以下が含まれます:

Strelkaに関する詳細なドキュメントはREADMEにあります。以下を含みます:
貢献に関するガイドラインはこちらにあります。
ユーザーは、最適なパフォーマンスを得て、実行時の潜在的な問題を回避するために、YARAルールを事前コンパイルすることをお勧めします。事前コンパイルされたYARAファイルを使用すると、特に大量のルールセットがある環境で、読み込み時間とリソース使用量を削減できます。Strelka設定のコンパイルオプションを使用して、事前コンパイルされたルールファイルを指定してください。
その他の問題については、トラッカーのバグとラベル付けされた問題を参照してください。
Strelkaおよび関連コードは、Apache 2.0 Licenseの条件の下でリリースされています。