보안 제품정보


rkt 컨테이너 런타임 취약점, 패치는 커뮤니티의 몫 2019.06.05

컨테이너 탈출 후 호스트 침해 가능케 하는 취약점 세 가지 발견
레드햇은 당분간 여력 안 될 듯...깃허브 통해 커뮤니티가 해결 시도 중


[보안뉴스 문가용 기자] rkt 컨테이너 런타임에서 취약점이 발견됐다. 익스플로잇이 될 경우 공격자가 컨테이너 환경을 탈취해 호스트에 대한 루트 권한을 가져갈 수 있게 된다. “사용자가 ‘rkt enter’ 명령을 실행할 때 익스플로잇이 가능하다”고 보안 업체 트위스트록(Twistlock)의 보안 전문가 유발 아브라하미(Yuval Avrahami)가 설명한다.

[이미지 = iclickart]


rkt는 코어OS(CoreOS)가 시작한 프로젝트이자 오픈소스 컨테이너 런타임으로, 점점 더 인지도가 커져가고 있는 중이다. 하지만 2018년 중반 레드햇(RedHat)이 코어OS(CoreOS)를 인수한 뒤로부터는 발 빠르고 활발하게 계발되고 있지는 않다. 또한 오픈소스임에도 불구하고 컨트리뷰터(contributor)가 그리 많지 않다는 특징도 가지고 있다.

유발에 따르면 위에 언급된 rkt enter 명령은 “사용자가 실행되고 있는 컨테이너에서 바이너리를 실행시킬 수 있게 해주는 것”이라고 하며, “필터링이나 그룹 격리 같은 제한 장치가 하나도 적용되어 있지 않고 단지 명칭 공간(namespace)만이 제한을 주는 요소로서 작동하고 있다”고 한다.

그렇기 때문에 컨테이너를 빠져나가는 게 가능하다고 아브라하미는 지적한다. 이 특징들에는 세 가지 취약점 번호가 붙었다.
1) CVE-2019-10144 : rkt enter로 실행되는 프로세스들이 2단계에서 모든 기능을 실시할 수 있게 된다.
2) CVE-2019-10145 : rkt enter로 실행되는 프로세스들이 2단계에서 seccomp 필터링의 제한을 받지 않는다.
3) CVE-2019-10147 : rkt enter로 실행되는 프로세스들이 2단계에서 cgroups의 제한을 받지 않는다.

이를 익스플로잇 하기 위해서는 컨테이너에 대한 루트 권한이 필요하다. “그러므로 사용자가 rkt enter 명령을 실행할 때 공격자가 바이너리와 라이브러리를 덮어쓰기 할 수 있게 되고, 이를 통해 생성된 프로세스가 정상 바이너리와 라이브러리 대신 악성 코드를 실행하도록 만드는 게 가능합니다.”

이 경우 덮어쓰기를 해야 하는 건 컨테이너 내의 /bin/bash와 libc.so.6이라고 한다. 이 둘은 rkt enter 명령에 대한 옵션이 특별히 지정되지 않았을 때 디폴트로 실행되는 바이너리다. 그러므로 악성 프로세스를 로딩시키는 데 성공할 가능성이 높아진다. “이렇게 악성 프로세스가 실행되기 시작하면, 컨테이너를 탈출해서 호스트의 루트에 쉽게 접근할 수 있게 됩니다.”

아브라하미는 이 세 가지 취약점과 공격 시나리오를 보다 상세히 설명하기 위해 영상물(https://asciinema.org/a/249284)을 발표하기도 했다. 또한 레드햇과 코어OS 측에도 연락을 취해 취약점들에 대한 세부 내용을 알렸다. 하지만 레드햇 측은 이 문제에 대한 패치 계획을 당장 세울 수는 어렵다는 답장을 보냈다. 대신 깃허브에 취약점에 대한 내용을 올려 보안 커뮤니티가 완화 방법을 찾는 데 공동으로 노력할 수 있게 해달라고 요청했다.

보안 및 개발 커뮤니티 일원으로서 rkt 패치 문제에 참여하고 싶다면 다음 링크를 참조할 수 있다. rkt와 관련된 내용은 다음 깃허브 주소(https://github.com/rkt/rkt)에서 열람이 가능하고, 아브라하미의 최초 포스팅은 여기(https://www.twistlock.com/labs-blog/breaking-out-of-coresos-rkt-3-new-cves/)서 읽어볼 수 있다. 아브라하미가 제시한 공격 시나리오는 이 영상(https://asciinema.org/a/0yLjxbPuVbjnYtERgevcTz4Iv)을 통해 접할 수 있다.

3줄 요약
1. rkt 컨테이너 런타임에서 세 가지 취약점 발견됨.
2. 취약점 익스플로잇에 성공할 경우, 컨테이너에서 탈출한 뒤 호스트를 침해할 수 있음.
3. 패치는 한 동안 나오지 않을 전망. 커뮤니티에서 직접 해결해야만 하는 상황.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>