Fishing Catは標的型攻撃やフィッシングのメール対策訓練を実施するためのツールです。Fishing Catはクライアントとサーバの2つで構成されます。
- Fishing Cat Server: 訓練用サイトと訓練対象者の振る舞いを記録するサーバ・アプリケーションです。
- Fishing Cat Client: 訓練用サイトへ誘導するメールを送付するクライント・アプリケーションです。
Fishing Cat Serverは以下の特徴があります。
- Heroku Buttonで簡単に組織外のサーバへ訓練用サイトを配置できます。
- 組織外のサーバに訓練用サイトを配置することで本物の攻撃に近い環境で訓練を実施できます。訓練対象者はURLの確認やサーバ証明書の確認を正しく実践することが可能です。
- 訓練用サイトのサーバには訓練対象者の氏名やメールアドレスといった識別特定情報を保存しません。代わりに、識別特定情報に依存せず生成された訓練対象者の識別子を仮名化されたデータ(pseudonymised data)として保存します。これにより、訓練用サイトにおける情報漏洩のリスクを低減させながら本格的な訓練の実施が可能です。
https://fishing-cat-server.herokuapp.com/admin
- User Name:
admin
- Password:
admin
https://fishing-cat-server.herokuapp.com/forms/qbamjkxvd/eapvdrrbd
Fishing Cat ServerはRuby on Railsで作成されています。Ruby on Railsを利用している方であれば容易にサーバへデプロイすることが可能です。
より簡単に訓練用サイトを配置できるようにRender ButtonとHeroku Buttonに対応しています。
Render:
Heroku:
環境変数 | 説明 | 例 |
---|---|---|
FISHING_CAT_ADMIN_REALM |
管理者用ページはDigest認証で保護されます。この環境変数にはDigest認証に使用する認証領域(realm)を指定します。 | admin |
FISHING_CAT_ADMIN_USERNAME |
管理者のユーザ名を設定します。 | admin |
FISHING_CAT_ADMIN_PASSWORD |
管理者のパスワードを設定します。平文か下記のようなプログラムで生成したハッシュ値を指定します。 | admin |
require 'digest/md5'
Digest::MD5.hexdigest(['username', 'realm', 'password'].join(":"))
または
$ echo -n 'username:realm:password' | md5
- GET
/images/:cid/:pid
: トラッキングピクセルのURLです。PNGファイルを返します。HTMLメールのimg
要素のsrc
属性に指定することでメールの開封を追跡します。 - GET
/forms/:cid/:pid
: 訓練用サイトのウェブフォームです。このURLにアクセスすることでHTMLメールのリンクのクリックを追跡します。 - POST
/forms/:cid/:pid
: 上記のウェブフォームの送信ボタンを押した際にデータが送信されたことを追跡します。 - GET
/results/:cid/:pid
: 訓練結果のページです。訓練対象者がウェブフォームの送信ボタンを押した後にリダイレクトされます。最終的にのページへ遷移させて訓練であることを説明する用途を想定しています。 /admin
: 管理者用のページです。
データベースには下記の情報が保存されます。
cid
: Campaign ID: 訓練IDpid
: Person ID: 訓練対象者IDaction
: 訓練対象者が行った動作opened_email
: メールの開封clicked_link
: リンクのクリックsubmitted_data
: フォームデータの送信viewed_result
: 結果の表示
The Fishing Cat Server is available as open source under the terms of the MIT License.
Masayuki Higashino