
OWASP ASST(自動化ソフトウェアセキュリティツールキット) | 新しいオープンソースのWebセキュリティスキャナー。
OWASP ASST(Automated Software Security Toolkit)| 新しいオープンソースのWebセキュリティスキャナー。
注:AWSSはASSTの旧名称です。

Webアプリケーションは日常生活に不可欠なものとなっていますが、これらのアプリケーションの多くは、致命的に悪用される可能性のある重要な脆弱性を抱えたままデプロイされています。これらのアプリケーションを開発するために使用される技術が高度化するにつれて、攻撃者の手法も同様に高度化しています。攻撃者はもはや被害者に物理的にアクセスする必要はなく、同時に複数の被害者を攻撃でき、捕まって裁判にかけられる可能性は最小限です。 自動化されたWeb脆弱性スキャナーは、Webアプリケーションのセキュリティを評価するために広く使用されています。これらは、時間がかかり、労力を要し、非効率な従来の手動脆弱性検出と比較して、脆弱性スキャンの効率を向上させることができます。 インターネット上には多数のWeb脆弱性スキャナーが存在しますが、それらは攻撃の可能性とそれに対する対策方法を説明していません。 私たちは、Automated Software Security Toolkit(ASST)と呼ばれる新しい自動化されたWeb脆弱性スキャナーを設計・実装しました。これは、Webプロジェクトのソースコードをスキャンし、各脆弱性の詳細な説明とその防御方法を含むレポートを生成します。 ASSTの性能をテストし、その結果を他の主要なオープンソース脆弱性スキャナーと比較しました。その結果、ASSTはWebソフトウェアのセキュリティ脆弱性をより包括的かつ正確に特定できることが示されました。
注:これはまだ開発中です。エラーが発生した場合は報告してください。
ASSTはオープンソースのソースコードスキャンツールであり、JavaScript(Node.jsフレームワーク)で開発されたCLI(コマンドラインインターフェース)アプリケーションです。 現在はPHPおよびMySQLプログラミング言語に焦点を当てていますが、その中核機能は既に準備が整い誰でも利用可能であるため、プログラマはプラグインや拡張機能を追加して、Java、C#、Pythonなどの他のプログラミング言語とそのフレームワークをスキャンできるようにすることができます。 そのため、そのインフラストラクチャは、他のプログラマが貢献してより良く、より新しいものにするために設計されています。 私たちの知る限り、ASSTはOWASP Top 10 Webアプリケーションセキュリティリスクに従ってPHP言語をスキャンする唯一のツールです。
ASSTがプロジェクトをスキャンする際、各ファイルのすべての行を1行ずつセキュリティ脆弱性についてチェックします。脆弱性が検出された場合、どのファイルのどの行で脆弱性が検出されたかをレポートで警告し、攻撃の説明とその防御方法を説明する「Click Here」リンクを提供します。 ASSTの結果は、各攻撃とその防御メカニズムを説明するPDFファイルにリンクされたHTMLレポートとして表示されます。
ASSTを100%動作させるには、以下をインストールする必要があります:
WindowsでのASSTの実行方法の完全なビデオ:https://youtu.be/FKxDa3zYz1E
XAMPP for Windowsはこちらからダウンロードできます:https://www.apachefriends.org/download.html プロジェクトに適したPHPバージョンを選択してください。どのバージョンを選べばよいかわからない場合は、Windows用の最初のものを選択してください。 XAMPPをダウンロードしてインストールしたら(次へ、次へ、次へ、完了)、XAMPPコントロールパネルを実行します。スタートメニューの検索フィールドに「XAMPP」と入力すると表示されるので、それを実行し、ApacheとMySQLのラベルの横にある「開始」ボタンを押します。
プロジェクトのフォルダをhtdocsに配置します:デフォルト:"C:\xampp\htdocs\YourProjectFolderName" ブラウザを開き、localhost/phpmyadmin にアクセスし、空のデータベースを作成し、プロジェクトの database.sql ファイルをインポートし、プロジェクトのフォルダを開いて設定ファイルを変更し、MySQLのローカルホストに接続します。デフォルト設定は次のとおりです:ホスト:"localhost" または "127.0.0.1"、ユーザー名:"root"、パスワード:""(空文字列)、データベース名:"phpmyadmin で選択したデータベース名"
特定のバージョンのNode.js for Windowsをこちらからダウンロードする必要があります:https://nodejs.org/en/blog/release/v12.13.0/ (Windows 64-bit Installer)を選択し、ダウンロードし、次へ、次へ、次へ、完了をクリックします。 私たちは毎月のNode.jsのアップグレードには追従していません。自分でテストしたい場合は、最新のNode.jsバージョンをこちらからダウンロードできます:https://nodejs.org/en/download/ (Windows Installer (.msi))を選択し、ダウンロードして実行し、次へ、次へ、次へ、完了をクリックします。
このGitHubページからASSTのプロジェクトをダウンロードして解凍し、フォルダ名を「ASST-main」ではなく「ASST」に変更し、ASSTフォルダをスキャンするWebプロジェクトの隣に移動します。デフォルト:「C:\xampp\htdocs\ASST」
ASST.bat をダブルクリックして実行します。Windows Defender Smart Screen によってブロックされた場合は、「詳細情報」をクリックしてから「実行」または「それでも実行」をクリックして許可するか、CMDコマンドを使用して実行します。
このコマンドを1回実行して、このプロジェクトの node_modules をインストールします:
$ cd C:\xampp\htdocs\ASST && npm install
ASSTを実行するデフォルトのCMDコマンド:
$ node C:\xampp\htdocs\ASST\main.js
UbuntuでのASSTの実行方法の完全なビデオ:https://youtu.be/XrAB8_BHxfo
Webブラウザを使用して、このリンクを開きます:https://www.apachefriends.org/download.html 「XAMPP for Linux」セクションを探し、プロジェクトに適したPHPバージョンを選択してダウンロードします。どのバージョンを選べばよいかわからない場合は、最初のものを選択してください。 または、ターミナルで「wget」コマンド(ツール)を使用してXAMPPをダウンロードすることもできますが、ダウンロードする正しいURLバージョンを把握している必要があります。
ターミナルで作業:
$ cd Downloads $ ls ダウンロードしたXAMPPセットアップファイルが表示されるはずです。 $ sudo chmod +x xampp-linux-* $ sudo ./xampp-linux-*
セットアップが実行されるのを少し待ち、指示に従います。XAMPPをダウンロードしてインストールした後、実行します。
$ sudo /opt/lampp/lampp start
プロジェクトのフォルダをhtdocsに配置します:デフォルト:「/opt/lampp/htdocs/YourProjectFolderName」 ブラウザを開き、localhost/phpmyadmin にアクセスし、空のデータベースを作成し、プロジェクトの database.sql ファイルをインポートし、プロジェクトのフォルダを開いて設定ファイルを変更し、MySQLのローカルホストに接続します。デフォルト設定は次のとおりです:ホスト:"localhost" または "127.0.0.1"、ユーザー名:"root"、パスワード:""(空文字列)、データベース名:"phpmyadmin で選択したデータベース名"
$ sudo apt-get install nodejs -y $ sudo apt-get install npm -y
ASSTが問題なく動作するように、特定のバージョンのNode.jsを設定する必要があります。
$ sudo npm install n -g $ sudo n 12.13.0
私たちは毎月のNode.jsのアップグレードには追従していません。自分でテストしたい場合は、npmを使用して「n」をインストールする最後の2つのコマンドを無視できます。
このGitHubページからASSTのプロジェクトをダウンロードして解凍します(ブラウザ、wget、またはgitを使用)。フォルダ名を「ASST-main」ではなく「ASST」に変更し、ASSTフォルダをスキャンするWebプロジェクトの隣に移動します。デフォルト:「/opt/lampp/htdocs/ASST」
このコマンドを1回実行して、このプロジェクトの node_modules をインストールします:
$ cd /opt/lampp/htdocs/ASST && sudo npm install
ASSTを実行するデフォルトコマンド:
$ sudo node /opt/lampp/htdocs/ASST/main.js
MacOSXでのASSTの実行方法の完全なビデオ:https://youtu.be/IThRZEQVa7M
Webブラウザを使用して、このリンクを開きます:https://www.apachefriends.org/download.html 「XAMPP for OSX」セクションを探し、プロジェクトに適したPHPバージョンを選択してダウンロードします。どのバージョンを選べばよいかわからない場合は、最初のものを選択してください。 ダウンロードフォルダを開き、ダウンロードした xampp-osx-.dmg ファイルをダブルクリックします。次にインストール:次へ、次へ、次へ、完了。 インストール後、Finderを使用してアプリケーションフォルダを開き、XAMPPフォルダを開き、manager-osx.app をクリックしてXAMPPコントロールパネルを開き、「Manage Servers」タブをクリックし、「Start All」ボタンをクリックします。
プロジェクトのフォルダをhtdocsに配置します:
ブラウザを開き、localhost/phpmyadmin にアクセスし、空のデータベースを作成し、プロジェクトの database.sql ファイルをインポートし、プロジェクトのフォルダを開いて設定ファイルを変更し、MySQLのローカルホストに接続します。デフォルト設定は次のとおりです:ホスト:"localhost" または "127.0.0.1"、ユーザー名:"root"、パスワード:""(空文字列)、データベース名:"phpmyadmin で選択したデータベース名"
MacOSXにNode.jsをダウンロードしてインストールする方法はいくつかあり、こちらに記載されています:https://nodejs.org/en/download/package-manager/#macos 私たちはbrew(パッケージシステム)を使用しました。ターミナルを開きます:
$ sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" $ sudo brew install node
ASSTが問題なく動作するように、特定のバージョンのNode.jsを設定する必要があります。
$ sudo npm install n -g $ sudo n 12.13.0
私たちは毎月のNode.jsのアップグレードには追従していません。自分でテストしたい場合は、npmを使用して「n」をインストールする最後の2つのコマンドを無視できます。
このGitHubページからASSTのプロジェクトをダウンロードして解凍します(ブラウザまたはgitを使用)。フォルダ名を「ASST-main」ではなく「ASST」に変更し、ASSTフォルダをスキャンするWebプロジェクトの隣に移動します。デフォルト:「/Applications/XAMPP/htdocs/ASST」
このコマンドを1回実行して、このプロジェクトの node_modules をインストールします:
$ cd /Applications/XAMPP/htdocs/ASST && sudo npm install
ASSTを実行するデフォルトコマンド:
$ sudo node /Applications/XAMPP/htdocs/ASST/main.js
Special Thanks to:
彼らの指導と支援により、このツールキットの実現が可能になりました。