OWASP Security Shepherd Project는 웹 및 모바일 애플리케이션 보안 교육 플랫폼입니다. Security Shepherd는 다양한 기술 수준의 사용자 집단에서 보안 인식을 함양하고 향상시키기 위해 설계되었습니다. 이 프로젝트의 목표는 AppSec 초보자나 경험 많은 엔지니어가 침투 테스트 기술을 연마하여 보안 전문가 수준에 도달하도록 돕는 것입니다.
Security Shepherd는 어디서 다운로드할 수 있나요?
가상 머신 또는 수동 설치
GitHub에서 Security Shepherd VM 또는 수동 설치 패키지를 다운로드할 수 있습니다.
Docker (Ubuntu Linux 호스트)
초기 설정
root@kitploit:~
# 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
위키 페이지에서 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가 보고하는 로그는 매우 상세하고 설명적이지만, 화면을 가리지 않습니다. 사용자가 잘못된 행동을 하면 알 수 있습니다.