SS7 (Signaling System 7) 은 여러분들이 하루에 수십번 이상 사용하시는 건데요. 무선전화 SMS/MMS 메시지 등 이동통신을 포함한 여러가지 통신 프로토콜입니다. 컴퓨터 network 의 TCP/IP 에 해당하는 부분입니다. 그 프로토콜에는 MAP (Mobile Application Part) 이란게 들어있는데요. 수신자와 발신자의 전번및 그들의 개인정보가 기록되어있는 이동통신사의 database 를 통해 주소와 통신비 결제수단도 조회할수있는 procedure 까지 들어있습니다. 다른 나라 여행가서 전화키면 자동적으로 roaming 이 뜨고 전화값도 그에 따라 계산되고 뭐 이런걸 하려면 필요하겠죠. Mobile 로 전화 또는 문자를 하면 제일 먼저 현재 위치에서 접속가능한 MSC (Mobile Switch Center) 로 연결되고 연결요청에 딸려온 MAP 에 있는 정보를 통해 HLR (Home Location Register) 로 연결되는데요. HLR 은 통신서비스 제공에 필요한 개인정보들을 이동통신사에서 받아 Cache 즉 메모리에 보관하고 있기때문에 사실 전번만 있으면 HLR 에서 개인정보 터는건 해커들에겐 그다지 어려운일이 아닙니다.

SS7 의 이런 약점은 Edward Snowden 이 폭로한 미국의 민간인 사찰과정에서도 이용되었는데요. 옛날 스파이 영화에서 처럼 대상에게 bug 을 심을 필요없이 전화를 엿들을 수 있습니다. Snowden 사건이후 해결책에 대한 conference 도 여러번 있었습니다. 문제는 SS7 의 이런 보안 문제를 고치려면 그 protocol 을 개선하고 전세계의 이동통신망을 모두 고쳐야한다는건데요 ... 돈이 많이 드는 일이겠죠. 그래서 서버의 보안을 강화한것 이외엔 별 진전이 없습니다. 구글이나 유튜브에 SS7 Snooping 조회하시면 관련된 내용들을 찾으실 수 있습니다. 어쨌든 Snowden 에 의하면 미국 NSA 가 조직적으로 HMR 을 털어 신원을 파악하고 특정 인물들의 통화나 문자들을 도청하였는데요. 이건 Linux 에 있는 network software 들을 통해서도 충분히 가능하고요. 또 Nasdaq 에 상장된 Verint Systems Inc 란 회사는 skylock 이란 제품을 판매하는데 이동통신 forensic 에 주로 사용되지만 SS7 을 터는 기능이 옵션으로 포함되어 있답니다.

HMR 에서 개인정보를 털고 개인이 은행에 전화로 업무를 볼때 (Phone Banking) 비밀번호 가로채고 그 계좌에서 인출하는 사기가 발생했었습니다. 그래서 그 이후 은행들은 미리 등록한 대상이 아니면 전화로 송금할수 없게 만들었죠. 은행들은 공동으로 task force 를 운영하여 금융사기에 대응하기 때문에 한번 털리면 그 유형을 파악해서 바로 고치는데요. 은행 말고도 전화로 인증하는 다른 사업체들이 이런걸 어떻게 대처할지는 모르겠네요. 특히 요즘엔 TFA (two-factor-authentication) 이라고 해서 문자로 일회용 토큰을 발송하여 그걸 다시 입력하여야 들어가는 싸이트들이 많은데요. 아무래도 더 많은 기술이 있어야 해킹할 수 있으니 안하는거 보단 안전하다고 주정하지만 결코 안심할수 있는것 아닙니다.

사실 해커들은 큰 회사나 Crypto 거래소처럼 돈이 되는 곳을 노리겠죠. 대부분 기관에서는 외부와의 network 을 차단하고 private network 을 만들어 그 안에서 작업을 하는데요. 보통 개발자나 관리자들이 외부에서 접속할 수있도록 뒷문을 열어둡니다. 그게 뚤리면 성이 함락되는거죠. 그래서 많은 경우 remote 로 접속할때 TFA 를 하는데요. SS7 이 쉽게 털리면 문자로 TFA 하는건 별 의미가 없겠죠. TFA 를 하더라도 문자나 이멜 말고 좀더 보안이 강화된 방법을 써야합니다. 

인터넷에서 해커들이 종종 사용하는 방법중에 MITM (Man in the middle attack) 이란게 있습니다. 서버의 network packet 들을 엿듣고 있다가 connection 을 hijacking 하는 방법인데요. 이를 방지하기 위해 인터넷에서는 https 즉 http packet 을 encryption 해서 서버와 통신을 합니다 (아크로엔 이게 없어서 좀 망설였었죠...). SS7 에도 encryption 을 할 수 있습니다. 카톡에도 end-to-end encryption mode 가 있죠. 하지만 그거 설정해놓고 쓰는 사람있나요? 단순히 privacy 의 문제가 아니고 SS7 에서 MITM 이 가능하다는 얘기니까 문자나 전화로 하는 여론조사를 hijacking 해서 대리로 응답할 수도 있습니다. 

요즘에는 SMS/MMS 로 marketing 하는 사람들이 많아서 서비스 제공해주는 회사들도 많은데요. 얘를들면 미국의 Twilio 처럼 문자 몇개까지는 공짜고 그 이상은 문자수에 따라 비용이 산출됩니다. SMS 는 싸고 MMS 는 카톡처럼 dynamic 이모티콘이 들어가 조금 더 비싸죠. 근데 이런데서 SMS/MMS 전용 전번도 살 수있습니다. 문자도 국제요금이 나오니까 나라마다 전번이 있어 골라서 살 수있죠. 그럼 그런 번호 몇개 사서 문자로 인증 받고 이메일은 파기 쉬우니까 여러개 파고 그럼 인터넷 싸이트에 id 여러개 만드는게 많은돈이 필요한게 아닙니다. 여러개 id 로 인터넷 session 에서 cookie 바꿔가며 좋아요/싫어요 엄청 누를 수도 있습니다.

점점 믿을게 없어지는 세상이죠. 결국 진실을 알기 위해선 본인 스스로 research 를 열심히 해야 할 수밖에 없다는 생각입니다.