การโจมตีประจำสัปดาห์: การโทรด้วยเสียงผ่าน LTE (ReVoLTE)

จากนักแปลและ TL;DR

  1. TL; DR:

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

  2. ขอบคุณสำหรับคำแนะนำและ TL; DR คลูโคนิน

  3. นักวิจัยได้สร้างแอปเพื่อตรวจสอบว่าผู้ให้บริการของคุณมีช่องโหว่หรือไม่ อ่านเพิ่มเติม ที่นี่. แบ่งปันผลลัพธ์ในความคิดเห็น VoLTE ถูกปิดใช้งานในภูมิภาคของฉันบน Megafon

เกี่ยวกับผู้แต่ง

แมทธิว กรีน.

ฉันเป็นนักเข้ารหัสและเป็นศาสตราจารย์ที่มหาวิทยาลัย Johns Hopkins ฉันได้ออกแบบและวิเคราะห์ระบบการเข้ารหัสที่ใช้ในเครือข่ายไร้สาย ระบบการชำระเงิน และแพลตฟอร์มความปลอดภัยเนื้อหาดิจิทัล ในการวิจัยของฉัน ฉันดูวิธีการต่างๆ ในการใช้การเข้ารหัสเพื่อปรับปรุงความเป็นส่วนตัวของผู้ใช้

เป็นเวลานานแล้วที่ฉันเขียนรูปแบบการโพสต์ "การโจมตีประจำสัปดาห์"และมันทำให้ฉันเสียใจ ไม่ใช่เพราะไม่มีการโจมตี แต่ส่วนใหญ่เป็นเพราะไม่มีการโจมตีกับสิ่งที่ใช้กันอย่างแพร่หลายมากพอที่จะพาฉันออกจากบล็อกของนักเขียน

แต่วันนี้มาเจอ. การโจมตีที่น่าสนใจ เรียกว่า ReVoLTE สำหรับโปรโตคอลที่ฉันตื่นเต้นเป็นพิเศษเกี่ยวกับการแฮ็ก นั่นคือโปรโตคอล LTE ของเครือข่ายเซลลูล่าร์ (เสียงผ่าน) ฉันตื่นเต้นกับโปรโตคอลเฉพาะเหล่านี้ และการโจมตีครั้งใหม่นี้ เนื่องจากเป็นเรื่องยากมากที่จะเห็นโปรโตคอลเครือข่ายเซลลูล่าร์และการใช้งานจริงถูกแฮ็ก สาเหตุหลักมาจากมาตรฐานเหล่านี้ได้รับการพัฒนาในห้องที่เต็มไปด้วยควันและบันทึกไว้ในเอกสาร 12000 หน้าซึ่งไม่ใช่ว่านักวิจัยทุกคนจะสามารถทำได้ นอกจากนี้ การดำเนินการโจมตีเหล่านี้ยังบังคับให้นักวิจัยต้องใช้โปรโตคอลวิทยุที่ซับซ้อน

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

ผู้เขียน การโจมตีผู้ร่วมให้ข้อมูล: David Rupprecht, Katharina Kohls, Thorsten Holz และ Christina Pöpper จาก Ruhr-University Bochum และ New York University Abu Dhabi นี่เป็นการโจมตีที่ยอดเยี่ยมในการติดตั้งคีย์ใหม่ในโปรโตคอลเสียงที่คุณอาจใช้อยู่แล้ว (สมมติว่าคุณมาจากรุ่นเก่าที่ยังคงโทรออกโดยใช้โทรศัพท์มือถือ)

เริ่มต้นด้วยการเที่ยวชมประวัติศาสตร์โดยย่อ

LTE และ VoLTE คืออะไร

พื้นฐานของมาตรฐานระบบโทรศัพท์เซลลูล่าร์สมัยใหม่ของเรามีการวางมาตรฐานไว้ในยุโรปในยุค 80 ระบบทั่วโลกสำหรับมือถือ (ระบบสากลสำหรับการสื่อสารเคลื่อนที่) GSM เป็นมาตรฐานระบบโทรศัพท์เซลลูล่าร์ดิจิทัลหลักมาตรฐานแรก ซึ่งนำเสนอคุณลักษณะใหม่ๆ มากมาย เช่น การใช้งาน การเข้ารหัส เพื่อป้องกันการโทร GSM ในยุคแรกๆ ได้รับการออกแบบมาเพื่อการสื่อสารด้วยเสียงเป็นหลัก แม้ว่าอาจมีเงินตราก็ตาม ส่งข้อมูลอื่น ๆ.

เนื่องจากการส่งข้อมูลมีความสำคัญมากขึ้นในการสื่อสารเคลื่อนที่ มาตรฐาน Long Term Evolution (LTE) จึงได้รับการพัฒนาเพื่อปรับปรุงการสื่อสารประเภทนี้ LTE ขึ้นอยู่กับกลุ่มมาตรฐานเก่าเช่น GSM EDGE и HSPA และได้รับการออกแบบเพื่อเพิ่มความเร็วในการแลกเปลี่ยนข้อมูล มีการสร้างแบรนด์มากมายและ ทำให้เข้าใจผิดโดยการกำหนดที่ไม่ถูกต้องแต่ TL; DR คือ LTE เป็นระบบการส่งข้อมูลที่ทำหน้าที่เป็นสะพานเชื่อมระหว่างโปรโตคอลข้อมูลแพ็คเก็ตเก่าและเทคโนโลยีข้อมูลมือถือในอนาคต 5G.

แน่นอนว่า ประวัติศาสตร์บอกเราว่าเมื่อมีแบนด์วิธ (IP) เพียงพอ แนวคิดเช่น “เสียง” และ “ข้อมูล” จะเริ่มเบลอ เช่นเดียวกับโปรโตคอลเซลลูล่าร์สมัยใหม่ เพื่อให้การเปลี่ยนแปลงนี้ราบรื่นยิ่งขึ้น มาตรฐาน LTE จึงได้กำหนดไว้ เสียงผ่าน LTE (VoLTE) ซึ่งเป็นมาตรฐาน IP สำหรับการโทรด้วยเสียงโดยตรงบนระนาบข้อมูลของระบบ LTE โดยข้ามส่วนที่เรียกผ่านสายโทรศัพท์ของเครือข่ายเซลลูลาร์โดยสิ้นเชิง เช่นเดียวกับมาตรฐาน โทรผ่าน VoIP,การโทรแบบ VoLTE สามารถยกเลิกได้โดยผู้ให้บริการโทรศัพท์มือถือและเชื่อมต่อกับเครือข่ายโทรศัพท์ปกติ หรือ (ที่กำลังกลายเป็นเรื่องปกติมากขึ้น) พวกเขา สามารถกำหนดเส้นทางได้ โดยตรงจากไคลเอนต์มือถือเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง และแม้กระทั่งระหว่างผู้ให้บริการที่แตกต่างกัน

เช่นเดียวกับ VoIP มาตรฐาน VoLTE ใช้โปรโตคอล IP ยอดนิยมสองโปรโตคอล: Session Initiation Protocol (โปรโตคอลการเริ่มต้นเซสชัน – SIP) สำหรับการตั้งค่าการโทรและโปรโตคอลการขนส่งแบบเรียลไทม์ (โปรโตคอลการขนส่งแบบเรียลไทม์ซึ่งควรจะเรียกว่า RTTP แต่จริงๆ แล้วเรียกว่า RTP) สำหรับการประมวลผลข้อมูลเสียง VoLTE ยังเพิ่มการเพิ่มประสิทธิภาพแบนด์วิธเพิ่มเติม เช่น การบีบอัดส่วนหัว

โอเค มันเกี่ยวอะไรกับการเข้ารหัสล่ะ?

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

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

ในอดีตมีการเข้ารหัสในระบบ GSM จุดอ่อนมากมาย: แย่ ยันต์โปรโตคอลที่มีเฉพาะโทรศัพท์เท่านั้นที่ได้รับการตรวจสอบสิทธิ์กับทาวเวอร์ (หมายความว่าผู้โจมตีสามารถปลอมตัวเป็นหอคอยได้ "ปลากระเบน") และอื่นๆ LTE แก้ไขข้อบกพร่องที่ชัดเจนหลายประการโดยยังคงรักษาโครงสร้างเดิมไว้เป็นส่วนใหญ่

เริ่มจากการเข้ารหัสกันก่อน สมมติว่าการสร้างคีย์ได้เกิดขึ้นแล้ว - และเราจะพูดถึงเรื่องนี้ในอีกสักครู่ - จากนั้นแต่ละแพ็คเก็ตของข้อมูลจะถูกเข้ารหัสโดยใช้การเข้ารหัสสตรีมโดยใช้สิ่งที่เรียกว่า "EEA" (ซึ่งในทางปฏิบัติสามารถใช้งานได้โดยใช้สิ่งต่าง ๆ เช่น AES ) โดยพื้นฐานแล้วกลไกการเข้ารหัสที่นี่คือ CTRดังต่อไปนี้:

การโจมตีประจำสัปดาห์: การโทรด้วยเสียงผ่าน LTE (ReVoLTE)
อัลกอริธึมการเข้ารหัสหลักสำหรับแพ็กเก็ต VoLTE (ที่มา: ReVoLTE). EEA เป็นรหัส, “COUNT” เป็นตัวนับ 32 บิต, “BEARER” เป็นตัวระบุเซสชันเฉพาะที่แยกการเชื่อมต่อ VoLTE ออกจากการรับส่งข้อมูลอินเทอร์เน็ตปกติ "DIRECTION" ระบุว่าการจราจรไหลไปในทิศทางใด - จาก UE ไปยังหอคอยหรือในทางกลับกัน

เนื่องจากอัลกอริธึมการเข้ารหัส (EEA) สามารถนำไปใช้ได้โดยใช้การเข้ารหัสที่รัดกุมเช่น AES จึงไม่น่าเป็นไปได้ที่จะมีการโจมตีโดยตรงต่อตัวเข้ารหัสเช่นนี้ เกิดขึ้นในสมัยของ GSM. อย่างไรก็ตาม เป็นที่ชัดเจนแล้วว่าถึงแม้จะมีการเข้ารหัสที่แข็งแกร่ง แต่รูปแบบการเข้ารหัสนี้ก็เป็นวิธีที่ยอดเยี่ยมในการพิสูจน์ตัวเอง

โดยเฉพาะอย่างยิ่ง: มาตรฐาน LTE ใช้รหัสสตรีม (ไม่ได้รับการรับรองความถูกต้อง) พร้อมโหมดที่จะมีความเสี่ยงอย่างมากหากตัวนับและอินพุตอื่น ๆ เช่น "ผู้ถือ" และ "ทิศทาง" ถูกนำมาใช้ซ้ำ ในสำนวนสมัยใหม่ แนวคิดนี้คือ "การโจมตีแบบไม่ใช้ซ้ำ" แต่ความเสี่ยงที่อาจเกิดขึ้นในที่นี้ไม่ใช่เรื่องสมัยใหม่ พวกมันมีชื่อเสียงและเก่าแก่ ย้อนกลับไปในสมัยของโลหะแกลมและแม้แต่ดิสโก้

การโจมตีประจำสัปดาห์: การโทรด้วยเสียงผ่าน LTE (ReVoLTE)
การโจมตีเมื่อไม่ใช้ซ้ำในโหมด CTR ยังคงมีอยู่แม้ว่าจะทราบพิษแล้วก็ตาม

เพื่อความเป็นธรรม มาตรฐาน LTE ระบุว่า "โปรดอย่าใช้มิเตอร์เหล่านี้ซ้ำ" แต่มาตรฐาน LTE มีความยาวประมาณ 7000 หน้า และไม่ว่าในกรณีใด มันก็เหมือนกับการขอร้องเด็กๆ ไม่ให้เล่นปืน พวกเขาจะหลีกเลี่ยงไม่ได้และสิ่งเลวร้ายจะเกิดขึ้น ปืนยิงในกรณีนี้คือการโจมตีแบบใช้คีย์สตรีมซ้ำ โดยข้อความลับสองข้อความที่แตกต่างกัน XOR ไบต์คีย์สตรีมเดียวกัน เป็นที่ทราบกันดีว่าสิ่งนี้ มีผลทำลายล้างอย่างมากต่อการรักษาความลับของการสื่อสาร.

ReVoLTE คืออะไร?

การโจมตี ReVoLTE แสดงให้เห็นว่าในทางปฏิบัติ การออกแบบการเข้ารหัสที่มีช่องโหว่สูงนี้ถูกใช้ในทางที่ผิดโดยฮาร์ดแวร์ในโลกแห่งความเป็นจริง โดยเฉพาะอย่างยิ่ง ผู้เขียนวิเคราะห์การโทร VoLTE จริงที่ทำโดยใช้อุปกรณ์เชิงพาณิชย์ และแสดงให้เห็นว่าพวกเขาสามารถใช้สิ่งที่เรียกว่า "การโจมตีการติดตั้งคีย์ใหม่" (เครดิตมากสำหรับการค้นหาปัญหานี้ไปที่ ไรซ์ และ ลู (ราซา&ลู) ซึ่งเป็นคนแรกที่ชี้ให้เห็นถึงจุดอ่อนที่อาจเกิดขึ้น แต่การวิจัยของ ReVoLTE เปลี่ยนให้เป็นการโจมตีเชิงปฏิบัติ)

ฉันขอแสดงให้คุณเห็นโดยย่อถึงแก่นแท้ของการโจมตีแม้ว่าคุณจะควรดูก็ตาม เอกสารต้นทาง.

อาจมีคนสันนิษฐานว่าเมื่อ LTE สร้างการเชื่อมต่อข้อมูลแพ็คเก็ต งานเสียงผ่าน LTE จะกลายเป็นเพียงเรื่องของการกำหนดเส้นทางแพ็คเก็ตเสียงผ่านการเชื่อมต่อนั้นพร้อมกับการรับส่งข้อมูลที่เหลือทั้งหมดของคุณ กล่าวอีกนัยหนึ่ง VoLTE จะเป็นแนวคิดที่มีอยู่เท่านั้น 2 ระดับ [รุ่น OSI – ประมาณ] สิ่งนี้ไม่เป็นความจริงทั้งหมด

ในความเป็นจริง เลเยอร์ลิงก์ LTE แนะนำแนวคิดของ "ผู้ถือ" ผู้ถือคือตัวระบุเซสชันที่แยกจากกันซึ่งแยกการรับส่งข้อมูลแพ็กเก็ตประเภทต่างๆ การรับส่งข้อมูลทางอินเทอร์เน็ตเป็นประจำ (Twitter และ Snapchat ของคุณ) ต้องผ่านผู้ให้บริการรายเดียว การส่งสัญญาณ SIP สำหรับ VoIP จะต้องผ่านอีกช่องทางหนึ่ง และแพ็กเก็ตการรับส่งข้อมูลเสียงจะถูกประมวลผลผ่านหนึ่งในสาม ฉันไม่มีความรู้เกี่ยวกับกลไกการกำหนดเส้นทางวิทยุและเครือข่าย LTE มากนัก แต่ฉันเชื่อว่าวิธีนี้เกิดขึ้นเนื่องจากเครือข่าย LTE ต้องการบังคับใช้กลไก QoS (คุณภาพของการบริการ) เพื่อให้สตรีมแพ็คเก็ตที่แตกต่างกันได้รับการประมวลผลในระดับความสำคัญที่แตกต่างกัน: กล่าวคือ ของคุณ อัตราที่สอง การเชื่อมต่อ TCP กับ Facebook อาจมีลำดับความสำคัญต่ำกว่าการโทรด้วยเสียงแบบเรียลไทม์ของคุณ

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

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

ในทางปฏิบัติ การโจมตีนี้ส่งผลให้เกิดการใช้คีย์สตรีมซ้ำ โดยที่ผู้โจมตีสามารถรับแพ็กเก็ตที่เข้ารหัส $inline$C_1 = M_1 oplus KS$inline$ และ $inline$C_2 = M_2 oplus KS$inline$ ทำให้สามารถคำนวณ $inline$ C_1 oplus C_2 = M_1 oplus M_2$อินไลน์$ ยิ่งไปกว่านั้น หากผู้โจมตีรู้จัก $inline$M_1$inline$ หรือ $inline$M_2$inline$ อันใดอันหนึ่ง เขาก็จะสามารถกู้คืนอีกอันได้ทันที สิ่งนี้ทำให้เขามีแรงจูงใจที่แข็งแกร่ง ค้นหาหนึ่งในสององค์ประกอบที่ไม่ได้เข้ารหัส.

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

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

นี่คือภาพแผนการโจมตีทั่วไปที่นำมา เอกสารต้นฉบับ:

การโจมตีประจำสัปดาห์: การโทรด้วยเสียงผ่าน LTE (ReVoLTE)
ภาพรวมการโจมตีจาก เอกสาร ReVoLTE. โครงการนี้ถือว่ามีการโทรที่แตกต่างกันสองครั้งโดยใช้คีย์เดียวกัน ผู้โจมตีควบคุมเครื่องดมกลิ่นแบบพาสซีฟ (ซ้ายบน) เช่นเดียวกับโทรศัพท์เครื่องที่สอง ซึ่งเขาสามารถโทรครั้งที่สองไปยังโทรศัพท์ของเหยื่อได้

แล้วการโจมตีได้ผลจริงหรือ?

ในแง่หนึ่ง นี่เป็นคำถามหลักสำหรับบทความเกี่ยวกับ ReVoLTE แนวคิดข้างต้นทั้งหมดนั้นยอดเยี่ยมในทางทฤษฎี แต่ก็ทิ้งคำถามไว้มากมาย เช่น:

  1. เป็นไปได้หรือไม่ (สำหรับนักวิจัยเชิงวิชาการ) ที่จะสกัดกั้นการเชื่อมต่อ VoLTE จริง ๆ
  2. ระบบ LTE จริงทำการรีคีย์จริงหรือไม่
  3. คุณสามารถเริ่มต้นการโทรครั้งที่สองได้อย่างรวดเร็วและเชื่อถือได้เพียงพอสำหรับโทรศัพท์และทาวเวอร์ที่จะใช้กุญแจซ้ำได้หรือไม่?
  4. แม้ว่าระบบจะรีคีย์ แต่คุณสามารถทราบเนื้อหาที่ไม่ได้เข้ารหัสของการเรียกครั้งที่สองได้หรือไม่ เนื่องจากสิ่งต่าง ๆ เช่นตัวแปลงสัญญาณและการแปลงรหัสสามารถเปลี่ยนเนื้อหา (ทีละบิต) ของการเรียกครั้งที่สองนั้นได้อย่างสมบูรณ์ แม้ว่าคุณจะสามารถเข้าถึง "บิต" " มาจากโทรศัพท์โจมตีของคุณเหรอ?

งานของ ReVoLTE ตอบคำถามเหล่านี้บางส่วนด้วยการยืนยัน ผู้เขียนใช้ซอฟต์แวร์ดมกลิ่นสตรีมวิทยุที่กำหนดค่าใหม่เชิงพาณิชย์ที่เรียกว่า แอร์สโคป เพื่อสกัดกั้นการโทร VoLTE จากฝั่งดาวน์ลิงค์ (ฉันคิดว่าแค่ทำความเข้าใจกับซอฟต์แวร์และทำความเข้าใจคร่าวๆ ว่ามันทำงานอย่างไร ก็ใช้เวลาหลายเดือนในการช่วยชีวิตของนักศึกษาระดับบัณฑิตศึกษาที่ยากจน ซึ่งเป็นเรื่องปกติสำหรับการวิจัยเชิงวิชาการประเภทนี้)

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

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

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

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

นี่เป็นอัตราความสำเร็จที่สูงอย่างน่าประหลาดใจ และสูงกว่าที่ฉันคาดไว้มากเมื่อเริ่มทำงานกับเอกสารนี้

แล้วเราจะทำอย่างไรเพื่อแก้ไขมัน?

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

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

ทางเลือกหนึ่งที่เป็นไปได้คือการใช้ โหมดการเข้ารหัสซึ่งการใช้ nonce ในทางที่ผิดไม่นำไปสู่ผลที่ตามมาที่ร้ายแรง. นี่อาจมีราคาแพงเกินไปสำหรับฮาร์ดแวร์ปัจจุบันบางรุ่น แต่แน่นอนว่านักออกแบบในพื้นที่ควรคำนึงถึงในอนาคต โดยเฉพาะอย่างยิ่งเมื่อมาตรฐาน 5G กำลังจะครองโลก

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

หรืออีกทางหนึ่ง เราสามารถทำสิ่งที่บริษัทต่างๆ เช่น Facebook และ Apple กำลังทำกันมากขึ้นได้: ทำให้การเข้ารหัสการโทรด้วยเสียงเกิดขึ้นในระดับที่สูงขึ้นของสแต็กเครือข่าย OSI โดยไม่ต้องพึ่งพาผู้ผลิตอุปกรณ์มือถือ เรายังสามารถผลักดันให้มีการเข้ารหัสการโทรด้วยเสียงแบบ end-to-end ได้ เหมือนกับที่ WhatsApp ทำกับ Signal และ FaceTime โดยสมมติว่ารัฐบาลสหรัฐฯ เพิ่งจะหยุด สะดุดเรา. จากนั้น (ยกเว้นข้อมูลเมตาบางส่วน) ปัญหาเหล่านี้มากมายก็จะหายไป โซลูชันนี้มีความเกี่ยวข้องอย่างยิ่งในโลกที่ แม้แต่รัฐบาลก็ยังไม่แน่ใจว่าพวกเขาไว้วางใจซัพพลายเออร์อุปกรณ์ของตนหรือไม่.

หรือเราทำสิ่งที่ลูกๆ ของเราทำไปแล้วก็ได้ นั่นคือหยุดรับสายสนทนาที่น่ารำคาญเหล่านั้น

ที่มา: will.com

เพิ่มความคิดเห็น