쓸 땐 좋았는데...'오픈소스 보안' 문제 환기한 로그4j

"취약점 영향권 파악 어렵고 공급망 공격 단초 가능성 높아"

컴퓨팅입력 :2021/12/29 18:33    수정: 2021/12/30 07:11

최근 아파치 재단이 개발한 자바 기반 오픈소스 로깅 라이브러리 '로그4j'에서 치명적인 보안 취약점이 발견돼 전세계가 긴급 대응에 나섰다. 웹서비스 상당수가 로그4j를 사용하고 있어, 보안 대처를 서두르지 않을 시 막대한 해킹 피해가 발생할 것으로 예상됐기 때문이다.

이 과정에서, 그 동안 오픈소스 기반 소프트웨어(SW) 개발이 활성화됨에 따라 잠재적인 SW 보안 우려도 커졌다는 의견이 제기됐다.

특정 기업에 종속되지 않고, 다방면에서 활용되는 오픈소스 특성상 보안 취약점이 발견될 경우 영향을 끼치는 범위가 방대한데 그에 기민하게 대처하기는 쉽지 않다는 것이다.

(출처=이미지투데이)

■어디에 썼나…SW 소스코드 일괄 검토 쉽지 않아

보안업계는 로그4j 취약점인 '로그4쉘'이 알려진 직후 곧바로 보안 조치에 착수했다. 그러나 로그4j 특성상, 전체 IT 인프라에서 보안 패치가 필요한 범위를 즉각 파악하기는 어려운 것으로 분석됐다.

자바 기반 SW는 압축파일 내 또 다른 압축파일이 포함돼 있는 등 여러 단계로 구성돼 있어 하위 단계에 있는 로그4j를 살피기까지 많은 시간과 노력이 따라야 한다는 이유에서다. 오픈소스 SW인 만큼 광범위한 영역에서 사용되고 있음에도 보안 조치를 완료하기 쉽지 않을 것으로 예상되자, 대량 해킹 피해를 유발할 수 있다는 우려가 커졌다.

과학기술정보통신부도 내년 보안 위협 전망 중 하나 로그4j 취약점에 따른 보안 위협을 해소하기까지 상당 시간이 소요될 것으로 예상하면서 이런 부분을 이유로 꼽았다.

글로벌 보안 기업의 앤코어 부사장인 조쉬 브레서도 미국 지디넷에 "로그4j 취약점이 불러온 과제 중 하나는 실제로 이를 찾아내는 것"이라며 "자바 애플리케이션과 종속물은 보통 배포와 실행을 매우 쉽게 만드는 일종의 패키지 형식인데, 이런 SW 패키지 안에 무엇이 들어 있는지 파악하는 것을 어렵게 만들 수 있다"고 설명했다.

프로그래밍 언어 소스코드. [사진=Pixabay]

이런 SW 구조 상의 한계는 취약점 스캐너 성능에도 영향을 미친다는 분석도 제기됐다. 

글로벌 보안 기업 레질리온의 취약점연구책임자인 요탐 퍼칼은 출시된 로그4j 취약점 스캐너 9가지를 테스트한 결과 대부분 허점이 발견됐다고 밝혔다. 퍼칼은 "로그4j를 비롯한 자바 파일은 다른 파일 내에 여러 단계를 거쳐 깊숙히 중첩될 수 있다"며 "정적 스캐닝의 한계"라고 분석했다.

미국 IT 매체 프로토콜은 "세계적으로 중요한 SW를 구축하는 데 사용된 오픈소스 프로젝트가 너무 많아 지원이 필요한 SW를 식별해내는 것만으로도 엄청난 도전"이라며 "오픈소스에 대한 보안 우려가 거대하게 실존하며 솔라윈즈 사태 이후 SW 공급망 보안 문제가 재차 부각됐다"고 진단했다.

■"전담 보안 인력 없는 오픈소스의 한계"…'SBoM·보안 특화 언어' 주목도 

로그4j를 비롯한 오픈소스가 소스코드 참여자·기여자의 헌신에 의존하기 때문에, 기업 SW에 비해 보안 투자 및 역량이 떨어지는 문제가 이번 일에서 드러났다는 지적도 이뤄졌다.

프로토콜은 "아파치 재단이나 리눅스 재단이 오픈소스 프로젝트를 최신 상태로 유지하기 위해 메인테이너를 조직하고, 투자도 하지만 생각보다 어려운 일"이라며, 이번 보안 취약점 문제를 해결하기 위해 로그4j 담당 메인테이너 세 명이 일주일 이상 휴식 없이 매달린 사실을 언급했다.

로그4j 취약점 발견 이후 전세계에서 관련 공격 시도가 나타나는 등 여파가 장기화됨에 따라, 오픈소스에서 야기되는 보안 문제를 최소화하기 위한 해결책도 모색되고 있다. 

로그4J

소스코드 관리 역량을 높이기 위해, SBoM(Software Bill of Materials)을 보다 활발히 활용해야 한다는 주장이 그 중 하나다. 

SBoM은 오픈소스, 라이브러리 등 SW의 모든 구성 요소를 담은 정보다. 특정 오픈소스에서 보안 문제가 야기될 경우 이를 참고해 보안 조치가 필요한 부분을 바로 파악해 대처할 수 있게 하자는 것이다. 

관련기사

리눅스 재단 오픈소스 공급망 보안 이사인 데이비드 A. 휠러는 SBoM과 검증된 재현 가능한 빌드(Reproducible builds)를 사용해 프로그램의 구성 요소를 알 수 있으며, 여기서 보안 허점이 발견될 경우 해당 부분에 패치를 적용해 간단히 해결할 수 있다고 제안했다.

보안성이 보다 강화된 프로그래밍 언어로 소스코드를 대체하는 방안도 제시됐다. 미국 지디넷은 오픈소스 운영체제(OS)인 리눅스가 러스트를 지원하는 작업을 진행 중인 점을 언급했다. 이에 대해 "리눅스의 주 언어인 C와 달리 러스트가 훨씬 더 안전하기 때문"이라며 "특히 메모리 오류 처리 측면에서 러스트가 훨씬 강점을 지녔다"고 설명했다.