Skip to main content
QUICK REVIEW

[논문 리뷰] Machine Learning Systems are Bloated and Vulnerable

Huaifeng Zhang, Fahmi Abdulqadir Ahmed|arXiv (Cornell University)|2022. 12. 16.
Cloud Computing and Resource Management인용 수 5
한 줄 요약

이 논문은 기계학습 컨테이너의 불필요한 코드와 종속성 수준에서의 블로트를 분석하고 정량화하는 MMLB 프레임워크를 소개한다. 컨테이너 및 패키지 수준에서 측정한 결과, 블로트는 컨테이너 크기의 최대 80%를 차지하며, 프로비저닝 시간을 370% 증가시키고 취약성을 99% 증가시킨다. APT 패키지와 기계학습 프레임워크가 주요 블로트 및 위험 원천이다.

ABSTRACT

Today's software is bloated with both code and features that are not used by most users. This bloat is prevalent across the entire software stack, from operating systems and applications to containers. Containers are lightweight virtualization technologies used to package code and dependencies, providing portable, reproducible and isolated environments. For their ease of use, data scientists often utilize machine learning containers to simplify their workflow. However, this convenience comes at a cost: containers are often bloated with unnecessary code and dependencies, resulting in very large sizes. In this paper, we analyze and quantify bloat in machine learning containers. We develop MMLB, a framework for analyzing bloat in software systems, focusing on machine learning containers. MMLB measures the amount of bloat at both the container and package levels, quantifying the sources of bloat. In addition, MMLB integrates with vulnerability analysis tools and performs package dependency analysis to evaluate the impact of bloat on container vulnerabilities. Through experimentation with 15 machine learning containers from TensorFlow, PyTorch, and Nvidia, we show that bloat accounts for up to 80% of machine learning container sizes, increasing container provisioning times by up to 370% and exacerbating vulnerabilities by up to 99%.

연구 동기 및 목표

  • 기계학습 컨테이너에서 블로트의 정도와 원인을 조사하기 위해, 일반적으로 단일 모듈형으로 배포되는 사전 패키징된 환경에서 발생하는 블로트를 분석한다.
  • 블로트가 기계학습 워크로드의 컨테이너 크기, 프로비저닝 시간, 보안 취약성에 미치는 영향을 정량화한다.
  • 기계학습 시스템에서 컨테이너 수준과 패키지 수준에서 블로트를 식별하고 측정하며 분석하는 체계적인 프레임워크를 개발한다.
  • 의존성 추적과 결합한 취약성 분석을 통해 블로트가 컨테이너 보안에 미치는 영향을 평가한다.
  • 기술적 부채를 줄이기 위해 더 모듈러한 기계학습 시스템과 지능적인 컨테이너 생태계의 필요성을 강조한다.

제안 방법

  • 블로트 원인을 식별하기 위해 컨테이너 수준 분석, 패키지 수준 분석, 의존성 그래프 구축을 조합한 다층 프레임워크인 MMLB를 개발했다.
  • Cimplifier를 사용해 기계학습 컨테이너의 블로트를 탐지하고 제거함으로써 원본 버전과 블로트 제거 버전 간 비교를 가능하게 하였다.
  • Grype와 Trivy를 통합해 취약성 스캐닝을 수행했으며, 파일 삭제 여부를 확인하는 커스텀 로직을 통해 블로트 제거 후 CVE가 제거되었는지 검증하였다.
  • TensorFlow, PyTorch, NVIDIA에서 온 15개의 실제 기계학습 컨테이너를 대상으로 컨테이너 크기, 프로비저닝 시간, 취약성 분석을 수행하였다.
  • APT 패키지, 기계학습 프레임워크(예: TensorFlow, PyTorch), 훈련 및 서빙 파이프라인에서의 불필요한 기능 등으로부터의 블로트 기여도를 추적하였다.
  • 패키지 의존성 분석을 적용해 전이적 의존성의 블로트 및 취약성 표면적 증가에 기여하는 방식을 추적하였다.

실험 결과

연구 질문

  • RQ1블로트는 기계학습 컨테이너 크기에 어느 정도 기여하는가?
  • RQ2APT 패키지, 기계학습 프레임워크, 불필요한 기능 등과 같은 구성 요소 중 블로트의 주요 원인은 무엇인가?
  • RQ3블로트는 컨테이너 프로비저닝 시간과 성능 오버헤드에 어떤 영향을 미치는가?
  • RQ4블로트는 기계학습 컨테이너의 취약성 표면적을 어느 정도 증가시키는가?
  • RQ5기존의 취약성 스캐너는 블로트 제거로 인해 제거된 CVE를 얼마나 효과적으로 탐지하는가?

주요 결과

  • 일부 기계학습 컨테이너에서 블로트는 총 크기의 최대 80%를 차지하여 패키징의 극도로 비효율적인 상태임을 시사한다.
  • 블로트로 인해 컨테이너 프로비저닝 시간이 최대 370% 증가하여 배포 효율성에 심각한 영향을 미친다.
  • 블로트는 불필요한 종속성과 전이적 패키지 포함으로 인해 최대 99%까지 취약성 표면적을 악화시킨다.
  • APT 패키지는 복잡한 의존성 체인으로 인해 블로트와 취약성의 주요 원천이다.
  • TensorFlow 및 PyTorch와 같은 기계학습 프레임워크는 특히 훈련 기능이 서빙 컨테이너에 포함된 잘못된 배포 시나리오에서 블로트에 크게 기여한다.
  • 높은 수준의 블로트와 취약성 노출에도 불구하고, 기계학습 전용 패키지에 대해 매우 적은 수의 CVE가 보고되어 있어 보안 감시의 격차가 있음을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.