최근 수정 시각 : 2023-08-10 09:10:41

모바일 보안

1. 개요2. 공격 기법
2.1. 이동통신 네트워크
2.1.1. IMSI catcher
2.2. 근거리 네트워크
2.2.1. WPA2 크래킹2.2.2. 위장 AP (Rogue AP)2.2.3. 서비스 방해공격 (DOS)2.2.4. DNS 스푸핑2.2.5. ARP 스푸핑

1. 개요

모바일 보안은 근거리 무선 네트워크 및 이동통신 네트워크로부터 이동 단말기를 보호하는 것이다. 본 문서에서는 모바일 보안을 위한 문서인 만큼 현재 네트워크의 보안취약점에 대해서는 다루지 않고 과거의 네트워크 취약점을 이용하여 공격했던 대표적 기술들을 위주로 서술한다.

2. 공격 기법

2.1. 이동통신 네트워크

파일:LTE인증.png

4G(LTE)는 단말기와 기지국 사이에 EPS-AKA' 라는 인증 방식을 사용하고 있다.[1] 그림이 다소 복잡할 수 있으나 주황색 박스부분만 중점적으로 보면 단말기와 기지국측의 HSS[2]가 사전에 각각 IMSI와 LTE K라는 키를 가지고 있고, 이를 상호 인증함으로서 최종적인 Kasme 키를 얻어서 데이터를 암호화하는 방식을 사용하고 있다.참고 이때 IMSI[3]는 오버헤드 등의 문제로 암호화되지 않은 평문으로 전송되는데 이는 2G-5G에서도 모두 동일하다. 따라서 공격자는 주로 IMSI를 탈취함으로써 공격하는 방식을 사용하고 있다.

2.1.1. IMSI catcher

파일:CATCHER.png

IMSI 캐처 또는 스팅레이라는 장비로 알려져 있으며, 2000년 독일에서 출원된 특허(EP1051053)로 시작하여 미국의 통신계측장비 회사인 Harris에서 상용 이동통신망의 기지국 시뮬레이터 및 단말기의 검사 등을 위해 개발하였으나 현재는 미국, 영국, 캐나다 등의 정부의 수사기관에서 합법적 감청장비로 쓰이고 있다. 최근 해당 장비의 가격이 계속 낮아져서 17년을 기준으로 알리바바 등의 인터넷 사이트에서 86만원에 거래되며 일반인들도 사용한다고 한다.

기본적으로 IMSI를 탈취하기 위한 장비로써, 해당장비를 통해 상용망의 일부를 구현하여 정상 기지국으로 위장하고 단말을 접속하게 하여 정상 기지국과 단말기 사이에서 데이터 및 통화를 중계함으로써 감청하는 '중간자 공격' 방식을 사용한다. 세부과정으로 먼저, 기존의 정상 기지국에 접속해있는 단말기를 위장 기지국으로 접속시키기 위해서 기존의 기지국보다 더 높은 전력을 방사한다. 그러면 단말기는 주변에 감지되는 기지국들의 신호세기에 따라 신호세기가 가장 큰 기지국(위장 기지국)으로 접속하게 되는데[4], 단말기가 접속하고 나면 2G(GSM)의 경우 단말과 연결협상시 암호화가 지원되지 않는 통신방식으로 접속하도록 한다.[5] 이후 단말기에 IMSI를 요청하여 수신함으로써 IMSI를 탈취하고, 탈취한 IMSI를 자신의 IMSI로 위장하여 정상 기지국에 전달 후 정상 기지국으로부터 인증이 완료되면 자신(위장 기지국)에게 전송되는 데이터를 피해자 단말기에 전달해줌으로써 피해자로부터 감청사실을 속이고 단말기와 정상 기지국 사이의 중간과정에서 전송되는 전화 및 데이터를 모두 감청할 수 있게 된다. 또한 이때 해당장비는 수동모드와 활성모드로 동작할수 있는데, 활성모드에서는 카메라와 마이크를 활성화하여 도청도 가능하게하며 위치추적, 통화차단 등의 기능도 수행가능하다.[6] 참고자료

한편 3G와 4G의 경우 암호화방식을 필수로 지정하고 있기 때문에 IMSI를 탈취하더라도 데이터를 복호하지 못하게 된다.

파일:인증123.png
위 그림[7]과 같이 대칭키 첼린지 응답방식(질문응답방식)을 사용한다. 기지국과 단말은 USIM K값을 서로 공유하고 있고, 기지국은 단말이 IMSI를 보고하면 랜덤값을 보내주고 단말로부터 랜덤값*USIM K값(A3, 인증서명값 SRES)을 수신하여 일치하는 경우 인증이 성공한것으로 판단하고 해당 랜덤값*USIM K값을 세션암호화키로 사용한다.

따라서 이런 경우 아래 그림과 같이 위장 기지국으로 단말에게 LTE 서비스가 지원되지 않음을 통보하여 단말 스스로 2G망으로 접속전환하도록 하는 '다운 그레이드' 공격 방식을 사용하고 있다.[8] 그러나, 이 방식은 우리나라의 경우 KT[9], SKT[10], LGU+[11] 3사 모두 21년 6월을 기준으로 2G 서비스를 종료하였기 때문에 불가능하다.[12]

파일:다운그레이드.png

다만 3G의 경우 복호화를 위한 암호키를 취득하지 못하였어도 기존의 3G가 가지고 있는 SS7 시그널링 프로토콜[13]의 취약점[14]으로 인해 탈취한 IMSI만으로도 공격자가 피해자의 단말로 위장하여 가입자 등록을 하는 방식으로 전화 및 문자 메시지를 탈취하는 것이 가능하였다. 그러나 4G 부터는 SS7 대신 Diameter 프로토콜[15]이 적용되어 대부분의 취약점을 보완하였다.

그럼에도 불구하고 4G의 Diameter 프로토콜은 주로 LTE의 통화 및 문자 서비스에 적용되며, VOLTE의 경우 여전히 호출을 위해 SIP 프로토콜을 사용하고 있으며 브로드캐스트 채널(재난문자, 페이징[16], SIB 등)의 경우 오버헤드 및 연산상의 문제 등으로 암호화 과정없이 전송하고 있기 때문에[17][18]이를 이용하여 주로 '서비스 거부 공격'을 하는 방식을 사용하였다

구체적으로 이는 IMSI 취득후 SIB 채널을 통해 단말기로 일종의 현재 위치코드를 보고하라는 메시지[19]를 반복하여 보내거나, 피해자의 IMSI로 기지국에 접속요청을 반복적으로 전송하여 응답을 수신하게 하여 과다 트래픽을 유발시키는 방식이다. 그리고 이 경우 접속에 계속 실패하면 기지국에 의해 접속이 중단되었다. 또한 페이징 신호를 이용하여 정상 기지국의 페이징 주기에 정상 기지국보다 더 쎈 신호로 데이터(전화, 문자 등) 없음을 지시하는 방식을 사용하여 단말기가 이를 수신하지 못하도록 하는 방식을 사용하였다.[20][21]

한편 5G 표준에서는 일부 NO-IOT와 같은 기술의 경우 일부 설정 기능을 보안인증 설정전에 수행할 수 있도록 보안설정을 옵션[22]사항을 남겨두는 경우가 있는데 이를 악용해서 중간자 공격을 수행하기도 한다. 예를 들면 UE 능력보고 메시지를 위장 릴레이 AP를 사용하여 대신 보고하며 이때 낮은 성능치로 보고함으로써 통신성능을 낮추도록 한다.

파일:릴레이.png

그러나 현재는 이러한 보안 취약점이 모두 해결되어서 가능하지 않다.

2.2. 근거리 네트워크

무선랜의 경우 IEEE 802.11 보안 프로토콜로써 EAP 기반의 WPA 인증방식을 사용하고 있는데[23], 개인용의 경우 WPA2PSK[24](AES블록암호) 방식을 쓰고 기업용(엔터프라이즈)은 WPA1RADIUS(TKIP 비밀키 동적생성) 방식을 사용한다.

2.2.1. WPA2 크래킹

파일:인증222.png

WPA 인증방식에서는 최초 인정 과정(4 핸드쉐이크)시 무선랜과 단말기가 서로 공유하고 있는 PMK키 값(설정된 비밀번호)에 서로의 MAC 주소, 난수를 교환하여 최종적인 PTK값(PTK = PMK + ANonce + SNonce + MAC(AA) + MAC(SA))을 생성하고 이를 통해 암호화를 수행한다. 따라서 인증과정시 교환되는 MAC 주소 및 난수를 Wireshark[25] 분석툴을 통해 스캐닝하여 수집하고, 무차별적인 '사전 공격'을 통해 비밀번호(PMK)를 도출함으로써 최종키값(PTK)을 취득하는 방식을 사용한다.[26]참고.

한편 단말기가 이미 무선랜에 접속되어 있는 경우 디도스 공격을 통해 기존의 접속을 끊고 재접속하도록 한다 그리고 이에 따라 피해자 단말기가 무선랜에 다시 접속하여 인증과정을 수행하면 키 값 등을 스캐닝하여 최종적인 키 값을 취득한다. 최종키를 취득하면 공격자는 피해자로부터 인터넷, 애플리케이션 등을 통해 입력되는 ID, 비밀번호 등의 데이터를 복호할 수 있게 된다.[27]

이때 만약, 피해자가 웹사이트에서 SSL(TLS) 방식[28]으로 통신하는 경우 애플리케이션 계층(인터넷 웹페이지)에서 암호화가 되므로 스캐닝한 데이터를 복호할 수가 없는데, 이러한 경우는 공격자가 인증서버로 위장하고 피해자 단말기로 자신의 공개키가 포함된 인증서를 송신함으로써, 피해자가 자신의 공개키를 사용하게 만들고, 이를 통해 최종적으로 피해자의 데이터를 복호하는 방식을 사용하고 있다.[29]

한편 2018년부터는 WPA3가 도입되어 기업용(엔터프라이즈)의 경우 기존의 128비트 AES를 192비트로 확장하여 보안을 강화하였는데, 이 경우 WPA3가 WPA2의 하위 호환성을 위해 지원하는 WPA3-SAE 모드로 다운그레이드 공격을 수행하여 크래킹을 수행하기도 한다.[30]

그러나 WPA 크래킹 방식은 앞서 설명했듯이 사전공격을 통해 비밀번호를 도출하기 때문에 비밀번호를 복잡하고 길게 설정하는 경우 크래킹이 불가능하며, OTP 방식을 사용하는 경우에도 불가능하다.

2.2.2. 위장 AP (Rogue AP)

사용자가 존재하는 네트워크 내에 불법으로 AP를 설치하고 원래 AP의 SSID 등으로 위장하여 피해자가 접속하는 경우 송수신되는 데이터를 탈취하는 방식이다. 일종의 중간자 공격 방식이다.

2.2.3. 서비스 방해공격 (DOS)

피해자의 무선랜에 피해자의 단말기로 위장하여 인증요청 패킷을 반복하여 전송함으로써 무선랜의 접속 테이블이 오버플로우가 나도록 하여 기존의 접속을 끊는 방식을 사용한다. 또한 브로드캐스트 채널의 경우 모든 단말기가 동일한 키를 사용하고 있는 점을 이용하여 인증해제 메시지를 보내거나, NAV[31] 패킷의 대기시간을 길게 연장하여 전송함으로써 단말기가 데이터를 전송하지 못하게 하는 방법을 사용하고 있다.[32][33][34]. 그러나 이런 방식은 방화벽을 사용하는 경우, 정상적이지 않은 패턴으로 간주되어 모두 차단된다.

2.2.4. DNS 스푸핑

주로 공공장소에서 사용하는 방식으로 공격자가 자신의 노트북으로 해당장소의 이름 등을 가진 SSID(예:스타벅스)로 핫스팟을 만들고 DNS 서버를 자신으로 지정해놓는다. 그리고 피해자가 해당 노트북으로 접속하여 인터넷 사이트(예:네이버)를 접속을 요청하면 진짜 사이트의 주소 대신 자신이 만들어 놓은 피싱 사이트의 IP를 반환해주어 접속하도록 함으로써 피해자로부터 피싱 사이트에 입력되는 계정 및 패스워드를 탈취하는 방식이다. 이후 피해자로부터 요청되는 주소를 진짜 서버(예:네이버 서버)에 전달하여 피해자로 중계해줌으로서 피싱 사이트에 접속했다는 사실을 인지하지 못하도록 한다. 그러나 이는 접속자가 무선랜에 접속하기 전에 해당장소에서 제공하는 무선랜의 SSID가 맞는지 확인함으로써 방지할 수 있다.

2.2.5. ARP 스푸핑

해당문서 참조

[1] 구체적으로 단말기는 LTE 인증 이외에도 기지국과 RRC 시그널링을 위한 AS 보안, MME와 NAS 시그널링을 위한 NAS 보안과정을 수행한다.[2] 이통사의 가입자 정보를 저장하는 서버라고 볼 수 있다.[3] 단말기의 유심에 저장되어 있는 가입자 식별번호로써, 국가번호 및 통신사업자 번호(PLMN)포함한 16자리로 구성된다.[4] 이는 LTE에서 '셀재선택'을 이용한 방법이다.[5] GSM의 경우 비암호화 방식을 지원하며, 이경우 A5/0 옵션을 사용한다.[6] Borgaonkar, R, "White-Stingray: Evaluating IMSI Catchers Detection Applications", UNIVERSITY OF OXFORD , 2017[7] 박정현 외 2명, "이동통신 보호를 위한 인증 방식 분석", 전자통신연구원, 1998.08[8] 구체적으로 이는 LTE에서 단말이 휴지상태에 있을때 TA를 갱신하게 되는데 이때 기지국에서 EMM 원인번호로써 LTE가 서비스 되지 않음을 포함한 TAU 거절 메시지를 전송하는 것으로 수행된다.[9] 2012.03[10] 2020.07[11] 2021.06[12] 유럽 등의 나라는 아직 사용중이다.[13] 1975년 개발된 프로토콜이며 그 당시에는 보안이 고려되어 설계되지 않았다.[14] 예를 들어 로밍의 경우 나라간 사업자간의 암호화를 사용하지 않는다. 출처:김용대, 이동통신 보안의 현재와 미래, 정보보호학회지, 2019.10[15] L2/L3 계층에서 IPSEC을 사용한다.[16] 단말기가 배터리를 절약하기 위해 유휴상태로 동작하므로 전화착신 등이 발생하는 경우 단말기를 깨우기 위한 신호채널이다.[17] 출처:김용대, 이동통신 보안의 현재와 미래, 정보보호학회지, 2019.10[18] 원래는 브로드캐스트 채널도 AS보안 셋업에 의해서 암호화되어야하나, 브로드캐스트 채널은 일반 채널에 비해 모든 UE에게 전송되므로 비교적 보안이 엄격하게 요구되지 않고 오버헤드 및 연산 등으로 인한 부하가 크게 작용하므로 이동통신사업자 측에서 브로드캐스트 채널의 암호화 과정을 생략하는 것으로 판단된다.[19] 'TAU 요청'이라고 한다.[20] Hojoon Yang, "Hiding in Plain Signal: Physical Signal Overshadowing Attack on LTE", USENIX, 2019. 08[21] 박종근, "초연결 지능화 인프라 보안기술 동향", ETRI, 2019[22] 기지국 사업자가 선택적으로 수행할 수 있도록 구현이슈로 남긴다[23] WIFI 협회에서 2004년 IEEE 802.11i을 인증 기준으로 채택하고, 이를 WIFI Protected Acess(WPA)로 명칭하였다.[24] PSK: 사전공유키[25] 원래는 패킷 분석툴로 개발되었으나 스니핑에 사용되고 있다. 무선랜을 프로미스큐어스 모드로 설정하여 무선상에서 존재하는 신호들을 감지하며 감지된 신호중 일부 알려진 프로토콜의 경우 직접 파싱하여 내용까지 제공한다.[26] 배희라, "무선공유기 보안공격 분석 및 무료와이파이 해킹 해결방안", 국제문화기술진흥원, 2016[27] 장영현, "Smart Phone에서 무료 WiFi 인터넷 접속 때 해킹 공격", 한국컴퓨터정보학회 학술발표논문집, 2011.06[28] SSL 방식에서는 서버로부터 공개키(RSA 암호)를 포함한 인증서를 수신하고 랜덤으로 대칭키(세션키)를 생성 후 이를 공개키로 암호화하여 다시 서버로 전달함으로서 보안세션을 형성한다.[29] 송진영, "Smart Phone 무선 인터넷 접속시 취약점 분석과 해킹연구", 호서대학교 벤처전문대학원 석사논문 P.71, 2011,[30] 남지현, "안전한 무선랜 환경을 위한 WPA3 표준의 보안 프로토콜 비교분석", 한국통신학회논문지, 2019.10[31] '네트워크 할당 벡터'로써, 하나의 무선랜에 복수의 단말 사용자가 접속하여 데이터를 송신하는 경우 특정 사용자가 데이터를 송신하는 동안 다른 단말 사용자에게 데이터를 송신하지 못하도록 대기시간을 알려주는 패킷이다.[32] 김신효, "차세대 무선랜 보안기술 동향" ,ETRI, 2013[33] 배희라, "무선공유기 보안공격 분석 및 무료와이파이 해킹 해결방안", 국제문화기술진흥원, 2016[34] 남지현, "안전한 무선랜 환경을 위한 WPA3 표준의 보안 프로토콜 비교분석", 한국통신학회논문지, 2019.10