← 목록으로

SAST vs DAST vs IAST : 세 형제의 보완을위한 보안 테스트, 대용

itadol5j

애플리케이션 보안 테스트의 가장 일반적인 약어는 SAST, DAST, IAST입니다. 많은 사람들의 첫 번째 반응은 "강한 중 하나를 선택했다",하지만 그것은 비열한 제안이었다 — 세 형제는 경쟁하지 않았다, 하지만 다른 관점에서 동일한 문제를 볼. 선택은 누가 더 진보 된 사람에 달려 있지만, 단계에서 당신은 소프트웨어 수명주기에 있습니다, 당신이 찾고 싶은 어떤 종류의 루프홀과 얼마나 많은 곰 수 있습니다.

안전 테스트의 세 가지 방법의 응용 프로그램의 개요

I. FIRST에 대한 설명

  • SAST (액정 응용 보안 테스트)다른 Organiser프로그램을 실행하지 마십시오스캔 소스 코드 / 바이트 코드가 White Box에 속한 루프홀을 찾습니다.
  • 사이트맵다른 Organiser프로그램외부 발사 요청, 가장된 공격은 "블랙 박스"이며 소스 코드가 필요하지 않습니다.
  • IAST (Interactive Application 안전 시험)다른 Organiser내 계정플러그 인 (시약), 흐름 및 코드 컨텍스트와 결합 된, 회색 상자에 속한다.

이 세를 이해하는 열쇠는 각각 다른 질문에 대답하는 것입니다 : SAST는 "코드에 실수가있을 수 있습니까?" DAST는 "시작 할 때 실제로 얻을 수 있습니까?" IAST는 "이 작업에서 데이터 스트림은 위험의 점에 정말 흐릅니다."

SAST: 코드 쓰기 단계에서 문제를 배열

SAST는 소스 코드 (또는 중간 제품을 컴파일)을 직접 분석하고 프로그램을 실행하지 않습니다. 이 장점은 초기 단계에서 문제를 감지 할 수 있습니다, 또는 코드가 제출 될 때, 낮은 수리 비용과 특정 문서와 줄 번호를 찾습니다. "코드는 swept "일 수 있으며 실행 시간 환경에 의존하지 않습니다.

회사 소개: 오류의 비율은 일반적으로 높은 때문에 코드의 특정 번호가 실제 사업에서 트리거 될 것이라는 점을 결정하지 않습니다; 실행할 때만 노출되는 문제 (예를 들어, 구성 오류, 보증 우회, 라이브러리에 의존하는 실제 통화 체인) 완전히 볼 수 없습니다; 소스 코드가 필요하고 타사 폐쇄 소스 구성 요소는 기능되지 않습니다.

일반적인 시나리오 : CI 스트리밍 라인 코드 제출 문은 눈에 보이는 주입, 하드 코딩 키, 위험 함수 호출을 백본으로 방지하기 위해 닫힙니다.

DAST : "나는 정말 작동합니까?"

DAST는 외부에서 요청을 보내기 위해 검은 상자로 대상을 사용하며 공격을 생성하고 응답을 관찰합니다. 그것의 가장 큰 가치는...실제 공격에 가깝습니다.— “실행에 중요한 접근”의 문제는, 상대적으로 낮은 underreporting로 찾아냈습니다. 소스 코드가 필요하지 않습니다, 그래서 타사 구성 요소, 구성 층도 커버 될 수 있습니다.

회사 소개이 웹 사이트는 애플 리케이션에 전념. 우리는 정품 앱과 게임을 제공 할 목적으로이 사이트를 만들었습니다. 4AppsApk 최고의 안드로이드 애플 리케이션을위한 무료 APK 파일 다운로드 서비스, 계략.

일반적인 시나리오 : 온라인을 시작하기 전에 보안 정리, 배포 된 환경의 정기 검사.

IV. IAST: 런타임 플러그, 실제 데이터 흐름과의 맥락을 균형

IAST는 또한 애플리케이션에 임플란트를 주입하여 프로그램을 실행할 때 코드 실행 및 외부 흐름을 관찰합니다. 그것은 어떻게 요청이 들어오는지 볼 수 있습니다, 그리고 데이터가 코드로 흐름, 그래서 그것은 주어질 수 있습니다.inn의 전체 증거를 가져 가라.일반적으로 SAST보다 낮고 정확합니다.

회사 소개대상 환경에서 프로브를 배포할 수 있어야 합니다. (제작 환경에 대한 우려 사항이 필요); 테스트 적용에 대한 의존도, 이는 종종 기능 / 자동화 테스트에 연결되는 코드없이 찾을 수 없습니다. 언어 및 프레임 워크 지원의 차이; 특정 성능 비용.

일반적인 시나리오 : 자동화 된 테스트와 함께 테스트 환경에서 실행되며 모두 기능을 검증하고 출력 안전 결론을 동기화합니다.

내부 코드에서 데이터 흐름 및 호출 스택을 볼

다섯, 하나에 대하여 3.

크기 (mm)사이트맵사이트맵이름 *
시험 목표Source/bytes ( 실행되지 않음)Active Target (외부)작업 응용 (내부 플러그)
관련 제품백색 상자블랙 박스회색 상자
발명의 시간인코딩 / 제출 단계 earliest설치하기테스트/런타임
소스 코드예.필요 없음.필요조건 (plugged 일 수 있습니다)
공급 수준주요 특징이름 *더 보기
위치 정밀도파일/라인URL/ 공용영역에Call Inn / 데이터 스트림
Overwrite 의존제한 (소스 코드 부분을 참조)override 노출 동안 running실행 경로에 의해 제한
일반 장면CI 코드 문 금지온라인에 가기 전에 확인 및 수락.자동화된 테스트

비. 왜 대변보다는 보완성

당신은 함께 세 가지를 넣어 경우, 그들은 그들의 블라인드 영역을 보완 할 수 있습니다:

  • SAST는 코드를 볼 수 있지만 트리거되면 알 수 없습니다. DAST는 트리거 할 수 있지만 문제가있는 것을 알 수 없습니다. 모두 IAST는 코드가 실행되어야합니다.
  • SAST는 일찍, 넓게 및 확고한 덮개를 덮습니다; DAST에는 작은 소음 그러나 늦은 개입, 좁은 적용이 있습니다; 그리고 IAST에는 고정확도가 있고 충분히 잘 달릴 수 있습니다.
  • 그냥 SAST로 이동, “빨간 테이프의 무리” 피로에 취약; DAST로 이동, 루프 홀은 종종 선에 노출; IAST로 이동, 어떤이 도달되지 않는 경로는 블라인드.

현실에 대한 답변은 하나 또는 두 가지가 아니지만 단계별 접근 방식 : 나쁜 맛과 위험의 명확한 패턴을 잼하기 위해 SAST의 초기 사용, 자동화와 함께 IAST와 정확하게 검증되는 IAST의 테스트 단계, 그리고 aggressor의 관점에서 외부 수용을위한 DAST의 업 및 다운 라인 사용. 3개의 superstitions는 뜻깊은 간격 없이 신청 안전 시험 닫히는 반복을 구성합니다.

정적, 동적, 대화식 테스트는 닫히는 원형을 형성합니다.

VII. 농업에 관한 법률

1. 그것을 거래하는 Misreporting

어느 방법, 아무도 보고서를 수정, 아무도하지 않습니다. 명확한 삼기 과정이 있습니다 : 누가 볼 수 있습니다, 얼마나 오래 닫을 수, "수입 위험"을 표시하는 방법. 특히 SAST는 기본 관리가 필요합니다. 그렇지 않으면 역사의 유산은 새로운 문제를 제거 할 것입니다.

Coverage는 공구 상표 보다는 더 중요합니다

IAST의 기능은 테스트에 의해 얼마나 많은 코드가 덮여 있는지에 따라 달라집니다. DAST는 몇 가지 인터페이스가 reptiles에 의해 도달하는 방법에 달려 있습니다. 더 비싼 도구를 대체하기 전에 "감시율"을 측정하는 것이 더 의미입니다.

3. 안전 시험을 1 떨어져 시험으로 대우하지 마십시오 내 계정

안전 시험은 지속적인 R & D 과정에, 오히려 온라인 가기 전에 집중되어야 합니다. CI는 SAST, 시험 환경 IAST, 정기적으로 생산을 위해 DAST를, 그래서 불을 저장하는 인간적인 살에 의존하지 않습니다.

4. 공구의 사이에서 synergies에 초점

이상적인 상태는 결과의 세 가지 유형이 동일한보기로 그룹화 될 수 있다는 것입니다 : 동일한 루프홀, SAST는 코드 위치를 제공합니다, IAST는 데이터 스트림 증거를 제공, DAST 유효성 검사. 3개의 전쟁 섬보다 훨씬 더 가치가 있습니다.

사이트맵 결정의 목록

  • 예.제출 단계그냥 SAST에 명백한 루프홀을 잡고, 문 폐쇄 및 기본에 초점.
  • 확인하기배치 된 시스템은 실제로 공격 할 수 있습니까? • DAST로, 적용 및 로그인 구성에 집중.
  • 보안 결론을 얻으려면.자동화된 테스트로 산출그리고 IAST에 정확히 위치.
  • 제한된 자원은 SAST에 대한 첫 번째 우선 순위로만 사용될 수 있으며, 점차적으로 IAEA / DAST를 완료 할 수 있습니다.
  • "one-size-fits-all, 영구적 인 솔루션"에 대한 검색은 존재하지 않지만 구성 및 프로세스가 답입니다.

SAST는 가능, DAST는 실제, IAST는 특정 — 결합된 완전한 그림입니다.