1. NVIDIA Container Toolkit [1]
- 컨테이너 런타임 라이브러리와 NVIDIA GPU를 활용하도록 컨테이너를 자동으로 구성하는 유틸리티가 포함
- Docker 컨테이너 내에서 NVIDIA GPU를 효율적으로 활용할 수 있도록 만들어진 도구
> 일반적인 환경에서 Docker를 동작 시키면 Host의 CPU를 기반으로 Docker가 생성되며, GPU를 사용할 수 없음
> 과거에는 GPU를 사용하기 위해 컨테이너 내에 NVIDIA GPU 드라이버를 설치하였으나, 안전성-하드웨어와 컨테이너의 드라이버 버전을 매번 맞춰야하는-문제가 있음
> NVIDIA Container Toolkit은 Container에서 GPU를 사용시 libcuda.so와 같은 Host에 있는 CUDA Toolkit들을 마운트해주는 역할
※ CUDA(Computed Unified Device Architecture) Toolkit: 고성능 GPU 가속 애플리케이션을 만드는 개발 환경을 제공 [2]
2. 취약점 [3]
2.1 CVE-2024-0132
- NVIDIA Container Toolkit에서 발생하는 TOCTOU 취약점 (CVSS: 9.0)
> 악성 이미지를 통해 실행되는 컨테이너를 탈출해 호스트 시스템에 대한 전체 액세스 권한을 얻을 수 있음
> 악용에 성공할 경우 코드 실행, 서비스 거부(DoS), 권한 상승, 정보 유출, 데이터 변조 등의 공격을 유발할 수 있음
※ 구체적인 기술적 세부 사항은 공개하지 않음
영향받는 버전: NVIDIA Container Toolkitv 1.16.1 이하 버전
2.1.1 TOCTOU (Time-Of-Check to Time-Of-Use) 취약점
- 자원을 사용하는 시점과 검사하는 시점이 달라서 자원의 상태변동으로 야기되는 Race Condition 취약점
> 병렬시스템(멀티프로세스로 구현한 응용프로그램)에서는 자원(파일, 소켓 등)을 사용하기에 앞서 자원의 상태를 검사
> 하지만, 자원을 사용하는 시점과 검사하는 시점이 다르기 때문에, 검사하는시점(Time Of Check)에 존재하던 자원이 사용하던 시점(Time Of Use)에 사라지는 등 자원의 상태가 변하는 경우가 발생
- 동기화 구문을 통해 한번에 하나의 프로세스만 공유자원에 접근 가능하도록 처리
> 성능에 미치는 영향을 최소화하기 위해 임계코드 주변만(동기화가 필요한 부분만) 동기화 구문을 사용
2.1.2 공격 과정
① 공격자는 악성 이미지를 제작해 유포한 후 대상 플랫폼에서 악성 이미지 실행
> 공급망 또는 사회공학적기법을 사용해 이미지 실행을 유도
② CVE-2024-0132를 악용해 호스트 파일 시스템에 엑세스
③ Container Runtime Socket을 이용해 호스트 시스템에서 임의의 명령 실행
> docker.sock 및 containerd.sock 악용: root 권한으로 호스트 시스템에서 컨테이너로 임의의 명령을 실행할 수 있음
2.2 CVE-2024-0133
- 컨테이너 이미지가 호스트 파일 시스템에 빈 파일을 생성할 수 있는 취약점
영향받는 버전: NVIDIA Container Toolkitv 1.16.1 이하 버전
※ 두 취약점 모두 CDI (Container Device Interface)가 사용되는 경우 영향받지 않음
> CDI (Container Device Interface): 컨테이너 런타임에서 NVIDIA GPU와 같은 복잡한 디바이스에 대한 액세스를 표준화 [7]
3. 대응방안
- 벤더사 제공 보안 업데이트 적용 [8][9]
취약점 | 제품명 | 영향받는 버전 | 해결 버전 |
CVE-2024-0132 CVE-2024-0133 |
NVIDIA Container Toolkit | v1.16.1 이하 | v1.16.2 |
NVIDIA GPU Operator | v24.6.1 이하 | v24.6.2 |
4. 참고
[1] https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/index.html
[2] https://developer.nvidia.com/cuda-toolkit
[3] https://www.wiz.io/blog/wiz-research-critical-nvidia-ai-vulnerability
[4] https://nvd.nist.gov/vuln/detail/CVE-2024-0132
[5] https://www.youtube.com/watch?v=kslKQMgWMzY
[6] https://nvd.nist.gov/vuln/detail/CVE-2024-0133
[7] https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/cdi.html
[8] https://www.boho.or.kr/kr/bbs/view.do?bbsId=B0000133&pageIndex=1&nttId=71562&menuNo=205020
[9] https://nvidia.custhelp.com/app/answers/detail/a_id/5582
[10] https://thehackernews.com/2024/09/critical-nvidia-container-toolkit.html
'취약점 > 기타' 카테고리의 다른 글
LotL (Living off the Land) 대비 가이드라인 (5) | 2024.10.21 |
---|---|
Kia 차량 해킹 (3) | 2024.10.03 |
Air-Gap RAMBO(Radiation of Air-gapped Memory Bus for Offense) Attack (0) | 2024.09.11 |
Windows Downdate (CVE-2024-38202, CVE-2024-21302) (0) | 2024.08.13 |
SmartScreen 및 Windows Smart App Control 설계상 취약점 (0) | 2024.08.10 |