Cyber Security Academy · บทเรียน

การดักจับและเล่นสัญญาณซ้ำ

ดักรับและเล่นการส่งสัญญาณ RF ซ้ำ

บทเรียน 4 จาก 413 ขั้นตอน

การดักจับและเล่นสัญญาณซ้ำ เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

แนวคิดการโจมตีแบบเล่นซ้ำ

การโจมตีแบบเล่นซ้ำ เป็นจุดอ่อนของ RF ที่เรียบง่ายและพบได้บ่อยที่สุด นั่นคือจับการส่งสัญญาณที่ถูกต้องไว้ แล้วส่งซ้ำภายหลังเพื่อให้เกิดผลเช่นเดิม ไม่จำเป็นต้องถอดรหัส หากเครื่องรับยอมรับสัญญาณเดิมซ้ำสองครั้ง

วิธีนี้ใช้ได้กับอุปกรณ์ใดก็ตามที่ส่งคำสั่งแบบคงที่:

  • อุปกรณ์เปิดประตูโรงรถราคาถูก
  • รีโมตกุญแจรถพื้นฐานที่ไม่มีรหัสหมุนเวียน
  • กริ่งประตูไร้สาย เซนเซอร์สัญญาณเตือน และเต้ารับควบคุมระยะไกล
  • รีโมตควบคุมอุตสาหกรรมบางชนิดสำหรับเครนและประตูรั้ว

หากสัญญาณที่จับไว้ยังใช้ได้หลังจากผ่านไปหลายนาทีหรือหลายวัน ระบบนั้นก็มีช่องโหว่จากการออกแบบ

การค้นหาความถี่เป้าหมาย

ก่อนจับสัญญาณ ให้ระบุว่าอุปกรณ์ส่งสัญญาณที่ใด รีโมตสำหรับผู้บริโภคส่วนใหญ่อยู่ใน ย่าน ISM: 315 MHz (อเมริกาเหนือ), 433.92 MHz (ยุโรปและพื้นที่ส่วนใหญ่ของโลก), 868 MHz และ 915 MHz

ปรับจูน RTL-SDR ให้กวาดผ่านย่านความถี่เหล่านี้ กดรีโมต แล้วดู กราฟน้ำตกเพื่อค้นหาการพุ่งขึ้นของพลังงาน รหัส FCC ID ที่พิมพ์อยู่บนอุปกรณ์มักเปิดเผยความถี่ใช้งานที่แน่นอนได้จากเอกสารยื่นต่อหน่วยงานกำกับดูแลที่เปิดเผยต่อสาธารณะ

# Browse the 433 MHz band live and watch the waterfall
gqrx

# Or auto-identify known devices on the air
rtl_433 -f 433.92M -A

การจับสัญญาณส่ง

เมื่อทราบความถี่แล้ว ให้บันทึก ตัวอย่างข้อมูล I/Q ดิบขณะที่อุปกรณ์กำลังส่งสัญญาณ จับสัญญาณที่ชัดเจนและแยกออกจากสัญญาณอื่น เพื่อให้วิเคราะห์และเล่นซ้ำได้ง่าย

RTL-SDR ที่รับได้อย่างเดียวก็เพียงพอสำหรับการจับสัญญาณ แต่การส่งสัญญาณภายหลังต้องใช้ HackRF หรืออุปกรณ์ที่คล้ายกัน จดบันทึกความถี่กึ่งกลางและอัตราการสุ่มตัวอย่างที่ใช้ให้ถูกต้องเสมอ เพราะคุณต้องเล่นซ้ำด้วยพารามิเตอร์ที่ตรงกัน

# Capture raw I/Q at 433.92 MHz, 2 Msps
rtl_sdr -f 433.92M -s 2048000 -n 4096000 remote.iq

# Capture with HackRF for later transmit on the same hardware
hackrf_transfer -r remote.iq -f 433920000 -s 2000000

การเล่นซ้ำด้วยเครื่องส่ง

ในการเล่นซ้ำ ให้ส่งไฟล์ I/Q ที่จับไว้กลับออกไปด้วยความถี่และอัตราการสุ่มตัวอย่างเดิม โดยใช้ฮาร์ดแวร์ที่สามารถส่งสัญญาณได้ เช่น HackRF

เนื่องจากเครื่องรับจะเปรียบเทียบกับรูปคลื่นดิบ การส่งซ้ำที่เหมือนเดิมทุกประการจึงทำให้คำสั่งเดิมเกิดผลอีกครั้ง ให้เล่นซ้ำภายในกล่องหุ้มป้องกันสัญญาณเสมอ เว้นแต่คุณจะได้รับอนุญาตอย่างชัดแจ้งและการอนุมัติตามกฎหมายให้ส่งสัญญาณ

# Replay the captured file with HackRF
hackrf_transfer -t remote.iq -f 433920000 -s 2000000 -x 40

# -x sets TX gain; keep it minimal and use proper antennas

การถอดรหัสแทนการเล่นซ้ำแบบไม่วิเคราะห์

การเล่นซ้ำแบบไม่วิเคราะห์ใช้ได้ผล แต่การถอดรหัสสัญญาณจะทำให้คุณเข้าใจมากขึ้นและรองรับการโจมตีที่ชาญฉลาดยิ่งขึ้น เครื่องมืออย่าง Universal Radio Hacker (URH) ช่วยให้คุณดีมอดูเลตสัญญาณ พึงคืนลำดับบิต และระบุโครงสร้างได้

  • ค้นหา คำนำสัญญาณ และ คำซิงก์
  • ระบุ อัตราสัญลักษณ์และการเข้ารหัส (มักเป็น Manchester หรือ PWM)
  • ค้นหาข้อมูลคำสั่งส่วนที่คงที่

เมื่อถอดรหัสแล้ว คุณสามารถสร้างการส่งสัญญาณใหม่ ป้อนค่าผิดรูปแบบลงในช่องข้อมูล หรือยืนยันได้ว่าส่วนใดของข้อความเปลี่ยนแปลงระหว่างการกดแต่ละครั้ง

รหัสหมุนเวียนและเหตุใดการเล่นซ้ำจึงล้มเหลว

รีโมตกุญแจรถสมัยใหม่ป้องกันการเล่นซ้ำแบบพื้นฐานด้วย รหัสหมุนเวียน (รหัสเปลี่ยนความถี่) การกดแต่ละครั้งจะใช้รหัสใหม่ที่คำนวณจากความลับร่วมและตัวนับที่เพิ่มขึ้น

  • เครื่องส่งและเครื่องรับจะรักษาการซิงโครไนซ์ผ่านตัวนับ
  • รหัสที่จับไว้จะใช้ไม่ได้ทันทีที่เครื่องรับเลื่อนตัวนับผ่านรหัสดังกล่าว
  • การเล่นซ้ำรหัสเก่าจะถูกปฏิเสธโดยตรง

ระบบอย่าง KeeLoq ทำให้แนวทางนี้แพร่หลาย รหัสหมุนเวียนยกระดับความปลอดภัยขึ้นอย่างมาก แต่ดังที่ฉากถัดไปจะแสดงให้เห็น ข้อบกพร่องในการนำไปใช้งานยังคงสร้างช่องโหว่ได้

การเอาชนะรหัสหมุนเวียน: RollJam

รหัสหมุนเวียนยังคงพ่ายแพ้ต่อเทคนิค การจับสัญญาณและรบกวน ซึ่งมีการสาธิตที่โด่งดังในชื่อ RollJam:

  • ผู้โจมตี รบกวนเครื่องรับ ขณะเดียวกันก็ จับสัญญาณการกดรีโมตครั้งแรกของผู้เสียหายบนย่านความถี่แคบที่เครื่องรบกวนไม่ครอบคลุม
  • รีโมตทำงานไม่สำเร็จ ผู้ใช้จึงกดอีกครั้ง ผู้โจมตีจับรหัสที่สองไว้ แล้วเล่นซ้ำรหัสแรก
  • ขณะนี้ผู้โจมตีมีรหัสอนาคตหนึ่งรหัสที่ยังไม่ได้ใช้และยังคงใช้ได้

เนื่องจากเครื่องรับไม่เคยเห็นรหัสแรก รหัสดังกล่าวจึงยังใช้ได้ วิธีนี้อาศัยช่วงเผื่อการยอมรับของโพรโทคอล แทนที่จะเจาะการเข้ารหัสลับ

การใช้ช่องโหว่จากการปรับการซิงค์ตัวนับรหัสหมุนเวียน

เครื่องรับรหัสหมุนเวียนบางรุ่นยอมรับรหัสภายใน ช่วงเวลาปรับการซิงค์ใหม่ เพื่อรองรับการกดปุ่มโดยไม่ตั้งใจขณะอยู่นอกระยะ หากช่วงนี้กว้างเกินไปหรือกำหนดขอบเขตไม่ดี ผู้โจมตีที่จับรหัสต่อเนื่องไว้หลายรหัสอาจคาดเดาหรือบังคับให้เกิดการปรับการซิงค์ใหม่ได้

การนำ KeeLoq ไปใช้งานในรุ่นเก่ายังมีปัญหาการกู้คืนคีย์ของผู้ผลิตด้วย การดึงคีย์หลักจากรีโมตเพียงเครื่องเดียวทำให้สามารถโคลนผลิตภัณฑ์ทั้งสายได้ สิ่งเหล่านี้เป็นข้อบกพร่องในการนำไปใช้งาน ไม่ใช่ความล้มเหลวของแนวคิดรหัสหมุนเวียนเอง

การรบกวนสัญญาณและการทำให้บริการใช้งานไม่ได้

การรบกวนสัญญาณทำให้ย่านความถี่เต็มไปด้วยสัญญาณรบกวน จนเครื่องรับที่ถูกต้องไม่สามารถได้ยินการส่งสัญญาณที่ถูกต้องได้ นี่เป็นองค์ประกอบพื้นฐานของ RollJam และเป็นภัยคุกคามแบบทำให้บริการใช้งานไม่ได้ในตัวเอง

  • เซนเซอร์สัญญาณเตือนไร้สายอาจถูกรบกวนจนเหตุการณ์เปิดประตูไม่ไปถึงแผงควบคุม
  • ระบบเข้าออกโดยไม่ใช้กุญแจและรีโมตควบคุมอาจถูกตัดสัญญาณ

การรบกวนสัญญาณเป็นสิ่งผิดกฎหมายในแทบทุกเขตอำนาจศาล แม้จะทำเพื่อการทดสอบก็ตาม ให้สาธิตเฉพาะในห้องปฏิบัติการที่มีการป้องกันสัญญาณและได้รับอนุญาตอย่างชัดแจ้งเท่านั้น ประเด็นสำคัญของเรื่องนี้คือการเข้าใจว่าผู้โจมตีผสานการรบกวนสัญญาณเข้ากับการจับสัญญาณอย่างไร และเหตุใดระบบจึงต้องตรวจจับการสูญเสียสัญญาณ

สรุปเครื่องมือ

ขั้นตอนการจับสัญญาณและเล่นซ้ำที่ใช้งานได้จริงใช้ชุดเครื่องมือขนาดกะทัดรัด:

  • RTL-SDR — สำรวจและจับสัญญาณ (รับอย่างเดียว)
  • HackRF One — จับและส่งสัญญาณสำหรับการทดสอบการเล่นซ้ำ
  • URH — ดีมอดูเลต ถอดรหัส และสร้างสัญญาณ
  • rtl_433 — ระบุอุปกรณ์ที่รู้จักได้อย่างรวดเร็ว
  • Flipper Zero — สะดวกสำหรับการจับและเล่นซ้ำสัญญาณย่านความถี่ต่ำกว่า 1 GHz แบบง่ายในภาคสนาม

Flipper เป็นที่นิยมสำหรับสาธิตการเล่นซ้ำกับรีโมตที่ใช้รหัสคงที่ แต่จะถูกป้องกันโดยรหัสหมุนเวียนที่นำไปใช้อย่างถูกต้อง ซึ่งเป็นประเด็นสำคัญที่คุณต้องการให้ลูกค้าเข้าใจ

การป้องกันการโจมตีแบบเล่นซ้ำ

คำแนะนำจากการประเมินการเล่นซ้ำมีดังนี้:

  • เปลี่ยน รหัสคงที่เป็นรหัสหมุนเวียนที่ผ่านการยืนยันตัวตน หรือการยืนยันตัวตนแบบท้าทาย-ตอบกลับ
  • ใช้ ช่วงเวลาปรับการซิงค์ใหม่ที่แคบและมีขอบเขตชัดเจน รวมถึงคีย์เข้ารหัสเฉพาะสำหรับอุปกรณ์แต่ละเครื่อง และอย่าใช้คีย์หลักร่วมกัน
  • เพิ่ม เวลาประทับหรือค่าที่ใช้ครั้งเดียว เพื่อให้คำสั่งแต่ละรายการใช้ได้เพียงครั้งเดียวและใช้ได้เพียงช่วงเวลาสั้น ๆ
  • ใช้ การตรวจจับการรบกวนสัญญาณ โดยแผงควบคุมสัญญาณเตือนควรถือว่าการสูญเสียสัญญาณเซนเซอร์อย่างกะทันหันเป็นเหตุการณ์การดัดแปลง
  • เลือกใช้ โพรโทคอลแบบสองทิศทาง ซึ่งเครื่องรับยืนยันคำสั่งแต่ละรายการ

หลักการสำคัญคือ คำสั่งที่สามารถบันทึกและเล่นซ้ำให้เหมือนเดิมทุกประการนั้นไม่ปลอดภัย การดำเนินการที่ได้รับอนุญาตทุกครั้งต้องมีเอกลักษณ์ทางการเข้ารหัส

ตรวจสอบความเข้าใจ

โปรดทดสอบความเข้าใจเกี่ยวกับการโจมตีแบบเล่นซ้ำต่อรหัสหมุนเวียน

ทบทวน

ขณะนี้คุณสามารถจับ วิเคราะห์ และเล่นสัญญาณ RF ซ้ำ รวมทั้งให้เหตุผลเกี่ยวกับวิธีป้องกันสัญญาณเหล่านี้ได้แล้ว:

  • การโจมตีแบบเล่นซ้ำ จะส่งคำสั่งแบบคงที่ที่จับไว้แล้วซ้ำ และใช้ได้ผลกับรีโมตแบบรหัสตายตัว
  • ขั้นตอนการทำงาน: ค้นหาความถี่ในย่าน ISM จับสัญญาณ I/Q ด้วย RTL-SDR เล่นสัญญาณซ้ำด้วย HackRF และถอดรหัสด้วย URH
  • รหัสหมุนเวียน ป้องกันการเล่นซ้ำแบบพื้นฐานได้ แต่ RollJam (การจับสัญญาณและรบกวน) รวมถึงหน้าต่างการซิงค์ใหม่ที่อ่อนแอหรือคีย์หลักที่ใช้ร่วมกัน ก็เปิดช่องโหว่ขึ้นมาอีกครั้ง
  • การรบกวนสัญญาณ เป็นสิ่งผิดกฎหมายนอกห้องปฏิบัติการที่มีการป้องกันและได้รับอนุญาต และเป็นพื้นฐานของการโจมตีแบบปฏิเสธการให้บริการและ RollJam
  • การป้องกันต้องใช้คำสั่งที่ผ่านการยืนยันตัวตนและใช้ได้ครั้งเดียว การซิงค์ใหม่ภายในขอบเขต คีย์แยกสำหรับแต่ละอุปกรณ์ และการตรวจจับการรบกวนสัญญาณ

เนื้อหานี้ทำให้หลักสูตรการแฮ็ก RF และระบบไร้สายเสร็จสมบูรณ์ ตั้งแต่พื้นฐาน SDR ไปจนถึงบลูทูธ การสื่อสารแบบไร้สัมผัส และการเล่นสัญญาณซ้ำ

เริ่มต้นได้ฟรี

เรียนรู้ Cyber Security Academy ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
76
บทเรียน
303

คำถามที่พบบ่อย

บทเรียน “การดักจับและเล่นสัญญาณซ้ำ” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การดักจับและเล่นสัญญาณซ้ำ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การดักจับและเล่นสัญญาณซ้ำ”

ดักรับและเล่นการส่งสัญญาณ RF ซ้ำ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “การดักจับและเล่นสัญญาณซ้ำ” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐาน RF และ SDR
  2. การโจมตี Bluetooth และ BLE
  3. ความปลอดภัยของ RFID และ NFC
  4. การดักจับและเล่นสัญญาณซ้ำ
← กลับไปที่ Cyber Security Academy