토픽 127 / 192·소프트웨어 표준과 법제도
SAST/DAST (정적/동적 애플리케이션 보안 테스트)
SAST/DAST (정적/동적 애플리케이션 보안 테스트)
애플리케이션 보안 취약점을 탐지하는 테스트 기법으로, SAST는 소스 코드를 정적 분석하고, DAST는 실행 중인 애플리케이션을 동적으로 테스트하여 보안 결함을 발견
목적: 보안 취약점 조기 발견, 보안 품질 향상, DevSecOps 구현, 규제 준수
SAST (Static Application Security Testing)
- •정의: 소스 코드, 바이너리, 바이트코드를 실행 없이 분석
- •시점: 개발 초기, 코드 커밋/빌드 시
- •장점: 조기 발견, 정확한 위치 식별, 개발자 친화적
- •단점: False Positive 많음, 런타임 취약점 미탐지, 언어별 도구 필요
- •도구: SonarQube, Checkmarx, Fortify, Veracode, Snyk Code
DAST (Dynamic Application Security Testing)
- •정의: 실행 중인 애플리케이션을 외부에서 공격하여 테스트
- •시점: 테스트/스테이징 환경, 배포 후
- •장점: 실제 취약점 발견, 기술 독립적, False Positive 적음
- •단점: 조기 발견 어려움, 취약점 위치 불명확, 실행 환경 필요
- •도구: OWASP ZAP, Burp Suite, AppScan, Netsparker
IAST (Interactive AST): SAST + DAST 결합, 런타임 코드 분석, 에이전트 기반
DevSecOps 통합: CI/CD 파이프라인에 SAST(빌드 시) + DAST(배포 후) 자동화
장점: 포괄적 보안 검증, 자동화 가능, 규제 준수
단점: 도구 비용, 설정 복잡, False Positive 분석 필요
적용사례: 금융, 의료, 정부, OWASP Top 10 대응
비교: SAST(코드분석/조기발견/FP많음) vs DAST(실행분석/런타임/FP적음) vs IAST(하이브리드) vs SCA(의존성)
연관: DevSecOps, OWASP, 취약점 관리, CI/CD, 보안 테스트