동적 애플리케이션 보안 테스트

Dynamic application security testing

DAST(Dynamic Application Security Testing, DAST)는 특정 기법을 사용하여 애플리케이션을 평가할 수 있는 비기능 테스트 프로세스로서, 이러한 테스트 프로세스의 최종 결과는 애플리케이션에 존재하는 보안 취약점 및 취약점을 다룬다.이 테스트 프로세스는 수동 또는 자동화된 도구를 사용하여 수행할 수 있다.응용 프로그램의 수동 평가에는 자동화된 도구에서 미끄러질 수 있는 보안 결함을 식별하기 위한 더 많은 사람의 개입이 필요하다.일반적으로 비즈니스 논리 오류, 레이스 상태 점검 및 특정 제로 데이 취약성은 수동 평가를 통해서만 식별할 수 있다.한편, DAST 도구는 웹 프런트 엔드를 통해 웹 어플리케이션과 통신하여 웹 프런트 엔드를 통해 웹 어플리케이션의 잠재적인 보안 취약점 및 아키텍처 취약점을 파악하는 프로그램이다.[1]블랙박스 테스트를 실시한다.정적 애플리케이션 보안 테스트 도구와 달리 DAST 도구는 소스 코드에 액세스할 수 없으므로 실제로 공격을 수행하여 취약성을 탐지한다.

DAST 도구를 사용하면 호스트 이름, 탐색 매개 변수 및 인증 정보로 구성된 후에는 최소한의 사용자 상호 작용으로 취약성을 탐지하여 정교한 검색을 수행할 수 있다.이러한 도구는 쿼리 문자열, 헤더, 조각, 동사(GET/POST/PUT) 및 DOM 주입의 취약성을 탐지하려고 시도할 것이다.

개요

DAST 도구는 보안 취약점 발견이라는 명확한 목적을 가지고 웹 애플리케이션의 자동 검토를 촉진하며 다양한 규제 요건을 준수해야 한다.웹 애플리케이션 스캐너는 입출력 검증(예: 사이트스크립팅SQL 주입), 특정 애플리케이션 문제 및 서버 구성 오류와 같은 다양한 취약성을 찾을 수 있다.

보안 벤더인 Cenzic이 2012년 3월에 발행한 저작권이 있는 보고서에서 최근 시험한 애플리케이션에서 가장 일반적인 애플리케이션 취약성은 다음과 같다.[2]

37% 사이트 간 스크립팅
16% SQL 주입
5% 경로공개
5% 서비스 거부
4% 코드 실행
4% 메모리 손상
4% 사이트 간 요청 위조
3% 정보공개
3% 임의 파일
2% 로컬 파일 포함
1% 원격 파일 포함
1% 버퍼 오버플로
15% 기타(PHP 주입, Javascript 주입 등)

상용 및 오픈 소스 스캐너

상업용 스캐너는 구입해야 하는 웹 평가 도구의 범주다.일부 스캐너는 일부 무료 기능을 포함하지만 대부분의 스캐너는 툴의 전원에 완전히 액세스하기 위해 구입해야 한다.

오픈소스 스캐너는 종종 사용자에게 비용이 들지 않는다.

보안 연구원인 셰이 첸은 이전에 상용 웹 애플리케이션 보안 스캐너와 오픈 소스 웹 애플리케이션 보안 스캐너의 전체 목록을 작성했다.[3]이 목록은 또한 각각의 스캐너가 WAVSEP에 대한 벤치마킹 테스트 동안 어떻게 수행되었는지를 강조한다.

WAVSEP 플랫폼은 공개적으로 이용할 수 있으며, 웹 애플리케이션 스캐너의 다양한 측면, 즉 기술 지원, 성능, 정확성, 커버리지 및 결과 일관성을 평가하는 데 사용할 수 있다.[4]

DAST 강점

이러한 도구는 배송 전에 최종 릴리스 후보 버전의 취약성을 탐지할 수 있다.스캐너는 공격과 탐색을 통해 악의적인 사용자를 시뮬레이션하여 예상 결과 집합의 일부가 아닌 결과를 식별하여 현실적인 공격 시뮬레이션을 가능하게 한다.[5]이러한 유형의 툴의 큰 장점은 연중 내내 검색하여 취약점을 지속적으로 검색할 수 있다는 것이다.새로운 취약성이 정기적으로 발견됨에 따라 기업은 취약점을 찾아 패치한 후 악용될 수 있다.[6]

동적 테스트 도구로서 웹 스캐너는 언어에 의존하지 않는다.웹 애플리케이션 스캐너는 엔진 구동 웹 애플리케이션을 스캔할 수 있다.공격자는 동일한 도구를 사용하므로 도구가 취약성을 찾을 수 있으면 공격자도 사용할 수 있다.

DAST 약점

DAST 도구를 사용하여 스캔하는 동안 데이터를 덮어쓰거나 대상 사이트에 악의적인 페이로드(payload)를 주입할 수 있다.생산 환경에서 데이터를 보호하는 동시에 정확한 결과를 보장하기 위해 생산과 유사하지만 비생산 환경에서 사이트를 스캔해야 한다.

툴은 동적 시험 방법을 구현하고 있기 때문에 응용 프로그램의 소스 코드의 100%를 커버할 수 없으며, 그 다음에 응용 프로그램 자체를 커버할 수 없다.침투 테스터는 도구가 올바르게 구성되었는지 또는 웹 응용 프로그램을 이해할 수 있는지 여부를 알기 위해 웹 응용 프로그램 또는 공격 표면의 범위를 검토해야 한다.

이 도구는 특정 취약성에 대한 모든 변형 공격을 구현할 수 없다.따라서 도구는 일반적으로 미리 정의된 공격 목록을 가지고 있으며 테스트된 웹 애플리케이션에 따라 공격 페이로드(payload)를 생성하지 않는다.일부 도구는 JavaScript, 플래시 등 동적 콘텐츠를 가진 어플리케이션의 동작에 대한 이해도 상당히 제한적이다.

A report from 2012 found that the top application technologies overlooked by most Web application scanners includes jQuery, REST, and Google WebToolkit in AJAX applications, Flash Remoting (AMF) and HTML5, as well as mobile apps and Web Services using JSON and REST. XML-RPC and SOAP technologies used in Web services, and complex workflows such as s호핑 카트 및 XSRF/CSRF 토큰.[7][8]

참조

  1. ^ Web Application Security Scanner 평가 기준 버전 1.0, WASC, 2009
  2. ^ "2012 Trends Report: Application Security Risks". Cenzic, Inc. 11 March 2012. Archived from the original on 17 December 2012. Retrieved 9 July 2012.
  3. ^ 클라우드와 사내 Web Application Security Scanning Solutions의 비교SecToolMarket.com 2017-03-17 검색
  4. ^ WAVSEP 플랫폼 2017-03-17 검색
  5. ^ "SAST vs DAST". G2 Research Hub. Archived from the original on 2020-05-03.
  6. ^ "The Importance of Regular Vulnerability Scanning". AppCheck Ltd. Archived from the original on 2020-08-06.
  7. ^ 현대기술이 도전하는 웹 애플리케이션 스캐너.SecurityWeek.Com(2012-10-25).2014-06-10년에 검색됨
  8. ^ 2020-11-04년에 검색된 웹 애플리케이션 보안 테스트

외부 링크