연락처해킹,
사실은 '해킹'이 아닙니다
"내 연락처가 해킹당했다"고 느끼는 순간, 대부분 통신사 서버나 폰이 뚫린 것이 아닙니다.
직접 설치한 앱 하나가 '권한'을 받아 주소록을 통째로 가져간 것입니다.
이 글은 연락처해킹의 기술적 실체를 실측 데이터로 규명합니다.
연락처해킹은 대개 서버가 뚫린 사건이 아니라, 스마트폰에 설치된 악성앱이 READ_CONTACTS 권한으로 주소록을 읽어 외부 서버로 전송한 결과입니다. 즉 '해킹'이 아니라 사용자가 허용한 '권한 탈취'이며, 대응의 출발점은 어떤 앱이 그 권한을 가졌는지 확인하는 것입니다.
공식 통계로 본 심각성
경찰청 범죄통계 기준 몸캠피싱 신고는 2015년 102건에서 2019년 1,824건으로 급증했고, 2019년 검거율은 26.2%에 그쳤습니다. 가해자 검거가 어려운 만큼, 피해자의 신속한 초기 대응과 설치된 앱의 전문 분석이 현실적으로 가장 중요합니다. (출처: 경찰청 범죄통계 · 시사위크 보도)
연락처해킹은 어떻게 시작되나 — 유입 경로
많은 피해자가 "해킹당했다"고 표현하지만, 실제 시작점은 거의 항상 '한 번의 설치'입니다. 문자로 온 링크를 눌러 앱을 받았거나, 채팅 상대가 보낸 .apk 파일을 열었거나, 사칭 사이트에서 "고화질 영상 재생기"를 내려받은 그 순간이 유입 경로입니다.
대표적인 유입 경로는 다음과 같이 정형화되어 있습니다.
미끼 전달 — 문자·채팅·SNS 링크
"택배 조회", "청첩장", "영상통화 앱", "당첨 확인" 같은 구실로 링크나 파일을 보냅니다. 스미싱 문자, 오픈채팅, 랜덤채팅, 소개팅앱 등 경로는 달라도 목적은 앱 설치 유도로 동일합니다.
플레이스토어 우회 설치
정식 마켓이 아닌 .apk 파일을 직접 설치하도록 "출처를 알 수 없는 앱 허용"을 켜게 만듭니다. 이 단계에서 구글 플레이 보호(Play Protect)의 사전 검사가 우회됩니다.
권한 요청 팝업 — '허용'을 누르는 순간
앱을 처음 실행하면 연락처·저장소·문자 접근을 요청하는 시스템 팝업이 뜹니다. 사용자가 '허용'을 누르는 이 한 번의 동작이 이후 모든 유출의 법적·기술적 시작점입니다.
백그라운드 전송 — 주소록이 서버로
권한이 부여되면 앱은 화면 뒤에서 조용히 연락처 전체를 읽어 공격자 서버(C2)로 업로드합니다. 사용자 화면에는 정상 앱처럼 보이는 UI만 남습니다.
악성앱 분석으로 드러난 실측 통계
아크링크가 실제로 분석한 악성앱은 303종, 확인된 C2 서버는 269개, 추출된 악성 IOC 도메인은 490개입니다. 이 앱들이 설치 직후 요청한 권한을 집계하면 '연락처해킹'의 정체가 정량적으로 드러납니다.
- 연락처 읽기(READ_CONTACTS): 253종 — 83%
- 저장소 읽기(READ_EXTERNAL_STORAGE): 224종 — 74%
- 문자 읽기(READ_SMS): 147종 — 49%
- 문자 수신(RECEIVE_SMS): 102종 — 34%
10개 중 8개꼴로 연락처 권한을 요구한다는 것은, 이들의 핵심 목적이 '서버를 뚫는 해킹'이 아니라 '사용자가 허용한 권한으로 주소록을 가져가는 것'임을 보여줍니다.
— 아크링크 악성앱 분석 데이터(2026)
'연락처가 해킹당했다'고 느끼는 실제 상황
사람들이 연락처해킹을 의심하게 되는 계기는 대부분 다음과 같은 구체적 증상입니다. 자신의 상황과 대조해 보면 '해킹'이 아니라 '악성앱 권한 유출'임을 스스로 판별할 수 있습니다.
연락처해킹을 의심하게 되는 대표 증상
지인에게 "네 이름으로 이상한 문자·링크가 왔다"는 연락이 온다. 저장한 적 없는 번호가 나를 알고 연락한다. 협박범이 "네 주소록에 다 뿌리겠다"며 실제 지인 이름을 몇 개 언급한다. 며칠 전 낯선 앱을 설치한 기억이 있다 — 이 조합이면 서버 해킹이 아니라 기기 내 악성앱일 가능성이 압도적으로 높습니다.
특히 협박형 범죄에서 가해자는 "너를 해킹했다", "네 폰을 전부 장악했다"고 과장합니다. 이는 피해자가 스스로를 무력하게 느끼게 만드는 심리 전술입니다. 실제로 가해자가 가진 것은 설치 시점 이후 권한으로 긁어간 주소록 한 벌이지, 폰 전체나 통신사 서버가 아닙니다. 이 차이를 아는 것만으로도 협박의 압박은 크게 줄어듭니다.
반대로 "연락처가 해킹당했다"는 표현이 실제 계정 유출을 가리키는 경우도 있습니다. 예를 들어 클라우드 주소록 동기화 계정의 비밀번호가 다른 사이트에서 새어나가(크리덴셜 스터핑) 타인이 로그인한 경우입니다. 다만 몸캠피싱·스미싱 맥락의 연락처 유출은 거의 전부 계정 유출이 아니라 기기에 설치된 앱이 원인입니다.
기술적 실체 — 서버 해킹이 아니라 권한으로 가져간 것
여기가 이 글의 핵심입니다. '해킹(hacking)'은 통상 취약점을 이용해 방어를 뚫고 무단 침입하는 행위를 말합니다. 그러나 연락처해킹으로 불리는 사건의 실제 메커니즘은 안드로이드의 정상적인 권한 모델을 악용하는 것입니다. 뚫은 게 아니라, 사용자가 문을 열어준 것입니다.
안드로이드에서 앱이 주소록을 읽으려면 앱 설명서(AndroidManifest.xml)에 권한을 선언하고, 실행 시 사용자에게 허용을 받아야 합니다. 악성앱의 매니페스트에는 다음과 같은 선언이 들어 있습니다.
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_SMS"/>
사용자가 '허용'을 누르면, 앱은 시스템이 공식 제공하는 연락처 데이터베이스(ContactsContract)에 정당하게 접근합니다. 코드는 대략 이렇게 동작합니다 — 커서로 전체 연락처를 순회하며 이름과 번호를 읽어 리스트에 담고, 그 리스트를 JSON으로 묶어 서버로 POST 전송합니다. 어떤 방화벽도 뚫지 않고, 어떤 취약점도 쓰지 않습니다.
왜 백신·플레이 보호에 안 걸렸을까
권한 기반 접근은 기술적으로 '허용된 정상 동작'이기 때문에 시그니처 탐지를 쉽게 피합니다. 게다가 분석 악성앱의 상당수는 지아구(Jiagu) 등으로 코드를 패킹·난독화해 정적 분석을 방해하고, 연락처 전송 서버 주소(C2)를 실행 중에 복호화합니다. 그래서 겉으로는 평범한 채팅앱·유틸처럼 보입니다.
이 구조를 이해하면 세 가지 결론이 나옵니다. 첫째, 유출된 것은 '허용한 권한 범위'에 한정됩니다 — 연락처 권한만 줬다면 통화 녹음이나 실시간 위치까지 넘어갔을 가능성은 낮습니다. 둘째, 유출 여부와 범위는 앱을 역분석하면 기술적으로 확정할 수 있습니다. 어떤 권한을 선언했고, 어느 서버로, 무엇을 보냈는지가 코드와 통신 로그에 남기 때문입니다. 셋째, "폰 전체가 장악됐다"는 협박은 대부분 근거 없는 과장입니다.
아크링크의 분석은 바로 이 지점을 규명합니다. 설치된 앱의 매니페스트에서 선언된 권한을 추출하고, C2 서버로 향하는 전송 코드와 실제 통신을 확인해 "무엇이, 어디로, 실제로 나갔는가"를 사실로 특정합니다. 269개 C2 서버와 490개 IOC 도메인이 이렇게 축적된 실측 증거입니다.
예방과 차단 — 권한 통제가 핵심
연락처해킹의 원인이 '권한'이라면, 예방과 차단의 핵심도 권한 통제입니다. 서버 해킹을 막는 복잡한 조치가 아니라, 내 손 안에서 즉시 할 수 있는 일들입니다.
지금 바로 적용할 수 있는 권한 통제
1. 출처를 알 수 없는 앱 설치 차단: 설정 → 앱 → 특별한 접근 → 알 수 없는 앱 설치에서 모든 앱의 허용을 꺼둡니다. .apk 직접 설치의 문을 닫는 가장 강력한 조치입니다.
2. 앱별 권한 점검: 설정 → 개인정보 보호 → 권한 관리 → 연락처에서 '연락처 접근이 허용된 앱' 목록을 확인하고, 정체불명 앱의 권한을 회수합니다.
3. 최근 설치 앱 재검토: 문제가 생기기 직전 며칠 안에 설치한 앱을 우선 의심하고, 사용하지 않는 앱은 삭제합니다.
4. 문자 속 링크·첨부 .apk 열지 않기: 택배·청첩장·영상통화 사칭 링크는 누르지 말고, 앱은 반드시 공식 마켓에서만 받습니다.
이미 의심 앱을 설치했다면, 무작정 지우기 전에 한 단계를 권합니다. 삭제하면 어떤 권한을 가졌고 어디로 전송했는지 확인할 수 있는 원본(.apk와 흔적)이 함께 사라집니다. 협박에 대응하거나 유출 범위를 확정해야 하는 상황이라면, 삭제 전 앱을 분석해 전송 사실과 대상 서버를 특정해 두는 편이 훨씬 유리합니다.
피해 대처와 신고
연락처가 유출된 정황이 있다면, 다음 순서로 침착하게 대응하세요. 핵심은 '해킹당했다'는 공포가 아니라 '어떤 앱이 무엇을 보냈는가'라는 사실에 근거해 움직이는 것입니다.
- 금전 요구에 응하지 않기 — 한 번 송금하면 유출 목록을 근거로 반복 요구가 이어집니다
- 증거 보존 — 협박 대화, 상대 프로필, 전달받은 링크·파일 정보, 설치한 앱 이름을 삭제 전에 캡처합니다
- 의심 앱 격리·확인 — 네트워크를 차단(비행기 모드)한 뒤, 삭제 전 어떤 앱인지·어떤 권한을 가졌는지 확인합니다
- 계정 비밀번호 변경 — 클라우드 주소록 동기화 계정 등 관련 계정 비밀번호를 바꾸고 2단계 인증을 켭니다
- 공식 기관 신고 — 아래 실재 기관에 신고합니다
신고·상담 창구 (실재 기관)
경찰 신고: ☎ 112
사이버범죄 신고·상담: ☎ 182 (경찰청 사이버수사국)
불법·유해정보 삭제 요청: 방송통신심의위원회
디지털성범죄 피해 지원(촬영물 삭제·상담): 디지털성범죄피해자지원센터 ☎ 02-735-8994
유포 협박이 촬영물·영상과 결합된 경우에는 디지털성범죄피해자지원센터의 삭제 지원을 병행할 수 있습니다. 그리고 실제 유출 여부와 대상 서버를 기술적으로 확정하고 싶다면, 설치했던 앱에 대한 전문 분석이 가장 확실한 방법입니다.
자주 묻는 질문 (FAQ)
연락처해킹이면 제 폰 전체가 해킹된 건가요?
대부분 아닙니다. '연락처해킹'으로 불리는 사건의 실체는 서버나 폰 전체가 뚫린 것이 아니라, 설치한 악성앱이 사용자가 허용한 연락처 권한(READ_CONTACTS)으로 주소록을 읽어 외부 서버로 보낸 것입니다. 유출 범위는 대개 허용한 권한 범위로 한정되며, 폰이 통째로 장악됐다는 협박은 과장인 경우가 많습니다.
백신이 아무 이상 없다는데 어떻게 연락처가 샜나요?
권한 기반 접근은 시스템이 허용한 '정상 동작'이라 시그니처 백신에 잘 걸리지 않습니다. 또한 악성앱 상당수는 코드를 패킹·난독화하고 전송 서버 주소를 실행 중에 복호화해 탐지를 피합니다. 아크링크 분석 데이터에서도 연락처 권한을 요구한 앱이 253종(83%)에 달했습니다. 백신 통과가 곧 안전을 의미하지는 않습니다.
유출됐는지, 어디로 나갔는지 확인할 수 있나요?
확인할 수 있습니다. 앱을 역분석하면 어떤 권한을 선언했는지, 연락처 전송 코드가 있는지, 어느 C2 서버로 데이터를 보냈는지를 코드와 통신 기록으로 특정할 수 있습니다. 다만 앱을 삭제하면 이 근거가 함께 사라지므로, 확인이 필요하면 삭제 전에 앱 원본을 보존하는 것이 좋습니다.
지금 당장 무엇부터 해야 하나요?
먼저 돈을 보내지 말고, 협박 대화·상대 프로필·설치한 앱 정보를 캡처해 증거를 보존하세요. 그다음 비행기 모드로 네트워크를 끊어 추가 전송을 막고, 삭제 전에 어떤 앱인지 확인합니다. 이후 경찰(112)·사이버범죄 신고(182)에 신고하고, 유출 범위 확정이 필요하면 앱 분석으로 전송 사실을 특정하세요.
