OWASP Security Shepherd 
OWASP Security Shepherd Project는 웹 및 모바일 애플리케이션 보안 교육 플랫폼입니다. Security Shepherd는 다양한 기술 수준의 사용자 집단에서 보안 인식을 함양하고 향상시키기 위해 설계되었습니다. 이 프로젝트의 목표는 AppSec 초보자나 경험 많은 엔지니어가 침투 테스트 기술을 연마하여 보안 전문가 수준에 도달하도록 돕는 것입니다.

Security Shepherd는 어디서 다운로드할 수 있나요?
가상 머신 또는 수동 설치
GitHub에서 Security Shepherd VM 또는 수동 설치 패키지를 다운로드할 수 있습니다.
Docker (Ubuntu Linux 호스트)
초기 설정
# 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
인터넷 브라우저를 열고 주소 표시줄에 다음을 입력하세요.
로그인하려면 다음 자격 증명을 사용하세요. (로그인 후 업데이트하라는 메시지가 나타납니다.)
- username:
admin
- password:
password
참고: 환경 변수는 루트 디렉터리의 dotenv .env 파일에서 구성할 수 있습니다.
전체 가이드
Docker-Environment-Setup
Security Shepherd를 어떻게 설정하나요?
위키 페이지에서 Security Shepherd를 실행하는 데 도움이 되는 완전 자동화된 단계별 안내를 제공합니다.
Security Shepherd는 무엇에 사용할 수 있나요?
Security Shepherd는 다음과 같이 사용할 수 있습니다.
- 모든 애플리케이션 보안을 위한 교육 도구
- 웹 애플리케이션 침투 테스트 교육 플랫폼
- 모바일 애플리케이션 침투 테스트 교육
- AppSec 기술을 연습하기 위한 안전한 놀이터
- 실제 보안 위험 예시를 시연하는 플랫폼
왜 Security Shepherd를 선택해야 할까요?
OWASP 프로젝트 인벤토리에는 의도적으로 취약하게 만든 애플리케이션이 많이 있으며, 인터넷에는 더 많은 것이 있습니다. 왜 Security Shepherd를 사용해야 할까요? 몇 가지 이유는 다음과 같습니다.
- 광범위한 주제 범위
Shepherd는 단일 프로젝트 아래 웹 및 모바일 애플리케이션 보안의 전 스펙트럼에 걸쳐 60개 이상의 레벨을 포함합니다.
- 완만한 학습 곡선
Shepherd는 보안에 완전히 새로운 사용자에게 적합하며, 레벨이 쾌적한 속도로 난이도가 증가합니다.
- 비전문가를 위한 설명
Shepherd에서 각 보안 개념이 처음 제시될 때는 비전문가 용어로 설명되어 누구나 (초보자도) 이해할 수 있습니다.
- 실제 세계 예시
Shepherd의 보안 위험은 실제 취약점이지만, 애플리케이션, 사용자 및 환경을 보호하기 위해 익스플로잇 영향을 완화한 것입니다. 레벨을 통과하기 위해 특정 공격 벡터를 요구하는 시뮬레이션된 보안 위험은 없습니다. Shepherd에서 사용되는 공격 벡터는 실제 세계에서의 동작과 동일합니다.
- 확장성
Shepherd는 단일 사용자가 로컬에서 사용하거나 많은 사용자를 위한 서버로 쉽게 사용할 수 있습니다.
- 높은 사용자 정의 가능성
Shepherd는 관리자가 사용자에게 제공할 레벨과 표시 방식을 설정할 수 있습니다 (오픈, CTF, 토너먼트 레이아웃).
- 교실에 적합
Shepherd는 플레이어에게 사용자별 솔루션 키를 제공하여 학생들이 키를 공유하지 못하도록 방지하며, 레벨 완료에 필요한 단계를 거치도록 합니다.
- 점수판
Security Shepherd는 경쟁적인 학습 환경을 장려하기 위해 구성 가능한 점수판을 제공합니다. 레벨을 1위, 2위, 3위로 완료한 사용자는 점수판 항목에 메달을 획득하고 보너스 점수를 받아 점수판을 흥미롭게 유지합니다.
- 사용자 관리
Security Shepherd 관리자는 관리자 사용자 관리 제어를 통해 사용자를 생성하고, 관리자를 만들고, 정지, 정지 해제, 보너스 점수 추가 또는 패널티 점수 차감을 할 수 있습니다. 관리자는 학생을 특정 클래스 그룹으로 세분화할 수도 있습니다. 관리자는 클래스의 진행 상황을 확인하여 어려움을 겪는 참가자를 식별할 수 있습니다. 관리자는 공개 등록을 닫고 수동으로 사용자를 생성하여 비공개 환경을 만들 수도 있습니다.
- 견고한 서비스
Shepherd는 OWASP Global CTF 및 OWASP LATAM Tour CTF 2015와 같은 온라인 CTF를 운영하는 데 사용되었으며, 두 경우 모두 200명 이상의 활성 사용자를 초과하고 계획된 유지 관리 기간 외에는 다운타임 없이 실행되었습니다.
- 구성 가능한 피드백
관리자는 피드백 프로세스를 활성화할 수 있으며, 사용자는 레벨이 완료로 표시되기 전에 이를 완료해야 합니다. 이는 제출된 피드백을 기반으로 프로젝트 개선을 촉진하고 시스템 관리자가 학생들의 "이해 보고서"를 수집하는 데 사용됩니다.
- 세분화된 로깅
Security Shepherd가 보고하는 로그는 매우 상세하고 설명적이지만, 화면을 가리지 않습니다. 사용자가 잘못된 행동을 하면 알 수 있습니다.