2021-05-18 13:00 (화)
도커 탈출로 이용 가능한 MS 애저 취약점 발견돼
상태바
도커 탈출로 이용 가능한 MS 애저 취약점 발견돼
  • 페소아 기자
  • 승인 2021.01.29 17:26
이 기사를 공유합니다

사이버 보안 연구원인 파울 리트박(Paul Litvak)은 공격자가 권한을 상승시키고 호스팅하는 도커 컨테이너를 탈출하기 위해 사용할 수 있는 마이크로소프트 애저(Azure) Functions의 패치되지 않은 취약점을 공개했다.

이는 Azure 컴퓨팅 인프라에 대한 Intezer Lab의 조사 결과에서 나온 것이다.

더해커뉴스 보도에 따르면, 제보를 받은 후 마이크로소프트는 “컨테이너 호스트에서 도달한 상승된 위치에 대해 호스트 자체가 여전히 다른 방어 경계에 의해 보호되기 때문에 취약점이 Function 사용자에게 영향을 미치지 않는다고 판단했다.”고 말했다.

아마존 AWS Lambda와 유사한 서비스인 Azure Functions는 사용자가 인프라를 명시적으로 프로비저닝하거나 관리할 필요 없이 이벤트 트리거 코드를 실행할 수 있는 동시에 수요에 따라 컴퓨팅 및 리소스를 확장 및 할당할 수 있도록 하는 서버리스 솔루션이다.

도커와 함께 통합하면 개발자가 클라우드 또는 온-프레미스(on-premises)에서 Azure Functions를 쉽게 배포하고 실행할 수 있다.

트리거 코드는 Azure Function을 호출하도록 구성된 이벤트(예: HTTP 요청)이므로 연구원은 먼저 함수 컨테이너에 대한 발판을 확보하기 위해 HTTP 트리거를 만들고, 이를 사용하여 루트 권한을 지닌 프로세스에 속하는 소켓을 찾았다.

연구 결과 “Mesh” 바이너리와 관련된 권한 있는 프로세스 중 하나가 Function 루트 권한을 실행하는 “앱" 사용자에게 악용될 수 있는 결함을 포함하고 있는 것으로 확인되었다. Mesh 바이너리는 목적을 설명할 문서가 거의 없었지만, Intezer 연구원들은 리버스 엔지니어링과 권한 상승을 위해 사용한 레퍼런스를 공개 도커 이미지에서 찾았다. 이 이미지는 현재 삭제된 상태이다.

마지막 단계에서 컨테이너에 할당된 확장 권한(“-privileged” 플래그 사용)이 도커 컨테이너를 탈출하고 호스트에서 임의 명령을 실행하기 위해 악용되었다.

Intezer는 또한 도커 호스트 환경을 조사하기 위해 깃허브에 PoC(개념증명) 익스플로잇 코드를 공개하였다.

연구원들은 “이와 같은 인스턴스는 취약점이 때때로 클라우드 사용자의 통제를 벗어난다는 것을 의미한다. 공격자들은 취약한 타사 소프트 웨어를 통해 내부 방법을 찾을 수 있다. 공격자가 프로덕션 환경에서 승인되지 않은 코드를 실행할 때 이를 탐지하고 종료할 수 있는 보호조치를 마련하는 것이 중요하다. 이러한 제로 트러스트 사고방식은 마이크로소프트에서도 반향을 일으킨다.”라고 덧붙였다.

★정보보안 대표 미디어 데일리시큐!★