본문 바로가기
설치 및 기술 자료

ADB를 활용한 스마트폰 보안 진단

by 주식회사 서버몬 2025. 7. 11.

안녕하세요. 주식회사 서버몬 입니다.

 

오늘은 ADB (Android Debug Bridge) 디버깅 도구를 이용한

스마트폰 보안 진단에 대해서 알아보겠습니다.

 

 

ADB란?

ADB (Android Debug Bridge)는 Android 기기와 컴퓨터 간의 통신을

가능하게 해주는 명령어 기반 디버깅 도구입니다.

(Android 기기와 PC 간의 다리 역할을 하는 도구로, 앱 개발, 디버깅, 기기 제어 등에 광범위하게 사용됩니다.)

 

* ADB 디버깅 도구를 사용하기 위해서는 먼저 USB 디버깅 활성화가 되어 있어야 합니다.

 

* ADB는 안드로이드 전용 도구입니다.

(아이폰은 iOS 운영체제를 사용하기 떄문에 ADB와 호환되지 않습니다.)

 

  • Android는 개발자와 사용자가 시스템에 더 쉽게 접근할 수 있도록 열려 있습니다.
  • 반면 iOS는 폐쇄형 시스템이라서 일반적인 접근, 파일 조작, 명령어 실행이 제한되어 있습니다.

 

 

ADB의 주요 기능 및 구성요소

 

ADB의 주요 기능 및 명령어 예시

기능 구분설명명령어 예시

 

기기 연결 확인 현재 연결된 Android 기기 확인 adb devices
📂 파일 전송 PC ↔ Android 간 파일 복사 adb push <local> <remote>
adb pull <remote> <local>
🖥️ 기기 터미널 접근 Android 셸 명령어 실행 adb shell
🧪 앱 설치/제거 APK 설치, 앱 삭제 adb install app.apk
adb uninstall com.package.name
🔍 로그 확인 (Logcat) 실시간 시스템 로그 확인 adb logcat
🔁 기기 재부팅 일반/부트로더/리커버리 등 재부팅 adb reboot
adb reboot bootloader
adb reboot recovery
📱 화면 캡처/녹화 기기 화면 캡처 또는 동영상 녹화 adb shell screencap /sdcard/screen.png
adb shell screenrecord /sdcard/video.mp4
🔌 포트 포워딩 PC와 Android 간 네트워크 포트 연결 adb forward tcp:6100 tcp:7100
🔍 앱 패키지 정보 조회 설치된 앱 목록 또는 특정 앱 정보 adb shell pm list packages
adb shell dumpsys package com.package.name
📡 무선 연결 (Wi-Fi ADB) USB 없이 ADB 연결 adb tcpip 5555
adb connect <ip>:5555

 ADB 구성요소

  • ADB Client: 사용자가 터미널에서 입력하는 명령
  • ADB Server: Client와 기기 사이에서 통신을 관리
  • ADB Daemon (adbd): Android 기기 내에서 동작하며, 명령을 받아 실행

 

ADB 설치 및 설정

 

ADB 설치는 Google 공식 사이트에서 제공합니다.

공식 사이트에서 Windows,Mac, Linux용 설치 파일을 제공합니다.

(다운로드 후 압축을 풀면 platform-tools 폴더 안에 adb.exe가 포함되어 있습니다.)

ADB 설치 방법 (Windows 기준)

  1. 위 링크에서 platform-tools zip 파일 다운로드
  2. 압축 해제 (예: C:\adb\platform-tools)
  3. adb.exe가 있는 폴더를 확인
  4. Windows에서 명령 프롬프트(cmd) 실행
  5. 아래 명령어로 ADB 작동 확인:
  6. adb version

스마트폰 준비

  1. Android 스마트폰에서 "개발자 옵션" 활성화
    • 설정 → 휴대전화 정보 → 빌드 번호 7번 탭 → 개발자 모드 ON
  2. USB 디버깅 활성화
    • 설정 → 시스템 → 개발자 옵션 → USB 디버깅 켜기
  3. USB 케이블로 PC에 연결
  4. 스마트폰에 “이 컴퓨터를 신뢰하겠습니까?” → 허용

* USB 디버깅이 활성화가 안될 경우 핸드폰 보안 위험 자동 차단을 비활성화 해주세요.

 

스마트폰 연결 확인

adb devices
# 해당 명령어로 스마트폰 연결 확인

 

 

ADB를 활용한 보안 진단

ADB로 확인 가능한 주요 보안/통신 진단 포인트

진단 항목                                                                                내용
SIM 상태(gsm.sim.state) SIM 인식 실패, 슬롯 비정상 여부 확인 가능
통신사 정보(getprop operator.alpha) SIM 스푸핑 여부, 가짜 통신사 연결 여부 탐지
IMSI 정보(service call iphonesubinfo) 민감 정보 출력 제한 정상 작동 여부 확인
루팅 탐지 (su 사용 가능 여부 등 추가 가능) 금융/보안 앱 우회 여부 판단 가능
로그 필터링(logcat 등 응용 가능) 악성 앱 설치 흔적 또는 공격 키워드 탐지

 

1) 점검 항목을 바탕으로 .bat 파일 생성 및 스크립트 작성

(해당 스크립트는 ChatGPT의 도움을 받아 작성하였습니다.)

@echo off
chcp 65001 > nul
set LOGFILE=adb_sim_gui_log.txt

:: 로그 초기화
echo 📡 ADB SIM/네트워크 진단 로그 > %LOGFILE%
echo ============================== >> %LOGFILE%
echo 시작: %DATE% %TIME% >> %LOGFILE%
echo. >> %LOGFILE%

:: 디바이스 연결 확인
adb get-state > nul
IF ERRORLEVEL 1 (
    echo ❌ ADB 디바이스가 연결되지 않았습니다. USB 디버깅 상태를 확인하세요.
    echo ❌ ADB 디바이스가 연결되지 않음 >> %LOGFILE%
    pause
    exit /b
)
:: 위 블록 설명:
:: - adb get-state 명령을 사용해 디바이스 연결 여부 확인
:: - 연결되어 있지 않으면 안내 메시지 출력 후 종료

:: [1] SIM 상태
echo.
echo 📡 [1] SIM 상태 확인 중...
for /f "delims=" %%s in ('adb shell getprop gsm.sim.state') do (
    echo SIM 상태: %%s
    echo SIM 상태: %%s >> %LOGFILE%
    if "%%s"=="READY" (
        echo ✅ SIM 상태: 정상
        echo ✅ SIM 상태: 정상 >> %LOGFILE%
    ) else (
        echo ⚠️ SIM 상태 비정상 (%%s)
        echo ⚠️ SIM 상태 비정상 (%%s) >> %LOGFILE%
    )
)
:: 위 블록 설명:
:: - getprop 명령어로 SIM 상태(`gsm.sim.state`)를 조회
:: - 결과가 "READY"면 정상 SIM, 아니면 비정상으로 판단

:: [2] 통신사 정보
echo.
echo 📞 [2] 통신사 정보 확인 중...
for /f "delims=" %%a in ('adb shell getprop gsm.sim.operator.alpha') do set SIM_OP=%%a
for /f "delims=" %%b in ('adb shell getprop gsm.operator.alpha') do set NET_OP=%%b

echo SIM 통신사: %SIM_OP%
echo 네트워크 통신사: %NET_OP%
echo SIM 통신사: %SIM_OP% >> %LOGFILE%
echo 네트워크 통신사: %NET_OP% >> %LOGFILE%

if "%SIM_OP%"=="%NET_OP%" (
    echo ✅ 통신사 일치: 정상
    echo ✅ 통신사 일치: 정상 >> %LOGFILE%
) else (
    echo ⚠️ 통신사 불일치: 확인 필요
    echo ⚠️ 통신사 불일치: 확인 필요 >> %LOGFILE%
)
:: 위 블록 설명:
:: - SIM과 네트워크의 통신사 명(`operator.alpha`)을 비교
:: - 일치 여부를 통해 정상 상태인지 판단
:: - 로밍 여부 또는 네트워크 불일치 문제 진단 가능

:: [3] IMSI 정보 조회
echo.
echo 🔐 [3] IMSI 조회 시도...
adb shell service call iphonesubinfo 1 > tmp_imsi.txt
findstr /R /C:"[0-9A-Fa-f]" tmp_imsi.txt > nul
if %ERRORLEVEL%==0 (
    echo Result: Parcel(출력 제한 또는 암호화됨)
    echo Result: Parcel(출력 제한 또는 암호화됨) >> %LOGFILE%
    echo IMSI (출력 제한 가능) >> %LOGFILE%
) else (
    echo ⚠️ IMSI 조회 실패 또는 차단됨
    echo ⚠️ IMSI 조회 실패 또는 차단됨 >> %LOGFILE%
)
del tmp_imsi.txt
:: 위 블록 설명:
:: - `iphonesubinfo` 서비스를 통해 IMSI(가입자 ID) 조회 시도
:: - 보안 정책에 따라 Parcel 형태로 반환되거나 차단될 수 있음
:: - 실제 IMSI 숫자 추출은 안 되지만, 호출 성공 여부로 판단

:: [4] 네트워크 상태
echo.
echo 🌐 [4] 네트워크 연결 상태...
adb shell dumpsys connectivity | findstr -I "NetworkAgentInfo" > tmp_net.txt
for /f "delims=" %%n in (tmp_net.txt) do (
    echo %%n
    echo %%n >> %LOGFILE%
)
del tmp_net.txt
:: 위 블록 설명:
:: - dumpsys connectivity 출력에서 "NetworkAgentInfo"만 필터링
:: - 디바이스의 활성화된 네트워크 상태를 확인하는 용도
:: - 예: Wi-Fi, 모바일 데이터, 상태 정보 등

:: [5] 셀 통신 히스토리 (모뎀 사용 시간 등)
echo.
echo 📶 [5] 셀 통신 히스토리...
adb shell dumpsys batterystats | findstr ModemActiveTime >> %LOGFILE%
adb shell dumpsys batterystats | findstr ModemActiveTime
:: 위 블록 설명:
:: - batterystats 내 `ModemActiveTime` 값을 통해 셀룰러 모뎀 활성 시간 확인
:: - 디바이스의 통신 사용 이력 및 모뎀 작동 시간 파악 가능

echo.
echo ✅ 진단 완료. 로그 저장 위치: %CD%\%LOGFILE%
pause

 

2) bat 파일 실행

 

3) 생성된 로그 

 

 

4) 보안진단 리포트

(스크립트 결과를 html 파일로 리포트 출력)

 

 

보안 진단 리포트 설명 및 요약

1. SIM 상태: LOADED, NOT_READY

  • 상태 설명
    • LOADED: 단말이 SIM 카드를 정상 인식하여 정보 읽기 완료한 상태
    • NOT_READY: SIM 슬롯이 초기화되지 않았거나, 네트워크 등록이 아직 완료되지 않은 상태
  • 해석 예시
    • gsm.sim.state = [LOADED, NOT_READY]
      → 듀얼 SIM 기기에서 첫 번째 슬롯은 정상 인식, 두 번째는 비활성 상태일 가능성 높음
  • 정상으로 판단되는 경우
    • 하나의 SIM만 사용하는 듀얼 SIM 기기
    • 두 번째 SIM 슬롯이 비어있거나, 설정 상 비활성화된 경우
    • ril.hasisim = [1,0] → SIM 슬롯 1번에만 SIM 장착
  • 의심할 수 있는 상황
    • 지속적으로 NOT_READY만 나오는 경우:
      • SIM 불량
      • 슬롯 접촉 불량
      • 통신사 등록 문제
      • 안테나 신호 불량
  • 문제 발생 가능성
    • 통화/문자/데이터 불가
    • 긴급통화만 가능 상태로 제한됨
    • 로밍 중 또는 네트워크 차단 상태일 수 있음

2. 통신사 정보: SIM 통신사 / 네트워크 통신사

  • 정상 예시
    • SKTelecom / SKTelecom → 통신사 일치 및 네트워크 등록 정상
  • 비정상 가능성
    • 통신사 이름이 UNKNOWN, null, 또는 일치하지 않을 경우
    • SIM은 있지만 네트워크 등록이 안 된 상태
  • 보안/기능 문제
    • 통신망 미등록으로 인해 서비스 제한
    • 번호 인증 실패, 앱 로그인 불가, 긴급전화 제한 가능성

3. IMSI 출력 제한

  • 설명
    • IMSI (국제 모바일 가입자 식별번호)는 개인정보이므로 Android 10 이상에서는 기본적으로 출력 차단됨
    • service call iphonesubinfo 명령이 Parcel 또는 빈 값으로 나오는 것이 정상
  • 비정상 징후
    • IMSI가 평문 출력되는 경우 → 보안 정책 우회 또는 루팅 가능성 있음
  • 보안 위험
    • IMSI 유출 시: 위치 추적, 통신 도청, SIM 스푸핑 등의 공격 가능성 존재

 

4. 루팅 탐지: release-keys / test-keys

  • 정상 상태
    • ro.build.tags=release-keys → 제조사 공식 펌웨어
    • adb shell su 명령 실패 → 루팅 툴 설치 안됨
  • 비정상 가능성
    • test-keys → 커스텀 펌웨어 / 루팅 가능성
    • su 명령 성공 → 루팅 확정
  • 보안 문제
    • 루팅 시 보안 앱 우회 가능
    • 금융 앱, 인증 앱 작동 불가
    • 시스템 무결성 손상 가능

5. 민감 권한 앱 감지

  • 진단 결과 예시
    • 민감 권한 보유 앱: 486건
      → 권한 예시: RECEIVE_SMS, RECORD_AUDIO, CALL_PHONE
  • 주의사항
    • 시스템 앱/통신사 앱도 포함되므로 숫자만으로 판단 어려움
    • 광고 앱, 이름 불명 앱, 녹음 기능 앱은 점검 필요
  • 보안 리스크
    • 도청, 문자 수집, 녹음 감시 가능
    • 키로깅 앱, 몰래카메라 앱 등이 민감 권한 보유 가능성 있음

6. logcat 키워드 감지

  • 진단 결과 예시
    • 키워드 감지 횟수: 3942건
      • 키워드 예: otp, sms, keylogger, root, inject, exploit, spyware
  • 의심 상황
    • 특정 키워드 반복 등장 시 → 악성 로그 가능성 있음
    • 특정 앱 이름과 함께 지속적으로 등장하면 수상함
  • 주의점
    • 단순 키워드 탐지만으로 악성 판단은 불가
    • 로그 중복, 테스트 로그 등으로 인한 오탐 가능성 존재
  • 보안 조치
    • logcat 로그 필터링 및 앱 패키지 매칭 필요
    • 반복된 키워드가 특정 앱에서만 발생 시 → 악성 여부 정밀 분석

 

종합 진단 요약

항목결과설명
SIM 상태 ⚠️ LOADED + NOT_READY 듀얼 SIM 중 1개만 활성 (정상), 지속적 NOT_READY 시 점검 필요
통신사 정보 ✅ 일치 SKTelecom → 네트워크 등록 정상
IMSI 출력 ✅ 차단 보안 정책 정상 작동
루팅 탐지 ✅ 미루팅 공식 펌웨어 + su 없음
민감 권한 앱 ⚠️ 많음 수동 점검 필요 (불명 앱 여부)
logcat 키워드 ⚠️ 일부 키워드 다수 탐지 악성 로그 가능성 있어 필터링 필요

logcat에서 "otp", "sms", "su", "keylogger", "inject", "root", "exploit", "spyware"

보안 관련 키워드 포함된 로그가 3942 감지되었다는 뜻입니다.

(Otp,sms 인증이나 문자 수신시 로그가 발생하여 많이 찍힐 있습니다.)

 


권장 조치

  1. SIM NOT_READY가 지속되면
    • SIM 카드 교체, 슬롯 청소, 통신사 문의
  2. 민감 권한 앱 확인
    • 알 수 없는 앱 삭제 권장
    • 통화/녹음 기능 앱 우선 점검
  3. 루팅 여부 자동 점검 스크립트 활용
    • ro.build.tags, su, busybox 기반 진단
  4. logcat 필터링
    • 키워드 + 앱 패키지명 매칭하여 악성 여부 분석

 

ADB를 활용하면 보안 점검, 통신 문제 진단, 디바이스 상태 분석까지 가능한 도구 입니다.

 

감사합니다.

 

 

 

1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트

댓글