การใช้งาน DDIO ในชิป Intel ช่วยให้การโจมตีเครือข่ายตรวจจับการกดแป้นพิมพ์ในเซสชัน SSH

กลุ่มนักวิจัยจาก Vrije Universiteit Amsterdam และ ETH Zurich ได้พัฒนาเทคนิคการโจมตีเครือข่าย netcat (Network Cache ATtack) ซึ่งช่วยให้ใช้วิธีการวิเคราะห์ข้อมูลผ่านช่องทางบุคคลที่สาม เพื่อกำหนดคีย์ที่ผู้ใช้กดขณะทำงานในเซสชัน SSH จากระยะไกล ปัญหาปรากฏบนเซิร์ฟเวอร์ที่ใช้เทคโนโลยีเท่านั้น อาร์ดีเอ็มเอ (การเข้าถึงหน่วยความจำโดยตรงระยะไกล) และ ดีดีโอ (ข้อมูล-Direct I/O)

อินเทล คิดว่าการโจมตีนั้นยากที่จะนำไปใช้ในทางปฏิบัติ เนื่องจากผู้โจมตีต้องการการเข้าถึงเครือข่ายท้องถิ่น สภาพปลอดเชื้อ และการจัดระเบียบการสื่อสารของโฮสต์โดยใช้เทคโนโลยี RDMA และ DDIO ซึ่งโดยปกติจะใช้ในเครือข่ายแยก เช่น ในการประมวลผลที่ คลัสเตอร์ทำงาน ปัญหานี้ได้รับการจัดอันดับรอง (CVSS 2.6, CVE-2019-11184) และให้คำแนะนำไม่ให้เปิดใช้งาน DDIO และ RDMA ในเครือข่ายท้องถิ่นที่ไม่มีขอบเขตการรักษาความปลอดภัย และอนุญาตให้เชื่อมต่อกับไคลเอนต์ที่ไม่น่าเชื่อถือได้ DDIO ถูกนำมาใช้ในโปรเซสเซอร์เซิร์ฟเวอร์ Intel ตั้งแต่ปี 2012 (Intel Xeon E5, E7 และ SP) ระบบที่ใช้โปรเซสเซอร์จาก AMD และผู้ผลิตรายอื่นไม่ได้รับผลกระทบจากปัญหา เนื่องจากไม่รองรับการจัดเก็บข้อมูลที่ถ่ายโอนผ่านเครือข่ายในแคช CPU

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

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

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

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

การใช้งาน DDIO ในชิป Intel ช่วยให้การโจมตีเครือข่ายตรวจจับการกดแป้นพิมพ์ในเซสชัน SSH

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

ที่มา: opennet.ru

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