스미싱 링크를 누르면 무슨 일이 일어나나
택배 배송 안내나 부고 알림처럼 생긴 문자에 링크가 붙어 온다. 무심코 눌렀다면 그 순간 이미 끝났다고 여기기 쉽다. 그렇지 않다. 뒤에 몇 단계가 더 있고 단계마다 갈림길이 있다.
순서를 알아 두면 쓸모가 있다. 어디까지 갔는지에 따라 할 일이 다르고 어디서 멈출 수 있는지도 보인다.
링크 다음에는 설치가 온다
문자로 뿌려지는 종류라면 링크가 하는 일은 거의 앱을 내려받게 만드는 것이다. 링크는 문이지 결말이 아니다.
그래서 진짜 분기점은 링크가 아니라 설치다. 요즘 수법은 이 단계를 눈치채기 어렵게 만드는 쪽으로 옮겨 갔다. 브라우저의 내려받기 권한이나 다른 앱 위에 그리는 권한을 이용해 설치 화면을 가리거나 자연스럽게 넘기게 한다.
여기까지는 되돌릴 수 있다. 설치된 앱을 지우면 끝난다.
다만 여는 것만으로 성립하는 공격이 아예 없는 것은 아니다. 브라우저가 웹 내용을 그려 내는 과정의 허점을 쓰는 방식이다. 2025년에도 애플이 이런 허점 두 건을 긴급히 고쳤는데 악의적으로 만든 웹 내용을 여는 것만으로 코드가 실행될 수 있었고 아이폰과 아이패드와 맥이 함께 영향을 받았다.
여러 제품이 한꺼번에 걸리는 데는 이유가 있다. 웹 내용을 그려 내는 엔진을 제품들이 함께 쓰기 때문이다. 그래서 아이폰에서는 다른 회사 이름을 단 브라우저를 써도 안에서 그리는 것은 같은 엔진이다. 브라우저를 바꾸는 것은 이 경우에 방어가 되지 않는다.
이 경로는 조심해서 막는 것이 아니라 업데이트로 막는다. 이런 허점은 드러나면 고쳐지지만 고친 버전을 받지 않은 기기에는 그대로 열려 있다. 운영체제와 브라우저를 미루지 않고 올리는 일이 여기서 값을 한다.
앱이 노리는 것은 접근성 권한
설치된 앱은 곧바로 권한을 요구한다. 알림을 읽는 권한과 문자를 읽는 권한과 통화 기록이다. 그리고 하나가 더 있다. 접근성이다.
접근성 권한은 원래 화면을 보기 어려운 사람을 돕기 위한 장치다. 화면에 무엇이 있는지 읽어 주고 대신 눌러 주는 권한이다. 그러니 이 권한을 가진 앱은 사용자가 보는 것을 보고 사용자가 하는 일을 대신 한다.
알림을 읽는 권한은 따로 한 가지를 더 연다. 인증번호가 알림으로 뜨는 순간 문자 앱을 열지 않아도 읽힌다. 화면을 잠가 두었는지와 무관하다.
금융 앱의 비밀번호 입력 화면이 그 대상이 된다. 인증서를 다루는 화면도 마찬가지다. 옆에서 읽는 셈이라 그 앱이 얼마나 잘 잠겨 있는지는 상관이 없다.
여기서부터 되돌리기가 어려워진다. 권한을 받은 앱이 스스로를 숨기거나 삭제를 방해하기도 한다.
확인 전화가 막힌다
가장 위험한 대목은 여기다. 사람들은 보통 이렇게 생각한다. 이상하면 은행이나 경찰에 직접 걸어서 확인하면 된다고.
악성 앱이 노리는 것이 정확히 그 생각이다. 전화 가로채기라고 부르는 수법이 있다. 그 폰에서 거는 전화가 사기 조직으로 연결되는데 화면에는 내가 누른 번호가 그대로 뜬다. 은행 대표번호를 눌렀고 화면에도 그 번호가 떠 있는데 받는 사람이 다르다.
가짜 경찰청 앱으로 전화를 가로채 수십억 원을 가로챈 조직이 검거된 적도 있다. 오래된 수법이고 지금도 쓰인다.
그래서 확인 전화는 다른 전화기로 해야 한다. 이 글에서 가장 중요한 한 줄이다.
바로 털지 않고 기다린다
설치되고 나서 한동안 아무 일도 일어나지 않는 경우가 많다. 그래서 며칠 지나면 괜찮아졌다고 여기게 된다. 그 조용한 기간이 사실은 준비 기간이다.
그동안 앱은 폰을 본다. 카드 사용 내역을 읽으면 주거래 은행이 드러나고 대략의 자산 규모도 짐작된다. 그 정보로 어느 기관을 사칭할지 정한다.
며칠 뒤에 도착하는 문자가 유독 그럴듯한 이유가 여기 있다. 내가 실제로 쓰는 은행 이름이 적혀 있고 내 형편에 맞아 보이는 상품을 권한다. 우연히 맞아떨어진 것이 아니라 읽고 나서 쓴 것이다.
노리는 것도 옮겨 갔다. 예전에는 인증번호를 가로채 소액결제를 하는 쪽이었다면 요즘은 주거래 은행을 사칭해 대출이나 적금으로 끌고 가는 쪽이 늘었다.
어디서 멈출 수 있나
- 공식 마켓 밖에서는 설치하지 않는다. 경로 대부분이 여기서 끊긴다. 설정에서 출처를 알 수 없는 앱의 설치를 막아 두면 실수로 넘어가는 일도 줄어든다.
- 업데이트를 미루지 않는다. 여는 것만으로 성립하는 허점은 사용자가 조심해서 피할 수 있는 종류가 아니다. 고쳐진 버전을 쓰는 것이 유일한 방어다.
- 요구하는 권한을 읽는다. 택배 조회 앱이 접근성과 문자 읽기를 달라고 하면 그 자체가 답이다. 기능에 필요 없는 권한을 요구하는 것이 신호다. 권한과 설정을 한 번씩 훑어 두는 일이 이럴 때 값을 한다.
- 이미 설치했다면 비행기 모드부터 켠다. 바깥과의 연결을 끊고 그다음에 앱을 지운다.
- 확인 전화는 다른 전화기로 한다. 가족의 폰이나 유선 전화를 쓴다. 그 폰으로 걸면 확인이 되지 않는다.
- 며칠 지났다고 안심하지 않는다. 조용한 것이 안전하다는 뜻은 아니다. 누른 기억이 있으면 시간이 흘렀어도 설치된 앱과 접근성 권한 목록을 확인한다.
- 돈이 걸려 있으면 계좌부터 막는다. 다른 전화기로 은행이나 112에 연락해 지급정지를 요청한다.
자주 묻는 질문
링크만 누르고 아무것도 설치하지 않았으면 괜찮나요
대체로 괜찮다. 링크가 하는 일은 대개 설치로 데려가는 것이라 설치하지 않았다면 그 자리에서 끊긴 셈이다. 다만 그 페이지에 아이디나 비밀번호를 입력했다면 그건 별개 문제다. 해당 계정의 비밀번호를 바로 바꿔야 한다.
아이폰도 같은가요
경로가 다르다. 여기서 설명한 설치와 권한의 흐름은 앱을 따로 넣을 수 있는 환경에서 주로 성립하고 아이폰은 그 문이 좁다. 다만 위에서 본 것처럼 브라우저의 허점을 쓰는 공격은 아이폰도 대상이 되므로 업데이트는 어느 쪽이든 미루지 않는 편이 낫다. 가짜 로그인 페이지로 정보를 입력하게 만드는 쪽은 어느 기기에서나 통한다.
앱을 지우면 끝나나요
권한을 주기 전이라면 대체로 그렇다. 접근성 권한까지 넘긴 상태라면 앱이 삭제를 방해할 수 있어서 안전 모드로 켜서 지우거나 기기를 초기화해야 할 수도 있다.
문자 인증은 그대로 믿어도 되나요
이 경우에는 믿을 수 없다. 앱이 도착한 문자를 읽을 수 있으면 인증번호도 함께 읽힌다. 번호에 걸려 있는 것이 많을수록 피해가 커지는 이유가 여기서도 같다.