View a markdown version of this page

코드 검토의 결과 검토 - AWS 보안 에이전트

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

코드 검토의 결과 검토

코드 검토 실행이 완료되면 실행 요약 및 보안 조사 결과를 검토하여 소스 코드의 취약성을 파악합니다. 각 결과에는 보안 문제의 우선 순위를 지정하고 해결하는 데 도움이 되는 설명, 심각도 등급, 코드 위치, 위험 추론 및 제안된 수정 사항이 포함되어 있습니다.

사전 조건

시작하기 전에 다음을 갖추었는지 확인하세요.

  • 완료되었거나 진행 중인 코드 검토 실행

  • AWS Security Agent 웹 애플리케이션에 대한 액세스

1단계: 코드 검토 실행에 액세스

완료된 코드 검토 실행으로 이동하여 요약 및 조사 결과를 봅니다.

  1. AWS Security Agent 웹 애플리케이션에 로그인합니다.

  2. 왼쪽 사이드바에서 코드 검토를 선택합니다.

  3. 검사하려는 코드 검토를 선택합니다.

  4. 모든 실행 테이블에서 시작 시간 링크를 클릭하여 완료된 실행을 선택합니다. 또는 실행 모니터링을 선택하여 최신 실행을 봅니다.

2단계: 실행 진행 상황 모니터링

단계 표시기를 사용하여 코드 검토 실행 진행 상황을 추적합니다.

  1. 페이지 헤더 아래에서 가로 단계 표시기를 찾습니다.

  2. 각 단계의 상태를 검토합니다.

    • Preflight - 소스 코드에 대한 액세스를 검증하고 스캔 환경을 설정합니다. 검사에는 서비스 인프라 설정, S3 소스 액세스 검증 및 GitHub 액세스 검사를 포함하는 테스트 환경 설정이 포함됩니다.

    • 정적 분석 - 소스 코드에서 보안 취약성 및 요구 사항 위반을 스캔합니다.

    • 시뮬레이션된 검증(선택 사항) - 활성화하면 시뮬레이션된 환경을 프로비저닝하고 실행 중인 애플리케이션에 대해 발견된 취약성을 악용하려고 시도합니다.

    • 완료 - 결과를 컴파일하고 결과 요약을 생성합니다.

참고

각 단계에는 상태 표시기(완료됨 또는 진행 중)가 표시됩니다. 모든 단계에 완료됨이 표시되면 실행이 완료된 것입니다. 시뮬레이션된 검증 단계는 코드 검토 생성 중에 시뮬레이션된 검증을 활성화한 경우에만 나타납니다.

3단계: 실행 요약 검토

코드 검토 실행 탭으로 이동하여 상위 수준 결과를 확인합니다.

  1. 코드 검토 실행 탭을 선택합니다.

  2. 실행 요약 섹션에서는 실행 상태, 기간 및 기타 상위 수준 세부 정보를 제공합니다. 또한 심각도 수준 및 위험 유형별로 분류된 보안 조사 결과의 대시보드를 제공합니다.

  3. AWS Security Agent의 애플리케이션 개요는 실행이 완료될 때 코드 검토 스캔의 요약을 제공합니다.

4단계: 사전 처리 결과 검토

Preflight 탭으로 이동하여 모든 소스 액세스 검사가 통과되었는지 확인합니다.

  1. Preflight 탭을 선택합니다.

  2. 완료된 점검 수를 보여주는 Preflight 진행률 표시기를 검토합니다.

  3. 각 점검에 성공 상태가 표시되는지 확인합니다.

    • 서비스 인프라 설정 - 테스트 환경이 준비되었는지 확인합니다.

    • S3 소스 액세스 검증 - S3 소스 코드에 대한 액세스를 확인합니다(해당하는 경우).

    • 테스트 환경 설정 - 분석 환경이 구성되어 있는지 확인합니다.

참고

사전 검사에 실패하면 실행이 정적 분석으로 진행되지 않습니다. 검사 세부 정보를 검토하여 액세스 문제를 식별하고 해결한 다음 새 실행을 시작합니다.

5단계: 코드 검토 로그 검토

코드 검토 로그 탭으로 이동하여 분석 중에 AWS Security Agent가 수행한 작업을 확인합니다.

  1. 코드 검토 로그 탭을 선택합니다.

  2. 왼쪽 패널에서 작업 목록을 찾습니다.

  3. 작업을 선택하여 오른쪽 패널에서 세부 로그를 봅니다.

작은 정보

검색 필드를 사용하여 이름을 기준으로 작업을 필터링합니다. 로그는 AWS Security Agent가 조사한 내용과 결론에 도달한 방식에 대한 통찰력을 제공합니다.

6단계: 조사 결과로 이동

결과 탭을 선택하여 실행의 모든 보안 결과를 봅니다.

참고
기본 신뢰도 필터

기본적으로 에이전트 신뢰도가 높은 결과만 표시됩니다. 중간 또는 낮은 에이전트 신뢰도와 거짓 긍정으로 조사 결과를 표시하려면 확인되지 않은 조사 결과 숨기기 토글을 끕니다.

  1. 조사 결과 탭을 선택합니다.

  2. 조사 결과는 왼쪽에 조사 결과 목록이 있고 오른쪽에 선택한 조사 결과의 세부 정보가 있는 분할 보기에 표시됩니다.

  3. 각 결과 카드에 표시된 정보를 검토합니다.

    • 조사 결과 제목 - 보안 문제를 요약하는 설명이 포함된 이름입니다.

    • 심각도 배지 - 색상으로 구분된 심각도 지표:

      • 심각(빨간색) - 즉각적인 조치가 필요합니다. 악용 시 시스템 손상으로 이어질 수 있습니다.

      • 음(빨간색) - 즉각적인 주의가 필요합니다. 악용 시 상당한 보안 영향이 발생할 수 있습니다.

      • 중간(주황색) - 적절한 기간 내에 해결해야 합니다. 전반적인 보안 위험에 기여합니다.

      • 낮음(노란색) - 정기 유지 관리의 일부로 해결할 수 있으며 즉각적인 위험을 최소화합니다.

    • 최종 업데이트 - 조사 결과가 마지막으로 업데이트된 시점의 타임스탬프

7단계: 결과 세부 정보 검토

개별 조사 결과를 선택하여 각 취약성에 대한 포괄적인 정보를 봅니다.

  1. 왼쪽 패널에서 결과를 선택하여 오른쪽 패널에 세부 정보를 표시합니다.

  2. 사용 가능한 작업을 검토합니다.

    • 결과 해결 - 해결한 후 결과를 해결된 것으로 표시합니다.

    • 코드 수정 - 수정을 사용하여 풀 요청 생성(GitHub 소스에 사용 가능)

  3. 이 결과가 정확했나요?를 사용하여 피드백을 제공하세요. - 향후 분석 정확도를 높이려면 또는 아니요를 선택합니다.

  4. 개요 섹션에서 주요 속성을 검토합니다.

    • 에이전트 신뢰도 - AWS Security Agent가이 조사 결과에서 갖는 신뢰도 수준

    • 심각도 - 색상으로 구분된 배지가 있는 위험 수준

    • 위험 유형 - 보안 위험 범주

    • 검증 상태 - 시뮬레이션된 검증이 활성화되면 실행 중인 환경에서 결과가 악용 가능한 것으로 확인되었는지 여부를 나타냅니다.

      • 확인됨 - 시뮬레이션된 환경에서 취약성이 성공적으로 악용되었습니다.

      • 재현되지 않음 - 대상 런타임에서 취약성을 악용할 수 없음

      • 검증 실패 - 오류로 인해 검증 시도가 결정적이지 않았습니다.

      • 검증되지 않음 -이 결과에 대해 시뮬레이션된 검증이 수행되지 않았습니다. 이는 검증이 활성화되지 않았거나이 결과에 도달하기 전에 검증 단계가 시간 초과된 경우에 발생합니다.

    • 해결됨 - 조사 결과가 해결되었는지 여부(예/아니요)

    • 최종 업데이트 - 최신 업데이트의 타임스탬프

  5. 설명 섹션을 확장하여 다음을 읽습니다.

    • 보안 문제에 대한 자세한 설명

    • 취약성을 악용할 수 있는 방법

    • 애플리케이션에 미치는 잠재적 영향

    • 에이전트가 결과를 확인하기 위해 수행한 확인 단계

  6. 코드 위치 섹션을 확장하여 다음을 확인합니다.

    • 문제가 식별된 특정 파일 경로

    • 각 위치에서 발견된 내용에 대한 간략한 설명

    • 관련 코드에 연결된 행 번호 배지

  7. 증거 섹션을 확장하여 검토합니다.

    • 결과를 지원하는 특정 코드, 구성 또는 관측치

    • 각 항목이 취약성을 보여주는 이유에 대한 간단한 설명

    • 각 증거의 영향을 받는 파일 및 행 번호

  8. 제안된 수정 사항 섹션을 확장하여 확인합니다.

    • AWS Security Agent가 조사 결과를 해결하기 위해 권장하는 변경 사항

    • 각 권장 변경 사항에 대한 코드 또는 구성의 예

작은 정보

코드 위치를 사용하여 리포지토리에서 영향을 받는 파일로 빠르게 이동합니다. 각 위치에는 전체 파일을 읽지 않고도 문제를 이해할 수 있는 충분한 컨텍스트가 포함되어 있습니다.

8단계: 조사 결과 우선순위 지정 및 해결

조사 결과를 검증하고 조치를 취하여 취약성을 해결하고 애플리케이션의 보안 태세를 개선합니다.

에이전트 신뢰도가 높은 심각도가 높은 조사 결과의 경우:

  1. 설명 및 코드 위치 섹션을 철저히 검토합니다.

  2. 수정 코드를 사용하여 수정 사항이 포함된 풀 요청을 생성하거나 해당 옵션을 활성화한 경우 자동 수정 PRs 검토합니다.

  3. 후속 코드 검토 실행을 계획하여 수정 사항이 효과적인지 확인합니다.

에이전트 신뢰도가 높은 중간 심각도 조사 결과의 경우:

  1. 위험 허용 범위 및 비즈니스 컨텍스트에 따라 우선순위를 지정합니다.

  2. 정기적인 개발 스프린트 계획에 문제 해결 작업을 포함합니다.

  3. 여러 중간 심각도 조사 결과가 함께 더 높은 위험을 초래하는지 고려합니다.

중간 또는 낮은 신뢰도 조사 결과의 경우:

  1. 설명 및 코드 위치 섹션을 검토하여 취약성이 발생하는 가정과 조건을 검증합니다.

  2. 취약성이 유효한 경우 심각도 및 위험 허용 범위에 따라 우선순위를 지정하고 문제 해결 작업을 고려합니다.

9단계: 문제 해결 진행 상황 추적

조사 결과 인터페이스를 사용하고 다시 실행하여 해결된 취약성을 추적합니다.

  1. 수정 사항을 구현할 때 결과 해결을 사용하여 조사 결과를 해결된 것으로 표시합니다.

  2. 새 코드 검토를 실행하여 수정으로 인해 조사 결과가 해결되고 새 문제가 발생하지 않는지 확인합니다.

  3. 코드 검토 세부 정보 페이지의 모든 실행 테이블을 검토하여 시간 경과에 따른 실행 결과를 비교합니다.

작은 정보

문제 해결 풀 요청을 병합한 후 동일한 코드 검토의 새 실행을 시작하여 취약성이 해결되었는지 확인합니다. 실행 간 조사 결과 수를 비교하여 진행 상황을 추적합니다.

다음 단계

코드 검토 결과를 검토한 후:

  • 즉각적인 해결을 위해 높은 신뢰도로 심각도가 높은 조사 결과의 우선 순위 지정

  • 문제 해결 코드를 사용하여 GitHub 소스 조사 결과에 대한 자동 수정 생성( 참조코드 검토 결과 수정)

  • 수정 사항을 구현한 후 추가 코드 검토를 실행하여 문제 해결 확인

  • 코드베이스가 발전함에 따라 코드 검토 소스 또는 설정을 조정합니다( 참조코드 검토 활성화).