주소록해킹의 진실,
서버 해킹이 아니라 악성앱 권한 탈취

"주소록이 해킹당했다"는 말은 대부분 정확한 표현이 아닙니다.
카카오·통신사·구글 서버가 뚫린 게 아니라, 내 폰에 설치된 앱이
연락처 권한을 부여받아 주소록을 정상 경로로 읽어간 것입니다.

주소록해킹의 대부분은 서버가 뚫린 진짜 해킹이 아니라, 스마트폰에 설치된 악성앱이 연락처 접근 권한을 받아 주소록 전체를 외부 서버로 전송한 것입니다. 대응의 출발점은 어떤 앱을 설치했는지 확인하는 것입니다.

아크링크가 분석한 몸캠피싱 악성앱 303종의 권한 요청 빈도 — 연락처 83%, 저장소 74%, 문자 49%, 문자수신 34%
▲ 아크링크(ARKLINK) 악성앱 303종 분석 — 권한 요청 빈도
몸캠피싱 공격 흐름 6단계: 낯선 접근→영상통화 노출 유도→악성앱 설치→권한 허용→연락처·사진 C2 전송→유포 협박
▲ 아크링크 분석 기반 몸캠피싱 공격 흐름

공식 통계로 본 심각성

경찰청 범죄통계 기준 몸캠피싱 신고는 2015년 102건에서 2019년 1,824건으로 급증했고, 2019년 검거율은 26.2%에 그쳤습니다. 가해자 검거가 어려운 만큼, 피해자의 신속한 초기 대응과 설치된 앱의 전문 분석이 현실적으로 가장 중요합니다. (출처: 경찰청 범죄통계 · 시사위크 보도)

주소록해킹이라 불리는 상황과 유입 경로

많은 분들이 어느 날 낯선 번호로부터 "네 주소록을 다 가지고 있다", "지인들에게 뿌리겠다"는 협박을 받고 나서야 "주소록이 해킹됐다"고 표현합니다. 그러나 이때의 상황을 기술적으로 뜯어보면, 외부 침입자가 통신사나 메신저 서버를 원격으로 뚫은 사례는 거의 없습니다. 실제로는 내 손으로 설치한 앱이 원인인 경우가 압도적입니다.

가해자가 주소록에 접근하기까지의 유입 경로는 대체로 다음과 같이 정형화되어 있습니다.

악성앱 분석으로 드러난 실측 통계

아크링크가 실제 분석한 악성앱은 303종, 확인된 C2(명령·제어) 서버는 269개(유니크), 추출된 악성 도메인(IOC)은 490개입니다. 이 앱들이 요청한 권한을 집계하면 목적이 뚜렷하게 드러납니다.

10개 중 8개 이상이 연락처 권한을 요구했다는 사실은, 이른바 '주소록해킹'의 실체가 서버 침입이 아니라 앱 권한을 통한 정상 API 접근임을 정량적으로 보여줍니다.
— 아크링크 악성앱 분석 데이터(2026)

1

미끼 접근 — 채팅앱·SNS·문자

랜덤채팅, SNS, 오픈채팅, 또는 택배·청첩장·부고를 사칭한 문자로 접근이 시작됩니다. 목표는 단 하나, 정식 스토어를 거치지 않는 파일을 설치하게 만드는 것입니다.

2

앱 설치 유도 — "이 앱으로 해야 돼"

"음성이 안 들려서", "사진은 이 앱으로만 보내져", "택배 조회는 앱에서" 같은 구실로 .apk 파일이나 링크를 전달합니다. 구글 플레이가 아니므로 Play Protect 검사를 우회합니다.

3

권한 동의 — 사용자가 직접 허용

설치 직후 앱이 연락처·저장소·문자 권한을 요청하고, 사용자가 무심코 '허용'을 누릅니다. 이 순간 앱은 합법적인 시스템 API로 주소록을 읽을 자격을 얻습니다.

4

전송과 협박 — 주소록이 서버로

읽어낸 연락처는 곧바로 C2 서버로 업로드되고, 며칠 뒤 "지인 명단을 확보했다"는 협박이 도착합니다. 피해자는 이때 비로소 '해킹'을 의심하게 됩니다.

'주소록해킹' 상황의 실제 — 무엇이 정말 일어났나

'해킹'이라는 단어는 보통 외부 공격자가 방어벽을 뚫고 시스템에 침입하는 장면을 떠올리게 합니다. 그러나 주소록해킹으로 불리는 사건의 실제 구조는 그와 근본적으로 다릅니다. 공격자는 아무것도 '뚫지' 않았습니다. 그는 단지 피해자가 스스로 권한을 내어주도록 설계했을 뿐입니다.

해킹과 권한 탈취의 결정적 차이

진짜 서버 해킹이라면 카카오나 통신사가 보관한 수천만 명의 연락처가 한꺼번에 유출되고, 해당 기업이 공식 사고 공지를 내야 합니다. 반면 주소록해킹 피해는 오직 그 앱을 설치한 사람의 폰에서만 발생합니다. 이것이 '서버 침입'이 아니라 '개별 기기의 권한 오남용'이라는 가장 확실한 증거입니다.

따라서 "내 주소록이 해킹됐다"는 상황은 대개 다음 셋 중 하나로 정리됩니다. 첫째, 악성앱을 설치하고 연락처 권한을 허용한 경우(대다수). 둘째, 개인정보 유출 사고로 유통된 명단에 내 번호가 섞여 있어 무작위로 협박 문자가 온 경우. 셋째, 아무 근거 없이 "다 알고 있다"고 겁을 주는 순수 블러핑입니다. 이 셋은 대응 방법이 완전히 다르기 때문에, 감정이 아니라 기술적 확인으로 구분하는 것이 중요합니다.

특히 협박범은 이 혼동을 노립니다. "네 폰을 해킹했다"고 말하면 피해자는 자신이 통제할 수 없는 거대한 공격을 당했다고 느껴 쉽게 위축됩니다. 하지만 원인이 특정 앱 하나라면, 그 앱을 찾아 삭제하고 전송 여부를 확인하는 순간 상황의 주도권은 피해자에게 돌아옵니다.

'해킹'이라는 표현이 사라지지 않는 데에는 이유가 있습니다. 피해자 입장에서는 아무것도 하지 않았는데 어느 날 갑자기 주소록이 새어나간 것처럼 느껴지기 때문입니다. 그러나 앱을 설치하고 권한을 허용하는 과정은 대개 몇 초 만에, 다른 대화에 정신이 팔린 상태에서 무심코 이루어집니다. 사용자가 '허용'을 눌렀다는 사실 자체를 기억하지 못하기 때문에, 결과만 보고 '해킹당했다'고 해석하게 되는 것입니다. 이 인식의 공백이 바로 협박범이 파고드는 지점입니다.

따라서 상황을 정확히 진단하려면 "누가 나를 해킹했는가"가 아니라 "내가 최근에 어떤 앱을 설치했는가"를 되짚는 것이 훨씬 생산적입니다. 낯선 사람이 보낸 파일, 통화나 사진 전송을 위해 깔았던 앱, 택배·이벤트를 사칭한 링크로 설치한 앱 — 이 목록을 복기하는 순간 원인은 대부분 좁혀집니다.

기술적 실체 — 안드로이드 권한 모델과 데이터 전송

왜 앱 하나가 주소록 '전체'를 가져갈 수 있는지 이해하려면 안드로이드의 권한 모델을 알아야 합니다. 안드로이드는 앱이 연락처 같은 민감 데이터에 접근하려면 READ_CONTACTS라는 권한을 명시적으로 선언하고, 실행 시 사용자에게 동의를 받도록 설계돼 있습니다. 문제는 이 권한이 '일부만'이 아니라 '전부'를 허용한다는 점입니다.

사용자가 '허용'을 누르면, 앱은 시스템이 공식 제공하는 ContentResolver라는 통로로 주소록 데이터베이스를 조회합니다. 이것은 해킹 도구가 아니라 안드로이드가 정상 기능으로 제공하는 API입니다. 즉 악성앱은 취약점을 공격하는 것이 아니라, 정식 창구로 걸어 들어가 이름·전화번호·이메일을 순서대로 읽어냅니다.

// 악성앱이 주소록을 읽는 방식(개념적 예시)
cursor = ContentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, ...)
while (cursor.moveToNext()) { name = cursor.getString(...); phone = cursor.getString(...); }
// → 수집한 배열을 JSON으로 묶어 C2 서버로 POST 전송

아크링크가 분석한 악성앱들의 실제 코드에서도 이 패턴이 반복적으로 확인됩니다. 앱은 연락처를 배열로 수집한 뒤, HTTPS 요청으로 공격자의 C2 서버에 업로드합니다. 통신을 HTTPS로 암호화해 백신과 네트워크 감시를 피하고, 화면에는 정상적인 채팅·택배 조회 UI를 띄워 사용자가 데이터 유출을 눈치채지 못하게 만듭니다.

'전송됐는지'가 협박 대응의 핵심 분기점

권한을 허용했더라도, 실제로 주소록이 서버로 전송 완료됐는지는 앱마다 다릅니다. 권한 요청 화면까지만 뜨고 사용자가 허용하지 않았거나, 네트워크 전송 전에 앱을 삭제했다면 유출이 성립하지 않을 수 있습니다. 반대로 이미 전송됐다면 협박의 근거가 실재합니다. 이 차이는 앱을 분석해 전송 코드와 통신 로그를 확인해야만 정확히 판별됩니다.

많은 악성앱은 여기에 더해 자신을 숨기는 장치를 갖고 있습니다. 앱 아이콘을 실행 후 화면에서 감추거나, 정상적인 이름으로 위장하거나, 문자·통화 기록까지 함께 수집하도록 만들어져 있습니다. 아크링크 분석 데이터에서 문자 읽기(READ_SMS) 권한을 요청한 앱이 49%에 달했다는 사실은, 이들이 단순히 주소록만 노리는 것이 아니라 본인 인증 문자까지 가로채 추가 피해로 연결하려 한다는 것을 보여줍니다.

중요한 것은, 이 모든 동작이 안드로이드가 허용한 정상 권한 범위 안에서 이루어진다는 점입니다. 백신이 즉시 잡아내지 못하는 이유도 여기에 있습니다. 악성 행위가 시스템 취약점을 건드리는 게 아니라 '정상 앱이 권한을 쓰는 모습'과 겉으로 구별되지 않기 때문입니다. 그래서 감염 여부를 눈으로 판단하기 어렵고, 코드와 통신을 직접 분석해야 실체가 드러납니다.

결국 '주소록해킹'이라는 표현이 가리는 진실은 이것입니다. 공격의 성패는 서버 방어벽이 아니라 사용자가 누른 '허용' 버튼 하나와 그 이후의 전송 여부에 달려 있다는 점입니다. 그래서 대응 역시 막연한 '해킹 복구'가 아니라, 설치된 앱의 정체·권한·전송 이력을 규명하는 기술적 분석에서 시작해야 합니다.

예방과 차단 — 권한 점검·APK 설치 방지

주소록해킹의 원인이 '앱 권한'이라는 사실을 알면, 예방책도 명확해집니다. 방어의 핵심은 서버가 아니라 내 폰의 설치·권한 관문을 지키는 것입니다.

지금 바로 적용하는 예방 설정

이미 의심스러운 앱을 설치했다면 무작정 삭제부터 하기보다, 어떤 앱이 무슨 권한을 가졌는지 먼저 확인하는 편이 낫습니다. 삭제 후에는 어떤 데이터가 나갔는지 증명하기 어려워지기 때문입니다. 권한 목록에서 연락처·저장소·문자에 접근하는 낯선 앱을 발견했다면, 그 앱이 주소록해킹의 실제 원인일 가능성이 높습니다.

참고로 이 위험은 안드로이드에서 특히 두드러집니다. 아이폰(iOS)은 앱 스토어 외부 설치를 기본적으로 막고 권한 요청도 더 세분화되어 있어, 채팅으로 받은 .apk를 그대로 설치하는 형태의 공격이 성립하기 어렵습니다. 반면 안드로이드는 '알 수 없는 출처' 설치를 열어둘 수 있기 때문에, 위에서 정리한 설치·권한 관문을 잠그는 것만으로도 주소록해킹 위험의 대부분을 차단할 수 있습니다.

또 하나 기억해야 할 점은, 한 번 유출된 연락처는 회수할 수 없다는 것입니다. 서버로 전송된 데이터를 되돌리는 기술은 존재하지 않으므로, 예방의 가치는 사후 복구와 비교할 수 없을 만큼 큽니다. 낯선 경로로 앱을 설치하지 않는 습관 하나가 가장 확실한 방어선입니다.

피해 대처와 신고

협박을 받았거나 유출이 의심된다면, 감정적으로 대응하지 말고 아래 순서대로 침착하게 진행하세요.

  1. 절대 송금하지 않기 — 한 번 지급하면 반복 요구가 이어집니다. 유출 여부와 무관하게 금전 요구에는 응하지 않습니다.
  2. 증거 보존 — 협박 메시지, 상대 계정, 전달받은 파일 정보, 설치한 앱 이름을 삭제 전에 캡처합니다.
  3. 설치 앱 정체 확인 — 앱을 지우기 전에 어떤 앱인지, 어떤 권한을 가졌는지 확인해 전송 여부 판단의 근거를 남깁니다.
  4. 기기 정리 및 권한 회수 — 확인이 끝나면 악성앱을 삭제하고 남은 앱들의 연락처 권한을 회수합니다.
  5. 신고 및 상담 — 아래 실제 기관에 접수합니다.

공식 신고·상담 창구

협박범이 "주소록을 해킹했다"고 압박하더라도, 실제 원인이 특정 앱이라면 상황은 통제 가능합니다. 앱의 정체와 전송 여부를 기술적으로 규명하면, 근거 없는 협박과 실제 유출을 구분해 그에 맞는 대응을 선택할 수 있습니다.

자주 묻는 질문 (FAQ)

주소록해킹을 당했다는데, 정말 제 폰이나 서버가 해킹된 건가요?

대부분은 서버 해킹이 아닙니다. 카카오·통신사·구글 서버가 뚫렸다면 해당 기업의 공식 사고 공지가 나오고 수많은 사람이 동시에 피해를 봅니다. 주소록해킹 피해가 특정 앱을 설치한 개인에게만 발생한다면, 이는 서버 침입이 아니라 그 앱이 연락처 권한을 부여받아 주소록을 읽어간 '권한 탈취'입니다.

앱이 어떻게 제 주소록 전체를 가져갈 수 있나요?

안드로이드에서 앱이 READ_CONTACTS 권한을 요청하고 사용자가 '허용'을 누르면, 앱은 시스템이 정상 제공하는 ContentResolver API로 주소록 데이터베이스 전체를 조회할 수 있습니다. 취약점을 공격하는 것이 아니라 정식 창구로 걸어 들어가 전부 읽는 방식이므로, '일부만'이 아니라 연락처 전체가 노출됩니다.

권한을 허용했으면 이미 주소록이 유출된 건가요?

반드시 그렇지는 않습니다. 권한 요청 화면까지만 뜨고 허용하지 않았거나, 네트워크 전송이 일어나기 전에 앱을 삭제했다면 실제 유출이 성립하지 않을 수 있습니다. 전송 완료 여부는 앱마다 다르므로, 앱의 전송 코드와 통신 로그를 분석해야 정확히 판별할 수 있습니다.

협박범이 "주소록을 다 뿌리겠다"고 합니다. 지금 무엇부터 해야 하나요?

먼저 송금하지 말고, 협박 메시지·상대 계정·설치한 앱 이름을 캡처해 증거를 보존하세요. 그다음 앱을 삭제하기 전에 어떤 앱이 무슨 권한을 가졌는지 확인해 전송 여부 판단의 근거를 남기고, 경찰(112)·사이버범죄 신고(182)에 접수합니다. 전송 여부가 확인되면 근거 없는 협박과 실제 유출을 구분해 대응할 수 있습니다.

주소록해킹, 앱부터 확인하세요

설치한 앱이 실제로 연락처를 서버로 보냈는지, 악성앱 분석으로 규명합니다.

내 앱 검색하기    아크링크 상담    분석 요청하기

이 수법에 쓰인 악성앱, 우리가 직접 분석했습니다

주식회사 아크링크 Deep-Coding 보안연구소는 몸캠피싱·영상통화사기에 실제 사용된 악성앱을 리버스 엔지니어링으로 분석합니다. 관련 분석 사례: CherryTalk · 잠금톡 (BeeTALK) · 냥톡 (Nyangtalk) · Leader-K · Flirting 138

▸ 악성앱 308종 전체 분석 데이터베이스 보기