0Pricing
Cyber Security Academy · 강의

Bluetooth 및 BLE 공격

Bluetooth 장치를 스니핑하고 악용합니다.

Bluetooth 및 BLE 공격은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

블루투스 공격 표면

블루투스는 헤드셋, 잠금장치, 의료 장치, 피트니스 추적기, 차량 인포테인먼트 시스템, 산업용 센서 등 어디에나 사용됩니다. 하나의 브랜드를 공유하는 서로 다른 두 기술이 있습니다.

  • 블루투스 클래식(BR/EDR) — 처리량이 높으며 오디오와 파일 전송에 사용됩니다.
  • 블루투스 저전력(BLE) — 전력 소모가 적으며 사물 인터넷, 웨어러블 기기, 스마트 잠금장치에 사용됩니다.

두 기술은 무선 동작, 페어링, 프로토콜 스택이 서로 다르므로 한쪽에 대한 공격이 다른 쪽에 적용되는 경우는 드뭅니다. BLE는 사물 인터넷에서 주류이며, 안전하지 않게 배포되는 경우가 많기 때문에 최신 평가의 대부분은 BLE에 초점을 맞춥니다.

BLE 통신 방식

BLE는 2.4기가헤르츠 대역에서 40개 채널을 사용합니다. 이 중 3개(37, 38, 39)는 장치 검색에 사용하는 광고 채널이고, 나머지 37개는 연결된 데이터를 전달합니다.

핵심 데이터 모델은 GATT(일반 속성 프로필)입니다.

  • 서비스는 관련 기능을 하나로 묶습니다.
  • 특성은 읽거나 쓰거나 구독할 수 있는 개별 데이터 항목입니다.
  • 각 항목에는 UUID와 핸들이 있습니다.

GATT 테이블을 열거하면 장치가 정확히 무엇을 제공하는지 확인할 수 있으며, 이것이 BLE 평가의 핵심입니다.

장치 검색 및 열거

정찰은 광고 패킷을 스캔하여 통신 범위 안에 무엇이 있는지 파악하는 것에서 시작하며, 이후 장치에 연결하여 GATT 데이터베이스를 열거합니다.

리눅스에서는 BlueZ 스택과 bluetoothctl, hcitool, gatttool 같은 도구를 사용하여 장치를 스캔하고 조회할 수 있습니다. 휴대전화에서는 nRF Connect가 훌륭한 그래픽 대안입니다.

# Scan for advertising BLE devices
sudo hcitool lescan

# Interactive scan and connect
bluetoothctl
  scan on
  connect AA:BB:CC:DD:EE:FF

# Enumerate the full GATT database
gatttool -b AA:BB:CC:DD:EE:FF --primary
gatttool -b AA:BB:CC:DD:EE:FF --characteristics

BLE 트래픽 감청

장치와 앱 사이의 통신을 관찰하려면 무선 신호를 감청해야 합니다. BLE는 여러 채널을 오가므로 감청 도구가 연결을 따라가야 합니다.

  • Wireshark용 nRF 스니퍼 확장 기능과 함께 사용하는 nRF52840 동글은 표준적인 저가 캡처 도구입니다.
  • Ubertooth One은 BLE와 일부 블루투스 클래식 트래픽을 모두 캡처할 수 있습니다.
  • 초기 핸드셰이크를 포착하려면 연결 이벤트 중에 캡처해야 합니다.

Wireshark는 캡처된 패킷을 광고 데이터, 연결 요청, GATT 작업으로 분석하므로 앱이 정확히 무엇을 읽고 쓰는지 파악할 수 있습니다.

BLE 페어링과 취약점

BLE 보안은 본딩 과정에서 선택한 페어링 방식에 따라 달라집니다.

  • 저스트 웍스 — 사용자 확인이 없으므로 설계상 중간자 공격에 취약합니다. 저가 사물 인터넷 장치에서 매우 흔합니다.
  • 패스키 입력 — 6자리 코드로, 더 강력하지만 구현이 부실하면 무차별 대입 공격을 받을 수 있습니다.
  • 숫자 비교 — 두 장치가 숫자를 표시하여 서로 확인합니다(LE 보안 연결).

레거시 페어링(4.2 이전 버전)은 암호학적으로 취약하며, 캡처된 핸드셰이크에서 키를 복구할 수 있습니다. LE 보안 연결은 ECDH를 사용하며 견고하다고 평가되는 유일한 방식입니다.

레거시 페어링 해독

장치가 BLE 레거시 페어링을 사용하는 경우, 캡처된 페어링 교환을 무차별 대입하여 임시 키와 최종적으로 장기 키를 복구할 수 있습니다.

도구 crackle은 페어링 이벤트가 담긴 pcap 파일을 대상으로 이 작업을 자동화합니다. 키를 복구하면 캡처 파일에 포함된 이전 암호화 트래픽을 복호화할 수 있습니다.

# Recover keys from a captured legacy pairing
crackle -i pairing_capture.pcap

# Decrypt the traffic using a recovered Long Term Key
crackle -i encrypted.pcap -o decrypted.pcap -l <recovered_ltk>

능동 공격: 위장과 쓰기

많은 BLE 장치는 연결할 수 있는 사람이라면 누구든 신뢰합니다. 쓰기 가능한 특성을 열거하면 인증 없이 직접 명령을 보내는 경우가 많습니다.

  • 인증되지 않은 쓰기 — 제어 특성에 조작한 값을 보내 스마트 잠금장치의 잠금을 해제하거나 릴레이를 전환할 수 있습니다.
  • 장치 위장 — 주변 장치의 MAC 주소와 광고 정보를 복제하여 피해자 앱에 해당 장치인 것처럼 가장합니다.
  • GATTacker / Mirage — GATT 트래픽을 중계하여 주변 장치에 대한 중간자 공격을 수행하는 프레임워크입니다.

대표적인 취약점은 잠금 해제 명령이 고정된 평문 쓰기로 되어 있어 누구나 재생할 수 있는 스마트 잠금장치입니다.

프록시를 이용한 중간자 공격

BLE MITM 프록시는 대상 주변 장치를 복제하고 피해자 앱이 복제 장치에 연결하도록 한 다음, 트래픽을 실제 장치로 중계합니다. 이를 통해 전체 대화를 확인하고 실시간으로 수정할 수 있습니다.

Mirage와 GATTacker 같은 프레임워크는 광고 복제와 두 무선 장치 사이의 연결을 자동화합니다. 전송 중인 모든 GATT 작업을 캡처하거나 수정하거나 재생할 수 있습니다.

# Clone and MITM a BLE peripheral with Mirage
mirage ble_mitm TARGET=AA:BB:CC:DD:EE:FF

# Scan and enumerate as part of recon
mirage ble_scan
mirage ble_info TARGET=AA:BB:CC:DD:EE:FF

블루투스 클래식 고려 사항

블루투스 클래식에도 고유한 문제의 역사가 있습니다. 대표적인 예로 BlueBorne(스택 수준의 원격 코드 실행 취약점 모음)과 KNOB(블루투스 키 협상)가 있으며, KNOB는 암호화 키를 무차별 대입 가능한 길이로 줄입니다.

  • 많은 헤드셋과 차량용 키트가 여전히 취약하거나 기본 설정인 PIN을 허용합니다.
  • SDP를 통한 서비스 검색으로 장치 기능과 펌웨어 단서가 유출될 수 있습니다.
  • 오래된 스택에는 알려진 CVE에 대한 보안 패치가 적용되지 않았을 수 있습니다.

블루투스 클래식 평가에서는 스택 버전, 페어링 강도, 알려진 취약 펌웨어에 초점을 맞춥니다.

통신 거리와 추적 개인정보 보호

광고를 계속 송출하는 BLE 장치는 개인정보 보호와 추적 위험을 만듭니다. 고정된 MAC 주소를 사용하면 관찰자가 여러 장소에서 사람을 따라갈 수 있습니다.

  • MAC 무작위화는 추적을 막기 위해 주소를 주기적으로 변경하지만, 많은 장치가 이를 제대로 구현하지 않거나 전혀 구현하지 않습니다.
  • 고정된 이름이나 제조업체 데이터처럼 식별 가능한 광고 데이터는 MAC 주소가 무작위화되어도 장치를 다시 식별하는 데 사용될 수 있습니다.
  • 장거리 지향성 안테나를 사용하면 실제 감청 가능 거리가 명목상 10미터를 훨씬 넘어설 수 있습니다.

추적 노출을 평가하는 것은 BLE 개인정보 보호 검토에서 정당하고 중요한 부분입니다.

블루투스 장치 보안 강화

BLE 평가에서 일반적으로 제안하는 방어 조치는 다음과 같습니다.

  • 숫자 비교를 사용하는 LE 보안 연결을 사용하고, 민감한 기능에 저스트 웍스를 탑재하지 마십시오.
  • 링크 위에 애플리케이션 계층 암호화 및 인증을 적용하여 MITM 공격자가 명령을 재생하거나 위조하지 못하게 하십시오.
  • 잠금 해제와 같은 제어 명령에 세션별 일회용 값 또는 순환 코드를 적용하십시오.
  • 적절한 MAC 무작위화를 활성화하고 식별 정보를 포함한 광고 데이터를 제거하십시오.
  • BlueBorne, KNOB 및 유사한 문제에 대응하도록 블루투스 스택에 보안 패치를 적용하십시오.

반복해서 얻는 교훈은 다음과 같습니다. 연결된 모든 클라이언트를 애플리케이션이 신뢰한다면 링크 계층 보안만으로는 충분하지 않습니다.

빠른 확인

BLE 페어링 보안에 대한 이해도를 확인해 보십시오.

복습

이제 블루투스 및 BLE 장치를 처음부터 끝까지 평가할 수 있습니다.

  • BLE는 40개 채널을 사용하며, 서비스와 특성으로 구성된 GATT 모델을 통해 데이터를 제공합니다.
  • 정찰은 광고를 스캔하고 BlueZ 도구 또는 nRF Connect로 GATT 데이터베이스를 열거하는 과정입니다.
  • nRF52840 또는 Ubertooth를 사용한 감청 결과를 Wireshark로 보내 프로토콜을 분석할 수 있습니다.
  • 저스트 웍스와 레거시 페어링은 취약하며, crackle은 캡처된 레거시 핸드셰이크에서 키를 복구합니다.
  • 능동 공격은 인증되지 않은 쓰기와 Mirage 및 GATTacker 같은 MITM 프록시를 악용합니다.
  • 방어를 위해서는 LE 보안 연결과 함께 애플리케이션 계층 인증 및 변경되는 명령이 필요합니다.

다음에는 연결된 프로토콜에서 비접촉식 태그로 넘어가 RFID와 NFC를 살펴봅니다.

자주 묻는 질문

“Bluetooth 및 BLE 공격” 강의는 무료인가요?

네 — “Bluetooth 및 BLE 공격” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Bluetooth 및 BLE 공격”에서 뭘 배우나요?

Bluetooth 장치를 스니핑하고 악용합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“Bluetooth 및 BLE 공격” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. RF와 SDR 기초
  2. Bluetooth 및 BLE 공격
  3. RFID 및 NFC 보안
  4. 신호 캡처 및 재생
← Cyber Security Academy(으)로 돌아가기