사이버보안 및 프라이버시

아치 리눅스 AUR 400개 패키지 해킹 사태: 루트킷과 정보탈취 악성코드 배포 경로와 대응법

작성자 Mag-Info Tech editorial · 2026-06-13

아치 리눅스 AUR 400개 패키지 해킹 사태: 루트킷과 정보탈취 악성코드 배포 경로와 대응법

지난주 아치 리눅스의 커뮤니티 패키지 저장소인 AUR(Arch User Repository)에서 대규모 해킹 사건이 발생했습니다. 공격자들은 AUR에 등록된 400개 이상의 패키지를 탈취해 빌드 스크립트를 조작했고, 이 패키지를 설치하거나 업데이트한 시스템에 루트 권한으로Credential Stealer와 eBPF 기반 루트킷을 설치했습니다. 이 공격은 소프트웨어 취약점을 공격한 것이 아니라, 패키지의 신뢰 모델을 악용한 것으로서 Arch 리포지토리 자체는 영향을 받지 않았습니다. 공격자는 유지보수가 중단된 ‘오픈드’ 패키지를 선택해 악성코드를 은밀히 삽입했으며, Git 커밋 메타데이터까지 조작해 마치 오랫동안 유지보수해 온 유지보수자의 작업처럼 보이도록 위장했습니다.

이번 사태는 단순히 패키지 관리자의 계정이 탈취된 것이 아니라, 패키지의 빌드 프로세스 자체가 조작된 것이라는 점에서 주목할 필요가 있습니다. 사용자들은 자신이 설치한 패키지가 정상적으로 동작하는 것처럼 보였지만, 실제로는 빌드 과정에서 악성 npm 패키지가 함께 설치되어 시스템에 침투했습니다. 특히 Rust로 작성된Credential Stealer는 개발자 워크스테이션과 빌드 시스템을 겨냥해 민감한 인증 정보와 파일들을 탈취했으며, 루트 권한을 획득한 경우 eBPF 루트킷을 통해 자신을 은폐할 수 있었습니다. 이 악성코드는 Tor onion 서비스를 통한 명령 및 제어(C2) 채널을 사용했으며, 시스템의 systemd 서비스에 자신을 등록해 지속성을 확보했습니다.

AUR 해킹의 핵심 메커니즘: 빌드 스크립트 조작과 은밀한 악성코드 배포

공격의 핵심은 PKGBUILD 또는 .install 스크립트의 조작이었습니다. 공격자들은 유지보수가 중단된 패키지를 선택한 후, 빌드 스크립트에 npm install atomic-lockfile@1.4.2 명령을 삽입했습니다. 이 npm 패키지는 정상적인 패키지들과 함께 설치되면서, 사전 설치 훅(preinstall hook)을 통해 Linux ELF 바이너리 deps를 실행했습니다. 이 바이너리가 바로Credential Stealer와 eBPF 루트킷의 실행을 담당했습니다.

Git 저장소의 커밋 메타데이터까지 조작된事实证明, 공격자들은 오랫동안 패키지를 유지보수해 온 것처럼 위장했습니다. 이는 Arch 리눅스의 ‘Trusted User’ 계정으로 확인되었지만, 해당 계정 자체는 실제로 탈취되지 않았습니다. 공격자들은 패키지의 유지보수가 중단된 시점을 노려 패키지를 인수했으며, 빌드 프로세스에 악성코드를 삽입할 수 있었습니다. 이 방식은 패키지의 이름, 버전, 역사까지 그대로 유지하면서도, 실제로는 완전히 다른 코드가 실행되도록 만드는 교묘한 공격이었습니다.

AUR은 공식 Arch 리포지토리와 달리 커뮤니티에서 관리되는 패키지 저장소이기 때문에, 패키지의 품질과 보안에 대한 검증이 상대적으로 약할 수밖에 없습니다. 이 점이 공격자들에게 악용되었고, 결과적으로 수천 명의 사용자들이 의도치 않게 악성코드가 포함된 패키지를 설치하게 되었습니다. 패키지 관리 시스템(패키지트) 자체에 결함이 있었던 것은 아니지만, 패키지의 신뢰 모델을 악용한 이 공격은 리눅스 환경에서도 보안 위협이 될 수 있음을 보여주었습니다.

Credential Stealer의 동작 방식: 개발자 비밀과 시스템 접근 권한 탈취

Rust로 작성된Credential Stealer는 개발자 워크스테이션과 CI/CD 파이프라인에서 민감한 인증 정보를 수집하도록 설계되었습니다. 이 악성코드는 SSH 키, GPG 키, AWS 자격 증명 파일, 브라우저 쿠키, 그리고 다양한 개발 도구의 설정 파일 등을 수집합니다. 수집된 데이터는 HTTP를 통해 temp.sh라는 임시 파일 호스팅 서비스로 유출됩니다. 이 과정에서 Tor onion 서비스를 통한 명령 및 제어(C2) 채널이 사용되면서, 공격자의 신원을 숨기는 데 주력했습니다.

특히 주목할 점은, 이 악성코드가 시스템의 루트 권한을 획득했을 경우 eBPF 루트킷을 로드할 수 있다는 것입니다. eBPF(Redis Extended Berkeley Packet Filter)는 리눅스 커널에서 네트워크 트래픽 분석, 모니터링 등에 사용되는 기술이지만, 공격자들은 이를 악용해 시스템 콜을 가로채고 자신의 존재를 은폐하는 데 사용했습니다. 즉, 시스템 관리자조차 악성코드의 존재를 쉽게 발견하지 못하도록 설계된 것입니다.

developer typing code laptop

악성코드는 지속성을 확보하기 위해 systemd 서비스에 자신을 등록합니다. 루트 권한으로 설치된 경우 /var/lib/ 디렉토리에 자신을 복사하고 /etc/systemd/system/에 서비스 유닛 파일을 작성합니다. 일반 사용자 권한으로 설치된 경우엔 홈 디렉토리 내 ~/.config/systemd/user/에 서비스 유닛을 생성합니다. 또한 Restart=always 설정을 통해 시스템 재부팅 시에도 자동으로 재실행되도록 구성되어 있습니다. 이처럼 다양한 지속성 메커니즘을 조합한事实证明, 공격자들은 시스템에 오랫동안 잔존하면서 지속적인 정보 탈취를 시도했을 가능성이 높습니다.

공격 타겟과 피해 범위: 유지보수 중단 패키지의 위험성

이번 공격의 특징은 유지보수가 중단된 ‘오픈드’ 패키지를 노렸다는 점입니다. 오픈드 패키지는 더 이상 유지보수되지 않기 때문에, 누구나 패키지를 인수할 수 있었고, 공격자들은 이를 악용해 패키지를 탈취했습니다. 이 과정에서 Git 커밋 기록까지 조작하여, 마치 오랫동안 해당 패키지를 관리해 온 것처럼 보이도록 위장했습니다. 실제로 Arch 리눅스의 ‘Trusted User’ 계정이 확인되었지만, 해당 계정은 실제로 탈취되지 않았습니다.

공격자들은 패키지의 이름과 버전, 그리고 커밋 기록까지 그대로 유지하면서, 빌드 스크립트만 조작했습니다. 이는 패키지의 신뢰성을 유지하면서도, 실제로는 완전히 다른 코드가 실행되도록 만드는 교묘한 공격이었습니다. 사용자들은 패키지를 설치할 때 아무런 이상을 느끼지 못했으며, 결과적으로 시스템에 악성코드가 설치되었습니다. 이처럼 유지보수가 중단된 패키지는 보안 위협의 주요 타겟이 될 수 있음을 보여주었습니다.

현재까지 알려진 피해 패키지 목록은 지속해서 업데이트되고 있으며, 아직 완전한 목록이 공개되지 않은 상태입니다. 예를 들어 alvrpremake-git 패키지가 확인되었으며, 이 외에도 다양한 패키지가 영향을 받았을 가능성이 있습니다. 사용자들은 6월 11일 이후 AUR 패키지를 설치하거나 업데이트한 경우, 해당 패키지가 피해 목록에 포함되어 있는지 반드시 확인해야 합니다. 또한, 패키지 관리 시스템을 통해 설치된 패키지 목록을 검토하고, 의심스러운 패키지가 있는 경우 즉시 제거하는 조치를 취해야 합니다.

AUR의 신뢰 모델과 보안 강화 필요성

AUR은 공식 Arch 리포지토리와 달리 커뮤니티에서 관리되는 패키지 저장소입니다. 이는 패키지의 다양성과 유연성을 제공하지만, 동시에 보안 검증의 약점을 노출할 수도 있습니다. 이번 해킹 사건은 AUR의 신뢰 모델이 얼마나 취약할 수 있는지를 여실히 보여주었습니다. 패키지의 이름, 버전, 커밋 기록까지 그대로 유지되면서, 빌드 스크립트만 조작된 이 공격은 패키지 관리 시스템의 신뢰성을 근본적으로 흔들었습니다.

Arch 리눅스는 패키지 관리 시스템의 투명성과 사용자 제어력을 강조하는 배포판입니다. 그러나 이와 동시에, 사용자들이 패키지의 출처와 무결성을 직접 검증해야 하는 책임도 함께 요구됩니다. 이번 사건을 계기로, AUR의 패키지 관리 방식에 대한 재검토가 필요할 수 있습니다. 예를 들어, 패키지의 빌드 스크립트에 대한 더 엄격한 검증 절차나, 패키지의 유지보수 상태에 대한 명확한 표시 등이 필요할 수 있습니다.

Ad
MEFAI trade resultMEFAI trade resultMEFAI trade resultMEFAI trade resultMEFAI trade resultMEFAI trade resultMEFAI trade resultMEFAI trade result
트레이딩은 카지노가 아닙니다. 도박을 멈추세요.

MEFAI의 AI로 실제 성과를 거두세요. Pro 플랜에서 $50 할인을 받으세요.

$50 할인 받기

스폰서 콘텐츠 · 과거의 성과가 미래의 결과를 보장하지 않습니다. 금융 조언이 아닙니다.

server room data center

또한, 사용자들은 AUR 패키지를 설치할 때 더 높은 보안 경각심을 가져야 합니다. 특히 유지보수가 중단된 패키지나 오랫동안 업데이트되지 않은 패키지의 경우, 추가적인 검증이 필요합니다. 패키지의 Git 저장소를 직접 확인하거나, PKGBUILD 스크립트를 검토하는 등의 조치가 필요할 수 있습니다. 또한, 시스템에 중요한 데이터가 저장되어 있는 경우, AUR 패키지를 통해 패키지를 설치하는 것은 자제하는 것이 좋습니다.

eBPF 루트킷의 위협: 시스템 은폐 기술과 탐지 회피

eBPF는 리눅스 커널에서 네트워크 트래픽 분석, 성능 모니터링 등에 사용되는 기술입니다. 그러나 공격자들은 이 기술을 악용해 시스템 콜을 가로채고, 자신의 존재를 은폐하는 데 사용했습니다. eBPF 루트킷은 시스템 관리자조차 쉽게 발견하지 못하도록 설계되어 있으며, 이는 보안 솔루션이 eBPF 기반 악성코드를 탐지하는 데 어려움을 겪고 있음을 의미합니다.

이번 공격에서 사용된 eBPF 루트킷은 시스템의 루트 권한을 획득한 경우에만 로드되었습니다. 루트 권한으로 설치된 경우, 악성코드는 /var/lib/에 자신을 복사하고, /etc/systemd/system/에 서비스 유닛을 작성해 지속성을 확보했습니다. 또한, Tor onion 서비스를 통한 명령 및 제어(C2) 채널을 사용해 공격자의 신원을 숨겼습니다. 이러한 다층적인 은폐 기술은 보안 솔루션의 탐지를 회피하는 데 효과적이었으며, 시스템에 오랫동안 잔존할 수 있도록 했습니다.

eBPF 루트킷의 탐지 및 제거는 일반적인 악성코드 제거 방법으로는 한계가 있습니다. 이는 eBPF가 커널 레벨에서 동작하기 때문에, 사용자 레벨의 보안 솔루션으로는 탐지가 어려운 경우가 많기 때문입니다. 따라서, 시스템 관리자들은 eBPF 기반 악성코드의 탐지 및 제거를 위해 커널 레벨의 모니터링 도구나, 전용 보안 솔루션을 고려해야 합니다. 또한, 시스템의 루트 권한을 획득한 악성코드는 시스템의 모든 리소스에 접근할 수 있으므로, 사전 예방 차원에서 루트 권한을 최소화하는 원칙을 지켜야 합니다.

사용자를 위한 실질적인 대응 방법: 패키지 검토와 시스템 점검

이번 해킹 사건을 계기로, AUR 사용자들은 패키지 관리 방식에 대한 재검토와 함께, 시스템 보안에 대한 경각심을 가져야 합니다. 가장 먼저 해야 할 일은 6월 11일 이후 AUR 패키지를 설치하거나 업데이트한 경우, 해당 패키지가 피해 목록에 포함되어 있는지 확인하는 것입니다. Arch 리눅스의 공식 커뮤니티와 보안 팀에서는 피해 패키지 목록을 지속해서 업데이트하고 있으며, 사용자들은 이 목록을 참고해 의심스러운 패키지가 있는지 확인해야 합니다.

패키지가 피해 목록에 포함되어 있는 경우, 즉시 해당 패키지를 제거하고, 시스템에서 악성코드가 실행되지 않았는지 확인해야 합니다. 또한, 시스템의 systemd 서비스 목록을 검토해 의심스러운 서비스가 등록되어 있지 않은지 확인해야 합니다. 특히 /etc/systemd/system/~/.config/systemd/user/ 디렉토리에 등록된 서비스가 있는지 확인하는 것이 중요합니다. 의심스러운 서비스가 발견된 경우, 즉시 중지하고 제거하는 조치를 취해야 합니다.

또한, Credential Stealer가 수집한 민감한 인증 정보가 유출되지 않았는지 확인해야 합니다. SSH 키, GPG 키, AWS 자격 증명 파일 등을 재발급하고, 브라우저 쿠키와 세션을 초기화하는 것이 좋습니다. 특히, 빌드 시스템이나 개발 워크스테이션의 경우, 민감한 데이터에 접근할 수 있는 권한을 철저히 관리해야 합니다. 또한, 시스템의 네트워크 트래픽을 모니터링해 의심스러운 통신이 있는지 확인하는 것도 필요합니다.

cyber security lock screen

보안 커뮤니티의 대응과 AUR의 미래: 신뢰성 재구축을 위한 노력

이번 해킹 사건은 AUR의 신뢰 모델에 대한 근본적인 재검토가 필요하다는 사실을 보여주었습니다. Arch 리눅스의 개발자와 보안 팀은 이번 사건을 계기로, AUR의 패키지 관리 방식에 대한 보완책을 마련하고 있습니다. 예를 들어, 패키지의 빌드 스크립트에 대한 더 엄격한 검증 절차나, 패키지의 유지보수 상태에 대한 명확한 표시 등이 논의되고 있습니다. 또한, 패키지의 Git 저장소에 대한 더 엄격한 접근 제어와, 패키지의 커밋 기록에 대한 투명성 강화 등이 필요할 수 있습니다.

보안 커뮤니티 또한 이번 사건을 계기로, AUR의 보안 강화에 대한 다양한 제안을 내놓고 있습니다. 예를 들어, 패키지의 빌드 프로세스를 격리된 환경에서 수행하는 ‘샌드박싱’ 기술이나, 패키지의 무결성을 검증하는 ‘서명’ 시스템 등이 논의되고 있습니다. 또한, 사용자들이 패키지의 출처와 무결성을 직접 검증할 수 있도록, 패키지 관리 시스템에 더 많은 투명성을 제공하는 방안도 고려되고 있습니다.

AUR의 미래는 사용자들의 신뢰 회복에 달려 있습니다. 이번 사건을 계기로, AUR의 개발자와 보안 팀은 패키지의 신뢰성을 재구축하기 위한 노력을 기울이고 있습니다. 또한, 사용자들은 패키지 관리 방식에 대한 경각심을 가지고, 시스템 보안에 대한 책임을 다해야 합니다.只有这样,AUR의 신뢰 모델이 재구축되고,사용자들은 안전한 패키지 관리 환경을 제공받을 수 있을 것입니다.

결론:Linux 보안의 새로운 위협과 지속적인 경각심의 필요성

이번 아치 리눅스 AUR 해킹 사건은 리눅스 환경에서도 보안 위협이 끊임없이 진화하고 있음을 보여주는 대표적인 사례입니다. 공격자들은 소프트웨어 취약점을 공격한 것이 아니라, 패키지의 신뢰 모델을 악용해 시스템에 침투했습니다. 이는 단순히 패키지 관리자의 계정이 탈취된 문제가 아니라, 패키지의 빌드 프로세스 자체를 조작한 교묘한 공격이었습니다.

Credential Stealer와 eBPF 루트킷의 조합은 시스템의 루트 권한을 획득한 경우, 보안 솔루션의 탐지를 회피하면서 지속적인 정보 탈취를 시도했습니다. 이는 리눅스 시스템에서도 루트킷과 같은 고급 악성코드가 유효하다는 사실을 보여주었으며,시스템 관리자와 사용자들이 보안 경각심을 가져야 함을 강조했습니다.

이번 사건을 계기로,사용자들은 패키지 관리 방식에 대한 재검토와 함께,시스템 보안에 대한 지속적인 경각심을 가져야 합니다. 또한,보안 커뮤니티와 개발자들은 AUR의 신뢰 모델을 재구축하기 위한 노력을 지속해야 합니다.只有这样,리눅스 환경의 보안이 한층 강화되고,사용자들은 안전한 컴퓨팅 환경을 제공받을 수 있을 것입니다.

더 보기 사이버보안 및 프라이버시