Kant's IT/Issue on IT&Security

오픈소스 생태계에서의 공급망 공격과 진입점 악용

Kant Jo 2024. 11. 23. 21:09

Supply Chain Attacks Can Exploit Entry Points in Python, npm, and Open-Source Ecosystems

 

  • 공급망 공격의 증가와 진입점 악용 위험
    • Python, npm, Ruby Gems 등의 오픈소스 생태계에서 진입점을 악용하여 악성 코드를 실행하는 공급망 공격이 증가하고 있음
    • 이러한 진입점 공격은 전통적인 보안 방어 체계를 우회할 수 있어 더 은밀하고 지속적인 시스템 침해를 유발할 수 있음
    • 진입점은 개발자가 특정 기능을 명령줄 래퍼로 노출하거나 플러그인을 로드하는 방식으로, 악성 코드 배포에 악용될 수 있음
  • 주요 공격 방법
    • 명령어 하이재킹(Command-jacking)
      • 인기 있는 타사 명령어를 모방한 패키지를 배포하여 민감 정보를 탈취할 수 있음
      • 예를 들어, aws, docker, npm 등의 명령어를 가장하여 사용자 데이터를 수집
    • 명령어 래핑(Command wrapping)
      • 원래의 명령어를 대체하는 대신 래퍼를 생성하여 정상적인 명령어와 악성 코드를 동시에 실행
      • 공격이 탐지되지 않고 장기적으로 시스템에 접근할 수 있게 함
    • 악성 플러그인 및 확장
      • 개발 도구를 위한 악성 플러그인을 생성하여 코드베이스에 접근하거나 테스트 과정에 악영향을 미쳐 코드를 정상적으로 보이게 조작
  • 공격 탐지의 어려움과 장기적 침투
    • PATH 순서에 따라 악성 명령어가 시스템 명령어보다 먼저 실행되는 방식으로 공격이 감지되지 않음
    • 정상적인 명령어 실행 결과를 유지하면서 동시에 악성 코드가 실행되기 때문에 사용자가 공격을 인지하기 어려움
    • 장기간 민감 정보를 유출하거나 시스템에 지속적으로 접근 가능
  • 공급망 보안 강화 방안
    • 개발 도구와 패키지 관리자의 보안 강화가 필수적이며, 이러한 진입점 악용에 대한 포괄적인 보안 대책 마련이 요구됨
    • Sonatype 보고서에 따르면, Java, JavaScript, Python 등 오픈소스 생태계에서 발견된 악성 패키지가 매년 급증하고 있어 더욱 강력한 대응이 필요함
    • 전통적인 보안 도구가 이러한 공격을 탐지하지 못하는 경우가 많아 개발자와 자동화된 빌드 환경이 높은 위험에 노출됨