
ウェブおよびモバイルアプリケーションセキュリティトレーニングプラットフォーム
OWASP Security Shepherd Projectは、Webおよびモバイルアプリケーションセキュリティトレーニングプラットフォームです。Security Shepherdは、さまざまなスキルセットを持つユーザー層のセキュリティ意識を育成し向上させるように設計されています。このプロジェクトの目的は、AppSecの初心者や経験豊富なエンジニアを、セキュリティエキスパートレベルのペネトレーションテストスキルセットに磨き上げることです。
Security ShepherdのVMまたは手動インストールパックは、GitHubからダウンロードできます。
# Install pre-reqs
sudo apt install git maven docker docker-compose openjdk-17-jdk
# Clone the github repository
git clone https://github.com/OWASP/SecurityShepherd.git
# Change directory into the local copy of the repository
cd SecurityShepherd
# Adds current user to the docker group (don't have to run docker with sudo)
sudo gpasswd -a $USER docker
# Run maven to generate the WAR and HTTPS Cert.
mvn -Pdocker clean install -DskipTests
# Build the docker images, docker network and bring up the environment
docker-compose up
インターネットブラウザを開き、アドレスバーに次のように入力します:
ログインには次の認証情報を使用します(ログイン後に更新を求められます):
adminpassword注: 環境変数はルートディレクトリのdotenv .envファイルで設定できます。
完全自動化された手順とステップバイステップのウォークスルーをwikiページで提供しており、Security Shepherdのセットアップを支援します。
Security Shepherdは次のように使用できます;
OWASPプロジェクトインベントリには、意図的に脆弱性を持たせたアプリケーションが多数あり、インターネット上にはさらに多くのものがあります。なぜSecurity Shepherdを使うべきなのでしょうか?以下にいくつかの理由を示します;
広範なトピックカバレッジ
Shepherdは、単一のプロジェクトでWebおよびモバイルアプリケーションセキュリティの全範囲にわたる60以上のレベルを含んでいます。
緩やかな学習曲線
Shepherdは、セキュリティがまったく新しいユーザーに最適で、レベルは快適なペースで難易度が上がります。
初心者向けの説明
各セキュリティ概念がShepherdで初めて提示されるとき、それは専門用語を使わずに説明されるため、誰でも(初心者でも)理解できます。
現実世界の例
Shepherdのセキュリティリスクは、アプリケーション、ユーザー、環境を保護するために悪用の影響を軽減した実際の脆弱性です。レベルをクリアするために特定の攻撃ベクトルを期待するシミュレートされたセキュリティリスクはありません。Shepherdで使用される攻撃ベクトルは、現実世界での振る舞いと同じです。
スケーラビリティ
Shepherdは、単一ユーザーがローカルで使用することも、多数のユーザー向けのサーバーとして簡単に使用することもできます。
高度なカスタマイズ性
Shepherdは、管理者がユーザーに利用可能なレベルとその表示方法(オープン、CTF、トーナメントレイアウト)を設定できます。
教室に最適
Shepherdは、プレイヤーにユーザー固有の解決キーを提供し、レベルを完了するために必要な手順を踏む代わりに、学生がキーを共有するのを防ぎます。
スコアボード
Security Shepherdには、競争的な学習環境を促進する設定可能なスコアボードがあります。レベルを最初、二番目、三番目に完了したユーザーは、スコアボードエントリにメダルとボーナスポイントを獲得し、スコアボードを盛り上げます。
ユーザー管理
Security Shepherdの管理者は、管理者ユーザー管理コントロールを使用して、ユーザーの作成、管理者の作成、一時停止、再開、ボーナスポイントの追加、ペナルティポイントの削除を行うことができます。管理者は学生を特定のクラスグループに分割することもできます。管理者はクラスの進捗状況を表示して、苦戦している参加者を特定できます。管理者は公開登録を閉じて、プライベートな体験のために手動でユーザーを作成することもできます。
堅牢なサービス
Shepherdは、OWASP Global CTFやOWASP LATAM Tour CTF 2015などのオンラインCTFの運営に使用され、どちらも200人を超えるアクティブユーザーを抱え、計画メンテナンス期間を除いてダウンタイムなしで稼働しました。
設定可能なフィードバック
管理者はフィードバックプロセスを有効にでき、レベルが完了としてマークされる前にユーザーがそれを完了する必要があります。これは、提出されたフィードバックに基づくプロジェクト改善を促進し、システム管理者が学生から「理解レポート」を収集するために使用されます。
詳細なログ記録
Security Shepherdが報告するログは非常に詳細で説明的ですが、画面を圧迫することはありません。ユーザーが不正な行動をしている場合、それがわかります。