저는 Fedora 35 호스트 내에서 Fedora 35 게스트를 실행하기 위해 GNOME-Boxes를 사용하고 있습니다. --privileged 플래그(다른 플래그 중에서)를 사용하여 도커 컨테이너를 실행하면 가장 해로운 것은 무엇입니까?
악의적인 Docker가 실제로 베어 메탈 시스템을 악용할 수 있다는 내용을 읽었으므로 게스트 시스템에 있어야 하는 것보다 더 많은 액세스 권한이 있다고 가정합니다. 하지만 호스트는 어떻습니까?
답변1
--privileged 플래그(다른 플래그 중에서)를 사용하여 도커 컨테이너를 실행하면 가장 해로운 것은 무엇입니까?
--privileged
컨테이너가 루트로 실행 중임을 나타냅니다. 이는 컨테이너가 원하는 것은 무엇이든 할 수 있음을 의미합니다. 컨테이너의 루트 사용자는 전체 시스템의 루트 사용자입니다. devfs
SSD를 포함하여 어디에나 설치할 수 있습니다 . 모든 RAM을 읽고, NVIDIA 드라이버를 설치하고, 딥페이크 포르노를 다운로드하는 등의 작업을 수행할 수 있습니다.
그러나 이것은 단지 컨테이너일 뿐이다.~에귀하의 질문을 올바르게 이해했다면 귀하의 가상 머신입니다. 가상 머신 경계는 실제로 경계입니다(단지 선택적 네임스페이스 경계가 아님).특징핵심) 극복하기가 더 어렵습니다. 결국 이는 집주인과 무엇을 공유하느냐에 따라 달라집니다. 그러나 예를 들어 호스트와 VM이 CPU 코어를 공유하고(아마 그럴 것입니다!) 메모리 캐시를 공유하는 경우 호스트는 내부 VM SPECTER 스타일 공격에 취약합니다(동시에 이는 소규모 x86_64 시스템에서도 가능합니다). VM 주된 이유) 하이퍼스케일 프로세서는 두 개의 코어를 제공합니다. 이는 하드웨어의 가장 작은 단위입니다(그 외에 캐시는 공유되지 않습니다). 물론, 3D Acceleration Guest를 통해 GPU 메모리를 공유하는 경우 해머링된 페이지가 클라이언트 내에 있을 가능성이 더 높더라도 Rowhammer는 여전히 작동합니다. (GPU와 해당 드라이버는 이 점에서 특히 짜증납니다. 일부 콘솔은 정확히 이 메커니즘을 통해 탈옥됩니다. 가속된 게스트는 GPU의 DMA 엔진을 통해 메모리 조각화를 피할 수 있습니다.)
그러나 궁극적으로 이 모든 것이 효과적으로 사용될 가능성은 거의 없습니다. 저는 하드웨어 버그를 VM 격리의 차단기로 인식한 적이 있습니다. 그래서 당신은 안전합니다.