스캔
Ogma에는 수동형 및 능동형 스캐너가 있습니다. 수동형 스캔은 캡처한 트래픽을 분석합니다. 능동형 스캔은 수정한 요청을 보내고 응답 동작, 시간, 반사, 기준선 비교로 발견 사항을 검증합니다.
수동형 스캐너
수동형 스캐너는 새 트래픽을 보내지 않고 캡처한 HTTP 항목을 평가합니다.
다음과 같은 범주를 탐지합니다.
- SQL, NoSQL, LDAP, 템플릿, 역직렬화, XML 오류 정보 노출.
- 없거나 취약한 보안 헤더.
- 쿠키 플래그 문제.
- CORS 설정 오류.
- 노출된 비밀 정보, 개인 키, 서비스 계정 데이터, webhook, 토큰.
- 노출된 소스 관리 자료, 설정, API 문서 또는 민감한 파일.
none알고리즘, 긴 만료 기간, HMAC 사용 등 JWT 관련 문제.- 느린 응답과 위험한 HTTP 메서드.
수동형 발견 사항은 분류에 유용하지만 여전히 검토가 필요합니다. 헤더와 정책 관련 발견 사항은 애플리케이션의 맥락에 따라 달라지는 경우가 많습니다.
수동형 분석 실행
- 트래픽을 캡처합니다.
- 유틸리티 > 스캐너를 엽니다.
- 수동형 스캐너를 선택합니다.
- 전체 기록 스캔을 클릭합니다.
- 발견 사항에서 생성된 결과를 검토합니다.
사용자 정의 수동형 규칙은 설정 > 스캐너에서 설정합니다.
능동형 스캐너
능동형 스캐너는 요청의 후보 위치에 페이로드를 주입하고 대상 응답을 검증합니다.
구현된 검사 유형:
| 검사 | 확인 방식 |
|---|---|
| SQL 인젝션 | SQL 오류를 찾거나, 시간 기반 페이로드의 경우 측정한 기준선을 넘는 반복 가능한 지연을 확인합니다. |
| 반사형 XSS | HTML 응답에 페이로드가 예상된 인코딩 없이 반사되어야 합니다. |
| 경로 순회 / LFI | 기준선 응답에는 없던 파일 내용 지표가 있어야 합니다. |
| 운영체제 명령 인젝션 | 명령 출력이 있거나, 시간 기반 페이로드의 경우 측정한 기준선을 넘는 반복 가능한 지연이 있어야 합니다. |
| SSTI | 계산 결과가 정해진 템플릿 수학 페이로드를 사용하며, 계산된 결과가 응답에 있어야 합니다. |
| SSRF | 주입한 URL 페이로드에서 메타데이터나 서비스 배너 증거를 얻어야 합니다. |
| 오픈 리다이렉트 | 주입한 외부 도메인을 가리키는 리다이렉트 응답이 있어야 합니다. |
스캐너는 일반적인 200 OK 응답을 취약점의 증거로 취급하지 않도록 설계되어 있습니다.
미구현 검사
능동형 검사 목록에는 미구현으로 표시된 검사가 포함될 수 있습니다. 로드맵을 명확히 보여 주기 위해 표시되지만 발견 사항은 생성하지 않습니다. 현재 백엔드는 대역 외 검증이나 애플리케이션별 검증 없이 XXE와 안전하지 않은 업로드를 자동으로 확인하지 않습니다.
전체 능동형 스캔
전체 능동형 스캔은 다음 위치에 페이로드를 주입하여 최근 캡처한 요청을 테스트합니다.
- 쿼리 매개변수.
- 폼 본문 매개변수.
- JSON 값.
- 경로 세그먼트.
- 활성화된 경우 선택한 헤더.
능동형 스캔 전에 점검 범위를 사용하여 트래픽과 결과를 필요한 대상으로 한정하세요.
권장 워크플로:
- 점검 범위를 정의하고 활성화합니다.
- 대표적인 대상 트래픽을 캡처합니다.
- 수동형 분석부터 시작합니다.
- 전체 능동형 스캔을 사용하기 전에 선택한 요청에 능동형 스캔을 실행합니다.
- 발견 사항에서 입증 요청과 응답 증거를 검토합니다.
- 스캐너 원본 출력을 그대로 보고하지 말고 오탐을 제거합니다.
증거의 품질
품질이 높은 스캐너 발견 사항은 다음 질문에 답해야 합니다.
- 어떤 매개변수나 입력을 테스트했는가?
- 어떤 페이로드를 사용했는가?
- 응답에서 무엇이 달라졌는가?
- 기준선 응답에는 해당 동작이 없었는가?
- 문제를 반복해서 재현할 수 있는가?
- Ogma에 연결된 증거가 있는가?
증거가 불확실하면 신뢰도를 낮추거나 확인될 때까지 결과를 메모로 보관하세요.