back end/log4j

log4j 취약점 - "컴퓨터 역사상 최악의 최약점 발견"

노루아부지 2021. 12. 12. 18:45

 

과학기술정보통신부, apache log4j2 웹서비스 긴급 보안패치 권고
보안패치 미 조치 시 공격자가 원격으로 공격코드 실행 가능

 

 

 

사실상 전세계 거의 모든 서버에서 사용되는 Open source logging 라이브러리인 log4j2에 심각한 보안 에러가 발견되었습니다.

 

이 취약점(CVE-2021-44228)은 2021년 12월 10일 마인크래프트의 통신서버를 제작하는 PaperMC에서 이 취약점을 이용한 대규모 해킹 시도를 포착하여 긴급 공지 및 취약점 수정에 들어간 것을 계기로 전 세계적으로 알려지게 되었습니다.

이는 하트블리드와 CPU게이트보다 심각한 파급력을 보유한 IT 최대 보안 이슈로 추정되며 테나블(Tenable)에서는 이 사태를 컴퓨터 인터넷 역사를 통틀어 최악의 보안 결함일 수도 있다고 경고했습니다.

 

한편, 오픈소스 프로젝트를 지원 및 관리하는 아파치 소프트웨어 재단은 이 취약점의 보안 위협 수준을 최고 등급으로 평가했습니다. 이 이슈가 크게 문제가 되는 이유는 서버에 로그인한 것 만으로 해커가 사용자의 컴퓨터를 사실상 원격 조종할 수 있는 것이기 때문입니다.

 

Log4j2 보안 취약점의 알려진 전개과정은 다음과 같습니다.

  • 한국시간 12/10일 12:44분 마인크래프트의 기술 책임자가 보인 트위터를 통해 마인크래프트에 영향을 미치는 중요한 보안 문제가 발견되어 수정했다고 발표했습니다. 하지만, 최신 버전만 적용되었기 때문에 1.12 버전 이전의 마인크래프트는 사용하지 말아 달라고 당부했습니다.
  • ArsTechNia는 특집 기사를 통해 이 사건을 보도하였으며, 마인크래프트는 시작일 뿐이다라는 점을 분명히 했습니다.
  • AP 통신은 Log4j2가 현재 대부분의 자바 웹 프로그래밍 서버에서 사용되고 있는 라이브러리이기 때문에 애플이나 트위터 등에서도 영향을 미칠 수 있다고 보도했습니다.
  • 뉴질랜드 정부는 이 취약점이 공개된 지 몇 시간이 지나지 않았지만 이미 많은 공격이 이루어지고 있다고 정부 보도를 통해 발표했으며, 이용자들의 대응방안까지 소개했습니다.
  • 팔로알토 네트워크의 Unit42(정보보호 연구소)는 연구소 블로그에서 취약점에 대한 요약과 영향받는 버전과 영향받는 소프트웨어를 나열하고 실제 취약점이 영향을 주는 방식과 조치가 가능한 방법을 간략하게 설명했습니다.
  • 미국 국가안보국(National Security Agency, NSA)의 사이버 보안 이사 롭은 이 취약점이 NSA의 소프트웨어 프레임워크에 광범위하게 포함되어 있기 때문에 악용에 대한 심각한 위협이라고 밝혔습니다.
  • 일본의 정보 보도 매체인 ITMedia는 iCloud와 Steam에서도 이 취약점이 이용 가능하다고 보도했습니다.

 

한편, 한국에서는 다음과 같이 대응 중입니다.

 

  • 한국의 과학기술정보통신부도 역시 보호나라 홈페이지를 통해 즉시 log4j2의 긴급 보안 업데이트를 당부했습니다. 또한 기반시설, ISMS, 인증기업, CISCO, C-TAS, 클라우드 보안인증 기업, 웹호스팅 기업, IDC 등을 대상으로 긴급 전파했습니다.
  • KISA는 2021년 12월 11일 보안공지를 통해 영향을 받는 버전 별로 해결할 수 있는 방법을 게시했습니다.
  • 국정원은 국내 언론 보도에서 "11일 자정부터 해당 이슈에 대응 했으며, 정부와 공공기관 측에 취약점 패치 적용 및 보안 대책을 구축되어 있는 시스템을 통해 안내했다"라고 밝혔습니다.

 

log4j의 긴급 보안조치는 다음과 같습니다.

주요 방법으로는 log4j에서 JNDI 파싱을 하지 못하게 하는 것이 중요합니다. 따라서 이를 패치하거나, 비활성화하는 것이 핵심 방법입니다.

  1. 가장 안전한 방법은 log4j를 2.15.0 이상으로 올리는 것입니다. 하지만 이 방법은 java 8이 필요합니다.
  2. 2.10~2.14.1 버전은 log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정 
  3. 2.0-beta9 ~ 2.10.0 버전 사용 시 JndiLookup 클래스를 경로에서 제거
    zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class​
  4. log4j 1.x는 이 취약점에 영향을 받지 않습니다. 전자정부 프레임워크는 2012년에 단종된 1.2를 쓰기 때문에 한국은 안전하다는 소리가 있습니다. ^^;;
  5. Spring boot를 사용할 경우 다음과 같이 공식 홈페이지에 최신버전 패치 방법이 있습니다.

 

 

 

 

 

[참고사이트]

https://namu.wiki/w/2021%EB%85%84%20%EC%9E%90%EB%B0%94%20%EB%B3%B4%EC%95%88%20%EC%B7%A8%EC%95%BD%EC%A0%90%20%EC%82%AC%ED%83%9C

https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389 

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

 

728x90
loading