Blog Ars Technica 8일 전

오픈소스 공급망 해킹… 자가전파 악성코드 확산

중요도

한국어 요약

TeamPCP라는 해킹 그룹이 널리 사용되는 오픈소스 취약점 스캐너인 Trivy의 깃허브 계정을 해킹하는 등 대규모 공급망 공격을 감행했습니다. 이들은 개발자의 npm 접근 토큰을 탈취해 악성코드가 스스로 전파되는 'CanisterWorm'을 배포했으며, 이란 IP 대역의 기기를 감지하면 데이터를 초기화하는 와이퍼(Kamikaze)를 추가로 실행합니다. 소프트웨어 개발 및 배포(CI/CD) 파이프라인 전반에 연쇄적인 감염을 일으킬 수 있다는 점에서 매우 심각한 보안 위협으로 평가됩니다.

원문 보기

번역된 본문

새로운 해킹 그룹이 자가 전파되는 전례 없는 백도어를 확산시키는 집요한 캠페인으로 인터넷을 휩쓸고 있으며, 흥미롭게도 이란 내 컴퓨터를 표적으로 하는 데이터 초기화(Wiper) 악성코드도 함께 배포하고 있습니다. TeamPCP라는 이름으로 추적되는 이 그룹은 보안 기업 Flare의 연구원들이 보안이 취약한 클라우드 호스팅 플랫폼을 표적으로 하는 웜을 배포한 12월에 처음 주목을 받았습니다. 이들의 목표는 분산 프록시 및 스캐닝 인프라를 구축한 뒤, 이를 이용해 서버를 침해하여 데이터를 유출하고, 랜섬웨어를 배포하며, 협박 및 암호화폐 채굴을 수행하는 것이었습니다. 이 그룹은 대규모 자동화 및 잘 알려진 공격 기법의 통합 기술에서 두각을 나타냅니다. 끊임없이 진화하는 집요한 공격 최근 TeamPCP는 끊임없이 진화하는 악성코드를 사용하여 점점 더 많은 시스템을 통제하는 집요한 캠페인을 벌이고 있습니다. 지난주 후반, 이 그룹은 널리 사용되는 Trivy 취약점 스캐너의 사실상 모든 버전을 대상으로 Trivy 개발사인 Aqua Security의 깃허브 계정에 대한 권한을 획득해 공급망 공격을 감행했습니다. 주말 동안 연구원들은 TeamPCP가 웜 기능을 갖춘 강력한 악성코드를 확산시키는 것을 관찰했다고 밝혔습니다. 이는 키보드 앞의 피해자의 조작 없이도 새로운 컴퓨터로 자동 전파될 수 있음을 의미합니다. 기기를 감염시킨 후, 이 악성코드는 npm 저장소의 액세스 토큰을 샅샅이 뒤져 악성 코드가 포함된 새 버전을 만들어 게시 가능한 모든 패키지를 손상시킵니다. 보안 업체 Aikido는 이 웜이 60초도 안 되는 시간 안에 28개의 패키지를 표적으로 삼는 것을 관찰했습니다. 초기에는 공격자가 손상된 npm 토큰이 접근할 수 있는 모든 패키지에 수동으로 웜을 퍼뜨려야 했습니다. 하지만 주말에 푸시된 이후 버전은 이러한 수반 작업을 필요로 하지 않게 만들어 그 영향 범위를 더욱 넓혔습니다. 이 웜은 변조 방지를 목표로 설계된 특이한 메커니즘으로 제어되었습니다. 이는 인터넷 컴퓨터 프로토콜(Internet Computer Protocol) 기반의 캐니스터(Canister, 제3자가 해제하거나 변경할 수 없도록 설계된 일종의 자가 강제 스마트 계약)를 사용했습니다. 이 캐니스터는 악성 바이너리를 호스팅하는 서버의 끊임없이 변하는 URL을 가리킬 수 있었습니다. 공격자가 웜이 제어 서버를 찾을 수 있는 방법을 제공함으로써, 공격자는 언제든지 URL을 지속적으로 교체할 수 있었습니다. 감염된 기기는 50분마다 한 번씩 캐니스터에 보고했습니다. 이메일 인터뷰에서 Aikido의 연구원 찰리 에릭센(Charlie Eriksen)은 이 캐니스터가 일요일 밤에 해제되어 더 이상 사용할 수 없다고 밝혔습니다. 에릭센은 “이것이 공격자들이 예상했던 것만큼 안정적이거나 무적이지는 않았다”며, “하지만 한동안 감염된 시스템의 데이터를 초기화할 수도 있는 상태였다”고 말했습니다. Aikido가 이름 붙인 이전 TeamPCP 악성코드와 마찬가지로, 'CanisterWorm' 역시 소프트웨어의 빠른 개발 및 배포를 위해 사용되는 기업의 CI/CD 파이프라인을 표적으로 삼습니다. 에릭센은 “이 패키지를 설치하고 액세스 가능한 npm 토큰이 있는 모든 개발자 또는 CI 파이프라인은 알지 못하는 전파 매개체가 된다”며, “이들의 패키지가 감염되고 다운스트림 사용자가 이를 설치하며, 그중 누군가 토큰을 가지고 있다면 이 사이클이 반복된다”고 설명했습니다. 주말이 지나면서 CanisterWorm은 추가 페이로드인 이란 내 기기를 표적으로 하는 데이터 와이퍼를 추가하도록 업데이트되었습니다. 업데이트된 웜이 기기를 감염시킬 때, 해당 기기가 이란 표준 시간대에 있거나 해당 국가에서 사용하도록 구성되어 있는지 확인합니다. 이 중 하나라도 조건이 충족되면 악성코드는 더 이상 자격 증명 탈취기를 활성화하지 않고 대신 TeamPCP 개발자들이 '가미카제(Kamikaze)'라고 명명한 새로운 데이터 초기화 프로그램을 실행합니다. 에릭센은 이메일을 통해 이 웜이 이란 내 기기에 실제 피해를 입혔다는 징후는 아직 없지만, 활발히 확산될 경우 대규모 피해를 낼 '명백한 가능성'이 있다고 밝혔습니다. 에릭센은 가미카제의 '의사결정 트리는 단순하고 잔인하다'고 말했습니다. 쿠버네티스(Kubernetes) + 이란: 클러스터의 모든 노드를 초기화하는 DaemonSet 배포 쿠버네티스(Kubernetes) + 기타 지역: 배포 (원문 누락)
원문 보기 (영어)
Text settings Story text Size Small Standard Large Width * Standard Wide Links Standard Orange * Subscribers only Learn more Minimize to nav A new hacking group has been rampaging the Internet in a persistent campaign that spreads a self-propagating and never-before-seen backdoor—and curiously a data wiper that targets Iranian machines. The group, tracked under the name TeamPCP, first gained visibility in December, when researchers from security firm Flare observed it unleashing a worm that targeted cloud-hosted platforms that weren’t properly secured. The objective was to build a distributed proxy and scanning infrastructure and then use it to compromise servers for exfiltrating data, deploying ransomware, conducting extortion, and mining cryptocurrency. The group is notable for its skill in large-scale automation and integration of well-known attack techniques. Relentless and constantly evolving More recently, TeamPCP has waged a relentless campaign that uses continuously evolving malware to bring ever more systems under its control. Late last week, it compromised virtually all versions of the widely used Trivy vulnerability scanner in a supply-chain attack after gaining privileged access to the GitHub account of Aqua Security, the Trivy creator. Over the weekend, researchers said they observed TeamPCP spreading potent malware that was also worm-enabled, meaning it had the potential to spread to new machines automatically, with no interaction required of victims behind the keyboard. After infecting a machine, the malware scours them for access tokens to the npm repository and compromises any publishable packages available by creating a new version laced with the malicious code. Aikido observed the worm targeting 28 packages in less than 60 seconds. Initially, an attacker had to manually spread the worm across every package a compromised npm token had access to. Later versions pushed over the weekend removed this requirement, giving it ever more reach. The worm was controlled by an uncommon mechanism that was designed to be tamper proof. It used an Internet Computer Protocol-based canister , a form of self-enforcing smart contract designed to be impossible for third parties to take down or alter. The canister could point to ever-changing URLs for servers hosting malicious binaries. By giving the attackers a way for the worm to find control servers, the attackers can constantly swap out URLs at any time. Infected machines reported to the canister once every 50 minutes. In an email, Aikido researcher Charlie Eriksen said the canister was taken down Sunday night and is no longer available. “It wasn’t as reliable/untouchable as they expected,” Eriksen wrote. “But for a while, it would have wiped systems if infected.” Like previous TeamPCP malware, CanisterWorm, as Aikido has named the malware, targets organizations’ CI/CD pipelines used for rapid development and deployment of software. “Every developer or CI pipeline that installs this package and has an npm token accessible becomes an unwitting propagation vector, Eriksen wrote. “Their packages get infected, their downstream users install those, and if any of them have tokens, the cycle repeats.” As the weekend progressed, CanisterWorm was updated to add an additional payload: a wiper that targets machines exclusively in Iran. When the updated worm infects machines, it checks if the machine is in the Iranian timezone or is configured for use in that country. When either condition was met, the malware no longer activated the credential stealer and instead triggered a novel wiper that TeamPCP developers named Kamikaze. Eriksen said in an email that there’s no indication yet that the worm caused actual damage to Iranian machines, but that there was “clear potential for large-scale impact if it achieves active spread.” Eriksen said Kamikaze’s “decision tree is simple and brutal.” Kubernetes + Iran : Deploy a DaemonSet that wipes every node in the cluster Kubernetes + elsewhere : Deploy a DaemonSet that installs the CanisterWorm backdoor on every node No Kubernetes + Iran : rm -rf / --no-preserve-root No Kubernetes + elsewhere : Exit. Nothing happens. TeamPCP’s targeting of a country that the US is currently at war with is a curious choice. Up to now the group’s motivation has been financial gain. With no clear connection to monetary profit, the wiper seems out of character for TeamPCP. Eriksen said Aikido still doesn’t know the motive. He wrote: While there may be an ideological component, it could just as easily be a deliberate attempt to draw attention to the group. Historically, TeamPCP has appeared to be financially motivated, but there are signs that visibility is becoming a goal in itself. By going after security tools and open-source projects, including Checkmarx as of today, they are sending a clear and deliberate signal. The hack that keeps on giving Last week’s supply-chain compromise of Trivy was made possible by a previous compromise of Aqua Security in late February. Although the company’s incident response was intended to replace all compromised credentials, the rotation was incomplete, allowing TeamPCP to take control of the GitHub account for distributing the vulnerability scanner. Aqua Security said it was performing a more thorough credential purge in response. Over the weekend, the hacking group managed to compromise Aqua Security’s Docker Hub account and publish two malicious updates for the scanner. TeamPCP also compromised a second GitHub account belonging to Aqua Security and defaced, renamed, and published 44 internal repositories, including source code for Tracee, internal Trivy forks, CI/CD pipelines, Kubernetes operators, and team knowledge bases. It would appear that the company’s subsequent attempts last week to fully rotate credentials was also unsuccessful. “The CanisterWorm campaign appears to be a direct extension of the initial Trivy compromise rather than a separate operation,” researchers from security firm Socket wrote in an email. “This is also consistent with the attacker’s continued access following the initial breach, including the ability to publish malicious Trivy images (v0.69.5 and v0.69.6) to Docker Hub and expose internal Aqua repositories, suggesting incomplete containment and ongoing control over release infrastructure.” With the ability to worm its way through sensitive developer pipelines and machines, CanisterWorm represents a serious escalation of the TeamPCP’s campaign to steal as many credentials as possible. Development organizations should realize that they may have been affected without knowing it. Both Aikido and Socket have published indicators that these organizations can use to determine if they have been targeted or compromised. Dan Goodin Senior Security Editor Dan Goodin Senior Security Editor Dan Goodin is Senior Security Editor at Ars Technica, where he oversees coverage of malware, computer espionage, botnets, hardware hacking, encryption, and passwords. In his spare time, he enjoys gardening, cooking, and following the independent music scene. Dan is based in San Francisco. Follow him at here on Mastodon and here on Bluesky. Contact him on Signal at DanArs.82. 51 Comments

태그

관련 소식