Help us understand the problem. What is going on with this article?

サイバーセキュリティ・フレームワーク「MITRE CALDERA」紹介、機能概要・動作環境構築編

サイバーセキュリティ・フレームワーク「MITRE CALDERA」紹介:機能概要・動作環境構築編

レッドチーム用画面 ブルーチーム用画面
RedTeam BlueTeam

※ 上記画像はMITRE CALDERA バージョン 2.6.6 のWebクライアント画面

はじめに

趣旨

私の仕事はサイバーセキュリティの研究で、特に人材育成に関して興味・関心があります。
研究の中で「MITRE CALDERA」という OSS(オープンソース・ソフトウェア)に出会い、人材育成にも使える将来性のあるツールでしたので、皆さんにも知って・使って・作っていただきたく、この記事を書いています。

構成

紹介内容が多いため、以下の4記事に分けて紹介します。

  • 機能概要・動作環境構築編(本記事)
  • 使用方法:レッドチーム編
  • 使用方法:ブルーチーム編
  • 使用方法:トレーニング編

用語説明:

  • レッドチーム: サイバー攻撃を模擬再現するチーム
  • ブルーチーム: サイバー攻撃に対処(インシデント&レスポンス)するチーム

対象者

  • サイバーセキュリティに興味・関心のある人
  • サイバーセキュリティ人材育成に興味・関心のある人
  • プラグインプログラミングに興味・関心のある人

注意・免責事項

本記事には、サイバー攻撃を模擬再現する方法が含まれています。
これは、サイバー攻撃されることによってどんな事象が発生するのか、どう対処すれば良いのかを確認・検討・改善したり、サイバーセキュリティ人材育成に活用することが目的です。
他のシステムやネットワークに影響を与えないように、閉じたネットワーク環境を作って実施してください。
許可を得ていない相手に対して実施した場合、不正アクセス禁止法などの法律に抵触しますので、絶対にやめてください。

本記事の内容は私個人の見解であり、所属する組織の公式見解ではありません。
本記事に書いてあることを試して、利用者および第三者に何らかのトラブル・被害・損害が発生しても、筆者および所属組織では一切責任を負いません。

概要紹介

MITRE CALDERA とは

MITRE CALDERA は、様々な機能がプラグインとして提供される「サイバーセキュリティ・フレームワーク」です。
実際に使用されたサイバー攻撃技術や攻撃シナリオを使ってサイバー攻撃を模擬再現(エミュレーション)するのが特徴となっているツールです。
米国MITRE社がApacheライセンスでOSS公開しています。
提供されている主な機能を以下に示します。

  • サイバー攻撃を模擬再現する
  • サイバー攻撃により発生する事象を観察し、対処方法を検討して対処する
  • サイバー攻撃を自動検知できるか確認し、自動検知・自動対処できるように改善する

事前に用意したシナリオに基づいて、上記機能を自動実行することもできます。
以下のような作業ループで、セキュリティ向上と人材育成を支援します。

活用サイクル

MITRE CALDERA 関連プロジェクト

MITRE社は米国の非営利組織(NPO)で、米国政府が資金提供する研究開発センター(FFRDC)の運用と民間パートナーシップを通じて、産業界や学会の公共の利益や革新的なアイデアを生み出す様々なプロジェクトがあります。
詳細についてはMITRE社のホームページをご覧ください。
https://www.mitre.org/about/corporate-overview

MITRE CALDERA を使用する上で知っておくべき関連プロジェクトを以下に示します。

機能概要

MITRE CALDERA 本体は、プラグインを組み込んでWebサービスを提供するPythonスクリプトです。
MITRE CALDERA の基本機能はプラグインとして提供されます。プラグインもPythonスクリプトです。
MITRE CALDERA は 2017年に始まったプロジェクトですが、ここ最近は頻繁に更新されており、新機能プラグインの追加も活発です。
他のプロジェクトが作成したプラグインも組み込めます。(コメント欄参照)
インストール直後に無効になっているプラグインもありますが、Configureメニューから有効にできます。

基本プラグイン機能

2020年03月20日 に公開された MITRE CALDERA バージョン 2.6.6 のプラグイン一覧を以下に示します。

プラグイン名 有効版数 標準有効 説明
sandcat すべて エージェント、RAT/BOT
stockpile すべて 基本シナリオ
compass 2.5 シナリオ作成
response 2.5 インシデント・レスポンスシナリオ
terminal 2.6 リバースシェル端末
gameboard 2.6 レッドチーム 対 ブルーチーム スコア表示
mock すべて × 疑似エージェント
ssl すべて × HTTPSプロキシ
access 2.6 × リモートアクセス設定
atomic 2.6 Atomic Red Canary チームが用意したシナリオ

MITRE CALDERA エージェント

MITRE CALDERA でサイバー攻撃を模擬再現するとき、端末に侵入された状態から開始します。脆弱性を探して侵入する行為は行いません。
端末に侵入された状態を作るのが MITRE CALDERA エージェントです。俗に RAT (Remote Access Trojan) と呼ばれるプログラムです。
MITRE CALDERA サーバにアクセスすると、いくつかのエージェントプログラムをダウンロードできます。OSや目的に応じて適切なエージェントを選んでダウンロードするなりスクリプトをコピー&ペーストしてエージェントを実行しておきます。
エージェントは MITRE CALDERAサーバに接続し、サーバから指示された遠隔操作コマンドを実行します。

動作環境構築

GitHubリポジトリにある README.md ファイルに書いてあるとおりに行えばいいのですが、分かりにくい箇所もあるので説明します。

必要環境・ツール

OS

  • Linux または MacOS

筆者が使用している MacOSX Catalina にインストールしてみたところ、インストールシェルスクリプトがエラー終了してしまい、インストールできませんでした。
VirtualBoxなどの仮想環境に Linux をインストールして、その仮想環境上で動作させることをお勧めします。
仮想環境の構築方法については、他の方々の記事を参考にしてください。

必要ツール

  • gitコマンド
  • Python Version 3.6.1 以降
  • Google Chrome Webブラウザ(現在は Google Chrome のみ動作保証)

各ツールのインストール方法については、他の方々の記事を参考にしてください。

インストール手順

MITRE CALDERA の最新バージョンは 2.6.65 ですが、トレーニングプラグインが 2.6.6 でしか動作しないため、2.6.6 のインストール手順を以下に示します。
シェル端末で以下のコマンドを実行します。

$ git clone https://github.com/mitre/caldera.git --recursive --branch 2.6.6
$ cd caldera
$ sudo ./install.sh

install.sh の実行途中に、Python仮想環境と、必要なPythonモジュールが仮想環境内にインストールされます。
メッセージの最後に、次の手順でWebサービスを開始できると表示されます。

Webサービス起動手順

$ source calderaenv/bin/activate
$ python server.py

Webサーバが起動して、Webブラウザからのアクセス待ち状態になります。

Webログイン手順

Webサービスを起動したホストで Google Chrome Webブラウザを起動し、URL欄に http://localhost:8888/ を入力して MITRE CALDERA サーバにアクセスします。
他のホストからアクセスする場合は、localhost の部分をWebサービスを立ち上げたホストのIPアドレスに変更してください。

ログインアカウントが2種類用意されています。
用途に応じてユーザ名を選んでください。

ユーザ名 パスワード 用途
red admin レッドチーム用
攻撃シナリオ実行。攻撃検知や対処方法の確認を行う
blue admin ブルーチーム用
防御シナリオ実行。インシデント&レスポンスを行う

ユーザ名に応じて、本記事先頭画像のように背景画像やツール名が変化します。
(MITRE CALDERA バージョン2.6.64で、ウィンドウフレームの色の違いだけになりました)
メニューから各種機能を使用できます。

終了方法

MITRE CALDERA サーバの pythonスクリプトを起動している端末で CTRL+C を入力し、でPythonスクリプトを終了させます。

アンインストール手順

git clone したディレクトリ配下をすべて削除してください。
Python仮想環境も一緒に削除されます。

さいごに

機能概要・動作環境構築編は以上です。
興味をお持ちになられた方は是非、インストールして触ってみてください。
使用方法について、レッドチーム編、ブルーチーム編、トレーニング編を公開予定です。楽しみにしていただけましたら幸いです。

参考資料

公式サイト

セキュリティカンファレンス発表資料・映像

外部プラグイン

shiracamus
元、低レイヤーエンジニア。 現、サイバーセキュリティ研究者。 使用言語は、C, Lisp, Java, Python, C#, JavaScript/Node.js。 経験アセンブリ言語は Z80, 6502, 6809, 68000, SPARC, PowerPC, ARM, x86/x64。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした