SAST vs DAST vs IAST : 세 형제의 보완을위한 보안 테스트, 대용
애플리케이션 보안 테스트의 가장 일반적인 약어는 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는 특정 — 결합된 완전한 그림입니다.