본문 바로가기

블루투스

[블루투스 보안] 이론 공부

⭐️ 블루투스란?

무선 통신 프로토콜의 하나로, 2.4GHz 주파수 대역을 사용하여 전자기기 간의 근거리 무선 통신을 제공하는 기술이다. 주로 저전력으로 동작하며, 주요 기능으로는 데이터 전송, 음성 통화, 주변 기기 연결, IoT 장치 간 상호 작용 등이 있다. 전송 속도와 통신의 안전성을 보완하며 여러 버전이 개발되어 왔다.

 

⭐️ 블루투스의 주요 장점

• 케이블 대체 (ex. 마우스, 키보드 등의 주변기기를 무선으로 연결 가능)

쉬운 파일 공유

무선 동기화 (ex. 스마트폰과 자동차의 연락처 동기화 등)

인터넷 연결성 (ex. 스마트폰 핫스팟 기능)

 

⭐️ 블루투스 종류

블루투스는 전송 속도를 기준으로 BR, EDR, HS의 세 가지 종류로 나누어지며, 전력 소비량을 낮춘 LE도 있다.

종류 블루투스 버전 전송 속도 모듈레이션* 방식
BR(Basic Rate)
1.1, 1.2 1Mbps Gaussian Frequency-Shift Keying (GFSK)
EDR(Enhanced Data Rate) 2.0 2~3Mbps Differential Quaternary Phase Shift Keying (DQPSK),
8 Phase Differential Phase Shift Keying (8DPSK)
HS(High Speed) 3.0 24Mbps Orthogonal Frequency-Division Multiplexing (OFDM)
LE(Low Energy) 4.0, 4.1, 4.2 1Mbps Gaussian Frequency-Shift Keying (GFSK)

*모듈레이션(modulation) : 정보를 전송하기 위해 특정한 형태로 변조

 

블루투스 LE는 의료 기기나 기타 센서와 같은 동전형 셀 배터리로 구동되는 장치에 블루투스를 적용하기 위한 목적으로 만들어졌다. 블루투스 BR, EDR 등과 비교했을 때 두드러지는 특징은 1)낮은 전력 소비, 2)적은 메모리 요구량, 3)효율적인 탐지 및 연결 절차, 4)짧은 패킷 길이, 5)단순한 프로토콜과 서비스이다.

 

+LE와 BR/EDR/HS를 동시에 지원하는 장치도 있는데, 이런 장치를 Dual Mode Devices라고 한다.

 


⭐️ 블루투스 통신

🌟 애드혹(ad-hoc) 네트워크

블루투스 통신을 하는 두 개의 기기 사이에는 애드혹 네트워크가 형성된다.

🌟 피코넷(Piconet)

하나의 호스트 기기(마스터)와 하나 이상의 클라이언트 기기(슬레이브)의 연결로 피코넷이 형성된다. 하나의 피코넷에 존재할 수 있는 활성 슬레이브의 수는 최대 7개이다. 최대 7개이므로 활성 슬레이브 장치를 식별하는 기기 주소는 3비트로 표현된다.

🌟 스캐터넷(Scatternet)

여러 개의 피코넷으로 구성된 네트워크이다. 계층적이고 규모가 크다. 하나의 스캐터넷에는 여러 개의 마스터 기기가 존재할 수 있다.

 

🌟 주파수 호핑(Frequency Hopping)

주파수 호핑은 무선 통신 시스템에서 적은 간섭과 안정적인 통신을 위해 사용되는 기술이다. 블루투스 통신은 적응형 주파수 호핑(Adaptive Frequency Hopping, AFH)이라는 주파수 호핑 확산 스펙트럼(Frequency-Hopping Spread Spectrum, FHSS) 형식으로 간섭을 차단한다.

🚩 주파수 호핑 기술로 어떻게 통신을 유지할까?

블루투스는 일반적으로 주파수 호핑 방식으로 초당 1600번 호핑한다. 피코넷에 슬레이브 유닛들은 마스터 유닛의 클럭에 동기화된다. 이렇게 함으로써 슬레이브 유닛들은 마스터 유닛이 결정하는 호핑 시퀀스를 따라가며 통신을 수행할 수 있다. 만약에 어떤 슬레이브 유닛이 마스터 유닛의 클럭에 동기화되지 않아 그 호핑 시퀀스를 따라가지 못하면 두 유닛의 채널이 어긋나 통신을 수행할 수 없게 된다. 이와 같은 원리로 피코넷에 참여하지 않은 유닛은 그 피코넷에서 사용하는 주파수 대역과 동일한 대역을 사용하고 있더라도 피코넷의 블루투스 통신망에서 제외된다. 그러나 실제로는 동일 주파수 대역을 사용하는 Wi-Fi와 블루투스 사이의 간섭이 어느 정도 발생하며 이를 극복하는 방안이 여러 가지로 논의되고 있다고 한다.

 


⭐️ 블루투스 보안

🌟 블루투스의 기본 보안 서비스 5가지

  1. 인증(Authentication) : 블루투스 주소에 기반하여 통신하는 기기를 인증한다. 그러나 기본적으로 사용자 인증은 제공하지 않는다.
  2. 기밀성(Confidentiality) : 무단 정보 유출을 방지하기 위해 허가된 장치만 데이터에 접근하고 열람할 있도록 보장한다.
  3. 권한 부여(Authorization) : 장치가 서비스를 사용하기 전에 인가된 장치인지 확인하는 절차를 거침으로써 권한이 있는 장치만 자원을 제어할 있도록 한다.
  4. 메시지 무결성(Message Integrity) : 메시지가 전송 중에 변경되지 않도록 인증한다.
  5. 페어링/본딩(Pairing/Bonding) : 하나 이상의 공유 비밀 키를 생성하고 키를 저장하여 이후의 연결에서 신뢰할 있는 장치 연결을 형성할 있도록 한다.

 

🌟 블루투스 기기의 보안 레벨(NIST 표준)

레벨 요구사항 FIPS
암호화 알고리즘
MITM 방지 Pairing 중
사용자 상호작용
암호화
4 링크 키 인증을 위해 보안이 보장된 연결 필요 O O Acceptable O
3 인증된 링크 키* 필요 X O Acceptable O
2 인증되지 않은 링크 키* 필요 X X Minimal O
1 보안 불필요 X X Minimal O
0 보안 불필요(서비스 검색 프로토콜에 대해서만 허용됨) X X None X

*링크 키의 인증 여부는 어떤 SSP(Secure Simple Pairing) 연관 모델을 사용했는가에 달려있다. SSP 연관 모델은 Numeric Comparison, Passkey Entry, Just Works, Out of Band의 4가지가 존재하는데, 이 중 Just Works 모델을 제외한 모든 모델이 인증된 링크 키를 제공한다.

 

🌟 블루투스 통신의 인증과 암호화

블루투스 통신이 이루어지기 위해서는 기기 간의 페이링이 형성되어야 한다. 페어링하는 기기가 믿을 수 있는 기기인지 인증(Authentication)하고 기기 연결 후 동작하는 서비스를 암호화(Encryption)하는 메커니즘에서 핵심은 비밀 대칭 키(secret symmetric key)를 생성하는 부분이다. 이 키의 명칭은 블루투스 종류에 따라 다르다. 또한 이 키를 설정하는 방식은 페어링 방식에 따라 달라진다. 이 부분에 대해 자세하게 다루어보자.

 

<키의 명칭>

블루투스 LE : Long Term Key

블루투스 BR/EDR : Link Key

 

<페어링 방식에 따른 키의 설정 방식>

블루투스 LE는 legacy low energy pairing 방식 또는 low energy Secure Connections 방식으로 페어링한다.

- legacy low energy pairing 방식 : Short Term Key를 생성하여 슬레이브와 마스터 Long Term Key 분배.

- low energy Secure Connections 방식 : Long Term Key를 슬레이브와 마스터 기기 자체에서 각각 생성.(Short Term Key 불필요)

*보안 수준이 더 높은 페어링 방식은 low energy Secure Connections 방식

 

블루투스 BR/EDR은 Personal Identification Number(PIN) Pairing 방식 또는 Secure Simple Pairing(SSP) 방식 둘 중 하나의 방식으로 페어링한다.

- PIN Pairing 방식 : 사용자가 기기에 동일한 PIN을 입력하면 일련의 암호화 알고리즘을 거쳐 두 블루투스 장치에 동일한 Link Key가 동시에 도출됨. 두 블루투스 장치가 서로가 가진 Link Key가 동일하다는 것을 상호 인증하면 페어링 완료.

*PIN 길이가 길면 보안 수준 향상

- SSP 방식 : 4가지 연관 모델*을 통해 PIN Pairing 방식에 비해 페어링 절차를 단순화. 타원곡선 디피-헬먼(ECDH)** 공개키 암호화 방식을 이용해 페어링 중에 시도되는 패시브 도청과 중간자 공격에 대한 보안 강화. 

*Numeric Comparison, Passkey Entry, Just Works, Out of Band(OOB)의 4가지

**이때 사용되는 타원 곡선 암호의 유형은 P-192 또는 P-256¹ ⁴  2가지


⭐️ 블루투스 공격 기법

🌟 블루재킹(Bluejacking)

블루스패밍(Bluespamming)이라고도 함. 스팸처럼 익명으로 블루투스 사용자에게 메시지를 전송하는 기법. 보안에 큰 위협을 가하지는 않음

🌟블루스나핑(Bluesnarfing)

블루투스의 취약점을 이용하여 장비의 임의 파일에 접근하는 공격. 기기에 저장된 일정표, 전화번호, 이메일, 문자 메시지 등에 접근함.

🌟블루버깅(Bluebugging)

블루투스 연결 관리의 취약점을 악용한 공격. 공격 장치와 공격 대상 장치를 연결하여 공격 대상 장치에서 임의의 동작 실행. 공격 대상 장치를 원격 조종하여 통화 내용을 엿듣는 등 치명적인 보안 피해를 줄 수 있음. 타겟과 10m 이내의 거리에 있어야 공격 가능.

 


⭐️ 블루투스 공격 도구

 

🌟 레드팽(RedFang)

숨겨진 블루투스 기기를 찾아내는 애플리케이션. 무차별 대입을 통해 피해자의 블루투스 MAC 주소 추측.

🌟 블루스니프(BlueSniff)

검색 가능하고 숨겨진 블루투스 기능이 활성화된 장치를 찾아내는 간단한 유틸리티.

🌟 BT스캐너(BTScanner)

무차별 대입 스캔, 반경 내 블루투스 기기 식별, 스캔 결과 내보내기 및 결과 정렬을 수행할 수 있는 블루투스 스캔 프로그램.

🌟 블루버거(BlueBugger)

블루투스가 활성화된 모바일 기기의 보안 취약점을 이용하는 도구. 연락처와 통화 목록을 다운로드하고, 공격자 모바일에서 SMS 메시지를 전송하거나 읽을 수 있게 해줌.

 

 


⭐️ 블루투스 취약점

 

🌟 BlueBorne(2017) : 다수의 CVE 취약점이 해당됨

- 공격자가 블루투스가 활성화되어 있는 장치에 페어링하지 않아도 장치를 제어할 수 있는 공격 형태

- 피해자 기기의 블루투스가 활성화되어있고, 가까운 위치에 있기만 하면 공격 가능

- 안드로이드, iOS, 윈도우, 리눅스, 사물 인터넷 기기 등 약 53억대 이상의 기기에 영향을 미침.

🌟 KNOB(2019) : CVE-2019-9506

- 타겟 디바이스에 연결된 두 디바이스 사이에서 오고 가는 암호화된 블루투스 트래픽을 가까운 거리에 있는 원격 공격자가 조작, 감시 또는 가로채는 공격

- 두 대의 장비가 '암호화 키 협상 프로토콜'로 보안 연결을 할 때 두 대의 블루투스 BR/EDR 디바이스가 암호화 키를 위한 엔트로피 값을 선택하는 방식에서 나타남.

- KNOB 공격을 완화하기 위해 BR/EDR 연결에 최소 7옥텟의 암호화 키 길이를 적용할 것을 권장

🌟 BIAS(2020.3) : CVE-2020-10135

- 암호화 연결을 생성하기 위해서는 두 개의 블루투스 기기를 페어링할 때 링크 키를 사용해야 하는데, 기기와 물리적으로 근접한 무단 공격자가 이전에 페어링된 기기를 위조하여 링크 키 없이도 인증할 수 있는 취약점.

- BIAS는 Bluetooth Impersonation AttackS의 약자로, 블루투스 BR/EDR, 블루투스 클래식 등으로 불리고 있는 블루투스 프로토콜의 클래식 버전에 영향을 미침.

- BIAS와 KNOB을 조합하면 블루투스 클래식 버전을 사용하는 피해자 기기가 안전 인증 모드에서 동작한다고 하더라고 인증을 깰 수 있음.

🌟 BLURtooth(2020.7) : CVE-2020-15802

- 인증을 통과하지 못한 공격자들이 페어링 된 장비들 간 통신 내용을 바꾸거나 엿들을 수 있는 취약점

- 블루투스 4.0~5.0 버전의 페어링 과정인 '교차 전송 키 파생'의 구현 방법이 취약점과 밀접한 관련이 있음.

- 주로 오디오 관련 애플리케이션들에 사용되는 블루투스 클래식(블루투스 BR/EDR)과 웨어러블 장비에서 많이 사용되는 블루투스 LE의 두 가지 블루투스 프로토콜이 BLURtooth 취약점과 관련됨.

🌟 BLESA(2020.9) : CVE-2020-9770

- BLESA는 Bluetooth LE Spoofing Attack의 약자로, 블루투스 연결이 재차 성립되는 과정에서 발생.

- 블루투스 LE가 advertising packet을 항상 평문으로 전송하고, 장비 간 재연결이 이루어질 때 인증이 필수가 아닌 경우가 많은 점이 문제

- 공격자는 재연결 시 필요한 인증 과정을 BLESA를 통해 우회하여 표적으로 삼은 장비에 접근해서 가짜 데이터를 전송할 수 있음.

- 전 세계 수십억 대의 사물인터넷 장비에 영향을 줄 만한 것이며, 안드로이드 장비들은 거의 대부분 BLESA 취약점에 노출된 채 사용되고 있음.

🌟 BleedingTooth(2020.10) : CVE-2020-12351, CVE-2020-12352, CVE-2020-24490

- 리눅스 기반 사물인터넷 장비들에 탑재된 블루투스 기능을 구현하는 핵심 프로토콜인 BlueZ에서 발견된 고위험군 취약점.

- BleedingTooth의 가장 큰 특징은 피해자가 링크를 클릭하거나 파일을 열지 않아도 되는 '제로 클릭 공격'이 가능하다는 점.

- 리눅스 커널 5.9 이전 버전의 경우 BleedingTooth 취약점에 노출되어 있음.

 


⭐️ 블루투스 해킹 대응 방안

🌟 블루투스 페어링 요청 시 요청한 디바이스를 정확히 확인하고, 신뢰할 수 있는 경우에만 승인하

🌟 시스템이나 모바일 장치의 펌웨어나 소프트웨어를 항상 최신 상태로 유지하기

🌟 평소에는 블루투스 기능을 꺼놓고 필요할 때만 켜기

 

 


[참고 자료]

https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-121r2.pdf

https://kr.analysisman.com/2021/04/bluetooth-attack.html

 

블루투스(Bluetooth) 공격 기법

블루투스 해킹,블루투스(Bluetooth) 공격 기법,블루투스 취약점 리스트,블루투스(Bluetooth) 취약점,블루투스(Bluetooth) 기술,블루재킹(Bluejacking) 블루스나핑(Bluesnarfing) 블루버깅(Bluebugging),블루투스 해

kr.analysisman.com

https://m.blog.naver.com/jjongwerny/110083450382

 

블루투스의 동작원리

철처 : http://blog.naver.com/blogyepp?Redirect=Log&logNo=80092983221   블루투스는 "저가...

blog.naver.com