Spook.js เทคนิคใหม่ในการใช้ประโยชน์จากช่องโหว่ของ Spectre ใน Chrome

กลุ่มนักวิจัย จากมหาวิทยาลัยในอเมริกา ออสเตรเลีย และอิสราเอล รายงานว่า อธิบายเทคนิคการโจมตีใหม่ ที่ช่วยให้สามารถใช้ประโยชน์จากช่องโหว่ต่างๆ ได้ คลาส Spectre บนเบราว์เซอร์ที่ขับเคลื่อนด้วย Chromium

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

เนื่องจาก Chrome เปิดตัวไซต์ต่างๆ ในกระบวนการที่แตกต่างกัน การโจมตีเชิงปฏิบัติจึงจำกัดเฉพาะบริการที่อนุญาตให้ผู้ใช้ต่างๆ โฮสต์หน้าเว็บของตนได้ วิธีการโจมตี Spook.js ทำให้เป็นไปได้จากหน้าที่ผู้โจมตีสามารถฝังโค้ด JavaScript ของเขาได้กำหนดสถานะของหน้าอื่น ๆ ที่เปิดโดยผู้ใช้ไซต์เดียวกัน และดึงข้อมูลที่เป็นความลับ ของพวกเขา ตัวอย่างเช่น ข้อมูลประจำตัวหรือรายละเอียดธนาคารแทนที่ด้วยระบบเติมข้อความอัตโนมัติในเว็บฟอร์ม

แอปพลิเคชันอื่นของวิธีนี้คือการโจมตีปลั๊กอินของเบราว์เซอร์ ซึ่งช่วยให้เมื่อมีการติดตั้งปลั๊กอินที่ควบคุมโดยผู้โจมตี เพื่อดึงข้อมูลจากปลั๊กอินอื่นๆ

Spook.js ใช้ได้กับเบราว์เซอร์ใด ๆ ที่ใช้เครื่องยนต์ Chromium รวมถึง Google Chrome, Microsoft Edge และ Brave นักวิจัยยังเชื่อว่าวิธีการนี้สามารถปรับใช้กับ Firefox ได้ แต่เนื่องจากกลไกของ Firefox นั้นแตกต่างจาก Chrome อย่างมาก งานในการสร้างช่องโหว่ดังกล่าวจึงเหลืออยู่ในอนาคต

เพื่อป้องกันการโจมตีที่เกี่ยวข้องกับการดำเนินการตามคำสั่งแบบคาดเดาผ่านเบราว์เซอร์ การแบ่งส่วนพื้นที่ที่อยู่จึงถูกนำมาใช้ใน Chrome: การแยกแซนด์บ็อกซ์ช่วยให้ JavaScript ทำงานได้เฉพาะกับพอยน์เตอร์ 32 บิต และแบ่งปันหน่วยความจำของคอนโทรลเลอร์ในสแต็ก 4GB ที่ไม่ทับซ้อนกัน

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

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

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

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

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

นักวิจัยได้เปิดตัวช่องโหว่ต้นแบบที่ทำงานใน Chrome 89 en ระบบที่มี Intel i7-6700K และ i7-7600U ช่องโหว่นี้สร้างขึ้นโดยใช้ต้นแบบของโค้ด JavaScript ที่ Google เผยแพร่ก่อนหน้านี้เพื่อดำเนินการโจมตี Spectre

ในที่สุดนักวิจัยก็กล่าวถึงว่า จัดการเพื่อเตรียมการหาช่องโหว่ในการทำงานสำหรับระบบที่ใช้โปรเซสเซอร์ Intel และ Apple M1ซึ่งได้รับโอกาสในการจัดระเบียบการอ่านหน่วยความจำด้วยความเร็ว 500 ไบต์ต่อวินาทีและความแม่นยำ 96% วิธีการนี้ควรจะใช้ได้กับโปรเซสเซอร์ AMD แต่ไม่สามารถเตรียมการหาช่องโหว่ที่ทำงานได้อย่างสมบูรณ์

Fuente: https://www.spookjs.com


เนื้อหาของบทความเป็นไปตามหลักการของเรา จรรยาบรรณของบรรณาธิการ. หากต้องการรายงานข้อผิดพลาดให้คลิก ที่นี่.

เป็นคนแรกที่จะแสดงความคิดเห็น

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา