용어 사전

DAST란 무엇인가: 실행 중인 앱을 외부에서 점검해 취약점 찾기

DAST는 실행 중인 웹 앱을 외부에서 테스트해 취약점을 찾습니다. SAST, IAST, SCA와의 차이와 자신의 앱에 활용하는 방법을 설명합니다.

게시 2026-11-15 업데이트 2026-11-15 5분 읽기
이 페이지에서

DAST(동적 애플리케이션 보안 테스트)는 실행 중인 애플리케이션을 외부에서 테스트해 약점을 찾는 방법입니다. 이 페이지에서는 다른 방법과의 차이점과 자신의 앱에 활용하는 방법을 설명합니다(타인의 사이트 테스트는 다루지 않습니다).

DAST란

DAST는 동적 애플리케이션 보안 테스트(dynamic application security testing)의 약자입니다. OWASP DevSecOps Guideline은 이를 실행 중인 애플리케이션의 보안 취약점과 약점을 찾는 블랙박스 테스트로 설명합니다. 블랙박스란 내부 소스 코드를 보지 않고 외부에서 보이는 부분만으로 테스트한다는 뜻입니다.

실제로 도구는 애플리케이션의 페이지와 입력 필드를 따라가며 테스트 요청을 보내고, 응답에서 문제의 징후를 찾습니다. 가이드라인은 이 방법이 입출력 검증, 인증 문제, 서버 설정 실수를 찾는 데 특히 유용하다고 설명합니다.

작동 방식

1. 도구의 대상을 자신의 테스트 환경 URL로 지정
2. 도구가 페이지와 입력 필드를 따라가며 테스트 트래픽 전송
↓ 응답 내용, 헤더, 오류 동작을 관찰
3. 문제의 징후를 나열하면 사람이 확인하고 수정
DAST는 외부에서 실행 중인 앱에 테스트 요청을 보내고, 응답 방식에서 문제를 찾습니다. 소스 코드는 읽지 않습니다.

SAST, IAST, SCA와의 차이

방법점검 대상앱 실행 여부적합한 용도
DAST외부에서 본 실행 중인 앱의 동작예입출력 검증, 인증, 서버 설정
SAST소스 코드 또는 컴파일된 코드아니요개발 초기의 코딩 문제 발견
IAST센서를 통한 앱 내부 동작예(테스트 중)자동화 테스트 중 나타나는 문제
SCA라이브러리 및 기타 의존성아니요알려진 취약점(CVE)이 있는 구성 요소

SAST에 대해 OWASP는 애플리케이션 보안 결함의 상대적으로 작은 비율만 찾고, 오탐이 많으며, 설정 문제를 놓친다는 한계를 제시합니다. DAST는 이 공백을 메우는 데 도움이 되지만 역시 완전하지는 않습니다. SCA에 대해서는 OSV-Scanner로 의존성 점검하기를 참고하세요.

자신의 앱에 활용하기(OWASP ZAP 예시)

ZAP(Zed Attack Proxy, 이전 명칭 OWASP ZAP)은 무료 오픈소스 DAST 도구입니다. 공식 사이트에서는 현재 "ZAP by Checkmarx"로 표기합니다.

  1. 자신이 관리하는 테스트 환경의 URL을 준비합니다. 운영 환경이 아닌 테스트 환경을 사용하세요
  2. 베이스라인 스캔을 실행합니다. ZAP 문서에 따르면 이 스캔은 패시브 방식으로만 동작하며, 기본적으로 1분 동안 스파이더(페이지를 따라가는 기능)를 실행하고 공격은 수행하지 않습니다. 길어야 몇 분 정도 걸립니다
  3. 결과를 읽고, 어떤 발견 사항이 실제인지 사람이 확인합니다. 오탐은 발생할 수 있습니다
  4. 필요한 경우에만 테스트 환경에서 액티브 스캔으로 넘어갑니다. 액티브 스캔은 대상에 알려진 공격을 실행하며, 문서에는 소유하지 않은 웹 애플리케이션에 사용해서는 안 된다고 명시되어 있습니다
  5. 수정 후에는 예를 들어 CI에서 정기적으로 다시 실행합니다

자신이 소유하거나 관리하는 앱의 테스트 환경에서만 사용

DAST 도구는 실제 공격과 비슷한 트래픽을 보냅니다. 테스트 허가를 받지 않은 사이트에서 실행하면 무단 접근이나 서비스 방해로 간주될 수 있습니다. ZAP 문서도 소유하지 않은 웹 애플리케이션에 액티브 스캔을 사용하지 말라고 밝히고 있습니다. 운영 환경에서 실행하면 데이터 생성이나 부하 증가 같은 부작용이 생길 수도 있습니다.

DAST가 놓치는 것

ZAP 문서에 따르면 액티브 스캔은 접근 제어 실패 같은 논리적 문제를 찾지 못하므로 수동 테스트를 함께 해야 합니다. 한 사용자가 다른 사용자의 데이터를 볼 수 있는 IDOR 같은 결함은, 올바른 동작이 무엇인지 도구가 알 수 없으므로 자동화 도구로 찾기 어렵습니다. 다른 사용자의 ID를 요청했을 때 거부되는지 확인하는 테스트를 직접 작성해야 합니다.

반면 설정 점검은 DAST가 잘하는 영역입니다. 어떤 설정이 여전히 중요한지는 보안 헤더: 여전히 중요한 것을 참고하세요.

이 사이트의 견해: DAST는 마지막 안전망입니다. 코드, 구성 요소, 동작의 세 계층으로 생각하세요

하나의 도구가 모든 것을 찾을 것으로 기대하기보다, 서로 다른 위치를 살피는 세 가지 방법을 결합하는 것이 현실적입니다. 코드를 읽고(SAST), 구성 요소의 알려진 취약점을 점검하고(SCA), 그다음 앱을 실행해 외부에서 테스트합니다(DAST). 도구가 잘하지 못하는 "누가 무엇을 할 수 있는가" 같은 부분은 직접 작성한 테스트로 보호하세요. 도구 결과를 그대로 믿지 말고, 수정하기 전에 사람이 확인하세요.

출처 (1차 자료)

  • OWASP DevSecOps Guideline, "Dynamic Application Security Testing" — owasp.github.io (DAST 정의, 블랙박스)
  • OWASP DevSecOps Guideline, "Interactive Application Security Testing" — owasp.github.io (IAST)
  • OWASP Community, "Source Code Analysis Tools" — owasp.org (SAST 및 그 한계)
  • ZAP Documentation, "Active Scan" — zaproxy.org (소유하지 않은 앱에는 사용 금지, 논리적 문제는 찾지 못함)
  • ZAP Documentation, "Baseline Scan" — zaproxy.org (패시브 전용, 실행 시간)
  • SCA에 대한 설명은 일반적인 정의이며, 이에 대한 단일 공식 정의는 확인하지 않았습니다

다음으로 읽기

FAQ

QDAST란 무엇인가요?
A

DAST는 동적 애플리케이션 보안 테스트(dynamic application security testing)의 약자입니다. 외부에서 실행 중인 애플리케이션에 테스트 요청을 보내 취약점과 약점을 찾습니다. OWASP의 DevSecOps Guideline은 이를 실행 중인 애플리케이션의 보안 취약점과 약점을 찾는 블랙박스 테스트로 설명하며, 소스 코드에 접근할 필요는 없다고 밝히고 있습니다.

QDAST와 SAST의 차이는 무엇인가요?
A

SAST(정적 애플리케이션 보안 테스트)는 실행하지 않고 소스 코드나 컴파일된 코드를 분석합니다. DAST는 애플리케이션을 실행하고 외부 요청을 통해 테스트합니다. OWASP는 SAST가 개발 초기에 실행할 수 있지만 발견하는 결함의 비율은 상대적으로 적고, 오탐이 많으며, 설정 문제를 놓치는 경우가 많다고 설명합니다. DAST는 앱이 실행 중일 때만 나타나는 문제에 적합합니다.

QIAST와 SCA는 무엇인가요?
A

IAST(대화형 애플리케이션 보안 테스트)는 애플리케이션 내부에 센서 모듈을 배치하고 테스트 중 동작을 관찰합니다. SCA(소프트웨어 구성 분석)는 사용 중인 라이브러리와 기타 의존성에서 알려진 취약점이 있는지 점검합니다. 두 방법 모두 DAST와는 살피는 위치가 다르므로 함께 사용합니다.

QDAST로 무엇을 찾을 수 있나요?
A

OWASP 가이드라인은 DAST가 입출력 검증, 인증 문제, 서버 설정 실수를 찾는 데 특히 유용하다고 설명합니다. 반면 OWASP ZAP 문서에 따르면 액티브 스캔은 접근 제어 실패(broken access control) 같은 논리적 문제는 찾지 못하므로 수동 테스트를 함께 해야 합니다.

Q다른 사람의 사이트에 DAST를 실행해도 되나요?
A

아니요. OWASP ZAP 문서는 소유하지 않은 웹 애플리케이션에 액티브 스캔을 사용하지 말아야 한다고 밝히고 있습니다. 자신이 소유하거나 관리하는 앱, 또는 서면 등으로 명확한 허가를 받은 앱에만 사용하세요. 운영 환경보다는 테스트 환경을 사용하는 것이 더 안전합니다.

QDAST는 어디서부터 시작하면 되나요?
A

자신의 테스트 환경 URL에 대해 OWASP ZAP 베이스라인 스캔부터 시작하세요. 이 스캔은 패시브 방식으로만 동작하여 트래픽을 관찰할 뿐 공격은 수행하지 않습니다. 결과를 검토한 뒤 필요한 경우에만, 그리고 테스트 환경에서만 액티브 스캔으로 넘어가세요.