사전 구성된 CASA 이외의 검색 도구 사용:
SAST 및 DAST 검사 도구(내부 개발 도구 또는 상용 도구)를 사용하려는 개발자는 다음을 제공해야 합니다.
- OWASP 벤치마크에 대한 스캔 결과입니다. 스캔 도구는 CASA에 매핑되는 모든 참양성 취약점을 감지해야 합니다(아래 안내 참고).
- 스캔 정책입니다. 도구 스캔 구성의 내보내기 또는 도구가 스캔한 CWE를 보여주는 스크린샷일 수 있습니다.
벤치마크 실행 중
벤치마크를 실행하려면 다음이 설치되어 있어야 합니다.
- GIT: https://git-scm.com/ 또는 https://github.com/
- Maven: https://maven.apache.org/(버전: 3.2.3 이상 작동)
- Java: https://www.oracle.com/java/technologies/javase-downloads.html (Java 7 또는 8) (64비트)
CASA를 위해 DAST 또는 SAST 검사 도구의 벤치마크 스코어카드를 생성하고 제출해야 합니다. 벤치마크에는 테스트가 많이 포함되어 있으며 검사하는 데 시간이 걸릴 수 있습니다.
다음 명령어를 실행하여 벤치마크 애플리케이션을 다운로드하고 실행합니다.
$ git clone https://github.com/OWASP-Benchmark/BenchmarkJava $ cd benchmark $ mvn compile $ runBenchmark.sh
벤치마크는 https://localhost:8443/benchmark/에서 실행됩니다. 이는 DAST 검사의 타겟으로 사용할 수 있습니다. 이제 벤치마크 소스 코드 및 런타임 애플리케이션에 원하는 도구를 실행할 수 있습니다. 결과는 벤치마크 저장소의 /results 디렉터리에 저장해야 합니다.
스코어카드 생성기의 출력 파일 이름에 다음을 포함합니다.
- 잘못된 예상 출력이 매핑되지 않도록 하는 벤치마크 버전 번호
- 스캔 도구의 이름
- 스캔 도구의 버전
다음 예시 출력 파일 이름은 'toolname' 버전 3.0을 사용하여 스캔 실행에 매핑되고 벤치마크 버전 1.2와 비교됩니다.
Benchmark_1.2-toolname-v3.0.xml
벤치마크 점수 생성
다음 네 가지 측정항목을 기준으로 애플리케이션을 벤치마킹합니다.
- 참양성: 도구가 실제 취약점을 올바르게 식별함
- 거짓음성: 도구가 실제 취약점을 식별하지 못함
- 참음성 – 도구가 오탐을 올바르게 무시합니다.
- 거짓음성: 도구가 거짓 알람을 무시하지 못함
벤치마크 스코어카드는 이러한 측정기준에서 스캔 도구의 실적을 보여줍니다. GitHub에서 벤치마크 도구를 다운로드하면 BenchmarkScore 도구가 포함되어 있습니다. 이 도구를 스캔 출력에 적용하면 최종 점수를 요약하는 PNG 그래프가 생성됩니다. 결과 예시는 여기에서 확인할 수 있습니다. 자체 벤치마크 스코어카드를 생성하려면 다음 명령어를 실행합니다.
sh createScorecards.sh
이렇게 하면 /results 디렉터리 내에 각 출력의 스코어카드가 생성됩니다. 생성된 스코어카드는 /scorecard 디렉터리에 저장됩니다. CASA 평가의 일부로 스코어카드를 제출합니다.