--- id: dynamic_application_security_testing title: 동적 애플리케이션 보안 테스트 (Dynamic Application Security Testing, DAST) category: DevOps_and_Security status: stable confidence_score: 0.95 created_at: 2026-04-18 updated_at: 2026-05-08 tags: - dast - dynamic_analysis - security_testing - black_box_testing - devsecops raw_sources: - Programming & Language/DAST (동적 애플리케이션 보안 테스트).md - Programming & Language/동적 애플리케이션 보안 테스트(DAST).md - DevOps_and_Security/DAST_Fundamentals.md --- # 동적 애플리케이션 보안 테스트 (Dynamic Application Security Testing, DAST) ## 📌 Brief Summary DAST(Dynamic Application Security Testing)는 애플리케이션이 실행 중인 상태에서 외부에서 공격을 시도하여 보안 취약점을 찾는 '블랙박스 테스팅' 기법입니다 [1]. 소스 코드에 접근하지 않고 실행 환경에서의 실제 동작을 분석하므로, 런타임 설정 오류나 인증 문제 등을 식별하는 데 매우 효과적입니다 [1, 2]. ## 📖 Core Content ### 1. DAST의 특징 및 장점 * **블랙박스 테스트**: 내부 구현 로직을 모르는 상태에서 외부 인터페이스(HTTP, API 등)를 통해 공격 시나리오를 수행합니다 [1]. * **런타임 이슈 탐지**: 소스 코드 분석만으로는 알 수 없는 서버 설정 오류, 세션 관리 취약점, 인젝션 공격 등을 실제 상황에서 검증합니다 [1, 2]. * **언어 독립성**: 특정 프로그래밍 언어에 의존하지 않고 웹 표준 프로토콜을 통해 테스트하므로 모든 언어로 개발된 애플리케이션에 적용 가능합니다. ### 2. DAST의 수행 과정 * **크롤링/스파이더링**: 애플리케이션의 모든 페이지와 API 엔드포인트를 탐색하여 공격 가능한 지표(Attack Surface)를 식별합니다. * **퍼징(Fuzzing)**: 입력값에 다양한 비정상 데이터를 주입하여 시스템의 예외 상황이나 보안 결함을 유발합니다. * **분석 및 보고**: 공격 시도에 대한 시스템의 반응을 분석하여 취약점 여부를 판단하고 보고서를 생성합니다. ### 3. 도구 및 통합 * **대표 도구**: OWASP ZAP, Burp Suite, Veracode Dynamic Analysis 등. * **파이프라인 통합**: 배포 직후 스테이징 환경에서 자동으로 실행되도록 설정하여 보안 검사를 상시화합니다. ## ⚖️ Trade-offs & Caveats * **높은 허위 양성 (False Positives)**: 실제 취약점이 아닌데도 시스템 지연 등으로 인해 취약점으로 오인되는 경우가 발생할 수 있습니다. * **실행 시간**: 전체 애플리케이션을 탐색하고 공격 시나리오를 돌리는 데 많은 시간이 소요되므로 CI 파이프라인에서 병목이 될 수 있습니다. * **공격의 한계**: 소스 코드를 보지 않으므로 코드 깊숙한 곳의 논리적 결함은 찾아내기 어렵습니다 (SAST와 병행 필요). ## 🔗 Knowledge Connections - **Related Topics**: [[SAST|정적 보안 테스트]], [[SCA|소프트웨어 구성 분석]], IAST(Interactive AST), 블랙박스 테스팅 - **Projects/Contexts**: 웹 취약점 스캔 자동화, OWASP Top 10 방어 전략 - **Contradictions/Notes**: DAST는 실행 환경이 필요하므로 개발 초기 단계보다는 배포 가능 시점에 수행하는 것이 일반적입니다 (Shift-Left 전략에서는 SAST가 우선됨). --- *Last updated: 2026-05-08*