반응형
Heli, 헬리
시행착오를 줄이는 방법 - 진태양
Heli, 헬리
  • 분류 전체보기 (82)
    • General (28)
      • Essay (22)
      • Craftsmanship (2)
      • IT Meet & Hack (4)
    • Finance (1)
      • Portfolio (1)
      • Activity (0)
    • Infrastructure (1)
      • Kubernetes (0)
      • AWS (1)
    • Development (45)
      • News (4)
      • Architecture (4)
      • Web (1)
      • Spring Framework (7)
      • JVM (12)
      • MongoDB (0)
      • Git (2)
      • Algorithm (14)
      • Python (1)
    • Computer Science (1)
      • Network (1)
    • Civic Hacking (3)
      • Code for Korea (3)
    • Know-how (2)
      • IT Service (1)
      • Career (1)
    • English (1)
      • Translation (1)

인기 글

  • 서버 개발자, 커뮤니티 빌더의 이야기가 궁금하신분!
    2023.03.28
    서버 개발자, 커뮤니티 빌더의 이야기가 궁금하신분!
  • Why DDD, Clean Architecture and ⋯
    2022.03.10
    Why DDD, Clean Architecture and ⋯
  • [번역] 개발자가 잠자는 동안 돈을버는 5가지 방법 | 사⋯
    2022.04.17
    [번역] 개발자가 잠자는 동안 돈을버는 5가지 방법 | 사⋯
  • M1 칩에서 pyqt5 설치하기 - qmake 패스 설정
    2022.07.30
  • [Java & Kotlin] enum class가 완벽한 ⋯
    2021.12.13
    [Java & Kotlin] enum class가 완벽한 ⋯

블로그 메뉴

  • 홈
  • 관리
  • 방명록
hELLO · Designed By 정상우.
Heli, 헬리

시행착오를 줄이는 방법 - 진태양

Apache Log4j RCE 제로데이 취약점
Development/News

Apache Log4j RCE 제로데이 취약점

2021. 12. 10. 11:51
반응형

2021년 12월 9일, Apache Log4j2의 원격 코드 실행 제로데이 취약점이 공개되었습니다. 공격자는 이 취약점을 이용해 원격 코드 실행을 트리거할 수 있습니다. 광범위한 영향을 끼치는 취약점이니 Log4j의 범위를 확인해보시고 버전을 업데이트하는 것이 좋겠습니다.

특히 SpringBoot의 경우 log4j를 기본적으로 갖고 있으니 꼭! 확인해보세요.

취약점 설명

Apache Log4j2는 Java 기반 로깅 라이브러리입니다. 정말 많은 시스템에서 사용되고 있죠.

대부분의 경우 사용자 입력으로 인한 오류 메시지를 로그에 기록할 때 사용하는데요. 공격자는 취약점을 통해 이 로깅 기능으로 원격 코드 실행을 트리거할 수 있습니다.

  • 취약점 수준: 심각(치명적)
  • 영향을 받는 버전: 2.0 <= Apache log4j2 <= 2.14.1

해결법

Maven

<properties>
    <log4j2.version>2.15.0</log4j2.version>
</properties>

Property 설정 후 ./mbnw dependecy:list | grep log4j 로 버전이 2.1.5.0인지 확인

Gradle

아래 중 적용 가능한 방법으로 적용

ext['log4j2.version'] = '2.15.0'
implementation(platform("org.apache.logging.log4j:log4j-bom:2.15.0"))
configurations.all {
	resolutionStrategy.eachDependency { DependencyResolveDetails details ->
		if (details.requested.group == 'org.apache.logging.log4j') {
			details.useVersion '2.15.0'
		}
	}
}

원격코드실행(RCE, Remote Code Execution)는?

RCE는 원격지에서 임의의 공격 명령 실행이 가능한 취약점입니다. 대표적으로 관리자 권한 취득을 통해 시스템을 장악하기 위한 권한 상승 취약점이 존재하며, 주로 피해 시스템/네트워크에 침입하기 위한 초기 침투 시 사용됩니다.

Web Application이 배포되어 있는 Linux server에 악성 코드를 심는 등의 행위를 할 수 있는 것입니다.

Appendix

  • 원문 링크: https://www.cyberkendra.com/2021/12/worst-log4j-rce-zeroday-dropped-on.html?m=1
  • Log4j 취약점 관련 PoC: https://github.com/tangxiaofeng7/apache-log4j-poc
  • 해결법: https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot

 

반응형
저작자표시 비영리 동일조건

    ☕️ Networking

    기술 직군의 기술적인 교류, 커리어 이야기, 직군 무관 네트워킹 모두 환영합니다!

    위클리 아카데미 오픈 채팅방(비밀번호: 9323)

    kakaotalk: https://open.kakao.com/o/gyvuT5Yd

    'Development/News' 카테고리의 다른 글
    • [컨퍼런스] Code for Korea Annual Conference | Happy Civic Hacking with CODE4KOREA
    • IT 커리어를 '서서히 망치는' 11가지 함정
    • GitHub 재밌는 기능 등장! Skyline Contribute Graph
    apache log4j, POC, spring boot, 스프링 보안, 스프링 취약점, 제로데이, 제로데이 취약점
    Heli, 헬리
    Heli, 헬리
    Java/Kotlin, Spring 백엔드 관련 기술을 익히고 공유합니다.
    GitHub 재밌는 기능 등장! Skyline Contribute Graph
    다음 글
    GitHub 재밌는 기능 등장! Skyline Contribute Graph

    티스토리툴바