컨테이너 기술은 운영체제 수준의 가상화 기술로 Host 운영체제와 격리되어 실행된다는 것이 보안 관점에서 큰 메리트가 있다. 하지만 기존의 취약점들과 동일하게 관리자의 미흡한 설정, 격리 기술 우회 등 다양한 위협 포인트가 계속해서 발생하고 있다. 이 장에서는 관리자의 미흡한 설정으로 사용자가 컨테이너를 탈출하여 Host 시스템을 탈취하는 시나리오를 알아보자.
Mount란?
리눅스에서 디스크와 같은 물리적 장치를 특정위치(디렉터리)에 연결시켜 주는 것
Bind Mount란?
Host의 파일 시스템을 컨테이너의 특정위치(디렉터리)에 연결시켜 주는 것
부적절한 Bind Mount 설정 취약점
1. Docker가 설치된 리눅스 준비
2. Host의 /etc 디렉터리를 컨테이너의 /tmp 디렉터리로 Bind Mount 하는 tomcat 컨테이너 생성
[root@localhost ~]# docker run -v /etc:/tmp -d --name tomcat tomcat:9.0