아 많이 팔렸을텐데 제것도 그렇고 어쩌나요…물론 50모델은 아니긴 한데 회사가 과연 대응을 해줄지
일단 플레이스토어에서 차단 된다니까 플레이스토어에서 앱 업데이트들 하세요
2월 18일 업데이트 - 구글은 블리핑컴퓨터(BleepingComputer)에 보낸 성명에서 악성 앱들이 구글 플레이 스토어에서 삭제되었다고 확인했습니다.
“안드로이드 사용자는 Google Play 서비스가 설치된 안드로이드 기기에서 기본적으로 활성화되어 있는 Google Play Protect를 통해 알려진 Keenadu 악성코드로부터 자동으로 보호받습니다. Google Play Protect는 Play 스토어 외부에서 다운로드한 앱이라도 Keenadu 관련 동작을 보이는 것으로 확인되면 사용자에게 경고하고 앱 사용을 중지할 수 있습니다. 보안을 강화하기 위해 사용자는 자신의 기기가 Play Protect 인증을 받았는지 확인하는 것이 좋습니다.” - Google 대변인
- New Keenadu backdoor found in Android firmware, Google Play apps
아래는 보고서에 나온 근거 기준으로 adb로 검사하는 방법 정리입니다 #ai
Keenadu 안드로이드 백도어 감염 여부 확인 가이드 (ADB 활용)
작성일: 2026년 2월 19일
대상 독자: Alldocube 등 저가형 안드로이드 태블릿 사용자
필요 장비: PC(Windows/Mac/Linux), USB 케이블, 대상 안드로이드 기기
루팅 필요 여부: 불필요 (모든 검사를 비루팅 상태에서 수행 가능)
배경: Keenadu란 무엇인가?
2026년 2월 17일, Kaspersky가 Keenadu라는 새로운 안드로이드 펌웨어 백도어를 공개했습니다. 이 악성코드는 안드로이드 기기의 핵심 시스템 라이브러리인 libandroid_runtime.so에 삽입되어, 기기에서 실행되는 모든 앱의 메모리 공간에 자동으로 로드됩니다.
확인된 감염 기기에는 Alldocube iPlay 50 mini Pro(T811M)가 포함되며, Kaspersky는 "여러 브랜드"의 태블릿에서 감염을 확인했으나 Alldocube 외 제조사명은 공개하지 않았습니다.
핵심 위험:
-
브라우저 검색엔진 하이재킹 (시크릿 모드 포함)
-
광고 사기를 위한 클릭 조작
-
쇼핑몰 앱(Amazon, SHEIN, Temu)에서 사용자 모르게 장바구니 조작
-
메시지, 뱅킹 자격증명, 위치 정보 등 전체 데이터 접근 가능
-
임의 앱 설치 및 권한 부여
사전 준비: ADB 환경 설정
1단계: PC에 ADB 설치
Windows:
1. https://developer.android.com/tools/releases/platform-tools 에서
"SDK Platform-Tools for Windows" 다운로드
2. 압축 해제 (예: C:\platform-tools)
3. 명령 프롬프트에서 해당 폴더로 이동:
cd C:\platform-tools
macOS:
# Homebrew가 설치되어 있다면:
brew install android-platform-tools
Linux (Ubuntu/Debian):
sudo apt update && sudo apt install adb
2단계: 태블릿에서 USB 디버깅 활성화
설정 → 태블릿 정보 → "빌드 번호"를 7회 연속 터치
→ "개발자가 되었습니다" 메시지 확인
→ 설정 → 시스템 → 개발자 옵션 → "USB 디버깅" 활성화
3단계: PC와 태블릿 연결 확인
adb devices
태블릿 화면에 “USB 디버깅을 허용하시겠습니까?” 팝업이 뜨면 허용을 터치합니다. 정상 연결 시 아래와 같이 기기가 표시됩니다:
List of devices attached
XXXXXXXX device
검사 방법 1: logcat에서 Keenadu 디버그 로그 확인
원리
Kaspersky 보고서에 따르면, Keenadu 개발자가 악성코드 실행 중 발생하는 오류를 logcat 시스템 로그에 AK_CPP라는 태그로 기록하는 디버그 코드를 제거하지 않았습니다. 이 태그가 logcat에 출력되면 해당 기기의 펌웨어가 감염된 것으로 판단할 수 있습니다.
근거: Securelist 원문 — “the developers left behind a significant amount of code that writes error messages to the logcat log during the malware’s execution. These messages have the AK_CPP tag.”
실행 방법
가장 정확한 결과를 위해 기기를 재부팅하면서 로그를 캡처합니다. Keenadu는 부팅 초기 Zygote 프로세스에 주입되므로, 부팅 직후가 탐지 확률이 가장 높습니다.
# 1. 기기 재부팅 (USB 연결 유지)
adb reboot
# 2. 기기가 재부팅되면 즉시 logcat 캡처 시작
# (재부팅 후 기기가 다시 인식될 때까지 수 초 대기 필요)
adb logcat | grep -i "AK_CPP"
Windows 명령 프롬프트에서는 grep이 없으므로 findstr을 사용합니다:
adb logcat | findstr /i "AK_CPP"
결과 해석
| 결과 |
의미 |
AK_CPP 태그가 포함된 줄이 출력됨 |
감염 확인 — 펌웨어에 Keenadu 백도어가 존재합니다 |
| 수 분간 아무 출력 없음 |
해당 로그는 감지되지 않음 (단, 완전한 안전을 보장하지는 않음) |
주의사항
-
최신 Keenadu 변종에서 이 디버그 로그가 제거되었을 가능성이 있습니다.
-
출력이 없다고 100% 안전하다고 단정할 수 없으므로, 아래 추가 검사를 반드시 병행하세요.
-
로그 캡처를 중단하려면 Ctrl+C를 누릅니다.
검사 방법 2: Keenadu의 Binder IPC 브로드캐스트 확인
원리
Keenadu의 서버 구성요소(AKServer)는 system_server 프로세스 내에서 실행되며, 클라이언트(AKClient)와 통신하기 위해 보호된 브로드캐스트(Protected Broadcast) 두 개를 사용합니다:
이 브로드캐스트 이름은 Android의 정상적인 시스템 서비스에는 존재하지 않습니다. 만약 기기에서 이 브로드캐스트가 감지되면, Keenadu가 활성 상태로 동작 중인 것입니다.
근거: Securelist 원문 — “AKServer sends two protected broadcasts: com.action.SystemOptimizeService and com.action.SystemProtectService.”
실행 방법
adb shell dumpsys activity broadcasts | grep -i "SystemOptimizeService\|SystemProtectService"
Windows의 경우:
adb shell dumpsys activity broadcasts > broadcasts.txt
findstr /i "SystemOptimizeService SystemProtectService" broadcasts.txt
결과 해석
| 결과 |
의미 |
| 위 문자열이 포함된 줄이 출력됨 |
감염 확인 — AKServer가 현재 활성 상태입니다 |
| 출력 없음 |
해당 브로드캐스트는 감지되지 않음 |
검사 방법 3: BADBOX 변종의 Binder 인터페이스 확인
원리
Kaspersky는 BADBOX 봇넷이 Keenadu를 배포하는 경우도 발견했습니다. BADBOX 변종을 통해 배포되는 Keenadu 로더는 다음 Binder 인터페이스를 사용합니다:
근거: Securelist 원문 — “These same binder interfaces are defined by another backdoor that is structured similarly and was also discovered within libandroid_runtime.so.”
실행 방법
adb shell service list | grep -i "sloth"
결과 해석
| 결과 |
의미 |
| "sloth"가 포함된 서비스 발견 |
BADBOX/Keenadu 변종 감염 가능성 |
| 출력 없음 |
해당 인터페이스는 감지되지 않음 |
종합 판단 기준
| 검사 |
감염 시 예상 결과 |
신뢰도 |
logcat AK_CPP 태그 |
로그 출력 발생 |
★★★★☆ (디버그 로그 제거 가능성) |
| 보호 브로드캐스트 확인 |
SystemOptimizeService 등 감지 |
★★★★★ (구조적 필수 요소) |
| BADBOX Binder 인터페이스 |
sloth 서비스 감지 |
★★★★☆ (BADBOX 변종에 해당) |
위 검사 중 하나라도 양성 결과가 나오면 기기가 감염된 것으로 간주하고 사용을 중단하세요.
모든 검사에서 음성이 나오더라도 100% 안전을 보장하지는 않습니다. 추가로 Kaspersky 등 보안 앱을 통한 스캔을 병행하시기 바랍니다.
감염이 확인된 경우 조치 사항
-
해당 기기 사용 즉시 중단 — 특히 뱅킹, 메시지, 인증 용도로 사용 금지
-
해당 기기에서 사용한 모든 계정의 비밀번호 변경 — 다른 기기에서 변경 수행
-
2단계 인증(2FA) 재설정 — 해당 기기에 연결된 인증기 또는 SMS 기반 2FA 재검토
-
제조사에 클린 펌웨어 요청 — 제조사 포럼 또는 지원 채널을 통해 문의
-
펌웨어 수준 감염은 사용자가 제거할 수 없음 — 시스템 파티션이 읽기 전용이며, libandroid_runtime.so를 제거하면 기기가 부팅 불가 상태가 됩니다
참고 자료
Kaspersky 탐지명
Kaspersky 보안 솔루션은 다음 진단명으로 Keenadu를 탐지합니다:
HEUR:Backdoor.AndroidOS.Keenadu.*
HEUR:Trojan-Downloader.AndroidOS.Keenadu.*
HEUR:Trojan-Clicker.AndroidOS.Keenadu.*
HEUR:Trojan-Spy.AndroidOS.Keenadu.*
HEUR:Trojan.AndroidOS.Keenadu.*
HEUR:Trojan-Dropper.AndroidOS.Gegu.*
면책 조항
본 가이드는 Kaspersky Securelist의 공개 보고서를 기반으로 작성되었으며, 보안 전문가의 검수를 대체하지 않습니다. ADB 명령 실행 시 기기에 물리적 손상을 주지는 않으나, 검사 결과의 해석에 대해서는 전문가와 상담하시기 바랍니다. 감염이 의심되는 경우 해당 기기를 통한 민감 작업(금융, 인증 등)을 즉시 중단하세요.