Skip to content

บทสัมภาษณ์พิเศษ: แฮ็ก iPhone ผ่าน SMS

    1652314862

    บทนำ

    เมื่อเร็วๆ นี้เราได้พูดคุยกับ Charlie Miller ผู้เชี่ยวชาญด้านความปลอดภัยจาก Independent Security Evaluators เกี่ยวกับช่องโหว่ของ iPhone ที่เพิ่งถูกเปิดเผย ซึ่งอาจทำให้แฮ็กเกอร์ที่ประสงค์ร้ายเข้าควบคุม iPhone ผ่านชุดข้อความ SMS ที่สร้างขึ้นมาอย่างพิถีพิถัน

    อลัน: ขอบคุณที่สละเวลาคุยกัน ชาร์ลี ทำไมไม่ลองเริ่มด้วยการบอกเราสักเล็กน้อยเกี่ยวกับช่องโหว่ของ SMS ล่ะ

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

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

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

    อลัน: หมายเหตุถึงผู้อ่านของเรา: เมื่อใดก็ตามที่ชาร์ลีบอกว่าเขาต้องการอาสาสมัคร อย่าสบตา แล้วคุณส่งข้อความมายังไง? คุณส่งผ่านอินเทอร์เฟซ SMS ของ iPhone เครื่องอื่นหรือทำบางอย่างเช่นการส่งอีเมลวิธีการ “หมายเลขโทรศัพท์@attwireless ” หรือไม่

    ชาร์ลี: ในการส่ง SMS ผ่านเครือข่ายของผู้ให้บริการ เรามีแอปพลิเคชั่นขนาดเล็กบน iPhone โจมตี ซึ่งจะพูดคุยกับโมเด็มโดยใช้คำสั่ง GSM AT สำหรับการทดสอบและค้นหาจุดบกพร่อง เราใช้เฟรมเวิร์กการฉีดที่ยอดเยี่ยมจริง ๆ ซึ่ง Collin Mulliner ผู้นำเสนอร่วมของฉันเขียน ซึ่งช่วยให้คุณทดสอบการใช้งานข้อความ SMS โดยส่งข้อมูลผ่าน TCP เท่านั้น วิธีนี้ช่วยป้องกันไม่ให้คุณต้องส่งข้อมูลผ่านเครือข่ายของผู้ให้บริการ และไม่มีค่าใช้จ่ายใดๆ และยังช่วยให้คุณทดสอบข้อความจำนวนมากได้อย่างรวดเร็วอีกด้วย

    Alan: แล้วคุณจะเปลี่ยนจากการปฏิเสธบริการไปเป็นการเอารัดเอาเปรียบเต็มรูปแบบได้อย่างไร?

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

    การโจมตีทั้งหมดใช้ข้อความมากกว่า 500 ข้อความ แม้ว่าเหยื่อจะไม่ทราบว่าถูกส่งไปเพราะไม่ปรากฏบนโทรศัพท์ ข้อความเหล่านี้ส่วนใหญ่เกี่ยวข้องกับการตั้งค่าให้ “ถูกต้อง” สิบหกคนเข้าถึงอาร์เรย์ได้แบบไร้ขอบเขต

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x