Self-propagating malware가 오픈소스 소프트웨어를 오염시키고 이란 기반 기기를 삭제
Source: Ars Technica
CanisterWorm and Kamikaze
이메일에서 Aikido 연구원인 Charlie Eriksen은 캔스터가 일요일 밤에 차단되었으며 더 이상 이용할 수 없다고 말했다.
“그들이 기대했던 만큼 신뢰할 수 있거나 손대지 못할 정도는 아니었다”고 Eriksen은 적었다. “하지만 한동안 감염되면 시스템을 삭제할 수 있었다.”
이전 TeamPCP 악성코드와 마찬가지로, CanisterWorm(Aikido가 명명한 악성코드)은 조직의 CI/CD 파이프라인을 목표로 한다. 이는 소프트웨어를 빠르게 개발·배포하기 위해 사용된다.
“이 패키지를 설치하고 npm 토큰에 접근할 수 있는 모든 개발자나 CI 파이프라인은 무의식적인 전파 경로가 된다”고 Eriksen은 적었다. “그들의 패키지가 감염되고, 하위 사용자가 이를 설치하면, 그 중 토큰을 가진 경우가 다시 전파되면서 사이클이 반복된다.”
주말이 진행되는 동안 CanisterWorm은 추가 페이로드를 포함하도록 업데이트되었다: 이란에만 존재하는 머신을 대상으로 하는 와이퍼이다. 업데이트된 웜이 머신에 감염되면, 해당 머신이 이란 시간대에 있거나 이란에서 사용하도록 설정되어 있는지를 확인한다. 어느 조건이든 충족되면, 악성코드는 더 이상 자격 증명 탈취기를 활성화하지 않고, TeamPCP 개발자들이 Kamikaze라고 명명한 새로운 와이퍼를 작동시킨다. Eriksen은 아직 이 웜이 이란 머신에 실제 피해를 입혔다는 증거는 없지만, “활성 전파가 이루어질 경우 대규모 영향을 미칠 명확한 잠재력이 있다”고 말했다.
Eriksen은 Kamikaze의 의사결정 트리를 간단하고 잔인하게 설명했다:
-
Kubernetes + Iran: 클러스터의 모든 노드를 삭제하는 DaemonSet 배포
-
Kubernetes + elsewhere: 모든 노드에 CanisterWorm 백도어를 설치하는 DaemonSet 배포
-
No Kubernetes + Iran:
rm -rf / --no-preserve-root -
No Kubernetes + elsewhere: 종료. 아무 일도 일어나지 않음.
TeamPCP가 현재 미국과 전쟁 중인 국가를 표적으로 삼은 것은 흥미로운 선택이다. 지금까지 이 그룹의 동기는 금전적 이득이었다. 금전적 이익과 명확한 연결고리가 없는 와이퍼는 TeamPCP의 전형적인 행보와는 다르다. Eriksen은 Aikido가 아직 동기를 모른다고 말했다. 그는 이렇게 적었다:
“이념적인 요소가 있을 수도 있지만, 단순히 그룹에 대한 주목을 끌기 위한 의도된 시도일 수도 있다. 역사적으로 TeamPCP는 금전적 동기가 있었지만, 가시성을 자체 목표로 삼는 조짐이 보인다. 보안 도구와 오픈소스 프로젝트(오늘 기준 Checkmarx 포함)를 공격함으로써 명확하고 의도적인 신호를 보내고 있다.”
The hack that keeps on giving
지난 주 Trivy의 공급망 침해는 2월 말 Aqua Security에 대한 이전 침해가 가능하게 만든 사건이다. 회사의 사고 대응은 모든 침해된 자격 증명을 교체하려는 것이었지만, 회전이 완전하지 않아 TeamPCP가 취약점 스캐너 배포를 위한 GitHub 계정을 장악할 수 있었다. Aqua Security는 이에 대응해 보다 철저한 자격 증명 정리를 진행하고 있다고 밝혔다.