컨테이너

[Paper Review] BlueShield (1) - BLE 보안의 취약점 본문

Research/Paper

[Paper Review] BlueShield (1) - BLE 보안의 취약점

어항 2022. 3. 6. 15:55
반응형

이번에 리뷰할 논문은 "BlueShield: Detecting Spoofing Attacks in Bluetooth Low Energy Networks" 입니다.

 

 

BlueShield: Detecting Spoofing Attacks in Bluetooth Low Energy Networks | USENIX

Open Access Media USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and o

www.usenix.org

 


 

들어가기 앞서

이 논문은 소개해 드리고 싶은 내용과 중요한 정보가 많아 여러 시리즈로 나누어 리뷰를 완성할 예정입니다. 이번 글에선 논문의 이해를 돕는 배경지식과 BLE 보안의 취약점에 대해 알아보겠습니다. 중점적으로 다룰 부분은 논문의 Introduction 섹션입니다. 이 논문은 BLE 보안을 공부하시는 분들께 좋은 입문서가 될 수 있습니다. 자세한 내용이 궁금하신 분들은 한 번 읽어보시면 분명 도움이 되실 겁니다.

 


 

BLE 스푸핑 공격이란?

BLE에서 발생하는 가장 대표적인 보안 공격은 스푸핑 공격 (Spoofing Attack)입니다. 스푸핑 공격은 공격자가 BLE 기기의 식별자를 알아내 사용자의 BLE 기기인 것처럼 속여 사용자에게 접근하여 잘못된 데이터를 전송하거나, 데이터를 갈취하는 것을 의미합니다. 아래 그림을 예시로 스푸핑 공격을 자세히 설명드리겠습니다.

 

 

우리가 흔히 사용하는 BLE 기기인 에어팟을 예시로 들어보겠습니다. 유저는 에어팟의 식별자로 사용될 수 있는 UUID (Universally Unique Identifier)나 Mac Address를 통해 주변의 수많은 BLE 기기 중 본인의 에어팟을 찾아 연결할 수 있습니다. 공격자 또한 우리 에어팟의 식별자를 알고있다면 사용자에게 연결을 요청할 수 있습니다.

 

 

 

사용자와 연결된 공격자는 사용자로부터 악성 데이터를 전송하거나, 비밀 정보 등을 갈취할 수 있습니다. 결국 공격자는 성공적인 스푸핑 공격을 위해 공격 대상 기기의 UUID나 Mac Address 같은 식별자를 알아내야 합니다. 공격자는 이러한 식별자를 어떻게 알아낼 수 있을까요?

 

+ 실제 발생할 수 있는 스푸핑 공격 시뮬레이션 영상을 아래 소개드립니다.

출처: https://www.youtube.com/watch?v=HoSuLUtrkXo

 

 


BLE 보안의 취약성

BLE 기기는 사용자와 연결을 위해 광고 패킷을 주기적으로 방송합니다. 사용자는 BLE 기기에서 방송된 광고 패킷을 스캔하여 연결합니다. BLE 기기와 사용자의 연결 과정이 잘 이해안가시는 분들은 아래 링크를 참조하시면 좋을 것 같습니다.

 

 

Bluetooth Low Energy (BLE) 란?

2011년, 부모님께서 최신형 스마트폰 갤럭시 S2를 선물로 주셨었습니다. 아직도 기억나는 것이 그 스마트폰에서 Bluetooth라는 글자를 처음 보았는데 어디에 쓰이며, 왜 사용하는지 전혀 몰랐었죠.

ahang.tistory.com

 

광고 패킷에는 BLE 장치의 타입, 제조사 등의 정보뿐만 아니라 식별자로 사용되는 UUID나 Mac Address와 같은 정보도 포함되어 있습니다 [1]. 그리고 BLE 기기가 방송하는 광고 패킷은 공개되어 있습니다. 따라서 유저뿐만 아니라 공격자도 우리 BLE 기기의 광고 패킷을 확인할 수 있습니다. 이러한 광고 패킷의 특징은 BLE 기기의 보안을 취약하게 만듭니다.

 

주변의 광고 패킷을 스캔하는 방법은 매우 간단합니다. Bluez [2]와 같은 블루투스 라이브러리를 사용하거나, 앱스토어에서 설치할 수 있는 Beacon Scanner 앱을 활용하여 주변 광고 패킷의 정보를 알 수 있습니다. 

 

 

오른쪽 스마트폰은 주기적으로 광고 패킷을 방송합니다. 그리고 왼쪽 스마트폰은 비콘 스캐너 앱을 사용하여 광고 패킷의 정보를 확인합니다. 같은 방법으로 우리가 사용하고 있는 BLE 기기들의 광고 패킷 정보도 쉽게 찾아볼 수 있습니다.

 

심각하게도 현재까지 사용되고 있는 BLE 기기의 약 80%는 아무런 인증 절차 없이 평문 (Plaintext)로 광고 패킷을 주고받는다고 합니다 [3]. 즉, 전문 공격자가 아닌 일반인들도 랩탑, 스마트폰을 이용하여 쉽게 주변 사람들이 사용하는 대부분의 BLE 기기 식별자를 알아낼 수 있다는 것이죠 [4].

 


 

BLE에서 스푸핑 공격을 완벽하게 막을 수 없는 이유

BLE Specification [1]에서는 스푸핑 공격을 예방하기 위해 다양한 인증 메커니즘을 제공하고 있습니다. 하지만 이러한 메커니즘은 두 가지 이유로 실제 사용되기 어렵습니다.

 

첫 번째 이유는 대부분의 BLE 기기들은 입출력 기능에 제한되어 작동된다는 것입니다. 저도 과거 타원 곡선 암호학 (Eliptic Curve Cryptography, ECC)을 활용하여 광고 패킷의 암호화를 시도해본 적이 있습니다. 암호화된 광고 패킷은 BLE 기기에서 공개적으로 방송되며 공격자에게 노출되는 것을 막을 수 없습니다. 그리고 공격자는 그 광고 패킷의 값을 똑같이 카피해 유저에게 보낼 수 있죠. 결국 아무리 복잡하게 광고 패킷을 암호화해도 유저가 받는 광고 패킷은 우리 BLE 기기의 것인지, 공격자의 것인지 판단할 수 없었습니다.

 

두 번째 이유는 아래 BLE Protocol Stack의 각  Layer에서 발생할 수 있는 다양한 스푸핑 공격이 존재한다는 것입니다.

 

출처: https://pcng.medium.com/ble-protocol-stack-controller-2d2d5371deec, BLE Protocol Stack

 

그렇다면 게임에서 발견된 버그를 업데이트를 통해 고치는 것처럼, 업데이트와 같은 소프트웨어 기반의 해결 방법을 사용할 수 없는 이유는 무엇일까요?

 

위에서 BLE Protocol Stack의 각 Layer에서 다양한 스푸핑 공격이 발생할 수 있음을 언급했었습니다. 따라서 미리 조치되지 않은 새로운 유형의 공격 (Zero-day attack)이 발생할 수 있는 가능성이 크며 이러한 공격들을 완벽히 막는 것은 매우 어렵습니다. 그리고 새로운 공격이 발생할 때마다 BLE 기기의 Firmware를 업데이트하는 것은 많은 비용이 듭니다.

 

그리고 현재 널리 사용되고 있는 BLE 기기들의 제조회사는 셀 수 없이 많습니다 (애플, 삼성, 샤오미 등). 특정 BLE 기기에서 발생한 스푸핑 공격을 막기 위해 모든 제조회사의 BLE 기기 Firmware를 업데이트하는 것은 불가능에 가깝습니다.

 

결정적으로 거의 모든 BLE 기기들이 입출력 기능에만 의존되며 Firmware 업데이트를 지원하지 않습니다. 그리고 이러한 BLE 기기가 이미 수백만 대 보급되어 사용되고 있습니다.

 

+ Firmware는 하드웨어 장치에 부착된 소프트웨어로 하드웨어의 제어와 구동을 담당하는 기본적인 프로그램입니다.

+ Firmware가 부착된 BLE 기기는 Firmware 업데이트를 통해 성능을 향상시키거나 새로운 기능을 추가할 수 있습니다.

 


 

 

 

Reference

[1] Supplement to the Bluetooth Core Specification Bluetooth ® Specification. (2011). http://www.bluetooth.com.
[2] Bluez. http://www.bluez.org/, Accessed: March 6, 2021.
[3] Tal Melamed. BLE Application Hacking. https://owasp.org/www-pdf-archive//OWASP2017_HackingBLEApplications_TalMelamed.pdf, 2017. Accessed: March 6, 2022.
[4] LESTER, S. The Emergence of Bluetooth Low Energy. https://www.contextis.com/en/blog/the-emergence-of-bluetooth-low-energy, 2015. Accessed: March 6, 2022.
반응형
Comments