기타 도구 테스트 안내

사전 구성된 CASA 이외의 검색 도구 사용:

SAST 및 DAST 검사 도구(내부 개발 도구 또는 상용 도구)를 사용하려는 개발자는 다음을 제공해야 합니다.

  • OWASP 벤치마크에 대한 스캔 결과입니다. 스캔 도구는 CASA에 매핑되는 모든 참양성 취약점을 감지해야 합니다(아래 안내 참고).
  • 스캔 정책입니다. 도구 스캔 구성의 내보내기 또는 도구가 스캔한 CWE를 보여주는 스크린샷일 수 있습니다. 

벤치마크 실행 중

벤치마크를 실행하려면 다음이 설치되어 있어야 합니다.

  1. GIT: https://git-scm.com/ 또는 https://github.com/
  2. Maven: https://maven.apache.org/(버전: 3.2.3 이상 작동)
  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 디렉터리에 저장해야 합니다. 

스코어카드 생성기의 출력 파일 이름에 다음을 포함합니다. 

  1. 잘못된 예상 출력이 매핑되지 않도록 하는 벤치마크 버전 번호
  2. 스캔 도구의 이름 
  3. 스캔 도구의 버전 

다음 예시 출력 파일 이름은 'toolname' 버전 3.0을 사용하여 스캔 실행에 매핑되고 벤치마크 버전 1.2와 비교됩니다. 

Benchmark_1.2-toolname-v3.0.xml

벤치마크 점수 생성

다음 네 가지 측정항목을 기준으로 애플리케이션을 벤치마킹합니다.

  1. 참양성: 도구가 실제 취약점을 올바르게 식별함
  2. 거짓음성: 도구가 실제 취약점을 식별하지 못함 
  3. 참음성 – 도구가 오탐을 올바르게 무시합니다.
  4. 거짓음성: 도구가 거짓 알람을 무시하지 못함

벤치마크 스코어카드는 이러한 측정기준에서 스캔 도구의 실적을 보여줍니다. GitHub에서 벤치마크 도구를 다운로드하면 BenchmarkScore 도구가 포함되어 있습니다. 이 도구를 스캔 출력에 적용하면 최종 점수를 요약하는 PNG 그래프가 생성됩니다. 결과 예시는 여기에서 확인할 수 있습니다. 자체 벤치마크 스코어카드를 생성하려면 다음 명령어를 실행합니다.

sh createScorecards.sh

이렇게 하면 /results 디렉터리 내에 각 출력의 스코어카드가 생성됩니다. 생성된 스코어카드는 /scorecard 디렉터리에 저장됩니다. CASA 평가의 일부로 스코어카드를 제출합니다.