
IoTネットワーク向けのグラフィカルなセキュリティ分析ツール
アーカイブのお知らせ - 研究学位取得後、リポジトリはアーカイブされました。
ASToは私の研究に大きく貢献しました。より良いものにするために協力してくださった皆様に感謝申し上げます。
しかし、これで終わりではありません。アクティブな開発は CyberLens's リポジトリで継続されます。問題や機能リクエストはそちらにお寄せください。
ASToはIoTネットワークのためのセキュリティ分析ツールです。Apparatusセキュリティフレームワークをサポートするために開発されました。ASToはelectronとcytoscape.jsをベースにしています。アイコンはGoogleのMaterial Designによって提供されています。
アプリケーションはアルファ段階です。現在の焦点は、追加機能の導入とともにアプリケーションのコア機能を改善し、ベータ段階に到達することです。
いくつかのスクリーンショット




ASToはアプリの右下隅にあるコマンドラインコンソールを備えています。macOSではcmd + l、Windows/Linuxではctrl + lのキーバインドを押すとコンソールにフォーカスを移せます。helpと入力すると、コンソールオプションのリストが表示されます。
コンソールはグラフ内の特定のオブジェクトを検索したり、操作を実行するために使用できます。検索入力には生のテキストが使用されます。例えば、deviceと入力すると、ASToは属性にdeviceという単語を含むグラフ内のすべてのノードをハイライト表示します。
すべてのコンソールコマンドは:を前に付ける必要があります。例えば、:insightsと入力するとセキュリティインサイト機能が実行されます。一方、insights(:なし)と入力すると、キーワードinsightsでグラフ要素の検索操作が実行されます。
ASToはライトとダークのカラーテーマをサポートしています。カラーテーマはAtomのOne DarkとOne Lightに基づいています。テーマの切り替えには左下隅のトグルボタンを使用します。
このリポジトリをクローンして実行するには、コンピュータにGitとNode.jsがインストールされている必要があります。アプリをダウンロードしてインストールするには、ターミナルで次のように入力します:
# このリポジトリをクローン
git clone https://github.com/Or3stis/apparatus.git
# リポジトリ内に移動
cd apparatus
# 依存関係をインストール
npm install
アプリのさまざまな動作モード。
# デフォルトモードでアプリを実行
npm start
# 開発者モードでアプリを実行
npm run dev
# アプリをバイナリにビルド
npm run dist
アプリはまだプロトタイプ段階であるため、最新のコミットに追従するのが最善です。そのためには、アプリを起動する前に次のように入力します:
# apparatus ディレクトリ内で
# 最新の状態に更新
git pull
アプリが起動すると、最初のウィンドウ(ホーム画面)で使用するモデリングフェーズを選択するよう求められます。フェーズを選択すると、3つの選択肢が表示されます。1つ目は新しいグラフを作成することです。2つ目は既存のグラフを読み込むことです。3つ目はデバッグアプリで、デバッグ目的で使用されるデフォルトのグラフを読み込みます。
sampleフォルダにいくつかのサンプルグラフがあります。
- パフォーマンスに関する注意. 1000ノード以上のグラフをレンダリングすると、ハードウェアによってはパフォーマンスの問題が発生する可能性があります。理由は、ASToにおけるノードとエッジのデフォルトのラベルレンダリングがかなり負荷が高いためです。ノードとエッジにラベルをレンダリングし、さらに方向矢印も表示するとCPU負荷が高くなります。パフォーマンスを向上させるには、labelボタンを押してラベルと方向矢印を非表示にできます。
Cytoscapeのパフォーマンス最適化の詳細については、こちらのリンクをご覧ください。
本ソフトウェアは、いかなる種類の個人情報も収集しません。
アプリケーションが実行する唯一のネットワーク操作は、脆弱性識別プロセスが使用されるときです。脆弱性識別は'https://cve.circl.lu/api/search/'(設定で変更可能)にネットワークリクエストを行い、この先は独自の分析を保持しています。
プロジェクトに貢献したい場合、それは素晴らしいです😃。contributingガイドをご確認ください。アプリケーションはmacOS上で開発されています。つまり、新しいコミットが他のプラットフォームで破壊的な変更を引き起こす可能性があります。特にファイルシステムへのアクセスを含むコミットがそうです。何かが動作しない場合は、遠慮なくissueを作成してください。
アプリの動作方法を知りたい場合は、wikiをご確認ください。
プロジェクトの計画された機能はroadmapで確認できます。
@NOMNUDSと@nickargに感謝します。彼らはWindows上で貴重なフィードバックを提供してくれました。