컨테이너는 조직이 확장 가능하고 격리된 워크로드를 실행할 수 있도록 지원하는 클라우드 네이티브 기술의 중요한 구성 요소가 되었습니다. 그러나 최근 몇 년 동안 클라우드 네이티브 환경을 표적으로 삼는 공격이 더욱 정교해졌습니다. 악성 애플리케이션의 권한 상승으로 인한 위험을 방지하려면 컨테이너 수명 주기의 모든 단계에서 컨테이너를 보호하는 보안 제어를 구현하는 것이 중요합니다. 권한을 제한하고 호스트 시스템이 손상되지 않도록 보호하기 위해 컨테이너 애플리케이션의 보안 프로필을 구축하기 위해 많은 연구가 수행되었지만 공유 기본 커널은 여전히 의도하지 않게 여러 가지 성공적인 공격을 허용합니다. 본 연구에서는 과도한 권한 문제를 피하기 위해 정확한 시스템 호출 화이트리스트를 구축하는 접근 방식을 제안합니다. 이를 위해 정적 분석과 동적 분석을 결합하여 초기화와 제공 단계라는 두 가지 실행 단계에서 컨테이너 앱에 대한 충분한 정보를 얻습니다. 그런 다음 이러한 정보를 사용하여 모든 가짜 시스템 호출을 차단하면서 앱을 실행하는 데 필요한 시스템 호출을 추론합니다. 마지막으로 테스트 중인 컨테이너에 대해 충돌 분석을 수행하고 누락된 시스템 호출이 있는 경우 이를 추가하려고 시도합니다. 널리 사용되는 서버 애플리케이션에 대해 여러 실험을 수행함으로써 우리는 이 접근 방식이 컨테이너 애플리케이션 작동에 필요한 누락된 시스템 호출을 찾는 데 도움이 된다는 것을 확인했습니다. 이 기술로 생성된 시스템 호출 화이트리스트는 Docker의 기본 seccomp 프로필보다 더 컴팩트하므로 애플리케이션과 호스트 시스템에 대한 공격 표면이 크게 줄어듭니다.