0xNews - 35개 이상 유명 기업 대상 의존성을 이용한 혼돈 공급망 공격 성공

0xNews - 35개 이상 유명 기업 대상 의존성을 이용한 혼돈 공급망 공격 성공


의존성 혼동 공격 dependency confusion 혹은 대체 공격이라 통칭

이번 공격을 통해 소프트웨어에 개인이나 공용 소스가 혼합된 구성 요소가 포함되는 것을 이용

https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610


빌드 프로세스 중 공개 리포지토리에서 가져오는 이러한 외부 패키지 종속성은 공격자가 더 높은 버전의 비공개 모듈을 공개 피드에 업로드하여 클라이언트가 자동으로 가짜 최신 버전을 개발자의 조치가 필요


개발자가 자신의 컴퓨터에서 한 일회성 작업에 대한 실수로부터 잘못 구성된 내부 혹은 클라우드 기반 빌드 서버, 체계적으로 취약한 개발 파이프 라인에 이르기까지 확인된 사실은 유효한 내부 패키지를 사용하는 것

이번 공격을 통해 총 13만 USD 버그 바운티 획득

연구팀은 공격을 수행하기 위해 GitHub 에서 주요 회사가 사용하는 비공개 내부 패키지의 이름, 다양한 인터넷 포럼의 게시물, 프로젝트의 종속성을 나열하는 JavaScript 파일을 수집

NPM, PyPI, RubyGems 와 같은 패키지 호스팅 서비스에 동일한 이름을 사용하는 악성 라이브러리를 오픈 소스로 업로드


연구팀은 Shopify 빌드 시스템을 업로드 한지 몇 시간만에 shopify-cloud 라는 Ruby gem을 자동으로 설치

그후 연구팀은 설치된 gem 내 악성코드 실행 시도

npm에 업로드한 Node 패키지 추가

2020년 8월 애플 네트워크 내부의 여러 컴퓨터에서 실행되어 회사의 Apple ID 인증 시스템과 관련된 프로젝트에도 영향을 미침


공격은 궁극적으로 위조 패키지를 사용

패키지가 설치된 모든 컴퓨터의 기록을 확보

출발 시 트래픽을 차단되거나 탐지될 가능성이 적다는 이유로 DNS 를 통해 세부 정보를 유출 


더 높은 버전의 패키지가 위치에 관계없이 앱 빌드 프로세스에 의해 제거될 것이라는 우려

개인 패키지 피드를 사용할 때 위험을 완화하는 세가지 방법에서 벗어나지 않음


MS 에서 발표한 비공개 패키지 피드Private Package Feeds 사용할 때 위험을 완화하는 3 가지 방법

https://azure.microsoft.com/en-us/resources/3-ways-to-mitigate-risk-using-private-package-feeds/


1. 다수가 아닌 하나의 비공개 피드 참조

2. 제어된 범위, 네임스페이스, 접두사를 사용하여 개인 패키지를 보호

3. 버전 고정이나 무결성 검증과 같은 클라이언트측 검증 기능 활용


댓글

이 블로그의 인기 게시물

0xNews - 미군을 주제로 하여 한국인을 노리는 피싱 공격 캠페인 경고

0xNews - 리눅스 커널에서 StackRot 라는 이름의 취약점으로 권한 상승 취약점 발견

0xNews - 리눅스 시스템에 원격 명령어 인젝션 공격이 가능한 새로운 openSSH 취약점 발견