카스퍼스키, 시드 구문 탈취용 악성코드 발견

Author logo
Patrick Dike-Ndulue
Post image

2026년 7월, 카스퍼스키 글로벌 리서치 & 분석팀OkoBot라는 악성코드 프레임워크에 대한 분석을 공개했어요. 이 프레임워크는 1년 넘게 활동해 왔으며, 카스퍼스키가 발표할 당시에도 여전히 작동 중이었어요. OkoBot은 20개 이상의 페이로드로 구성된 툴킷으로, 윈도우 PC를 감염시키고 숨겨진 원격 채널을 연 뒤, 특정 작업을 위한 플러그인을 추가로 실행해요.

 

카스퍼스키는 이 악성코드의 주요 유입 경로 두 가지를 문서화했어요. 하나는 "ClickFix"라는 사회공학적 공격이고, 다른 하나는 GitHub에서 다운로드한 소프트웨어에 숨겨진 악성코드예요. 예를 들어, 실제 Audacity 오디오 편집기에 악성 라이브러리가 추가된 가짜 SQL Server Management Studio 패키지가 검색 상단에 노출되어 신뢰를 얻고 사용자를 속였어요.

 

사용자가 미끼 파일을 실행하면, TookPS라는 PowerShell 스크립트가 공격자에게 SSH 터널을 설치해요. 이후 자동화된 봇이 지갑 파일, 브라우저 쿠키, 인증 정보를 수집하고, 더 강력한 페이로드가 실행될 수 있도록 문을 열어둬요.

 

이 페이로드 중 하나가 특히 주목됐어요. 카스퍼스키는 이를 SeedHunter라고 부르며, 하드웨어 지갑 사용자의 복구 구문을 탈취하는 데 특화되어 있어요. 저희는 이 보고서를 꼼꼼히 읽고, Tangem의 보안을 책임지는 두 분과 직접 만나 SeedHunter가 Tangem에도 통할 수 있는지 물어봤어요.
 

  What SeedHunter actually does SeedHunter continuously watches the list of processes running on an infected Windows PC. It is looking for three specific applications: Trezor Suite, Ledger Live, and Ledger Wallet. When it finds one running, it injects its own code into that process. These desktop wallet apps are built on  Electron , a framework that wraps a web page inside a desktop application. SeedHunter hooks into the internal Electron functions, allowing it to rewrite what the app displays without the user noticing. The wallet's own window becomes the attacker's canvas.   The malware runs periodic USB scans, filtered by Vendor ID and Product ID, and waits for a genuine Trezor or Ledger device to be plugged in. Kaspersky found that the malware can either wait for a "go" signal from its command server or fire immediately, depending on a flag it receives.   When a device connects, the malware displays a hard-coded phishing page inside the trusted app, with a different layout tailored to each wallet brand. The page asks the user to enter their seed phrase to "recover" or "verify" the wallet.   The user believes they are typing into their own genuine wallet software, prompted by their own device being plugged in. When the phrase is entered, the malware captures it, sends it to a command server, and also saves an encrypted local copy. The funds are then drained at the attacker's leisure.   OkoBot's other plugins significantly broaden the net. OkoSpyware compiles a list of over 100 target applications, including wallets like Exodus and password managers like 1Password and KeePassXC, then records video of their windows using a bundled copy of FFmpeg while logging every keystroke.  Even browser extension wallets are swept in this way;  Kaspersky's telemetry shows that MetaMask and Tonkeeper tabs are flagged and recorded the same way . A separate module, the MC Keylogger, captures keystrokes, clipboard contents (including copied images), details of connected USB devices, and a screenshot every five minutes.   The picture Kaspersky paints is one of total surveillance of the infected machine, with a purpose-built seed-phrase trap at its center. When the attacker has nothing to steal SeedHunter needs four separate conditions to succeed. Against a default Tangem setup, all four are absent. It needs a seed phrase to phish

SeedHunter가 성공하려면 네 가지 조건이 모두 충족되어야 해요. Tangem의 기본 설정에서는 이 네 가지가 모두 없어요.

  1. 시드 구문이 있어야 피싱이 가능해요. 이게 공격의 핵심이에요. Tangem의 표준 모델에서는 개인 키가 카드의 인증받은 보안 칩 안에서 생성되고, 절대 외부로 나오지 않아요. 사용자가 시드 구문을 가지고 있지 않으면, 피싱 페이지에서 요구할 것도 없어요.
     
  2.   Second, it needs a desktop app to inject into. SeedHunter는 세 가지 윈도우용 데스크톱 앱만 노려요. Tangem은 데스크톱 애플리케이션이 없어요.
     
  3.   Third, it needs a USB device to detect. 이 악성코드는 USB로 연결된 지갑의 벤더와 제품 ID를 스캔해 트리거돼요. Tangem 카드는 휴대폰과 NFC로 통신해요.

     

  4. Fourth, it needs a believable pretext. Ledger와 Trezor 사용자는 복구 및 검증 과정이 앱에 내장되어 있다는 걸 알아서, 구문 입력을 요구하는 프롬프트가 자연스럽게 느껴질 수 있어요. 하지만 Tangem의 표준 흐름에서는 복구 구문을 입력하라는 요청이 절대 나오지 않아요. 카드를 스캔하고 생체 인증이나 접근 코드를 입력하면 끝이에요. 시드 구문을 요구하는 화면이 뜬다면 Tangem 사용자라면 바로 경계할 거예요.

     

Andrey Lazutkin, Tangem의 CTO는 시드 구문 자체가 이런 공격의 구조적 약점이라고 봐요. 

 

"하드웨어 지갑을 구매하는 이유는 내 개인 키를 안전하게 보호받고 싶어서예요. 그런데 많은 전통적인 지갑에서는 기기가 먼저 시드 구문을 사용자에게 보여주고, 그 책임을 다시 사용자에게 넘겨요."

 

"그 순간부터 가장 약한 고리는 더 이상 하드웨어 지갑이 아니에요. 바로 시드 구문이에요. 종이 한 장, 금속 플레이트, 서랍, 금고, 절대 찍어서는 안 될 사진, 혹은 분실·파손·복사·노출·도난당할 수 있는 문구 자체가 위험 요소가 돼요."


피싱 공격은 시드 구문이 노출되는 순간 하드웨어 지갑의 가격이나 보안 등급이 아무 의미가 없어지기 때문에, 시드 구문을 직접 노리는 시도가 계속되고 있어요.

스마트폰은 어떻게 방어할까?

Tangem의 모바일 중심, 하드웨어 기반 모델은 구조적으로 OkoBot의 공격을 비켜가요. 하지만 모바일 악성코드도 실제로 존재하는 위협이에요. 그래서 앱 자체가 OkoBot이 쓰는 세 가지 핵심 공격 기법(가짜 오버레이, 키로깅, 화면 캡처)에 어떻게 대응하는지 물어봤어요.

Lazutkin에 따르면 Tangem 앱은 런타임 보호 기능을 전방위로 갖추고 있어요.

  • 런타임 무결성 검사,
  • 안티 디버깅,
  • 안티 에뮬레이션,
  • 루팅 및 탈옥 탐지,
  • 암호화 저장소,
  • 보안 통신,
  • 인증서 검증,
  • WebView 보호,
  • 탭재킹 방지,
  • 안전한 입력 처리.

 

여기에 최소 권한 부여, 코드 리뷰, 보안 감사, 자동화된 보안 점검까지 더해져요. 이 중 세 가지는 OkoBot의 공격 방식(탭재킹, 키로깅, 영상 캡처)과 직접적으로 맞물려 있어요.

 

Tapjacking protection은 SeedHunter의 가짜 화면 공격에 대한 모바일 대책이에요. 모바일에서는 앱 창을 덮는 보이지 않는 오버레이를 띄워 사용자가 실제로는 다른 동작을 승인하게 만들 수 있는데, Tangem 앱은 민감한 구간에서 사용자의 터치가 가려지지 않았는지 항상 체크해서, 오버레이 공격이 시도되면 즉시 차단해요.

 

Secure input handling은 키로거에 대한 대응이에요. 커스텀 키보드는 입력값을 탈취하는 데 자주 쓰이기 때문에, Tangem 앱은 민감한 데이터 입력 시 이를 감지해요. 또한 자동완성, 맞춤법 검사, 비밀번호 저장, 예측 입력 등도 비활성화해서, 입력값이 캐시되거나 노출될 위험을 원천 차단해요.

 

Blocked screenshots and screen recording은 OkoSpyware의 영상 캡처 공격을 막아요. 민감한 정보를 보여주는 모든 화면에서 스크린샷과 화면 녹화가 아예 불가능하도록 막았어요. PC에서 지갑 창을 촬영하는 방식이 모바일에서는 운영체제 차원에서 차단돼요.

 

이 모든 것의 바탕에는 integrity checking이 있어요. 앱은 실행 중에 자체 코드의 변조 여부를 검사해서, 악성 버전이나 승인되지 않은 변경이 실행되지 않도록 막아요. 이건 런타임 애플리케이션 자체 보호(RASP)라는 보안 분야의 일환이에요. Tangem은 Licel의 DexProtector를 사용하고 있고, 이는 주요 은행 및 결제 앱에서도 쓰이는 수준의 보호 기술이에요. EMVCo에서 안드로이드와 iOS 모두 공식 평가·승인받은 최초의 소프트웨어 보호 솔루션이기도 해요.

공급망 리스크

OkoBot은 검색엔진에 노출된 가짜 GitHub 저장소를 통해 퍼졌고, 신뢰받는 브랜드를 모방해 사용자 신뢰를 얻었어요. 이런 유포 전략에 대응하려면 지속적인 모니터링이 필요해요. Tangem은 가짜 앱, 저장소, 피싱 페이지 등 브랜드를 사칭하는 위협을 어떻게 탐지하는지 Afanasyev에게 물어봤어요.

 

또한 트로이 목마화된 의존성도 사용했어요. 카스퍼스키는 최종 페이로드가 악성 protobuf.dll로, 오픈소스 유틸리티에 번들되어 있었음을 추적했어요. 겉보기엔 정상 라이브러리와 동일하지만, 복호화하면 실제 플러그인 디스패처가 실행돼요.

 

정상으로 보이는 프로그램이 이 라이브러리를 로드하면, 악성코드도 함께 실행돼요. 신뢰받는 의존성을 오염시키면 그 이후 모든 소프트웨어가 영향을 받는, 대형 프로젝트에서도 반복된 공격 방식이에요.

 

Tangem의 빌드 파이프라인은 이런 위협에 어떻게 대응하는지 Anton Afanasyev CISO에게 물어봤어요.

 

"여러 보안 조치를 병행하고 있어요." 그는 우선, 가장 중요한 부분에서는 외부 코드 의존도를 줄인다고 설명했어요. "필수 외부 라이브러리 중 가장 핵심적인 일부는 포크하거나 직접 다시 작성했어요." 내부에서 관리하는 라이브러리는, 외부에서 악성 버전으로 교체되는 일이 없다는 점이 장점이에요.

 

두 번째는 프로세스 관리예요. "보안 개발 프로세스를 운영 중이고, 모든 의존성에 취약점 검사를 적용하며, 업데이트는 통제된 기간에만 진행하고, 코드 리뷰 등도 포함돼요." 자동으로 새 버전을 바로 받아오는 게 아니라, 모든 업데이트를 직접 검토하고 승인한 뒤에만 반영해요. 이 과정이 바로 위험한 패키지가 유입되는 시점을 차단해줘요.

 

또한 Lazutkin에게, 의존성 경로가 아니라 공식 앱 스토어에서 개발자 인증 정보가 탈취되어 악성 업데이트가 배포될 가능성에 대해 물어봤어요.


그는 "이런 공격이 성공하려면, 공격자가 저희 개발자 인증 정보를 탈취하고, MFA와 내부 접근 제어를 우회하며, 릴리스 승인 절차를 통과하고, 악성 코드를 공식 빌드에 주입하고, 애플이나 구글의 심사까지 통과한 뒤, 앱의 공식 아이덴티티를 유지하면서, 플랫폼의 악성코드 탐지까지 피해내야 해요. 그리고 저희 팀과 모니터링 시스템, 오픈소스 커뮤니티의 감시도 모두 피해가야 하죠."라고 설명했어요.

위협 모니터링 캠페인

OkoBot은 가짜 저장소를 검색 결과 상위에 올리고, 신뢰받는 브랜드를 모방해 사용자 신뢰를 얻었어요. 이런 유포 전략에 대응하려면 지속적인 모니터링이 필요해요. Tangem은 가짜 앱, 저장소, 피싱 페이지 등 브랜드를 사칭하는 위협을 어떻게 탐지하는지 Afanasyev에게 물어봤어요.


"Tangem은 보안 위협 인텔리전스와 뉴스 채널을 모니터링해, 사용자와 관련된 악성코드 패밀리와 캠페인을 추적하고 있어요. 이 업무는 제가 직접 맡고 있습니다." 위조·사칭 측면에서는 "여러 리소스와 비공식 안드로이드 앱 스토어, GitHub 등도 모니터링해요."라고 덧붙였어요.


피싱 사이트 차단은 두 가지 입력이 함께 작동해요. "사용자들이 피싱 사이트, 가짜 SNS·메신저 계정을 저희에게 신고해 주고 있고, 두 번째 입력은 기밀이에요." 피싱 리소스가 확인되면, Tangem은 관련 기관과 협력해 차단을 진행해요.


마지막으로 가장 날카로운 질문을 남겼어요. OkoSpyware가 MetaMask와 Tonkeeper를 감시 목록에 올린 것처럼, Tangem 앱을 노리는 스틸러나 스파이웨어가 등장한 적이 있을까요? 

 

Afanasyev는 "아직까지 그런 모바일 악성코드는 보고된 바 없어요."라고 답했어요. 단, 데스크톱에서는 공격자가 가짜 "Tangem Desktop" 앱을 배포하라는 캠페인을 벌인 적이 있다고 덧붙였어요. "이건 단순한 일반 바이러스로, 피해자의 컴퓨터에 원격 접속만 열어줄 뿐이에요." SeedHunter 같은 시드 구문 탈취 특화 공격은 아니에요. 전문화된 공격이 통하지 않으니, 공격자들도 결국 일반 원격제어 악성코드로 돌아서는 거죠.

핵심 정리

SeedHunter는 특정 설계(데스크톱 지갑 앱 + USB 연결 하드웨어 + 시드 구문 노출)에 최적화된 공격이에요.

 

Tangem은 이 세 가지 조건 중 어느 것도 해당하지 않아요. 그래서 이 프레임워크의 고도화된 플러그인도 Tangem 사용자 앞에서는 할 일이 없어요. 존재하지 않는 USB 지갑을 찾고, 데스크톱 프로세스에 주입하려 해도 대상이 없으며, 적어본 적도 없는 시드 구문을 피싱하려 해도 아무 것도 얻지 못해요.


이 결과는 불필요한 요소를 제거하고, 가장 중요한 개인 키를 절대 컴퓨터에 노출하지 않는 보안 철학의 직접적인 산물이에요.


물론 사용자의 책임도 남아 있어요. 외부 시드 구문을 Tangem에 가져와서 종이로 보관한다면, SeedHunter가 노리는 바로 그 약점을 다시 만든 셈이기 때문에, 다른 경로로 피싱 피해를 볼 수 있다는 점을 기억해야 해요.

참고 자료

Andrey Lazutkin은 Tangem의 최고기술책임자(CTO)이고, Anton Afanasyev는 최고정보보안책임자(CISO)입니다.

Author logo
작가 Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
검토자: Andrey Lazutkin

Chief Technology Officer at Tangem.