APK 파일 설치 전에 악성앱인지 확인하는 방법
Android에서는 Google Play 이외의 경로에서 APK 파일을 직접 설치할 수 있습니다.
업무용 앱이나 개발자 공식 배포 앱처럼 정상적인 APK도 있지만, 문자·메신저·가짜 홈페이지를 통해 유포되는 악성 APK도 있기 때문에 출처를 알 수 없는 파일은 설치 전에 확인하는 것이 중요합니다.
특히 스마트폰에서 인터넷뱅킹이나 암호화폐 거래소를 사용한다면 악성앱이
SMS 인증번호,
화면정보,
접근성 권한,
로그인 정보,
지갑주소
등을 악용할 가능성까지 고려해야 합니다.
APK 파일을 확인할 때는 한 가지 검사만 믿지 말고 다음 흐름으로 판단하는 것이 좋습니다.
다운로드 출처 → 파일 해시 → 앱 서명 → 요청 권한 → 악성코드 검사 → Play Protect → 설치 여부 결정
1. 가장 먼저 APK를 어디에서 받았는지 확인한다
악성앱 여부를 판단할 때 가장 중요한 것은 파일 검사보다 출처입니다.
가능하면 우선순위를 다음처럼 생각할 수 있습니다.
공식 Google Play 배포
→ 개발사 공식 홈페이지
→ 개발사가 직접 안내한 배포처
→ 출처를 확인할 수 없는 제3자 사이트
순입니다.
특히 다음과 같은 경로로 받은 APK는 바로 설치하지 않는 것이 좋습니다.
택배 문자
교통범칙금 문자
정부지원금 안내 문자
청첩장
투자방·코인방
카카오톡·텔레그램 메시지
모르는 사람이 보낸 이메일
검색광고를 통해 들어간 낯선 홈페이지
입니다.
정상적인 회사 이름이나 정부기관 로고가 표시돼 있다는 이유만으로 안전하다고 판단해서는 안 됩니다.
2. 같은 앱이 Google Play에 있다면 직접 APK를 설치할 이유가 있는지 생각한다
설치하려는 앱이 Google Play에서 정상적으로 제공된다면 특별한 이유가 없는 한 공식 스토어 버전을 이용하는 것이 단순합니다.
Google Play에 등록된 앱도 절대적으로 안전하다는 의미는 아니지만 Google은 Play에 등록되는 앱을 분석하고, Play Protect를 이용해 기기에 설치된 앱도 지속적으로 검사합니다.
따라서 누군가
“Play Store 버전은 안 되고 이 APK를 직접 설치해야 한다.”
고 안내한다면 왜 그런지 확인해볼 필요가 있습니다.
3. 개발사가 SHA-256 값을 공개했다면 반드시 비교한다
신뢰할 수 있는 개발사가 APK 파일과 함께
SHA-256
같은 파일 해시값을 공개하는 경우가 있습니다.
해시는 파일의 지문처럼 사용할 수 있습니다.
다운로드한 APK의 SHA-256 값과 개발사가 공식적으로 공개한 값이 정확히 같다면 적어도 다운로드 과정에서 파일이 다른 파일로 변경되지 않았는지 확인하는 데 도움이 됩니다.
Windows에서는 다음 명령으로 확인할 수 있습니다.
certutil -hashfile app.apk SHA256
macOS나 Linux에서는 예를 들어 다음과 같이 확인할 수 있습니다.
shasum -a 256 app.apk
다만 중요한 한계가 있습니다.
SHA-256 값이 일치한다고 그 앱이 악성앱이 아니라는 의미는 아닙니다.
공식 개발자가 배포한 바로 그 파일인지 확인하는 수단에 가깝습니다.
따라서 해시는 반드시 공식 사이트가 공개한 값과 비교해야 의미가 있습니다.
4. APK의 디지털 서명을 확인한다
Android APK에는 앱 제작자가 사용하는 디지털 서명이 포함될 수 있습니다.
APK를 수정하면 기존 서명 검증에 영향을 줄 수 있기 때문에 앱의 출처와 변경 여부를 확인하는 중요한 단서가 됩니다.
Android SDK Build Tools에 포함된 apksigner를 사용할 수 있다면 다음처럼 APK 서명을 검증할 수 있습니다.
apksigner verify app.apk
Android Developers는 apksigner verify를 이용해 APK의 서명이 Android에서 정상적으로 검증될 수 있는지 확인할 수 있다고 안내하고 있습니다.
하지만 여기에도 중요한 차이가 있습니다.
서명이 유효하다 = 믿을 수 있는 회사의 앱이다
라는 뜻은 아닙니다.
악성앱 제작자도 자기 키로 APK에 정상적인 서명을 할 수 있습니다.
따라서 가능하다면 개발사가 공식적으로 공개한 서명 인증서 정보와 비교해야 합니다.
5. APK가 요구하는 권한을 확인한다
설치하려는 앱이 어떤 기능을 하는지와 요구하는 권한이 일치하는지 확인합니다.
예를 들어 단순 계산기나 사진 필터 앱이 다음과 같은 권한을 요구한다면 이유를 확인할 필요가 있습니다.
| 권한 | 특히 확인할 이유 |
|---|---|
| SMS 읽기 | 인증번호·문자 접근 가능성 |
| 전화 | 통화 관련 기능 접근 |
| 연락처 | 개인정보 접근 |
| 마이크 | 음성 수집 가능성 |
| 카메라 | 촬영 기능 접근 |
| 위치 | 사용자 위치정보 |
| 접근성 | 화면 읽기·조작 등 강력한 기능 가능 |
| 다른 앱 위에 표시 | 가짜 로그인 화면 등에 악용 가능 |
| 알림 접근 | 인증·메시지 내용 접근 가능성 |
Google은 앱이 기능 수행에 필요한 최소한의 권한만 사용하도록 권고하며, Play Protect도 민감한 권한과 악성 동작을 검사합니다.
특히 금융·암호화폐 사용자의 경우 접근성 권한을 요구하는 낯선 앱은 더욱 신중하게 확인하는 것이 좋습니다.
6. 접근성 권한을 켜라고 요구하면 이유부터 확인한다
악성앱이 자주 노리는 강력한 Android 기능 가운데 하나가 접근성 서비스입니다.
접근성 권한 자체는 장애인을 지원하거나 특정 자동화 기능을 제공하는 정상적인 기능입니다.
하지만 앱에 따라 화면 내용을 확인하거나 사용자를 대신해 일부 인터페이스를 조작할 수 있는 강력한 권한이 될 수 있습니다.
Google Play Protect 역시 오해를 유발하는 방식으로 접근성 기능을 사용하는 앱에 대해 별도의 경고 체계를 운영하고 있습니다.
따라서
“보안 인증을 위해 접근성을 켜세요.”
“택배 조회를 위해 모든 권한을 허용하세요.”
처럼 앱의 목적과 관계가 불분명한 요구가 나오면 설치를 중단하는 것이 좋습니다.
7. VirusTotal 같은 다중 엔진 검사도 활용할 수 있다
APK를 설치하기 전에 여러 보안 엔진에서 검사해보는 방법도 있습니다.
VirusTotal은 Android APK를 포함한 파일을 여러 보안 엔진과 분석도구로 검사합니다.
검사 결과는 대략 다음처럼 해석해야 합니다.
| 결과 | 판단 |
|---|---|
| 여러 엔진이 Trojan·Spyware 등으로 탐지 | 설치 중단 권장 |
| 한두 엔진만 탐지 | 오탐 가능성도 있어 추가 확인 |
| 모두 탐지 없음 | 안전 보장 아님 |
| 분석된 적 없는 매우 새로운 APK | 더욱 주의 |
중요한 것은
0개 탐지 = 100% 안전
이 아니라는 점입니다.
새로운 악성코드는 아직 보안제품이 탐지하지 못할 수 있습니다.
반대로 한 개의 보안 엔진만 탐지했다고 무조건 악성이라고 단정하기도 어렵습니다. VirusTotal 자체도 여러 독립 보안업체의 결과를 집계하기 때문에 오탐이 발생할 수 있다고 설명합니다.
8. 회사 내부용 APK는 VirusTotal에 함부로 업로드하지 않는다
이 부분은 매우 중요합니다.
VirusTotal의 일반 파일 검사에 파일을 제출하면 분석 결과가 커뮤니티에 공유될 수 있고, 제출된 파일이 보안 파트너나 일부 프리미엄 고객에게 제공될 수 있습니다.
따라서
회사 내부 앱,
미출시 앱,
고객정보가 포함된 파일,
기밀 프로그램
등을 일반 VirusTotal 서비스에 함부로 업로드해서는 안 됩니다.
VirusTotal도 API를 통한 일반 제출물에 민감정보·기밀정보·개인식별정보를 포함하지 말라고 안내합니다.
개인 사용자가 인터넷에서 받은 공개 APK를 검사하는 것과 회사 기밀 APK를 업로드하는 것은 다른 문제입니다.
9. Play Protect 경고가 나오면 무시하고 설치하지 않는다
Android의 Google Play Protect는 Google Play에서 받은 앱뿐 아니라 외부에서 설치하는 앱도 검사할 수 있습니다.
Google은 Play Protect가 기기의 앱을 주기적으로 검사하고, 유해한 앱을 발견하면 경고·비활성화·제거 등의 조치를 할 수 있다고 설명합니다.
또한 외부 APK를 설치할 때 Play Protect가 이전에 확인하지 못한 앱이라면 보안 검사를 위해 앱을 보내도록 제안할 수도 있습니다.
이때
검사하지 않고 설치
를 선택하기보다 검사를 수행하는 편이 안전합니다.
특히 Play Protect가 명확하게
유해한 앱,
피싱,
스파이웨어,
백도어
등으로 경고한다면 단순히 경고를 끄고 설치하지 않는 것이 좋습니다.
10. APK 파일명이 유명 앱과 비슷하다고 믿지 않는다
파일 이름은 누구나 변경할 수 있습니다.
예를 들어
bank_security.apk
chrome_update.apk
government_support.apk
처럼 이름을 붙이는 것은 어렵지 않습니다.
앱 아이콘 역시 복제할 수 있습니다.
따라서
파일 이름
아이콘
회사 로고
만으로 정품 여부를 판단해서는 안 됩니다.
확인할 것은
다운로드 출처,
패키지 정보,
개발자 서명,
공식 해시,
권한,
보안검사 결과
입니다.
11. 업데이트를 이유로 APK 설치를 요구하는 문자도 주의한다
정상적인 앱 업데이트라면 일반적으로 기존 앱의 공식 업데이트 경로를 먼저 확인합니다.
갑자기 문자나 메신저에서
“보안 업데이트 APK를 설치하세요.”
라고 파일을 보내는 방식은 특히 주의해야 합니다.
은행,
거래소,
정부기관,
택배회사
를 사칭한 경우라면 문자에 포함된 링크를 누르기보다 해당 회사의 공식 앱이나 공식 홈페이지를 별도로 확인하는 것이 좋습니다.
12. 암호화폐 사용자는 설치 기준을 더 엄격하게 잡는다
스마트폰에
암호화폐 거래소,
지갑 앱,
OTP,
이메일
이 함께 설치돼 있다면 출처가 불명확한 APK 설치는 더 큰 위험을 만들 수 있습니다.
악성앱이 노릴 수 있는 정보에는
거래소 로그인,
SMS 인증번호,
클립보드의 암호화폐 주소,
화면내용,
알림,
지갑 관련 정보
등이 포함될 수 있습니다.
따라서 암호화폐를 관리하는 스마트폰이라면
확실하지 않은 APK는 설치하지 않는 것 자체가 가장 강력한 보안조치
가 될 수 있습니다.
설치 전 1분 확인표
APK를 받았다면 다음 표를 순서대로 확인합니다.
| 확인 항목 | 판단 |
|---|---|
| 개발사 공식 사이트에서 받았는가 | |
| 같은 앱이 Play Store에 있는가 | |
| 공식 SHA-256 값과 일치하는가 | |
| APK 서명이 정상인가 | |
| 앱 기능과 권한이 일치하는가 | |
| 접근성 권한을 요구하는 이유가 타당한가 | |
| VirusTotal 등에서 다수 탐지가 없는가 | |
| Play Protect 경고가 없는가 | |
| 문자·SNS에서 받은 APK가 아닌가 | |
| 설치해야 할 명확한 이유가 있는가 |
이 가운데 출처나 권한에서 의심스러운 부분이 있다면 검사 결과가 깨끗하더라도 설치하지 않는 편이 안전합니다.
가장 위험한 판단 5가지
“백신에서 아무것도 안 나왔으니 안전하다.”
새로운 악성코드는 아직 탐지되지 않을 수 있습니다.
“디지털 서명이 있으니 안전하다.”
악성앱도 자체 서명을 가질 수 있습니다.
“유명 회사 로고가 있으니 공식 앱이다.”
아이콘과 이름은 복제할 수 있습니다.
“친구가 보내준 파일이니 안전하다.”
친구 계정이나 스마트폰이 감염됐을 수도 있습니다.
“설치한 다음 이상하면 삭제하면 된다.”
설치 직후 이미 권한·인증정보가 노출될 가능성을 고려해야 합니다.
결론
APK 파일을 설치하기 전에 악성앱인지 확인할 때 한 가지 검사만으로 판단해서는 안 됩니다.
가장 중요한 순서는 다음과 같습니다.
공식 출처 확인 → SHA-256 비교 → 디지털 서명 확인 → 권한 확인 → 다중 보안엔진 검사 → Play Protect 확인 → 설치 결정
Google Play Protect는 외부에서 설치되는 앱도 검사하며 유해하거나 의심스러운 앱에 경고 또는 차단 조치를 할 수 있습니다.
Android APK 서명 확인에는 공식 Android SDK의 apksigner를 사용할 수 있습니다.
공개 APK를 추가 검사하려면 VirusTotal 같은 다중 엔진 서비스를 참고할 수도 있지만 검사 결과가 0이라고 안전을 보장하는 것은 아니며, 일반 VirusTotal 업로드에는 회사 기밀이나 민감한 APK를 제출하지 않는 것이 중요합니다.
공식 참고자료:
Google Play Protect 유해 앱 분류 안내
APK를 설치하기 전에 가장 중요한 질문은 이것입니다.
“이 APK가 안전하다는 증거가 있는가?”가 아니라 “내가 이 APK의 출처를 신뢰할 충분한 근거가 있는가?”
입니다.
특히 금융·암호화폐를 사용하는 스마트폰에서는 출처가 불분명한 APK를 굳이 설치하지 않는 것이 악성앱 피해를 예방하는 가장 단순하고 강력한 방법입니다.
※ 이 글은 Android APK 파일을 설치하기 전에 악성앱 위험을 점검하기 위한 일반적인 보안정보입니다. 해시 일치, 정상적인 디지털 서명, 보안엔진 미탐지 등이 개별적으로 앱의 안전을 보장하지는 않습니다. 금융·암호화폐 관련 앱은 가능한 한 공식 앱스토어 또는 개발사가 직접 안내하는 공식 배포경로를 이용하는 것이 좋습니다.
댓글 0
첫 댓글을 남겨보세요.