In0riは、AIを搭載した自動化されたWebサイト改ざん検知システムです。
In0riは、Webアプリケーションのためのインテリジェントな監視ツールとして機能します。従来のソースコード監視に依存するのではなく、定期的に対象のWebサイトのスクリーンショットを撮ることで、実際のユーザーの動作をシミュレートします。これらの画像は、視覚的な異常や改ざんパターンを識別するために訓練されたモデルによって分析されます。改ざんされたページを検出すると、In0riは直ちに管理者にEメールまたはTelegramでアラートを送信し、迅速なインシデント対応を可能にします。
git clone https://github.com/J4FSec/In0ri.git
cd In0ri
公式のDockerコンテナ こちら からも利用できます。
docker-compose up --build -d
In0riを実行した後、インターネットブラウザで https://<serverIP>:8080/ にアクセスするとWebUIが表示されます。
In0riをデプロイして使用する方法は2つあります:
WebUIのDashboardタブに移動し、「Add URLs」をクリックしてフォームに記入し送信します。
WebUIに登録されたすべてのURLをリストするテーブルで、Actions列の「Create Key」ボタンをクリックすると、APIキーがメールに送信されるか、「Details」ボタンをクリックすると表示されます。
In0riで監視したいWebサーバー上で、GithubリポジトリからAgentフォルダをダウンロードします。
内部エージェントに必要なパッケージをインストールします。
python3 -m pip install -r requirements.txt
エージェントと同じフォルダにある config.json ファイルを編集します。
nano config.json
キーは、WebUIでエージェントを登録した後、メールに送信されます。rootPath は、監視したいWebアプリケーションのルートディレクトリです。excludePath は、スキャンから除外するサブフォルダです。apiServer は、In0riのAPIサーバーのURLです。serverIP は、In0riのAPIサーバーのIPです。
{
"id":"01",
"key":"123123123",
"rootPath":"/var/www/html",
"excludePath":"",
"apiServer":"http://<serverIP>:8080/checkdeface"
}
そしてエージェントを実行します:
python3 agent.py
In0riは、EchidnaがCu64とKloneの協力を得て開発しました。
プルリクエストは歓迎します。大きな変更については、まずIssueを開いて変更内容を議論してください。