YouTube 사이드바로 위장한 악성 Chrome 확장 프로그램 분석
Chrome Web Store에서 "Youside — YouTube Sidebar"라는 Chrome 확장 프로그램이 발견되었습니다. 이 확장은 YouTube 기능과 무관합니다. 약속된 기능—내장 플레이어, 구독 관리, 빠른 액세스—대신 타사 백엔드용 슬림 클라이언트를 구현하며, 원격 인터페이스 제어, 사용자 데이터 수집, 숨겨진 수익화가 포함되어 있습니다.
아키텍처: 로직 없는 클라이언트
ID가 mmecpiobcdbjkaijljohghhpfgngpjmk인 이 확장은 전형적인 악성 소프트웨어 아키텍처를 보여줍니다: 최소한의 로컬 로직과 외부 서버에 대한 과도한 의존성입니다. 실행 시 localStorage에서 영속적인 user_id를 생성하거나 불러온 후 https://mines.cloudapi.stream/user_info의 API를 쿼리합니다. 서버 응답이 사용자 인터페이스 동작을 완전히 좌우합니다—요소 가시성부터 HTML 블록 내용까지.
주요 특징:
- YouTube API나
youtube.com도메인 호출 없음 - IFrame Player API 구현 없음
- 구독 처리, 비디오 검색, 비디오 스트리밍 로직 없음
- 모든 동작이 외부 서버 응답으로 제어됨
이 구조는 공격자들이 스토어에서 코드 업데이트 없이도 확장의 동작을 동적으로 변경할 수 있게 합니다.
원격 인터페이스 제어
서버는 success, is_valid, rating, protxt 같은 필드를 포함한 JSON 객체를 반환합니다. 클라이언트는 검증 없이 이 데이터를 DOM에 직접 적용합니다:
if (result.is_valid) {
proplansID.classList.add('h_');
playBtn.classList.remove('h_');
} else {
playBtn.classList.add('h_');
}
이 접근 방식은 기능 플래그를 모방하지만 주입 공격에 대한 보호가 없습니다. 직접적인 HTML 삽입은 특히 위험합니다:
if (result.protxt) {
proplansID.innerHTML = result.protxt;
}
내용이 필터링이나 세정되지 않았기 때문에 서버는 innerHTML을 통해 임의의 JavaScript를 주입할 수 있으며, 확장의 격리된 컨텍스트에서도 XSS 공격을 가능하게 합니다.
숨겨진 수익화와 추적
.buyBtn 클래스를 가진 모든 버튼이 가로채여 외부 도메인으로 리다이렉트됩니다:
document.querySelectorAll('.buyBtn').forEach(btn => {
btn.setAttribute(
'href',
`https://topup.cloudapi.stream/?user_id=${encodeURIComponent(localStorage.getItem("user_id"))}&type=game`
);
});
이 요소 클릭 시 사용자의 고유 ID가 URL 매개변수로 전달되어 사용자 동작을 프로필과 연결합니다. 이를 통해 수익화나 추가 프로파일링이 가능합니다.
신뢰성 있는 추적을 위해 다음을 결합합니다:
localStorage의user_id(영속적 식별자)chrome.runtime.id(브라우저 내 고유 확장 ID)navigator.language(사용자 언어 코드)
이 조합은 IP 변경이나 쿠키 삭제 시에도 높은 정확도의 식별을 보장합니다.
약속된 기능 부재
스토어 설명에도 불구하고 이 확장은 YouTube 관련 코드가 전혀 없습니다:
- YouTube Data API 호출 없음
- iframe을 통한 내장 비디오 플레이어 없음
- 재생 이벤트 처리 없음
- 플레이리스트나 채널 로직 없음
YouTube와의 유일한 상호작용은 Play 버튼 클릭 시 리다이렉트입니다:
playBtn.addEventListener("click", () => {
window.location = "https://youtube.com/";
});
이는 확장이 유용한 도구의 외관일 뿐이며, 실제 목적이 데이터 수집과 트래픽 수익화임을 확인합니다.
주요 요약
- 확장은 약속된 YouTube 기능을 제공하지 않습니다.
- 인터페이스가 보안되지 않은 API를 통해 외부 서버에 의해 완전히 제어됩니다.
- 임의의 HTML 주입이 가능하며 XSS 위험이 있습니다.
- 결합된 식별자를 통한 숨겨진 사용자 추적.
- 모든 수익화 링크가
user_id를 전달하며 타사 도메인으로 리다이렉트됩니다.
— Editorial Team
아직 댓글이 없습니다.