iLeakage การโจมตีรูปแบบใหม่ เพื่อขโมยอีเมล และรหัสผ่านจาก Apple Safari

นักวิจัยทดสอบการโจมตีแบบ speculative side-channel รูปแบบใหม่ที่เรียกว่า iLeakage ซึ่งสามารถทำงานบนอุปกรณ์ Apple เวอร์ชันล่าสุดได้ทุกเครื่อง และสามารถดึงข้อมูลที่มีความสำคัญออกจากเบราว์เซอร์ Safari ได้

iLeakage เป็นการสาธิตครั้งแรกของการโจมตีแบบ speculative execution บน Apple Silicon CPU และเบราว์เซอร์ Safari โดยสามารถใช้ดึงข้อมูลจาก Safari ได้ด้วยความแม่นยำสูงมาก รวมไปถึง Firefox, Tor และ Edge บน iOS อีกด้วย

โดยวิธีการหลักคือ timerless Spectre attack ซึ่งจะ bypass การป้องกัน standard side-channel ที่เบราว์เซอร์ทั้งหมดใช้

การขโมยข้อมูลจาก Safari

iLeakage ได้รับการพัฒนาโดยทีมนักวิชาการจาก Georgia Tech, University of Michigan และ Ruhr University Bochum ซึ่งได้ตรวจสอบวิธีการป้องกัน side-channel ของ Safari และสามารถหลีกเลี่ยงมาตรการป้องกันที่มีอยู่ได้โดยใช้เทคนิคแบบ timerless และ architecture-agnostic โดยอาศัย race conditions

นักวิจัยมุ่งเน้นไปที่การอ่านข้อมูลที่มีความสำคัญจาก Safari และสามารถขโมยข้อมูลได้โดยสร้าง primitive ที่สามารถอ่าน และดึงข้อมูลของทุก ๆ 64-bit pointer ในพื้นที่ที่เบราว์เซอร์ของ Apple ใช้สำหรับกระบวนการเรนเดอร์

โดยนักวิจัยทำได้โดยการเอาชนะการป้องกัน side-channel ที่ Apple นำไปใช้ในเบราว์เซอร์ของตน เช่น low-resolution timer, compressed 35-bit addressing และวิธีการ value poisoning

นักวิจัยยังสามารถ bypass site isolation ใน Safari ซึ่งแยกเว็บไซต์ออกเป็นพื้นที่ที่อยู่ที่แตกต่างกันตาม top-level domain (eTLD) พร้อมกับโดเมนย่อยหนึ่งโดเมน

โดยการใช้เทคนิคใหม่ที่ใช้ JavaScript window.open API ที่ทำให้หน้าเพจของผู้โจมตี สามารถแบ่งพื้นที่ ที่อยู่เดียวกันกับหน้าเพจของเหยื่อได้

โดยใช้ speculative type confusion เพื่อ bypass compressed 35-bit addressing และ value poisoning ของ Apple นักวิจัยสามารถดึงข้อมูลที่มีความสำคัญจากหน้าเพจเป้าหมาย เช่น รหัสผ่าน และอีเมล

proof-of-concept code สำหรับการโจมตีนี้ถูกเขียนด้วย JavaScript และ WebAssembly ซึ่งเป็นสองภาษาโปรแกรมสำหรับการนำเสนอเนื้อหาเว็บแบบไดนามิก

ส่วนวิดีโอด้านล่างแสดงให้เห็นวิธีการดึงข้อความ Gmail ใน Safari ที่กำลังเรียกใช้งานบน iPad โดยใช้วิธีการโจมตีแบบ iLeakage ส่วน requirement เบื้องต้นสำหรับการโจมตีนี้คือ ผู้ใช้งานที่ตกเป็นเหยื่อต้องมีการโต้ตอบกับหน้าเว็บของผู้โจมตี

นักวิจัยใช้เทคนิคเดียวกันในการดึงรหัสผ่านสำหรับบัญชีทดสอบ Instagram ที่กรอกโดยอัตโนมัติในเว็บเบราว์เซอร์ Safari โดยใช้บริการจัดการรหัสผ่าน LastPass

ในการทดลองอีกครั้ง นักวิจัยได้แสดงให้เห็นว่าการโจมตีแบบ iLeakage ยังสามารถทำงานบน Chrome สำหรับ iOS และสามารถดึงประวัติการดู YouTube ได้

นักวิจัยอธิบายว่านโยบายของ Apple บังคับให้เบราว์เซอร์ iOS ของ third-party ทั้งหมด ต้องเป็นโอเวอร์เลย์ที่อยู่บน Safari และใช้ JavaScript engine ในเบราว์เซอร์ของ Apple

iLeakage ขึ้นอยู่กับการนำมาใช้ในการโจมตีสำหรับ speculative execution ในชิป Apple Silicon (M1, M2) ซึ่งการประมวลผลล่วงหน้าของ CPU จะทำงานที่น่าจะเป็นไปได้มากที่สุด ก่อนที่จะทราบว่าจำเป็นหรือไม่

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

รายละเอียดเพิ่มเติมเกี่ยวกับการโจมตี และวิธีที่ใช้ในในการหลีกเลี่ยงการป้องกันของ Apple มีอยู่ในเอกสารทางเทคนิคที่นักวิจัยเผยแพร่ (https://ileakage.com/files/ileakage.pdf)

ผลกระทบ และเคล็ดลับในการป้องกัน

iLeakage มีผลกระทบต่ออุปกรณ์ Apple ทั้งหมดที่วางจำหน่ายตั้งแต่ปี 2020 ซึ่งใช้ชิปประมวลผล ARM A-series และ M-series ของ Apple

การโจมตีนี้ไม่สามารถตรวจพบได้เป็นส่วนใหญ่ เนื่องจากจะไม่ทิ้งร่องรอยใด ๆ ไว้บนระบบของเหยื่อในรูปแบบของ logs ยกเว้นอาจจะมีรายการของหน้าเว็บของผู้โจมตีในแคชของเบราว์เซอร์

นักวิจัยได้เน้นย้ำว่าการโจมตี iLeakage นั้นยากที่จะดำเนินการ และจำเป็นต้องมีความรู้ขั้นสูงเกี่ยวกับการโจมตี side-channel บนเบราว์เซอร์ และการใช้งาน Safari

iLeakage ได้รายงานส่วนตัวให้กับ Apple เมื่อวันที่ 12 กันยายน 2022 และบริษัทได้พัฒนาวิธีการแก้ไขต่อไปนี้สำหรับ macOS

  1. เปิด Terminal และรันคำสั่ง 'defaults write com.apple.Safari IncludeInternalDebugMenu 1' เพื่อเปิดใช้งานเมนู debug ที่ซ่อนอยู่ของ Safari
  2. เปิด Safari และไปที่เมนู Debug ที่เปิดขึ้นมาใหม่
  3. เลือก 'WebKit Internal Features'
  4. เลื่อนลง และเปิดใช้งาน 'Swap Processes on Cross-Site Window Open'

มาตรการนี้มาพร้อมกับคำเตือนว่าอาจทำให้ระบบไม่ค่อยเสถียรบ้าง หากผู้ใช้ต้องการปิดการใช้งานมาตรการนี้ สามารถทำได้จากเมนู Debug โดยการใช้คำสั่งในเทอร์มินอล 'defaults write com.apple.Safari IncludeInternalDebugMenu 0'

นอกจากผลกระทบจริง ๆ ของ iLeakage งานวิจัยนี้ตอกย้ำถึงความเสี่ยงในการทำงานแบบ speculative execution ในแพลตฟอร์ม ARM ใหม่ที่ยังไม่ได้รับการตรวจสอบอย่างเข้มงวดเท่ากับสถาปัตยกรรม x86

ที่มา : bleepingcomputer