differences between sast
이 자습서에서는 네 가지 주요 보안 도구의 차이점을 설명합니다. SAST 대 DAST 및 IAST 대 RASP를 비교합니다.
보안 테스터의 작업을 용이하게하고 개발자가 개발 초기 단계에서 취약점을 감지 할 수 있도록 도와주는 다양한 도구를 쉽게 사용할 수 있으므로 소프트웨어 개발 수명주기 내에서 소프트웨어 보안 측면에서 더 이상 일반적인 비즈니스가 아닙니다.
여기에서는 이러한 4 가지 주요 보안 도구 SAST, DAST, IAST 및 RASP를 분석하고 비교합니다.
학습 내용 :
SAST, DAST, IAST 및 RASP의 차이점
몇 년 동안 소프트웨어 응용 프로그램은 우리가 일하거나 비즈니스를 수행하는 방식에 긍정적 인 영향을 미쳤습니다. 대부분의 웹 애플리케이션은 이제 데이터 보안 및 개인 정보 보안 문제를 야기하는 점점 더 민감한 데이터를 저장하고 처리합니다.
사실 확인 : 에 의해 수행 된 연구에 따르면 Verizon 2020 년에 데이터 침해에 대해 침해의 43 %가 웹 애플리케이션에 대한 공격이었던 반면, 일부 다른 보안 침해는 웹 애플리케이션의 일종의 취약성으로 인한 것이라고보고되었습니다.
이 자습서에서는 개발자와 테스터가 소프트웨어 개발 수명주기의 여러 단계에서 소스 코드의 취약성을 식별하는 데 도움이 될 수 있도록 조직이 사용할 수있는 4 가지 주요 보안 도구를 분석합니다.
이러한 보안 도구에는 다음이 포함됩니다. SAST , DAST , IAST , 과 초조.
(영상 출처 )
SAST 란?
약어 ' SAST” 약자 정적 애플리케이션 보안 테스트 .
많은 사람들이 프로세스를 매우 빠르게 자동화하거나 실행할 수있는 응용 프로그램을 개발하는 경향이 있으며 성능과 사용자 경험을 향상시켜 보안이 부족한 응용 프로그램이 초래할 수있는 부정적인 영향을 잊어 버리는 경향이 있습니다.
보안 테스트는 속도 나 성능이 아니라 취약점을 찾는 것입니다.
왜 공전 ? 이는 애플리케이션이 라이브 및 실행되기 전에 테스트가 수행되기 때문입니다. SAST 전 세계가 발견하기 전에 애플리케이션의 취약성을 감지하는 데 도움이 될 수 있습니다.
작동 원리
SAST 소스 코드를 분석하는 테스트 방법을 사용하여 공격자에게 백도어를 제공 할 수있는 취약성의 흔적을 감지합니다. SAST 일반적으로 코드가 컴파일되기 전에 애플리케이션을 분석하고 스캔합니다.
과정 SAST 일컬어 화이트 박스 테스트 . 취약점이 발견되면 다음 조치는 코드를 확인하고 코드를 컴파일하고 배포하기 전에 코드를 패치하는 것입니다.
화이트 박스 테스트 테스터가 소프트웨어의 내부 구조를 테스트하고 외부 시스템과 어떻게 통합되는지 확인하는 데 사용하는 접근 방식 또는 방법입니다.
DAST 란?
'DAST' 약자 동적 애플리케이션 보안 테스트 . 이것은 보안 취약성을 찾기 위해 웹 애플리케이션을 스캔하는 데 사용되는 보안 도구입니다.
이 도구는 프로덕션에 배포 된 웹 애플리케이션 내부의 취약성을 감지하는 데 사용됩니다. DAST tools 즉시 수정을 위해 할당 된 보안 팀에 항상 경고를 보냅니다.
DAST는 소프트웨어 개발 라이프 사이클의 초기에 통합 할 수있는 도구이며, 그 초점은 조직이 애플리케이션 취약점으로 인한 위험을 줄이고 보호 할 수 있도록 돕는 것입니다.
이 도구는 SAST와 매우 다릅니다. DAST는 블랙 박스 테스트 방법론 , 애플리케이션 소스 코드에 대한 액세스 권한이 없으므로 외부에서 취약성 평가를 수행합니다.
DAST는 SDLC의 테스트 및 QA 단계에서 사용됩니다.
IAST 란?
' IAST” 약자 대화 형 애플리케이션 보안 테스트 .
IAST는 웹 및 모바일 응용 프로그램 모두에서 응용 프로그램이 실행되는 동안에도 문제를 감지하고보고하도록 설계된 응용 프로그램 보안 도구입니다. 누군가가 IAST에 대한 이해를 완전히 이해하려면 먼저 SAST와 DAST가 실제로 무엇을 의미하는지 알아야합니다.
IAST는 SAST와 DAST 모두에 존재하는 모든 제한을 없애기 위해 개발되었습니다. 그것은 그레이 박스 테스트 방법론 .
IAST가 정확히 작동하는 방식
IAST 테스트는 애플리케이션이 스테이징 환경에서 실행되는 동안 DAST와 마찬가지로 실시간으로 수행됩니다. IAST는 보안 문제를 일으키는 코드 줄을 식별하고 즉시 수정하도록 개발자에게 신속하게 알릴 수 있습니다.
IAST는 SAST와 마찬가지로 소스 코드를 확인하지만 코드가 빌드되는 동안 발생하는 SAST와 달리 빌드 후 단계에 있습니다.
IAST 에이전트는 일반적으로 애플리케이션 서버에 배포되며 DAST 스캐너가 취약점을보고하여 작업을 수행 할 때 배포 된 IAST 에이전트는 이제 소스 코드에서 문제의 줄 번호를 반환합니다.
IAST 에이전트는 애플리케이션 서버에 배포 할 수 있으며 QA 테스터가 수행하는 기능 테스트 중에 에이전트는 위험 여부에 관계없이 애플리케이션 내부의 데이터 전송이 따르는 모든 패턴을 연구합니다.
예를 들면 , 데이터가 사용자로부터 들어오고 사용자가 요청에 SQL 쿼리를 추가하여 애플리케이션에서 SQL 주입을 수행하려는 경우 해당 요청은 위험한 것으로 플래그 지정됩니다.
RASP 란?
' RASP ' 약자 런타임 애플리케이션 자체 보호 .
초조 보안 공격을 방지하기 위해 내부 및 외부 트래픽과 최종 사용자 행동 패턴을 분석하기 위해 애플리케이션에 통합 된 런타임 애플리케이션입니다.
이 도구는 제품 출시 후 RASP가 사용되기 때문에 다른 도구와 다릅니다. 테스트 용으로 알려진 다른 도구와 비교할 때 보안에 중점을 둔 도구입니다.
RASP는 웹 또는 애플리케이션 서버에 배포되어 내부 및 외부 트래픽 동작을 모두 모니터링하고 분석하기 위해 실행되는 동안 기본 애플리케이션 옆에 배치됩니다.
문제가 발견되는 즉시 RASP는 보안 팀에 경고를 보내고 요청하는 개인에 대한 액세스를 즉시 차단합니다.
RASP를 배포하면 일부 알려진 취약점의 특정 서명에만 의존하거나 기다리지 않기 때문에 다양한 공격으로부터 전체 애플리케이션을 보호합니다.
초조 애플리케이션에 대한 다양한 공격의 모든 세부 사항을 관찰하고 애플리케이션 동작을 알고있는 완벽한 솔루션입니다.
SDLC 초기에 취약성 감지
애플리케이션의 결함과 취약성을 방지하는 한 가지 좋은 방법은 처음부터 애플리케이션에 보안을 구축하는 것입니다. 즉, SDLC 보안을 통한 모든 것이 가장 중요합니다.
개발자가 보안 코딩을 구현하는 것을 절대로 줄이지 말고 SDLC 초반부터이 보안을 구현하는 방법을 교육하십시오. 애플리케이션 보안은 보안 엔지니어를위한 것이 아니라 일반적인 노력입니다.
한 가지는 매우 기능적이고 빠르며 환상적으로 잘 수행되는 앱을 구축하는 것이고 다른 한 가지는 사용을 위해 애플리케이션을 안전하게 유지하는 것입니다. 아키텍처 설계 검토 회의를 수행 할 때 제안 된 아키텍처 설계의 위험 분석을 수행하는 데 도움을 줄 보안 전문가를 포함합니다.
이러한 검토는 항상 개발 프로세스 초기에 아키텍처 결함을 식별하여 지연된 릴리스를 방지하고 나중에 발생할 수있는 문제에 대한 솔루션을 찾는 데있어 조직의 비용과 시간을 절약 할 수 있습니다.
SAST 개발자가 통합 할 수있는 매우 훌륭한 보안 도구입니다. 여기. 이것은 개발자가 코드를 컴파일하기 전에 초기에 취약점을 발견 할 수 있도록 도와주는 매우 훌륭한 정적 분석 도구입니다.
개발자가 코드를 컴파일하기 전에 항상 보안 코드 검토 세션 . 이와 같은 코드 검토 세션은 일반적으로 구원의 은혜이며 시스템에 취약성을 유발할 수있는 구현 결함에 대한 첫 번째 방어선을 제공합니다.
소스 코드에 액세스 할 수 있으면 다음과 같은 정적 분석 도구를 사용하십시오. SAST 수동 코드 검토 세션에서 놓친 추가 구현 버그를 감지합니다.
SAST Vs DAST Vs IAST Vs RASP 중에서 선택
선택을하라는 요청을 받으면 차라리 그들 모두를 위해 갈 것입니다. 하지만 자본 집약적이지 않습니까?
웹 페이지를 테스트하는 방법
어쨌든 보안은 비용이 많이 들고 많은 조직이이를 피합니다. 장기적으로 문제를 해결하는 데 더 많은 비용이들 수있는 애플리케이션 보안을 방지하기 위해 너무 비싸다는 변명을 사용합니다.
SAST , DAST , 및 IAST 모두를 수행 할 재정적 백본이 있다면 문제없이 서로를 보완 할 수있는 훌륭한 도구입니다. 보안 전문가는 더 나은 적용 범위를 보장하기 위해 이러한 도구 중 두 개 이상을 항상 사용하도록 지원하며 이는 결과적으로 프로덕션의 취약성 위험을 낮 춥니 다.
SDLC가 수년 동안 민첩한 접근 방식을 빠르게 채택하고 있으며 일반적인 기존 테스트 방법이 개발 속도를 따라갈 수 없다는 데 동의 할 것입니다.
SDLC의 초기 단계에서 자동화 된 테스트 도구를 사용하면 최소한의 비용과 시간으로 애플리케이션 보안을 크게 향상시킬 수 있습니다.
그러나 이러한 도구는 다른 모든 보안 코딩 관행을 대체하기위한 것이 아니라 보안 애플리케이션으로 커뮤니티를 달성하려는 노력의 일부입니다.
이러한 도구가 서로 다른 몇 가지 방법을 확인해 보겠습니다.
SAST 대 DAST
SAST | DAST |
---|---|
소스 코드 애플리케이션 프레임 워크, 디자인 및 구현에 액세스 할 수있는 화이트 박스 테스트입니다. 전체 응용 프로그램은 내부부터 테스트됩니다. 이러한 유형의 테스트를 종종 개발자 접근 방식이라고합니다. | 이것은 애플리케이션, 소스 코드 및 디자인을 구성하는 내부 프레임 워크에 액세스 할 수없는 블랙 박스 테스트입니다. 애플리케이션 테스트는 외부에서 이루어집니다. 이러한 유형의 테스트를 종종 해커 접근 방식이라고합니다. |
SAST는 설치할 필요가 없으며 작동하려면 소스 코드가 필요합니다. 일반적으로 응용 프로그램을 실행하지 않고 소스 코드를 직접 분석합니다. | DAST는 애플리케이션 서버에 배포되어야하며 작동하기 전에 소스 코드에 액세스 할 필요가 없습니다. 애플리케이션을 스캔하기 위해 실행해야하는 도구 일뿐입니다. |
이것은 SDLC에서 매우 초기에 취약점을 찾는 데 사용되는 도구입니다. 코드가 작성되는 즉시 구현됩니다. 통합 개발 환경의 취약점을 지적합니다. | 이것은 코드가 컴파일되고 전체 애플리케이션에서 취약점을 검색하는 데 사용 된 후에 만 사용됩니다. |
이 도구는 비용이 많이 들지 않습니다. 취약성은 일반적으로 SDLC의 초기 단계에 있기 때문에 수정이 더 빨라지고 코드가 실행되기 전에 처리됩니다. | 이 도구는 일반적으로 SDLC가 끝날 무렵에 취약성이 발견되기 때문에 비용이 많이 듭니다. 응급 상황을 제외하고 일반적으로 치료는 실시간으로 수행되지 않습니다. |
이 도구는 런타임 취약점을 발견하기 어렵게하는 정적 코드 만 스캔합니다. | 이 도구는 동적 분석을 사용하여 애플리케이션을 스캔하여 런타임 취약점을 찾습니다. |
이것은 모든 응용 프로그램을 지원합니다. | 이것은 웹 앱과 같은 응용 프로그램 만 스캔하며 다른 소프트웨어에서는 작동하지 않습니다. |
IAST 대 RASP
IAST | 초조 |
---|---|
이것은 주로 보안 테스트 도구로 사용됩니다. 보안 취약점을 찾습니다. | 보안 테스트 도구로만 사용되는 것이 아니라 함께 실행하여 전체 애플리케이션을 보호하는 데 사용됩니다. 이는 모든 공격에 대해 애플리케이션을 모니터링합니다. |
이는 SAST의 런타임 분석 결과를 사용하여 SAST의 정확성을 지원합니다. | 실시간으로 위협을 식별하고 차단하는 도구입니다. 이 활동은 도구가 기본 애플리케이션에 있고이를 보호하기 때문에 사람의 개입도 필요하지 않습니다. |
점차 수용되고 있으며 에이전트 배포가 필요합니다. | 아직 승인되지 않았으며 에이전트 배포가 필요합니다. |
제한된 언어 지원이 있습니다. | 언어 나 플랫폼에 의존하지 않습니다. |
이 도구는 소스 코드, 런타임 제어 및 애플리케이션을 구성하는 모든 프레임 워크의 분석을 위해 통합하기가 매우 쉽습니다. | 이 도구는 애플리케이션과 원활하게 통합되며 WAF와 같은 네트워크 수준 보호에 의존하지 않습니다. |
이 도구는 SAST 및 DAST 기능의 조합에서 최상의 결과를 이끌어 내며 더 넓은 범위에서 취약점을 발견하는 데 도움이됩니다. | 광범위한 취약성을 다룹니다. |
다음과 같은 기술에서 관찰 할 수있는 몇 가지 제약에도 불구하고 SAST , DAST , IAST, 과 초조 , 이러한 자동화 된 보안 도구를 사용하면 항상 더 안전한 소프트웨어를 보장하고 나중에 발견되는 취약성을 수정하는 데 드는 높은 비용을 절약 할 수 있습니다.
(영상 출처 )
보안 도구를 DevOps에 통합해야 함
개발, 운영 및 보안을 함께 결합하고 공동 작업을 수행하면 본질적으로 설정됩니다. DevSecOps.
DevSecOps를 사용하면 모든 공격이나 위협으로부터 애플리케이션을 보호하는 데 도움이되는 전체 애플리케이션 개발 프로세스에 보안을 통합 할 수 있습니다.
DevSecOps 현재 많은 조직에서 애플리케이션을 출시하는 속도가 놀라 울 정도로 빠르게 증가하고 있습니다. 고객의 수요가 높기 때문에 비난받을 수 없습니다. 이제 자동화는 DevOps의 필수 요소이며 보안 도구를 동일한 프로세스에 통합하는 동안 차이가 없습니다.
모든 수동 프로세스가 이제 devops로 대체되는 것처럼, 다음과 같은 도구로 대체 된 보안 테스트에도 동일하게 적용됩니다. SAST , DAST , IAST , 초조 .
현재 모든 보안 도구의 일부인 Devops 매우 높은 수준에서 보안을 수행하고 지속적 통합 및 지속적 전달을 달성 할 수 있어야합니다.
SAST , DAST , IAST, 과 초조 보안 아키텍트가 테스트했으며 현재 DevOps 설정에서 높은 기반을 구축하고 있습니다. 그 이유는 이러한 도구를 사용하기 쉽고 민첩한 세상에 빠르게 배포 할 수 있기 때문입니다.
이 도구가 취약성에 대한 소프트웨어 구성 분석을 수행하는 데 사용 되든 자동화 된 코드 검토를 수행하는 데 사용 되든 테스트는 빠르고 정확해야하며 개발 팀이 보고서를 쉽게 사용할 수 있어야합니다.
자주 묻는 질문
Q # 1) SAST와 DAST의 차이점은 무엇입니까?
답 : SAST 정적 응용 프로그램 보안 테스트를 의미합니다. 화이트 박스 테스트 방법 및 소스 코드를 직접 분석합니다. 한편 DAST는 Dynamic Application Security Testing을 의미합니다. 블랙 박스 테스트 런타임에 취약점을 찾는 방법.
Q # 2) IAST 테스트 란 무엇입니까?
답변 : IAST 앱이 실행되는 동안 코드에서 보안 취약점을 분석하는 대화 형 애플리케이션 보안 테스트를 의미합니다. 일반적으로 응용 프로그램 서버의 주 응용 프로그램과 함께 배포됩니다.
Q # 3) SAST의 전체 형식은 무엇입니까?
답 : SAST 정적 애플리케이션 보안 테스트를 의미합니다.
Q # 4)이 네 가지 중 가장 좋은 접근 방식 또는 보안 도구는 무엇입니까?
대답: 가장 좋은 방법은 일반적으로 재정력이이를 수행 할 수있는 경우 이러한 모든 도구를 구현하는 것입니다. 이러한 모든 도구를 구현하면 소프트웨어를 안정적이고 취약성에서 벗어날 수 있습니다.
결론
이제 애자일 환경의 빠른 속도로 인해 보안 프로세스를 자동화해야 할 필요성이 생겼음을 알 수 있습니다. 보안은 저렴하지 않습니다. 보안도 중요합니다.
일상적인 개발에서 보안 도구의 사용을 과소 평가해서는 안됩니다. 보안 도구는 항상 애플리케이션에 대한 공격 발생을 사전에 차단하기 때문입니다. 소프트웨어를보다 안전하게 보호하기위한 최선의 접근 방식 인 SDLC에 가능한 한 빨리 도입하도록 시도하십시오.
따라서 올바른 AST 솔루션을 결정하기 위해서는 속도, 정확성, 적용 범위 및 비용 간의 적절한 균형을 찾는 것이 포함됩니다.
추천 도서
- Jenkins Security : 보안 활성화 및 프로젝트 보안 매트릭스
- 네트워크 보안 테스트 및 최고의 네트워크 보안 도구
- 블랙 박스 테스트와 화이트 박스 테스트의 주요 차이점
- 엔드 포인트 보호를위한 2021 년 최고의 EDR 보안 서비스 10 개
- 2021 년 최고의 모바일 앱 보안 테스트 도구 10 가지
- 10 BEST 네트워크 보안 소프트웨어 (2021 TOP SELECTIVE ONLY)
- 2021 년 전문가들이 사용하는 19 가지 강력한 침투 테스트 도구
- 모바일 앱 보안 테스트 지침