KAIST 연구진, 이동통신 단말 보안 테스트 기술로 구현 오류 22건 발견

Posted by

한국과학기술원(KAIST) 연구진이 국내외 이동통신 단말기 43종에서 새로운 이동통신 구현 오류 22건을 발견하였다. 그 영향은 기존 LTE 만을 지원하는 단말뿐만 아니라, 5G 단말에까지 미칠 수 있다고 연구진은 경고했다. 이들 오류 중에는 심각한 보안 취약점도 포함을 하고 있다. 공격자는 피해 단말에게 가짜 문자메시지 (SMS)를 보내서 피싱 공격을 수행하거나, 사용자 위치를 추적하거나, 사용자 데이터를 도청 및 조작할 수 있다. 

모든 스마트폰은 내부에 탑재된 베이스밴드 칩셋을 통해 이동통신 서비스를 제공한다. 연구팀은 베이스밴드 칩셋이 정상적인 메시지를 잘 처리하는지를 확인하는 적합성 테스트 (컨포먼스 테스트) 표준은 존재하나, 인증이 안된 것과 같은 비정상 메시지에 대한 에러 처리를 잘 하는 지를 확인하는 기술은 표준에서 다루고 있지 않다는 점에 주목하였다. 연구팀은 이동통신 표준에 위배되는 2,000여개의 메시지에 대한 각 단말기의 동작을 분석하여 이러한 오류를 찾았다. 이로 인한 보안 문제점을 방지할 수 있도록 각 칩셋 및 단말 제조사에 해당하는 문제점들을 제보했고, 대부분 패치를 완료한 상태다. 

발견된 구현 오류는 베이스밴드 칩셋을 표준에 어긋나게 구현한 문제들이기 때문에 보안 취약점으로 이어지게 된다. 이 과정에서 특히 표준에서 명백하게 금지하고 있는 취약점이 단말기에 존재하거나, 몇 년 전에 발견된 취약점이 아직도 패치 되지 않은 문제점, 최신 단말에서 갑자기 알려진 취약점이 다시 등장하는 문제들이 존재한다는 것을 밝혀내었다. 또한 이러한 문제들은 베이스밴드 제조사에 따라서 공통적인 양상을 보이기도 한다는 내용을 발견하였다. 연구팀은 이러한 테스트 방식이 보안 테스팅 표준으로 제정되어 모든 단말기에 적용되어야 한다고 주장했다.

해당 내용은 ‘DoLTEst: In-depth Downlink Negative Testing Framework for LTE Devices’ 라는 제목으로 올해 8월 미국에서 개최되는 보안 분야 최우수 학회 중 하나인 ‘USENIX security’ 에서 발표될 예정이다. 해당 논문은 KAIST 김용대 교수, 윤인수 교수,  그리고 김용대 교수 연구실 소속 박철준 연구원, 배상욱 연구원, 오범석 연구원, 이지호 연구원, 이은규 연구원, 일곱 명이 논문을 정리했다. 

김용대교수 연구실에서는 2019년 반자동 이동통신 테스팅 툴 ‘LTEFuzz’ 를 공개한 바 있다. 해당 연구에서는 코어망과 단말기의 몇몇 구현상의 문제와 LTE 표준 규격 자체의 문제들을 밝혀내었다. 이번 연구는 LTE 단말들의 다운링크의 구현상의 문제에 집중한 연구로서, 표준 문서 분석을 기반으로 이전 연구에서 다루지 못한 LTE 프로토콜 과정들과 메시지들까지를 커버한다. 

이들은 단말이 표준에서 사용이 금지되거나, 표준에서 동작이 정의되지 않은 잘못된 메시지를 받았을 때 제대로 처리하는지에 대한 의문이 들었고, 그런 메시지를 실제로 생성해 여러 단말기에 보내서 반응을 살펴보았다. 테스트 결과 표준에서 금지하거나, 유효하지 않은 메시지에 대해서 잘못된 동작을 한 사례들이 있었고, 이를 체계적으로 테스트할 수 있는 프레임워크를 만든 후 그 결과를 논문으로 정리하게 되었다. 

KAIST 연구팀 논문 DoLTEst: In-depth Downlink Negative Testing Framework for LTE Devices 삽화. DoLTEst 보안테스팅 단계를 설명하고 있다.

네거티브 테스팅 (negative testing) 은 소프트웨어를 테스트할 때 원하지 않은 입력이나 동작을 처리하는 과정에서 문제점이 있는지를 찾아내는 방법이다. 예를 들자면 숫자의 합을 출력해주는 계산기에 알파벳을 입력했을 때 에러 처리를 잘 하는 지, 혹은 문제가 발생하는지를 테스트하는 것도 네거티브 테스팅이다. 현재 LTE 표준에서는 보안상의 이유로 사용이 제한된 메시지가 존재하며, 허용된 메시지 형태가 정의되어 있다. 연구진은 표준 문서를 기반으로 단말에서 허용된 형태를 벗어난 메시지를 입력값으로 만들고, 단말의 구현 오류를 알아낼 수 있는 ‘DoLTEst’ 라 명명한 테스팅 도구를 만들었다.

■ 왜 계속 LTE 단말에서 프로토콜 구현 오류가 발견될까 의문에서 출발

한국을 포함한 각국 베이스밴드 제조사들은 LTE 표준을 채택해 칩셋을 구현한다. 이 칩셋을 탑재한 이동통신 단말기는 표준 문서를 따라서 구현되었기 때문에, 표준을 따르는 메시지는 정삭적으로 처리해야 하고, 표준을 따르지 않는 메시지는 처리하지 않아야 한다. 표준에는 프로토콜 메시지에 대한 암호화나 메시지 인증 등의 필수 보안 조치가 정의되어 있다. 이 조건을 만족하지 않는 프로토콜 메시지는 처리되지 않아야 하지만, 개발 과정에서의 실수로 인해 이런 메시지를 잘못 처리하는 구현 오류가 모바일 기기에 생기게 된다. 

연구진은 왜 계속해서 단말에서 제어 평면 프로토콜 구현 오류들이 발견될까 라는 질문에서 단말 테스팅 연구를 시작하게 되었다. 이전부터 이동통신 보안 연구자들에 의해 구현 오류들이 지속적으로 보고되었다. 표준 문제점과 다르게, 구현 오류들은 표준 문서를 실제 구현으로 옮기는 과정에서 발생한다는 특징을 가진다.  이는 표준 문서는 대부분 사람이 이해하기 쉬운 자연어로 작성되어 있기 때문에 사람이 읽고 구현하는 과정에서 실수가 발생하기 때문이다. 그러므로 베이스밴드 모델마다 문제점이 다른 양상을 보이게 된다.

이동통신 단말 및 베이스밴드 제조사들은 이동통신 표준 문서를 따라서 제품을 구현한다. 이 표준 문서는 무선 통신 표준을 위한 국제 협력 단체 3GPP 에서 만들며, 이동통신 서비스의 구현 등에 대한 내용에 대해 다룬다. 3GPP는 프로토콜 표준 문서 뿐만 아니라, 구현된 단말이 규격에 적합한지를 확인하기 위한 적합성 테스트 (conformance test) 문서를 제공한다. 이 문서에 정의된 테스트 케이스들을 통해서, 제조사는 베이스밴드를 구현하고 난 후 기능적인 측면에서 잘 작동하는지 테스트할 수 있다. 다시 말해, 표준에는 필수적인 기능들이 잘 구현되었는지를 확인하는 포지티브 테스팅 (positive testing)이 존재한다. 

문제는, 이와 반대로 잘못되거나 금지된/정의되지 않은 메시지들에 대해서 잘 처리하는지 테스팅하는 네거티브 테스팅과 관련된 표준이 없다는 것이다. 결국 표준에서 명백하게 금지하고 있는 메시지에 대한 내용을 구현 이후 테스트하는 과정이 없기 때문에, 구현 오류들이 다양한 베이스밴드 단말에서 지속적으로 발생하게 된다.

연구진은 LTE 단말의 구현 오류를 찾는 네거티브 테스팅 프레임워크를 설계하기 위해, 보안 테스팅을 위한 LTE 단말의 상태를 새롭게 정의하고, 표준 문서 분석을 통해 네거티브 테스트 메시지를 생성하기 위한 가이드라인을 정의하였다. 이후 오픈소스 LTE 구현기술을 활용해 실제 메시지를 생성해, 테스트 대상 이동통신 단말기에 보냈다. 특히 이 과정에서 테스트 케이스가 누락되거나 잘못된 테스트 케이스가 포함되는 경우를 방지하기 위해, 제조사 및 3GPP 관계자와의 논의를 통해 테스트 케이스를 재검토했다. 

연구진은 상용 단말기에 테스트 케이스별 메시지를 보내고, 각 메시지에 대한 단말기의 응답과 내부 상태 변화를 살폈고, 이 정보를 바탕으로 단말의 구현 오류 존재 여부를 판단했다. 이후 이들은 구현 오류들과 표준 문서를 바탕으로 심각한 보안 취약점 연계 여부 등을 판정했다.

연구진이 진행한 테스트 방식은 다음과 같다. 먼저 DoLTEst 프레임워크를 설계하는 단계에서, 이동통신 표준 프로토콜 중 넌액세스스트라텀(NAS) 메시지 및 라디오리소스컨트롤(RRC) 메시지 14종을 ‘표준 규격에 맞지 않게’ 변형해서 총 1,848개의 테스트케이스를 생성했다. 이후 해당 메시지들을 이 프레임워크에 연결된 테스트 단말기에 보내고, 이를 수신한 장비의 동작을 표준에 정의된 동작과 비교했다. 

연구진은 5개의 베이스밴드 제조사(퀄컴, 삼성, 화웨이, 미디어텍, 인텔) 의 칩셋이 탑재된 43개의 이동통신 단말기를 대상으로 한 테스트에서 새로운 22건, 과거 알려진 4건의 문제점을 발견했다. 이들 문제점은 피해 단말에게 가짜 문자메시지 (SMS)를 보내거나, 위치를 추적하거나, 데이터 트래픽 도청을 허용한다.

KAIST 연구진의 DoLTEst 테스트 결과를 요약한 표. Implementation flaw 열은 각 이동통신 단말에 존재하는 구현 오류를 나타낸다. S는 보안 헤더에 대한 처리 오류, M은 프로토콜 메시지 종류에 대한 처리 오류, 그리고 I는 메시지 내부 값과 필드에 대한 처리 오류이다.

해당 연구에 대한 더 자세한 내용은 ‘DoLTEst: In-depth Downlink Negative Testing Framework for LTE Devices’ 라는 이름으로 아래 URL에서 찾을 수 있다.
(https://www.usenix.org/system/files/sec22summer_park-cheoljun.pdf)

gsis

KAIST 정보보호대학원은 세계 최고 수준의 사이버 보안을 교육, 연구하여 산업을 선도하는 목표로 하고 있습니다. 또한 세계 최고 수준의 정보보호 인력양성을 통한 국가 사이버 보안 리더양성을 위해서 노력하고 있습니다.

Share on Social Media

2 comments

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다