Skip to content

스파크캣(SparkCat): 악성 앱이 지갑 복구 문구를 훔치는 방법

App Store나 Google Play에서 다운로드한 앱이 암호화폐 지갑을 위험에 빠뜨릴 수 있을까요? 2025년 2월 Kaspersky가 공개적으로 보고한 악성코드 캠페인 SparkCat은 겉보기에는 정상적인 앱에 삽입된 악성 코드가 사용자의 사진을 검색해 지갑 복구 문구를 찾을 수 있다는 사실을 보여주었습니다. Kaspersky의 발견 이후 Google과 Apple은 Google Play와 App Store에서 감염된 여러 앱을 삭제했습니다. 이는 공식 스토어에서 다운로드한 앱이라도 항상 안전한 것은 아니라는 사실을 보여줍니다.

SparkCat이 어떻게 작동하는지, 그리고 지갑 사용자들이 이를 통해 무엇을 배울 수 있는지 살펴보겠습니다.

SparkCat이란?

SparkCat은 Android 및 iOS 앱에서 발견된 정보 탈취 악성코드입니다. 이 악성코드는 소프트웨어 개발 키트(SDK)를 비롯해 해당 앱에서 사용하는 소프트웨어 구성 요소에 삽입되어 있었습니다. 영향을 받은 일부 앱은 음식 배달과 같은 일반적인 서비스를 제공했지만, 다른 앱들은 피해자를 유인하기 위해 만들어진 것으로 보였습니다.

사진 접근 권한을 부여받으면 SparkCat은 이미지 속 텍스트를 읽는 기술인 광학 문자 인식(OCR)을 사용해 접근 가능한 사진과 스크린샷에서 지갑 복구 문구를 검색합니다. 조건에 맞는 이미지는 공격자에게 전송되며, 이를 통해 공격자가 해당 지갑에 접근하고 자금을 탈취하는 데 필요한 정보를 얻을 가능성이 있습니다.

A negative review of ComeCome on Apple’s App Store warned about photo permissions. Source: Kaspersky
Apple App Store의 ComeCome에 대한 부정적인 리뷰에서 사진 접근 권한에 대해 경고했습니다. 출처: Kaspersky.

Kaspersky에 따르면, 분석 당시 감염된 앱은 Google Play에서만 242,000회 이상의 다운로드를 기록했습니다. 이 수치는 앱 다운로드 횟수를 의미하며, 실제로 지갑이 탈취된 건수를 의미하지는 않습니다.

Kaspersky could not confirm whether developers added the malware deliberately or through a compromised component
Kaspersky는 개발자가 악성코드를 의도적으로 추가했는지, 또는 손상된 구성 요소를 통해 삽입되었는지 확인할 수 없었습니다

SparkCat 악성코드는 어떻게 작동하는가?

1. 사진 접근 권한 요청

사용자가 고객 지원 채팅과 같은 기능을 열면 감염된 앱이 사진과 스크린샷에 접근할 수 있는 권한을 요청할 수 있습니다.

권한이 부여되면 SparkCat은 앱이 접근할 수 있도록 허용된 이미지를 검색하기 시작합니다. 사진에 대한 전체 접근 권한을 부여하면 전체 사진 라이브러리가 노출될 수 있습니다.

2. OCR 기술을 사용해 사진 검색

SparkCat은 Google ML Kit의 텍스트 인식 기능을 사용해 사진 속 텍스트를 읽습니다. 이를 광학 문자 인식(OCR)이라고 합니다.

SparkCat은 지갑 복구 문구와 관련된 키워드와 텍스트 패턴을 찾습니다. 검색 규칙은 공격자의 명령 및 제어(C2) 서버에서 전달되며 업데이트할 수 있습니다. 이 악성코드는 라틴 문자, 중국어, 일본어 및 한국어 문자를 인식할 수 있어 여러 언어를 대상으로 검색할 수 있습니다.

3. 공격자에게 데이터 전송

검색 조건에 일치하는 이미지는 이미지에서 감지된 텍스트 및 기기 정보와 함께 공격자가 사용하는 서버로 업로드됩니다.

Kaspersky는 또한 Rust로 작성된 통신 구성 요소를 발견했습니다. 이는 모바일 앱에서는 이례적인 선택으로, 악성코드 분석을 더욱 어렵게 만들었습니다.

4. 탐지를 피하며 은폐

SparkCat은 고객 지원 채팅을 여는 것과 같은 일반적인 활동 중에 사진 접근 권한을 요청함으로써 해당 권한 요청이 일상적인 절차처럼 보이게 만듭니다.

이면에서는 암호화된 구성 데이터를 사용하고, 정상적인 서비스처럼 보이는 도메인 이름을 사용하며, 악성 구성 요소를 일반적인 시스템 소프트웨어로 위장합니다. 또한 코드 자체를 의도적으로 숨기는 난독화(obfuscation) 기술을 사용해 탐지와 분석을 어렵게 만듭니다.

SparkCat 악성코드의 영향을 받은 앱은 무엇인가?

2025년 2월, Kaspersky는 Google Play의 Android 앱 10개와 Apple App Store의 iOS 앱 11개에서 SparkCat 악성코드를 발견했다고 보고했습니다. 여기에는 양쪽 플랫폼에서 감염된 버전이 발견된 음식 배달 서비스 ComeCome도 포함되어 있습니다. 영향을 받은 Android 앱은 분석 당시 Google Play에서 총 242,000회 이상의 다운로드를 기록했습니다.

그 밖에도 메시징 앱, 뉴스 리더 앱 및 암호화폐 지갑 관련 유틸리티 등이 영향을 받았습니다. 일부 앱은 정상적인 서비스를 제공하는 것처럼 보였지만, AI 기능을 제공한다고 주장한 여러 메시징 앱을 포함한 일부 앱은 피해자를 유인하기 위해 만들어진 것으로 보였습니다.

There’s no free lunch in crypto, either. SparkCat spread through seemingly legitimate apps listed in official app stores
암호화폐에도 공짜 점심은 없습니다. SparkCat은 공식 앱 스토어에 등록된 정상적으로 보이는 앱을 통해 확산되었습니다

Kaspersky는 이 캠페인이 유럽과 아시아의 사용자를 대상으로 했으며, 다른 지역으로까지 확장되었을 가능성이 있다고 평가했습니다. 이러한 판단은 악성코드의 검색 언어와 사전, 그리고 영향을 받은 앱이 서비스를 제공하는 국가를 바탕으로 이루어졌습니다.

공격자의 명령 및 제어(C2) 서버에서 전달된 검색 키워드에는 중국어, 일본어, 한국어, 영어, 체코어, 프랑스어, 이탈리아어, 폴란드어 및 포르투갈어 단어가 포함되어 있었습니다. 이러한 용어는 지갑 복구 문구를 찾는 데 초점을 맞추고 있었습니다.

Examples of messaging apps Kaspersky identified as carrying SparkCat on Apple’s App Store. Source: Kaspersky
Kaspersky가 Apple App Store에서 SparkCat을 포함한 것으로 확인한 메시징 앱의 예시. 출처: Kaspersky

결과 및 위험

휴대전화 갤러리에 지갑 복구 문구(시드 문구)의 사진이나 스크린샷을 보관하고 있다면 SparkCat은 특히 위험합니다.

무엇보다도 시드 문구를 절대로 사진으로 찍지 마십시오!

시드 문구를 위한 적절한 오프라인 백업 방법을 사용하십시오. 여기에는 BitcoinVN의 시드 문구 백업용 스틸 플레이트와 같은 도구가 포함됩니다. 이를 통해 화재, 침수 또는 기타 재해가 발생하더라도 시드 문구를 안전하게 보관하는 데 도움이 됩니다.

악성코드의 검색 규칙은 접근 가능한 사진과 스크린샷에 포함된 비밀번호 및 비공개 메시지 등 다른 민감한 정보를 대상으로 하도록 조정될 수도 있습니다.

문서화된 SparkCat의 사례를 넘어, AI 도구는 범죄자들이 탈취한 정보를 분석하고 잠재적인 피해자의 프로필을 구축하며 사기나 협박을 통해 높은 수익을 얻을 수 있는 대상을 식별하는 데 도움을 줄 수도 있습니다.

Google Play와 Apple App Store에 SparkCat이 존재했다는 사실은 앱 스토어의 보안 검사가 완벽하지 않다는 것을 보여줍니다. 평범해 보이는 권한 요청과 의도적으로 난독화된 코드가 악성코드가 탐지되지 않은 채 작동하는 데 도움을 주었습니다.

소프트웨어 엔지니어링에는 익숙한 표현이 있습니다. “소프트웨어는 책임이다(Software is a liability)”라는 말입니다. 이는 Jeff Atwood가 2007년에 작성한 에세이 The Best Code Is No Code at All에서도 강조된 개념으로, 거의 20년이 지난 지금까지도 여전히 유효합니다.

사용자에게 주는 보안상의 교훈은 간단합니다. 앱을 하나 추가할 때마다 우리가 신뢰해야 할 대상도 하나씩 늘어납니다. 필요하지 않은 앱이거나 안전성에 의문이 든다면 설치하지 마십시오.

결론

SparkCat이 여러분의 시드 문구 사진에 접근할 수 있었다면 해당 시드 문구가 이미 유출된 것으로 간주해야 합니다. 깨끗한 기기를 사용해 남아 있는 자금을 즉시 새로운 시드 문구로 생성한 새 지갑으로 이동하십시오. 감염된 앱을 삭제하거나 휴대전화를 공장 초기화한다고 해서 노출된 시드 문구가 다시 안전해지는 것은 아닙니다.

보다 일반적으로 개인 키와 시드 문구 백업은 오프라인으로 보관하십시오. 이를 사진으로 촬영하거나 휴대전화에 저장하거나 온라인 서비스에 업로드하지 마십시오.

장기적인 암호화폐 보관을 일상적인 기기 사용과 분리하십시오. 전용 하드웨어 지갑을 사용하고 복구 백업은 오프라인으로 보관하십시오.

설치하는 앱과 소프트웨어를 최소화해 공격 표면을 줄이십시오. Google, Apple 또는 다른 빅테크 기업이 여러분을 안전하게 지켜줄 것이라고 맹목적으로 신뢰하지 마십시오.

Keep your seed phrases offline and protected
시드 문구를 오프라인으로 보관하고 안전하게 보호하십시오

전 세계의 사이버 범죄자들은 지금 이 순간에도 여러분과 가족에게서 가능한 한 많은 것을 빼앗기 위해 범죄를 계획하고 있습니다. 가정을 책임지는 사람으로서, 가족을 보호하기 위해 필요한 예방 조치를 취하는 것은 여러분의 책임입니다.

준비하거나, 아니면 모든 것을 잃을 수 있습니다. 선택은 여러분에게 달려 있습니다.