การโจมตี Bluetooth และ BLE
ดักรับและใช้ประโยชน์จากอุปกรณ์ Bluetooth
การโจมตี Bluetooth และ BLE เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
พื้นผิวการโจมตีของบลูทูธ
บลูทูธอยู่ในทุกที่ ทั้งชุดหูฟัง ล็อก อุปกรณ์ทางการแพทย์ อุปกรณ์ติดตามการออกกำลังกาย ระบบความบันเทิงในรถยนต์ และเซนเซอร์อุตสาหกรรม เทคโนโลยีสองประเภทที่แตกต่างกันใช้ชื่อแบรนด์เดียวกัน:
- บลูทูธแบบคลาสสิก (BR/EDR) — มีอัตรารับส่งข้อมูลสูง ใช้สำหรับเสียงและการโอนไฟล์
- บลูทูธพลังงานต่ำ (BLE) — ใช้พลังงานต่ำ ใช้ในอุปกรณ์อินเทอร์เน็ตของสรรพสิ่ง อุปกรณ์สวมใส่ และล็อกอัจฉริยะ
ทั้งสองชนิดแตกต่างกันในด้านพฤติกรรมของวิทยุ การจับคู่ และชุดโพรโทคอล ดังนั้นการโจมตีชนิดหนึ่งจึงแทบใช้กับอีกชนิดไม่ได้ BLE เป็นเทคโนโลยีหลักของอุปกรณ์อินเทอร์เน็ตของสรรพสิ่ง และเป็นจุดสนใจของการประเมินสมัยใหม่ส่วนใหญ่ เนื่องจากมักถูกนำไปใช้งานโดยไม่มีระบบรักษาความปลอดภัยที่เพียงพอ
BLE สื่อสารอย่างไร
BLE ทำงานในย่านความถี่ 2.4 GHz ผ่าน 40 ช่องสัญญาณ โดยสามช่อง ได้แก่ 37, 38 และ 39 เป็นช่องสัญญาณประกาศที่ใช้สำหรับการค้นหา ส่วนอีก 37 ช่องใช้ส่งข้อมูลของการเชื่อมต่อ
แบบจำลองข้อมูลหลักคือ GATT (โพรไฟล์แอตทริบิวต์ทั่วไป):
- บริการใช้จัดกลุ่มฟังก์ชันที่เกี่ยวข้องกัน
- ลักษณะเฉพาะคือจุดข้อมูลแต่ละรายการที่คุณสามารถอ่าน เขียน หรือสมัครรับข้อมูลได้
- แต่ละรายการมี UUID และแฮนเดิล
การแจกแจงตาราง GATT จะเผยให้เห็นอย่างชัดเจนว่าอุปกรณ์เปิดเผยข้อมูลอะไรบ้าง ซึ่งเป็นหัวใจสำคัญของการประเมิน BLE
การค้นหาและแจกแจงอุปกรณ์
การสำรวจเบื้องต้นเริ่มจากการสแกนแพ็กเก็ตประกาศเพื่อดูว่ามีอะไรอยู่ในระยะ จากนั้นจึงเชื่อมต่อเพื่อแจกแจงฐานข้อมูล GATT
บน Linux ชุดโพรโทคอล 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 สลับไปมาระหว่างช่องสัญญาณ เครื่องดักฟังจึงต้องติดตามการเชื่อมต่อ
- ดองเกิล nRF52840 พร้อมส่วนเสริม nRF Sniffer สำหรับ Wireshark เป็นเครื่องมือบันทึกสัญญาณราคาประหยัดมาตรฐาน
- 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
ช่องโหว่ที่พบได้บ่อยคือระบบล็อกอัจฉริยะที่ใช้คำสั่งปลดล็อกเป็นการเขียนข้อความธรรมดาคงที่ ซึ่งใครก็สามารถนำมาเล่นซ้ำได้
การโจมตีแบบคนกลางด้วยพร็อกซี
พร็อกซี MITM ของ BLE จะโคลนอุปกรณ์ต่อพ่วงเป้าหมาย ให้แอปของเหยื่อเชื่อมต่อกับอุปกรณ์โคลน แล้วถ่ายทอดข้อมูลไปยังอุปกรณ์จริง วิธีนี้เปิดเผยการสื่อสารทั้งหมดและอนุญาตให้แก้ไขข้อมูลได้แบบทันที
ชุดเครื่องมืออย่าง 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 (การเจรจาคีย์ของบลูทูธ) ซึ่งบังคับให้คีย์เข้ารหัสสั้นลงจนสามารถเดาครบทุกค่าได้
- ชุดหูฟังและชุดอุปกรณ์ในรถจำนวนมากยังยอมรับรหัสประจำตัวที่อ่อนแอหรือเป็นค่าเริ่มต้น
- การค้นหาบริการผ่าน SDP อาจรั่วไหลข้อมูลความสามารถของอุปกรณ์และเบาะแสเกี่ยวกับเฟิร์มแวร์
- ชุดโพรโทคอลรุ่นเก่าอาจไม่ได้รับการอุดช่องโหว่ที่เป็นที่รู้จัก
สำหรับบลูทูธแบบคลาสสิก การประเมินของคุณจะมุ่งเน้นที่รุ่นของชุดโพรโทคอล ความแข็งแกร่งของการจับคู่ และเฟิร์มแวร์ที่มีช่องโหว่เป็นที่รู้จัก
ความเป็นส่วนตัวด้านระยะและการติดตาม
อุปกรณ์ BLE ที่ประกาศข้อมูลอย่างต่อเนื่องสร้างความเสี่ยงด้านความเป็นส่วนตัวและการติดตาม ที่อยู่ MAC แบบคงที่ทำให้ผู้สังเกตสามารถติดตามบุคคลข้ามสถานที่ต่าง ๆ ได้
- การสุ่ม MACจะเปลี่ยนที่อยู่เป็นระยะเพื่อป้องกันการติดตาม แต่มีอุปกรณ์จำนวนมากที่นำไปใช้งานได้ไม่ดีหรือไม่ได้ใช้เลย
- ข้อมูลส่วนเนื้อหาของประกาศที่ระบุตัวตนได้ เช่น ชื่อคงที่และข้อมูลผู้ผลิต อาจทำให้ระบุตัวอุปกรณ์ได้อีกครั้งแม้จะใช้ MAC ที่สุ่มแล้ว
- เสาอากาศทิศทางระยะไกลช่วยขยายระยะดักฟังที่ใช้งานจริงให้ไกลกว่า 10 เมตรตามทฤษฎีมาก
การประเมินความเสี่ยงจากการถูกติดตามเป็นส่วนที่เหมาะสมตามกฎหมายและสำคัญของการตรวจสอบความเป็นส่วนตัวของ BLE
การเสริมความปลอดภัยให้อุปกรณ์บลูทูธ
คำแนะนำด้านการป้องกันจากการประเมิน BLE โดยทั่วไปประกอบด้วย:
- ใช้ การเชื่อมต่อที่ปลอดภัยของ LE พร้อมการเปรียบเทียบตัวเลข อย่าใช้โหมดทำงานได้ทันทีสำหรับฟังก์ชันที่มีความละเอียดอ่อน
- ใช้ การเข้ารหัสและการยืนยันตัวตนในชั้นแอปพลิเคชันเพิ่มเติมจากลิงก์ เพื่อให้ MITM ไม่สามารถนำคำสั่งมาเล่นซ้ำหรือปลอมแปลงได้
- ใช้ ค่าที่ใช้ครั้งเดียวต่อการเชื่อมต่อหรือรหัสหมุนเวียนสำหรับคำสั่งควบคุม เช่น คำสั่งปลดล็อก
- เปิดใช้ การสุ่ม MACอย่างถูกต้อง และลบข้อมูลประกาศที่ระบุตัวตนได้
- อัปเดตชุดโพรโทคอลบลูทูธเพื่ออุดช่องโหว่จาก BlueBorne, KNOB และปัญหาอื่นที่คล้ายกัน
บทเรียนสำคัญที่พบซ้ำแล้วซ้ำเล่าคือ ความปลอดภัยระดับลิงก์ไม่เพียงพอเมื่อแอปพลิเคชันเชื่อถือไคลเอนต์ทุกตัวที่เชื่อมต่อ
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับความปลอดภัยของการจับคู่ BLE
ทบทวน
ขณะนี้คุณสามารถประเมินอุปกรณ์บลูทูธและ BLE ได้ตั้งแต่ต้นจนจบ:
- BLE ใช้ 40 ช่องสัญญาณ และเปิดเผยข้อมูลผ่านแบบจำลอง GATT ซึ่งประกอบด้วยบริการและลักษณะเฉพาะ
- การสำรวจเบื้องต้นคือการสแกนข้อมูลประกาศและแจกแจงฐานข้อมูล GATT ด้วยเครื่องมือ BlueZ หรือ nRF Connect
- การดักฟังด้วย nRF52840 หรือ Ubertooth จะส่งข้อมูลเข้า Wireshark เพื่อวิเคราะห์โพรโทคอล
- โหมดทำงานได้ทันทีและการจับคู่แบบดั้งเดิมมีจุดอ่อน ส่วน crackle สามารถกู้คืนคีย์จากการจับมือแบบดั้งเดิมที่บันทึกไว้ได้
- การโจมตีเชิงรุกใช้ประโยชน์จากการเขียนข้อมูลโดยไม่ยืนยันตัวตนและพร็อกซี MITM อย่าง Mirage และ GATTacker
- การป้องกันต้องใช้การเชื่อมต่อที่ปลอดภัยของ LE ร่วมกับการยืนยันตัวตนในชั้นแอปพลิเคชันและคำสั่งที่ใช้รหัสหมุนเวียน
ถัดไป คุณจะเปลี่ยนจากโพรโทคอลที่เชื่อมต่ออยู่ไปสู่แท็กไร้สัมผัสด้วย RFID และ NFC
คำถามที่พบบ่อย
บทเรียน “การโจมตี Bluetooth และ BLE” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การโจมตี Bluetooth และ BLE” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การโจมตี Bluetooth และ BLE”
ดักรับและใช้ประโยชน์จากอุปกรณ์ Bluetooth คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การโจมตี Bluetooth และ BLE” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน RF และ SDR
- การโจมตี Bluetooth และ BLE
- ความปลอดภัยของ RFID และ NFC
- การดักจับและเล่นสัญญาณซ้ำ