DAST란 무엇인가요? **DAST(Dust, 동적 애플리케이션 보안 테스트)**는 애플리케이션이 실행 중인 동안 외부 검사를 포함하는 보안 테스트 방법입니다.
웹 애플리케이션을 공격자처럼 접근하여 실행 시 동작과 반응에서 취약점을 감지합니다.
특징
- 블랙박스 테스트: 소스 코드를 접근하지 않고 검사를 수행합니다 *** 실행 환경에서의 검사**: 생산 또는 스테이징 환경에서 테스트할 수 있습니다
- SQL 주입, XSS 등 감지에 능함.
**왜 DAST가 중요한가? **
1. 개발 주기 전반에 걸쳐 보안 검증이 필요하다
DAST는 CI/CD 파이프라인에서 '배포 후 검증' 역할을 하여, 정적 테스트(SAST)와 컴포넌트 분석(SCA)으로는 보이지 않는 런타임 문제를 감지할 수 있습니다.
2. 취약점은 실제 환경과 가까운 상황에서 발견될 수 있다
- 실제 HTTP 요청 응답을 통해 의도치 않은 정보 노출과 잘못된 설정도 이해할 수 있습니다.
- WAF와 CDN을 통한 테스트도 가능하여 공격 가능성이 높은 취약점을 강력히 식별할 수 있습니다.
3. 외부 공격자 관점 테스트 가능해
공격자와 같은 접근법을 취하기 때문에, "실제로 악용될 수 있는지" 관점에서 위험을 평가할 수 있습니다.
전형적인 DAST 제품
- 와스프 찌릿
무료, 오픈소스 CI 통합 가능성
2. 트림 모음
수동 테스트에 저항하는 상업용 버전은 매우 기능적입니다
3. 아쿠네틱스
상업용 도구, 높은 스캔 정확도
4. 인빅티
높은 자동 탐지 정확도와 완전한 보고 기능
5. 스택호크
개발 파이프라인을 위한 GitHub Actions 지원
DAST 구현 단계
1단계: 대상 애플리케이션 환경 준비
- 스테이징 환경 또는 프로덕션 동등한 실행 환경을 준비합니다
- CORS 및 WAF 설정에서 스캐너와의 통신 허용
2단계: 스캔 설정
- URL 지정하기
- 인증 설정(예: 로그인 세션)
- 제외 경로 설정과 스캔 정책
3단계: 스캔 실행
- 수동 또는 일정에 따라 실행
- 하중을 주의 깊게 보고 스캔 타이밍을 고려하세요
4단계: 보고서 검토 및 취약점 관리
- 검토 중 취약점 발견됨
- 우선순위를 정하고 수정 계획을 세우세요
- 재발 방지를 위한 지식 공유
5단계: CI/CD 통합을 통한 자동화(가능하면)
- GitHub Actions, GitLab CI, Azure DevOps 등과 통합됨
- 각 풀 리퀘스트에 대해 자동 스캔 수행
결론
- DAST란 무엇인가요?
외부에서 공격자의 관점에서 실행 중인 앱을 점검하세요 - 중요성
실행 환경에 기반한 현실적인 위험을 감지합니다 - 주요 도구
ZAP, Burp Suite, Acunetix, StackHawk 등등입니다. - 실행 절차
환경 구축→ 구성 → 실행 → 보고 → CI 통합
DAST는 실행 중 애플리케이션의 보안 품질을 향상시키는 데 매우 효과적입니다. DAST는 '운영 전 보안 점검'뿐만 아니라 개발 중 자동화된 보안 게이트로도 활용될 수 있습니다. 지속적인 보안 조치의 일환으로 DAST 도입을 고려해 보세요.