Rapid Vulnerability Detection 개요

이 페이지에서는 다음을 포함하여 Rapid Vulnerability Detection에 대한 개요를 제공합니다.

  • Rapid Vulnerability Detection에서 지원하는 스캔 대상
  • Rapid Vulnerability Detection에서 수행하는 스캔 유형
  • Rapid Vulnerability Detection에서 감지하는 취약점 유형(스캔 발견 항목)

이 페이지에는 Rapid Vulnerability Detection을 테스트하기 위한 권장사항도 포함되어 있습니다.

개요

Security Command Center 프리미엄의 기본 제공 서비스인 Rapid Vulnerability Detection은 공개 엔드포인트를 적극적으로 스캔하여 약한 사용자 인증 정보, 완전하지 않은 소프트웨어 설치, 노출된 관리자 사용자 인터페이스 등 악용될 가능성이 높은 기타 중요한 취약점을 감지하는 제로 구성 방식의 네트워크 및 웹 애플리케이션 스캐너입니다. 이 서비스는 네트워크 엔드포인트, 프로토콜, 열려 있는 포트, 네트워크 서비스, 설치된 소프트웨어 패키지를 자동으로 검색합니다.

Rapid Vulnerability Detection 발견 항목은 즉시 해결하는 것이 좋은 취약점 조기 경고입니다. 발견 항목은 Security Command Center에서 확인할 수 있습니다.

지원되는 스캔 대상

Rapid Vulnerability Detection에서 지원하는 리소스는 다음과 같습니다.

  • Compute Engine
    • Rapid Vulnerability Detection은 공개 IP 주소가 있는 VM만 지원합니다. 방화벽 뒤에 있거나 공개 IP 주소가 없는 VM은 스캔에서 제외됩니다.
  • Cloud Load Balancing
    • Rapid Vulnerability Detection은 외부 부하 분산기만 지원합니다.
  • Google Kubernetes Engine 인그레스
  • Cloud Run
    • Rapid Vulnerability Detection은 Cloud Run이 애플리케이션에 제공하는 기본 도메인 또는 외부 부하 분산기 뒤에 있는 Cloud Run 서비스용으로 구성된 커스텀 도메인을 스캔합니다. 기본 제공 도메인 매핑을 사용하는 커스텀 도메인은 지원되지 않습니다. 그러나 도메인 매핑을 사용하는 경우에도 항상 기본 도메인을 사용할 수 있습니다.
  • App Engine
    • Rapid Vulnerability Detection은 App Engine에서 애플리케이션에 제공하는 기본 도메인만 스캔합니다. 커스텀 도메인은 지원되지 않습니다. 그러나 커스텀 도메인을 사용하는 경우에도 항상 기본 도메인을 사용할 수 있습니다.

스캔

Rapid Vulnerability Detection은 N일 취약점을 감지하는 관리형 스캔을 실행합니다. 이 취약점은 임의의 데이터 액세스를 획득하여 원격 코드를 실행하는 데 악용할 수 있는 알려진 취약점입니다. 이 취약점에는 약한 사용자 인증 정보, 불완전한 소프트웨어 설치, 노출된 관리자 사용자 인터페이스가 포함됩니다.

서비스를 사용 설정하면 스캔이 Security Command Center에서 자동으로 구성 및 관리됩니다. 보안팀에서 대상 URL을 제공하거나 수동으로 스캔을 시작할 필요가 없습니다. Rapid Vulnerability Detection은 Cloud 애셋 인벤토리를 사용하여 프로젝트에 있는 새 VM과 애플리케이션에 대한 정보를 가져와 1주일 단위로 스캔을 실행하여 공개 엔드포인트를 찾고 취약점을 감지합니다. Rapid Vulnerability Detection을 실행하는 사용자 에이전트 이름은 로그 탐색기에서 TsunamiSecurityScanner로 지정됩니다.

Rapid Vulnerability Detection은 지원되는 대상에서 HTTP(HTTPS, HTTPS, SSH, MySQL 등) 인스턴스를 스캔하고 스캔 대상을 평가하여 설치된 웹 애플리케이션 및 노출된 네트워크 서비스에 대해 알아냅니다. Rapid Vulnerability Detection은 공개 엔드포인트에서 스캔을 여러 번 수행하고 '지문'을 사용하여 알려진 서비스를 식별하므로 심각도가 높은 고위험 취약점은 최소의 거짓양성률로 보고됩니다.

Rapid Vulnerability Detection에서 지원하는 스캔 대상 애셋에 대한 자세한 내용은 지원되는 스캔 대상을 참조하세요.

스캔 발견 항목 및 해결 방법

다음 표에는 Rapid Vulnerability Detection 발견 항목 유형 및 추천 해결 단계가 나와 있습니다.

Rapid Vulnerability Detection 스캔은 다음 발견 항목 유형을 식별합니다.

발견 항목 유형 발견 항목 설명 OWASP 상위 10개 코드
취약한 사용자 인증 정보 발견 항목
WEAK_CREDENTIALS 이 감지기는 ncrack 무작위 공격 방법을 사용하여 취약한 사용자 인증 정보를 점검합니다.

지원되는 서비스: SSH, RDP, FTP, WordPress, TELNET, POP3, IMAP, VCS, SMB, SMB2, VNC, SIP, REDIS, PSQL, MYSQL, MSSQL, MQTT, MONGODB, WINRM, DICOM

해결 방법: 강력한 비밀번호 정책을 적용합니다. 서비스에 고유한 사용자 인증 정보를 만들고 비밀번호에 사전 단어를 사용하지 않아야 합니다.

2021
  A07

2017
  A2
노출된 인터페이스 발견 항목
ELASTICSEARCH_API_EXPOSED Elasticsearch API를 사용하면 호출자가 임의의 쿼리를 수행하고 스크립트를 작성 및 실행하고 서비스에 문서를 추가할 수 있습니다.

해결 방법: 애플리케이션을 통해 요청을 라우팅하여 Elasticsearch API에 대한 직접 액세스를 삭제하거나 인증된 사용자로만 액세스를 제한합니다. 자세한 내용은 Elasticsearch의 보안 설정을 참조하세요.

2021
  A01, A05

2017
  A5, A6
EXPOSED_GRAFANA_ENDPOINT

Grafana 8.0.0~8.3.0에서는 디렉터리 순회 취약점이 있는 엔드포인트에 사용자가 인증 없이 액세스할 수 있어 사용자가 인증 없이 서버의 모든 파일을 읽을 수 있습니다. 자세한 내용은 CVE-2021-43798을 참조하세요.

해결 방법: Grafana를 패치하거나 Grafana를 이후 버전으로 업그레이드합니다. 자세한 내용은 Grafana 경로 순회를 참조하세요.

2021
  A06, A07

2017
  A2, A9
EXPOSED_METABASE

오픈소스 데이터 분석 플랫폼인 Metabase의 x.40.0~x.40.4 버전에는 커스텀 GeoJSON 맵 지원과 환경 변수를 비롯한 잠재적 로컬 파일 포함에 대한 취약점이 있습니다. URL이 로드 전에 검증되지 않았습니다. 자세한 내용은 CVE-2021-41277을 참조하세요.

해결 방법: 유지보수 출시 버전인 0.40.5 이상 또는 1.40.5 이상으로 업그레이드합니다. 자세한 내용은 GeoJSON URL 검증이 승인되지 않은 사용자에게 서버 파일 및 환경 변수를 노출할 수 있음을 참조하세요.

2021
  A06

2017
  A3, A9
EXPOSED_SPRING_BOOT_ACTUATOR_ENDPOINT 이 감지기는 Spring Boot 애플리케이션의 민감한 액추에이터 엔드포인트가 노출되었는지 여부를 확인합니다. /heapdump와 같은 일부 기본 엔드포인트에서 민감한 정보가 노출될 수 있습니다. /env와 같은 다른 엔드포인트는 원격 코드 실행으로 이어질 수 있습니다. 현재는 /heapdump만 선택되어 있습니다.

해결 방법: 민감한 액추에이터 엔드포인트에 대한 액세스를 사용 중지합니다. 자세한 내용은 HTTP 엔드포인트 보안을 참조하세요.

2021
  A01, A05

2017
  A5, A6
HADOOP_YARN_UNAUTHENTICATED_RESOURCE_MANAGER_API 이 감지기는 Hadoop 클러스터의 계산 및 스토리지 리소스를 제어하는 Hadoop Yarn ResourceManager API가 노출되어 인증되지 않은 코드 실행이 허용되는지 확인합니다.

해결 방법: API와 함께 액세스 제어 목록을 사용합니다.

2021
  A01, A05

2017
  A5, A6
JAVA_JMX_RMI_EXPOSED 자바 관리 확장 프로그램(JMX)을 사용하면 자바 애플리케이션을 원격으로 모니터링하고 진단할 수 있습니다. 보호되지 않는 원격 메서드 호출 엔드포인트로 JMX를 실행하면 모든 원격 사용자가 javax.management.loading.MLet MBean을 만들고 이를 사용하여 임의 URL에서 새로운 MBean을 만들 수 있습니다.

해결 방법: 원격 모니터링을 올바르게 구성하려면 JMX 기술을 사용하여 모니터링 및 관리를 참조하세요.

2021
  A01, A05

2017
  A5, A6
JUPYTER_NOTEBOOK_EXPOSED_UI 이 감지기는 인증되지 않은 Jupyter Notebook이 노출되었는지 여부를 확인합니다. Jupyter는 호스트 머신에서 기본적으로 원격 코드 실행을 허용합니다. 인증되지 않은 Jupyter Notebook으로 인해 VM 호스팅이 원격 코드 실행 위험에 처할 수 있습니다.

해결 방법: Jupyter Notebook 서버에 토큰 인증을 추가하거나 기본적으로 토큰 인증을 사용하는 최신 버전의 Jupyter Notebook을 사용하세요.

2021
  A01, A05

2017
  A5, A6
KUBERNETES_API_EXPOSED Kubernetes API는 노출되어 인증되지 않은 호출자가 액세스할 수 있습니다. 이렇게 하면 Kubernetes 클러스터에서 임의 코드를 실행할 수 있습니다.

해결 방법: 모든 API 요청에 인증을 요구합니다. 자세한 내용은 Kubernetes API 인증 가이드를 참조하세요.

2021
  A01, A05

2017
  A5, A6
UNFINISHED_WORDPRESS_INSTALLATION 이 감지기는 WordPress 설치가 완료되었는지 여부를 확인합니다. 완료되지 않은 WordPress 설치는 /wp-admin/install.php 페이지를 노출시킵니다. 공격자가 이를 이용해서 관리 암호를 설정하고 시스템을 손상시킬 수 있습니다.

해결 방법: WordPress 설치를 완료합니다.

2021
  A05

2017
  A6
UNAUTHENTICATED_JENKINS_NEW_ITEM_CONSOLE 이 감지기는 /view/all/newJob 엔드포인트에 익명 방문자로 프로브 핑을 전송하여 인증되지 않은 Jenkins 인스턴스를 확인합니다. 인증된 Jenkins 인스턴스는 createItem 형식을 보여줍니다. 이 형식을 사용하면 원격 코드 실행으로 이어질 수 있는 임의 작업을 만들 수 있습니다.

해결 방법: 보안 관리에 대한 Jenkins 가이드에 따라 인증되지 않은 액세스를 차단합니다.

2021
  A01, A05

2017
  A5, A6
취약한 소프트웨어 발견 항목
APACHE_HTTPD_RCE

공격자가 경로 순회 공격을 사용하여 예상 문서 루트 외부에 있는 파일에 URL을 매핑하고 CGI 스크립트와 같은 해석된 파일의 소스를 확인할 수 있는 결함이 Apache HTTP 서버 2.4.49에서 발견되었습니다. 이 문제는 실제로 악용되고 있는 것으로 알려져 있습니다. 이 문제는 Apache 2.4.49 및 2.4.50에 영향을 주지만 이전 버전에 영향을 주지 않습니다. 이 취약점에 대한 자세한 내용은 다음을 참조하세요.

  1. CVE 레코드 CVE-2021-41773
  2. Apache HTTP 서버 2.4 취약점

해결 방법: Apache HTTP 서버에서 'require all denied' 지시문을 구성하여 문서 루트 외부의 파일을 보호합니다.

2021
  A01, A06

2017
  A5, A9
APACHE_HTTPD_SSRF

공격자가 선택한 원본 서버로 요청을 전달하게 mod_proxy를 만드는 Apache 웹 서버에 대한 URI를 공격자가 조작할 수 있습니다. 이 문제는 Apache HTTP 서버 2.4.48 이하에 영향을 줍니다. 이 취약점에 대한 자세한 내용은 다음을 참조하세요.

  1. CVE 레코드 CVE-2021-40438
  2. Apache HTTP 서버 2.4 취약점

해결 방법: Apache HTTP 서버를 최신 버전으로 업그레이드합니다.

2021
  A06, A10

2017
  A9
CONSUL_RCE

Consul 인스턴스는 true로 설정된 -enable-script-checks로 구성되고 Consul HTTP API가 보호되지 않고 네트워크를 통해 액세스할 수 있기 때문에 공격자가 Consul 서버에서 임의 코드를 실행할 수 있습니다. Consul 0.9.0 이하에서는 기본적으로 스크립트 검사가 사용됩니다. 자세한 내용은 특정 구성의 RCE 위험으로부터 Consul 보호를 참조하세요. 이 취약점을 검사하기 위해 Rapid Vulnerability Detection은 /v1/health/service REST 엔드포인트를 사용하여 Consul 인스턴스에 서비스를 등록하고 다음 중 하나를 실행합니다.

  1. 네트워크 외부의 원격 서버에 대한 curl 명령어를 실행합니다. 공격자가 curl 명령어를 사용하여 서버의 데이터를 유출할 수 있습니다.
  2. printf 명령어를 실행합니다. 그러면 Rapid Vulnerability Detection에서 /v1/health/service REST 엔드포인트를 사용하여 명령어 출력을 확인합니다.

확인 후 Rapid Vulnerability Detection이 /v1/agent/service/deregister/ REST 엔드포인트를 사용하여 서비스를 삭제하고 등록 취소합니다.

해결 방법: 콘솔 인스턴스 구성에서 enable-script-check를 false로 설정합니다.

2021
  A05, A06

2017
  A6, A9
DRUID_RCE

Apache Druid에는 여러 유형의 요청에 포함된 사용자 제공 자바스크립트 코드를 실행하는 기능이 포함되어 있습니다. 이 기능은 신뢰도가 높은 환경에서 사용하기 위한 것이며 기본적으로 중지됩니다. 하지만 Druid 0.20.0 이하에서는 인증된 사용자가 서버 구성에 관계없이 해당 요청에 사용자 제공 자바스크립트 코드를 실행하도록 Druid를 강제하는 특별히 조작된 요청을 보낼 수 있습니다. 이를 활용해서 Druid 서버 프로세스 권한을 사용하여 대상 머신에서 코드를 실행할 수 있습니다. 자세한 내용은 CVE-2021-25646 세부정보를 참조하세요.

해결 방법: Apache Druid를 이후 버전으로 업그레이드합니다.

2021
  A05, A06

2017
  A6, A9
DRUPAL_RCE

이 카테고리에는 Drupal의 두 가지 취약점이 있습니다. 이 유형의 발견 항목이 여러 개 있으면 취약점이 1개 넘게 나타날 수 있습니다.

Drupal 버전 7.58 이전, 8.3.9 이전의 8.x, 8.4.6 이전의 8.4.x 및 8.5.1 이전의 8.5.x는 Form API AJAX 요청에 대한 원격 코드 실행에 취약합니다.

해결 방법: 대체 Drupal 버전으로 업그레이드합니다.

2021
  A06

2017
  A9
Drupal 버전 8.5.11 이전의 8.5.x 및 8.6.10 이전의 8.6.x는 RESTful 웹 서비스 모듈이나 JSON API가 사용 설정된 경우 원격 코드 실행에 취약합니다. 인증되지 않은 공격자가 커스텀 POST 요청을 사용하여 이 취약점을 악용할 수 있습니다.

해결 방법: 대체 Drupal 버전으로 업그레이드합니다.

2021
  A06

2017
  A9
FLINK_FILE_DISCLOSURE Apache Flink 버전 1.11.0, 1.11.1, 1.11.2의 취약점으로 인해 공격자가 JobManager 프로세스의 REST 인터페이스를 통해 JobManager의 로컬 파일 시스템에 있는 파일을 읽을 수 있습니다. 액세스는 JobManager 프로세스에서 액세스할 수 있는 파일로 제한됩니다.

해결 방법: Flink 인스턴스가 노출된 경우 Flink 1.11.3 또는 1.12.0으로 업그레이드합니다.

2021
  A01, A05, A06

2017
  A5, A6, A9
GITLAB_RCE

GitLab Community Edition(CE) 및 Enterprise Edition(EE) 버전 11.9 이상에서 GitLab이 파일 파서로 전달된 이미지 파일의 유효성을 올바르게 검사하지 않습니다. 공격자가 원격 명령어 실행을 위해 이 취약점을 악용할 수 있습니다.

해결 방법: GitLab CE 또는 EE 버전 13.10.3, 13.9.6, 13.8.8 이상으로 업그레이드합니다. 자세한 내용은 CVE-2021-22205에 대한 대응으로 자체 관리형 고객에게 필요한 조치를 참조하세요.

2021
  A06

2017
  A9
GoCD_RCE

GoCD 21.2.0 이하에는 인증 없이 액세스할 수 있는 엔드포인트가 있습니다. 이 엔드포인트에는 사용자가 인증 없이 서버의 모든 파일을 읽을 수 있는 디렉터리 순회 취약점이 있습니다.

해결 방법: 버전 21.3.0 이상으로 업그레이드합니다. 자세한 내용은 GoCD 21.3.0 출시 노트를 참조하세요.

2021
  A06, A07

2017
  A2, A9
JENKINS_RCE Jenkins 버전 2.56 이하 및 2.46.1 LTS 이하는 원격 코드 실행에 취약합니다. 인증되지 않은 공격자가 직렬화된 악성 Java 객체를 사용하여 이 취약점을 트리거할 수 있습니다.

해결 방법: 대체 Jenkins 버전을 설치합니다.

2021
  A06, A08

2017
  A8, A9
JOOMLA_RCE

이 카테고리에는 Joomla의 두 가지 취약점이 있습니다. 이 유형의 발견 항목이 여러 개 있으면 취약점이 1개 넘게 나타날 수 있습니다.

Joomla 버전 1.5.x, 2.x, 3.4.6 이전의 3.x는 원격 코드 실행에 취약합니다. 이 취약점은 직렬화된 PHP 객체가 포함된 조작된 헤더로 트리거될 수 있습니다.

해결 방법: 대체 Joomla 버전을 설치합니다.

2021
  A06, A08

2017
  A8, A9
Joomla 버전 3.0.0~3.4.6은 원격 코드 실행에 취약합니다. 이 취약점은 조작된 직렬화된 PHP 객체가 포함된 POST 요청을 전송하여 트리거할 수 있습니다.

해결 방법: 대체 Joomla 버전을 설치합니다.

2021
  A06

2017
  A9
LOG4J_RCE

Apache Log4j2 2.14.1 이하에서 구성에 사용되는 JNDI 기능, 로그 메시지 및 매개변수는 공격자가 제어하는 LDAP 및 기타 JNDI 관련 엔드포인트로부터 보호 기능을 제공하지 않습니다. 자세한 내용은 CVE-2021-44228을 참조하세요.

해결 방법: 자세한 내용은 Apache Log4j 보안 취약점을 참조하세요.

2021
  A06

2017
  A9
MANTISBT_PRIVILEGE_ESCALATION 버전 2.3.0까지의 MantisBT는 빈 confirm_hash 값을 verify.php에 제공하여 임의 비밀번호 재설정 및 인증되지 않은 관리자 액세스를 허용합니다.

해결 방법: MantisBT를 최신 버전으로 업데이트하거나 Mantis 안내에 따라 중요한 보안 수정사항을 적용합니다.

2021
  A06

2017
  A9
OGNL_RCE

Confluence Server 및 데이터 센터 인스턴스에는 인증되지 않은 공격자가 임의의 코드를 실행할 수 있게 해주는 OGNL 삽입 취약점이 있습니다. 자세한 내용은 CVE-2021-26084를 참조하세요.

해결 방법: 해결 방법은 Confluence Server Webwork OGNL injection - CVE-2021-26084를 참조하세요.

2021
  A03

2017
  A1
OPENAM_RCE

OpenAM 서버 14.6.2 이하 및 ForgeRock AM 서버 6.5.3 이하에서는 여러 페이지의 jato.pageSession 매개변수에 자바 역직렬화 취약점이 있습니다. 악용 시에는 인증이 필요하지 않으며 서버에 조작된 단일 /ccversion/* 요청을 전송하여 원격 코드 실행을 트리거할 수 있습니다. Sun ONE 애플리케이션의 사용으로 인한 취약점이 존재합니다. 자세한 내용은 CVE-2021-35464를 참조하세요.

해결 방법: 최신 버전으로 업그레이드합니다. ForgeRock 해결 방법에 대한 자세한 내용은 AM Security Advisory #202104를 참조하세요.

2021
  A06

2017
  A9
ORACLE_WEBLOGIC_RCE

10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0 버전을 포함한 Oracle Fusion Middleware(구성요소: 콘솔)의 특정 버전 Oracle WebLogic Server 제품에는 취약점이 포함되어 있습니다. 쉽게 악용할 수 있는 취약점으로 인해 HTTP를 통한 네트워크 액세스 권한이 있는 인증되지 않은 공격자가 Oracle WebLogic 서버를 손상시킬 수 있습니다. 이 취약점 공격에 성공하면 Oracle WebLogic 서버를 탈취할 수 있습니다. 자세한 내용은 CVE-2020-14882를 참조하세요.

해결 방법: 패치 정보는 Oracle Critical Patch Update Advisory - October 2020을 참조하세요.

2021
  A06, A07

2017
  A2, A9
PHPUNIT_RCE PHPUnit 버전 5.6.3 이전은 인증되지 않은 단일 POST 요청으로 원격 코드 실행을 허용합니다.

해결 방법: 최신 PHPUnit 버전으로 업그레이드합니다.

2021: A05
2017: A6
PHP_CGI_RCE 5.3.12 이전 및 5.4.2 이전의 5.4.x 버전의 PHP는 CGI 스크립트로 구성되면 원격 코드 실행을 허용합니다. 취약한 코드는 =(등호 기호) 문자가 없는 쿼리 문자열을 올바르게 처리하지 않습니다. 이로 인해 공격자가 서버에서 실행되는 명령줄 옵션을 추가할 수 있습니다.

해결 방법: 대체 PHP 버전을 설치합니다.

2021
  A05, A06

2017
  A6, A9
PORTAL_RCE CE GA2 7.2.1 이전의 Liferay 포털 버전에서 신뢰할 수 없는 데이터를 역직렬화하면 원격 공격자가 JSON 웹 서비스를 통해 임의의 코드를 실행할 수 있습니다.

해결 방법: 최신 Liferay Portal 버전으로 업그레이드합니다.

2021
  A06, A08

2017
  A8, A9
REDIS_RCE

관리 명령어 실행을 위해 Redis 인스턴스에 인증이 필요하지 않으면 공격자가 임의 코드를 실행할 수 있습니다.

해결 방법: 인증을 요구하도록 Redis를 구성합니다.

2021
  A01, A05

2017
  A5, A6
SOLR_FILE_EXPOSED

오픈소스 검색 서버인 Apache Solr에서는 인증이 사용 설정되지 않습니다. Apache Solr에서 인증을 요구하지 않으면 공격자가 특정 구성을 사용 설정하기 위해 요청을 직접 조작한 후 서버 측 요청 위조(SSRF)를 구현하거나 임의 파일을 읽을 수 있습니다.

해결 방법: 대체 Apache Solr 버전으로 업그레이드합니다.

2021
  A07, A10

2017
  A2
SOLR_RCE Apache Solr 버전 5.0.0~8.3.1은 params.resource.loader.enabledtrue로 설정된 경우 VelocityResponseWriter를 통한 원격 코드 실행에 취약합니다. 공격자는 이를 통해 악성 속도 템플릿이 포함된 매개변수를 만들 수 있습니다.

해결 방법: 대체 Apache Solr 버전으로 업그레이드합니다.

2021
  A06

2017
  A9
STRUTS_RCE

이 카테고리에는 Apache Struts의 세 가지 취약점이 포함됩니다. 이 유형의 발견 항목이 여러 개 있으면 취약점이 1개 넘게 나타날 수 있습니다.

Apache Struts 버전 2.3.32 및 2.5.10.1 이전의 2.5.x는 원격 코드 실행에 취약합니다. 인증되지 않은 공격자가 조작된 Content-Type 헤더를 제공하여 이 취약점을 트리거할 수 있습니다.

해결 방법: 대체 Apache Struts 버전을 설치합니다.

2021
  A06

2017
  A9
Apache Struts 버전 2.1.1~2.3.34 이전의 2.3.x 및 2.5.13 이전의 2.5.x의 REST 플러그인은 조작된 XML 페이로드 역직렬화 시 원격 코드 실행에 취약합니다.

해결 방법: 대체 Apache Struts 버전을 설치합니다.

2021
  A06, A08

2017
  A8, A9
Apache Struts 버전 2.3~2.3.34 및 2.5~2.5.16은 alwaysSelectFullNamespacetrue로 설정되고 특정 기타 작업 구성이 있으면 원격 코드 실행에 취약합니다.

해결 방법: 버전 2.3.35 또는 2.5.17을 설치합니다.

2021
  A06

2017
  A9
TOMCAT_FILE_DISCLOSURE Apache Tomcat 버전 9.0.31 이전의 9.x, 8.5.51 이전의 8.x, 7.0.100 이전의 7.x, 모든 6.x는 노출된 Apache JServ 프로토콜 커넥터를 통한 소스 코드와 구성 공개에 취약합니다. 경우에 따라 파일 업로드가 허용되면 원격 코드 실행을 수행할 때 이 방법이 활용됩니다.

해결 방법: 대체 Apache Tomcat 버전으로 업그레이드합니다.

2021
  A06

2017
  A3, A9
VBULLETIN_RCE 버전 5.0.0~5.5.4를 실행하는 vBulletin 서버는 원격 코드 실행에 취약합니다. 인증되지 않은 공격자가 routestring 요청에 쿼리 매개변수를 사용하여 이 취약점을 악용할 수 있습니다.

해결 방법: 대체 VMware vCenter Server 버전으로 업그레이드합니다.

2021
  A03, A06

2017
  A1, A9
VCENTER_RCE VMware vCenter Server 버전 7.0 U1c 이전의 7.x, 6.7 U3l 이전의 6.7, 6.5 U3n 이전의 6.5는 원격 코드 실행에 취약합니다. 공격자는 조작된 자바 서버 페이지 파일을 웹 액세스 가능한 디렉터리에 업로드한 후 파일 실행을 트리거하여 이 취약점을 트리거할 수 있습니다.

해결 방법: 대체 VMware vCenter Server 버전으로 업그레이드합니다.

2021
  A06

2017
  A9
WEBLOGIC_RCE

10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0 버전을 포함한 Oracle Fusion Middleware(구성요소: 콘솔)의 특정 버전 Oracle WebLogic Server 제품에는 원격 코드 실행 취약점이 포함되어 있습니다. 이 취약점은 CVE-2020-14750, CVE-2020-14882, CVE-2020-14883과 관련이 있습니다. 자세한 내용은 CVE-2020-14883을 참조하세요.

해결 방법: 패치 정보는 Oracle Critical Patch Update Advisory - October 2020을 참조하세요.

2021
  A06, A07

2017
  A2, A9

발견 항목 예시

Rapid Vulnerability Detection 발견 항목은 Security Command Center 대시보드, Google Cloud CLI 또는 Security Command Center API를 사용하여 JSON으로 내보낼 수 있습니다. 발견 항목의 JSON 출력은 다음과 비슷합니다.

  {
    "finding": {
      "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
      "category": "WEAK_CREDENTIALS",
      "compliances": [
        {
          "ids": [
            "A2"
          ],
          "standard": "owasp",
          "version": "2017"
        },
        {
          "ids": [
            "A07"
          ],
          "standard": "owasp",
          "version": "2021"
        }
      ],
      "contacts": {
        "security": {
          "contacts": [
            {
              "email": "EMAIL_ADDRESS_1"
            },
            {
              "email": "EMAIL_ADDRESS_2"
            }
          ]
        },
        "technical": {
          "contacts": [
            {
              "email": "EMAIL_ADDRESS_3"
            }
          ]
        }
      },
      "createTime": "2021-08-19T06:26:20.038Z",
      "description": "Well known or weak credentials have been detected.",
      "eventTime": "2022-06-24T19:21:22.783Z",
      "findingClass": "MISCONFIGURATION",
      "mute": "UNDEFINED",
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
      "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
      "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "securityMarks": {
        "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
      },
      "severity": "CRITICAL",
      "sourceProperties": {
        "description": "Well known or weak credentials have been detected.",
        "targets": [
          {
            "ipv4Address": {
              "address": "IP_ADDRESS",
              "subnetMask": 32
            },
            "port": PORT_NUMBER,
            "resourceName": "//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_NAME/instances/VM_NAME",
            "transportProtocol": "TCP"
          }
        ]
      },
      "state": "ACTIVE"
    },
    "resource": {
      "displayName": "PROJECT_NAME",
      "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "parentDisplayName": "ORGANIZATION_NAME",
      "parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
      "projectDisplayName": "PROJECT_NAME",
      "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "type": "google.cloud.resourcemanager.Project"
    }
  }

앞의 예시에서는 다음 자리표시자 변수를 사용합니다.

  • EMAIL_ADDRESS_[N]: 발견 항목이 감지될 때 알림을 받을 개인 또는 법인의 이메일 주소입니다.
  • FINDING_ID: 발견 항목을 식별하는 고유한 값입니다.
  • IP_ADDRESS: 취약점이 감지된 IP 주소입니다.
  • ORGANIZATION_ID: 취약점이 발견된 조직의 식별자입니다.
  • ORGANIZATION_NAME: 취약점이 발견된 조직의 이름입니다.
  • PORT_NUMBER: 취약점이 감지된 포트 번호입니다.
  • PROJECT_ID: 취약점이 발견된 프로젝트의 영숫자 식별자입니다.
  • PROJECT_NUMBER: 취약점이 발견된 프로젝트의 숫자 식별자입니다.
  • SOURCE_ID: 조직 내에서 고유한 숫자 ID로, 취약점을 감지한 Security Command Center 서비스를 식별합니다.
  • VM_NAME: 취약점이 감지된 Compute Engine 가상 머신(VM)입니다.
  • ZONE_NAME: 스캔 대상이 있는 Compute Engine 영역입니다.

권장사항

Rapid Vulnerability Detection은 VM에 로그인을 시도하고 노출된 관리자 사용자 인터페이스에 액세스하기 때문에 잠재적으로 민감한 정보에 액세스하거나 리소스에 원치 않는 결과를 일으킬 수 있습니다. Rapid Vulnerability Detection을 사용하여 테스트 리소스를 스캔하고, 가능한 경우 프로덕션 환경에서 이 서비스를 사용하지 마세요.

리소스 보호를 위해 다음 권장사항을 따르세요.

  1. 테스트 환경에서 스캔을 실행합니다. 별도의 Compute Engine 프로젝트를 만들고 애플리케이션 및 데이터를 여기에서 로드합니다. Google Cloud CLI를 사용하는 경우 앱을 업로드할 때 대상 프로젝트를 명령줄 옵션으로 지정할 수 있습니다.
  2. 테스트 계정을 사용하세요. 민감한 정보 또는 유해한 작업에 액세스할 수 없는 사용자 계정을 만들고, VM을 스캔할 때 이것을 사용합니다.
  3. 데이터를 백업하세요. 스캔하기 전에 데이터를 백업하는 것이 좋습니다.
  4. 비프로덕션 리소스를 스캔하세요. 프로덕션 환경에 배포하기 전에 비프로덕션 리소스에 대한 스캔을 실행하여 취약점을 포착합니다.

스캔하기 전에 애플리케이션을 주의 깊게 감사하여 원하는 스캔 범위를 넘어 데이터 또는 시스템에 영향을 미칠 수 있는 기능이 있는지 확인하세요.

다음 단계