OWASP Security Shepherd 
OWASP Security Shepherd 프로젝트는 웹 및 모바일 애플리케이션 보안 교육 플랫폼입니다. Security Shepherd는 다양한 기술 수준의 사용자층 사이에서 보안 인식을 함양하고 향상시키기 위해 설계되었습니다. 이 프로젝트의 목표는 AppSec 초심자나 숙련된 엔지니어를 보안 전문가 수준으로 끌어올리기 위해 침투 테스트 기술 역량을 연마하는 것입니다.

문서
문서는 https://owasp.github.io/SecurityShepherd/ 에 있습니다: 플레이 방법, Security Shepherd 및 이벤트 실행 방법, 기여 방법을 다룹니다.
빠른 시작
먼저 사전 요구 사항을 확인하세요. 그런 다음 Security Shepherd를 빌드하고 시작하세요:
git clone https://github.com/OWASP/SecurityShepherd.git
cd SecurityShepherd
# Build the WAR and generate the database scripts the images need
mvn -Pdocker clean package -DskipTests
# Build the images and start the containers
docker compose up -d --build
그런 다음 https://localhost를 열고 Getting started를 따라 데이터베이스를 구성하고 로그인합니다.
이것은 노트북이나 교실 실습실을 위한 빠른 시작이며 프로덕션 배포가 아닙니다. 잘 알려진 기본 비밀번호와 자체 서명 인증서를 사용합니다. 다른 사람들이 사용하기 전에 Deploying into production을 따르십시오. 기존 설치를 4.0으로 옮기려면 Upgrading을 참조하십시오.
미리 빌드된 이미지는 Docker Hub에 owasp/security-shepherd로 게시됩니다. Verifying the images는 태그와 이미지의 SBOM 및 출처(provenance)를 확인하는 방법을 설명합니다.
3.1 가상 머신과 수동 설치 팩은 여전히 releases page에 있으며, wiki에서 이들을 설명합니다.
Security Shepherd는 무엇에 사용할 수 있습니까?
Security Shepherd는 다음과 같이 사용할 수 있습니다;
- 모든 애플리케이션 보안을 위한 교육 도구
- 웹 애플리케이션 침투 테스트 교육 플랫폼
- 모바일 애플리케이션 침투 테스트 교육
- AppSec 기법을 연습할 수 있는 안전한 놀이터
- 실제 보안 위험 사례를 시연하는 플랫폼
Security Shepherd를 선택해야 하는 이유
OWASP Project Inventory에는 의도적으로 취약하게 만든 애플리케이션이 다수 존재하며, 인터넷 전반에는 그보다 훨씬 더 많습니다. 그렇다면 Security Shepherd를 사용해야 하는 이유는 무엇일까요? 몇 가지 이유는 다음과 같습니다.
- 폭넓은 주제 범위
Shepherd는 단일 프로젝트 안에서 웹 및 모바일 애플리케이션 보안의 전체 스펙트럼에 걸쳐 60개 이상의 레벨을 포함합니다.
- 완만한 학습 곡선
Shepherd는 보안이 완전히 처음인 사용자에게 완벽하며, 레벨의 난이도가 쾌적한 속도로 증가합니다.
- 쉬운 설명
Shepherd에서 각 보안 개념이 처음 제시될 때는 누구나(초보자라도) 이해할 수 있도록 쉬운 용어로 설명됩니다.
- 실제 사례
Shepherd의 보안 위험은 실제 취약점이며, 애플리케이션, 사용자, 환경을 보호하기 위해 익스플로잇의 영향을 완화한 것입니다. 레벨을 통과하기 위해 특정 공격 벡터를 요구하는 시뮬레이션된 보안 위험은 없습니다. Shepherd에서 사용되는 공격 벡터는 실제 환경에서와 동일하게 동작합니다.
- 확장성
Shepherd는 단일 사용자가 로컬에서 사용하거나, 다수의 사용자를 위한 서버로 손쉽게 사용할 수 있습니다.
- 높은 사용자 정의 가능성
Shepherd는 관리자가 사용자에게 어떤 레벨을 제공할지, 어떤 방식으로 제시할지(Open, CTF 및 Tournament 레이아웃) 설정할 수 있게 합니다.
- 교실 환경에 최적
Shepherd는 플레이어에게 사용자별 솔루션 키를 제공하여, 학생들이 레벨을 완료하는 데 필요한 단계를 거치지 않고 키를 공유하는 것을 방지합니다.
- 스코어보드
Security Shepherd에는 경쟁적인 학습 환경을 장려하기 위한 구성 가능한 스코어보드가 있습니다. 레벨을 1등, 2등, 3등으로 완료한 사용자는 스코어보드 항목에 메달과 보너스 점수를 받아 스코어보드를 재미있게 유지합니다.
- 사용자 관리
Security Shepherd 관리자는 관리자 사용자 관리 제어 기능을 통해 사용자를 생성하고, 관리자를 생성하고, 정지 및 정지 해제하고, 보너스 점수를 추가하거나 사용자 계정에서 패널티 점수를 차감할 수 있습니다. 관리자는 학생들을 특정 클래스 그룹으로 분할할 수도 있습니다. 관리자는 클래스의 진행 상황을 확인하여 어려움을 겪는 참가자를 식별할 수 있습니다. 관리자는 비공개 경험을 원할 경우 공개 등록을 닫고 수동으로 사용자를 생성할 수도 있습니다.
- 견고한 서비스
Shepherd는 OWASP Global CTF 및 OWASP LATAM Tour CTF 2015와 같은 온라인 CTF를 운영하는 데 사용되었으며, 두 행사 모두 200명 이상의 활성 사용자를 기록하고 계획된 유지보수 기간 외에는 다운타임 없이 운영되었습니다.
- 구성 가능한 피드백
관리자는 레벨이 완료로 표시되기 전에 사용자가 반드시 완료해야 하는 피드백 프로세스를 활성화할 수 있습니다. 이는 제출된 피드백을 기반으로 프로젝트 개선을 촉진하고, 시스템 관리자가 학생들로부터 "이해 보고서(Reports of Understanding)"를 수집하는 데 모두 사용됩니다.
- 세분화된 로깅
Security Shepherd가 보고하는 로그는 매우 상세하고 설명적이지만, 눈이 아플 정도로 방대하지는 않습니다. 사용자가 잘못된 행동을 하면 알 수 있습니다.