
이 프로젝트에서는 악성 컨테이너를 통한 최근 공격을 발견하고 이를 차단하는 보안 메커니즘을 구현했습니다.
이 프로젝트에서는 악성 컨테이너를 통한 최근 공격을 발견하고 이를 막기 위한 보안 메커니즘을 구현했습니다.
사이버 공격은 IT 자원의 다양한 구성 요소의 취약성으로 인해 대기업과 소기업 모두에게 중요한 과제가 되었습니다. 이러한 위협을 이해하는 것은 조직의 데이터와 자산을 보호하는 첫 걸음입니다. 일반적인 공격 형태로는 악성코드, 랜섬웨어, 피싱 등이 있습니다. 최근 연구는 컨테이너 인프라를 대상으로 한 공격의 증가 추세를 강조하고 있습니다. 공격자는 종종 공개 검색 엔진과 스캐닝 도구를 통해 잘못 구성된 컨테이너를 찾아 악용합니다.
따라서 이 프로젝트에서는 CVE-2019-5736 Docker 취약점을 이용한 공격을 구현하고, 공격을 방지하기 위한 보안 메커니즘을 식별했습니다.
공격과 보안 메커니즘을 안전하게 구현하기 위해 다음과 같은 설정을 사용했습니다. Windows OS가 설치된 기본 머신에 VMware 워크스테이션을 배포하고 Ubuntu 18.04 OS 가상 머신을 사용했습니다. 또한, Ubuntu 18.04에 Docker 18.03.1-ce (Runc 1.0.0-rc5) 컨테이너 애플리케이션을 설치했습니다.
"usr/docker/runc"는 제3자가 수정할 수 없어야 하는 민감한 실행 파일입니다. 그러나 Docker 18.03 버전에는 "runc" 도커 파일의 수정을 기록하지 않는 취약점이 있습니다. 결과적으로 공격자는 이 취약점을 이용하여 "usr/docker/runc" 파일을 수정하고 Linux 시스템에 대한 루트 액세스 권한을 얻을 수 있습니다.
결과:
이 취약점의 근본 원인은 악성 도커 이미지가 "/usr/docker/runc" 파일을 변경하고 실행 파일에 적대적인 코드를 포함시킬 수 있는 능력입니다.
이 공격을 막기 위해 "Chattr" 명령을 사용하여 "/usr/docker/runc" 파일을 변경 불가능하게 만듭니다. 결과적으로 익스플로잇이 실행되지 않고 공격자 측에서 응답이 없습니다.
우리가 적용한 보안 메커니즘은 실제로 공격을 차단합니다. 즉, 악성 코드가 우리가 발견한 특정 도커 파일의 취약점을 악용하는 것을 방지할 수 있었습니다. 보안 메커니즘의 경우, 'chmod' 명령을 사용할 수 없었습니다. 사용한 특정 취약점에서는 공격자에게 루트 액세스 권한이 부여되기 때문입니다. 따라서 "chmod" 명령은 공격을 막을 수 없었습니다.
이 프로젝트에서는 높은 CVSS 점수를 가진 CVE-2019-5736 취약점을 악용하는 공격을 구현하기로 선택했습니다. 이 취약점은 공격자에게 사용자 머신에 대한 원격 액세스와 루트 권한을 부여합니다. 우리는 공격을 성공적으로 실행하고 이를 방지할 보안 메커니즘을 찾았습니다.
도전 과제: