API 보안 테스트 분석기

Tier: Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated

웹 API의 Dynamic Application Security Testing (DAST)를 수행하여 기존의 다른 QA 프로세스에서 놓칠 수 있는 버그 및 잠재적 보안 문제를 발견하는 데 도움을 줍니다. API 보안 테스트를 사용하여 GitLab 보안 보안 스캐너 및 귀하의 테스트 프로세스 외에도 기타 작업을 수행할 수 있습니다. DAST API 테스트를 CI/CD 워크플로우의 일부로 실행하거나 온디맨드로 또는 둘 다로 실행할 수 있습니다.

caution
제품 서버에서 API 보안 테스트를 실행하지 마십시오. API에서 수행할 수 있는 모든 기능을 실행할 뿐만 아니라 API에서 버그를 트리거할 수도 있습니다. 이는 데이터를 수정하거나 삭제하는 등의 작업을 포함합니다. API 보안 테스트를 테스트 서버에 대해 실행하십시오.

API 보안 테스트는 다음과 같은 웹 API 유형을 테스트할 수 있습니다:

  • REST API
  • SOAP
  • GraphQL
  • 폼 본문, JSON 또는 XML

API 보안 테스트 스캔 실행 시점

CI/CD 파이프라인에서 실행될 때 API 보안 테스트 스캔은 기본적으로 dast 단계에서 실행됩니다. API 보안 테스트 스캔이 최신 코드를 검토하도록 하려면 CI/CD 파이프라인이 dast 단계 이전 단계에서 테스트 환경으로 변경 사항을 배포하도록 보장하십시오.

파이프라인이 각 실행마다 동일한 웹 서버로 배포되도록 구성되어 있는 경우, 다른 파이프라인이 실행 중일 때 파이프라인을 실행하면 경쟁 조건을 일으킬 수 있습니다. 스캔 중인 API는 스캔 기간 동안의 변경에서 제외되어야 합니다. 스캔 중에 API에 대한 변경은 API 보안 테스트 스캐너에서만 발생해야 합니다. API에 대한 변경(예: 사용자, 예약된 작업, 데이터베이스 변경, 코드 변경, 다른 파이프라인 또는 다른 스캐너)이 스캔 중에 발생하면 정확하지 않은 결과를 초래할 수 있습니다.

예시 API 보안 테스트 스캔 구성

다음 프로젝트는 API 보안 테스트 스캔을 보여줍니다:

지원 받거나 개선 사항 요청하기

특정 문제에 대한 지원을 받으려면 지원 채널을 사용하십시오.

GitLab.com의 GitLab 이슈 트래커는 API 보안 및 API 보안 테스트에 관한 버그 및 기능 제안에 대한 올바른 장소입니다. API 보안 테스트에 관한 새로운 이슈를 열 때 ~"Category:API Security" 레이블을 사용하여 적절한 담당자가 신속하게 검토하도록 하세요. 응답을 받을 시기를 이해하려면 검토 응답 SLO을 참고하십시오.

제출하기 전에 유사한 항목을 찾아서 귀하의 내용을 제시하기 전에 이슈 트래커에서 검색하십시오. 누군가 이미 동일한 문제나 기능 제안을 한 것이기 때문에 좋은 기회가 있습니다. 이에 대한 응원을 이모지 반응이나 토론에 참여하여 표현하십시오.

예상치 못한 동작을 경험하는 경우, CONTEXTUAL INFORMATION을 제공하는 것을 고려해보십시오:

  • Self-Managed형 인스턴스를 사용하는 경우 GitLab 버전.
  • .gitlab-ci.yml 작업 정의.
  • 전체 작업 콘솔 출력.
  • gl-api-security-scanner.log이라는 작업 결과물로 제공되는 스캐너 로그 파일.
caution
지원 이슈에 첨부된 데이터를 보호합니다. 자격 증명, 암호, 토큰, 키 및 비밀을 포함한 민감한 정보를 제거하십시오.

용어집

  • 어서트(assert): 어서션은 취약점을 트리거하는 데 사용되는 감지 모듈입니다. 많은 어서션에는 설정이 있습니다. 체크는 여러 어서션을 사용할 수 있습니다. 예를 들어, 로그 분석, 응답 분석 및 상태 코드는 일반적으로 함께 사용되는 어서션입니다. 여러 어서션을 사용하는 체크는 켜고 끌 수 있습니다.
  • 체크(check): 특정 유형의 테스트를 수행하거나 취약점 유형에 대한 체크를 수행합니다. 예를 들어, SQL Injection 체크는 DAST 테스트를 위해 SQL Injection 취약점을 수행합니다. API 보안 테스트 스캐너는 여러 체크로 구성됩니다. 프로파일에서 체크를 켜고 끌 수 있습니다.
  • 프로파일(profile): 구성 파일에는 하나 이상의 테스트 프로파일이나 하위 구성이 있습니다. 기능 브랜치를 위한 프로파일과 본 브랜치의 추가 테스트를 위한 다른 프로파일이 있을 수 있습니다.