บายพาสระบบป้องกัน ASLR ด้วยโค้ด JavaScript แบบง่ายๆ

ทีมนักวิจัยจาก Vrije University ประเทศเนเธอร์แลนด์ ประสบความสำเร็จในการบายพาสระบบป้องกัน ASLR บนสถาปัตยกรรม Microprocessor มากถึง 22 ราย ไม่ว่าจะเป็น Intel, AMD, ARM, Allwinner, Nvidia และอื่นๆ โดยใช้โค้ดภาษา JavaScript ง่ายๆ เท่านั้น เรียกการโจมตีนี้ว่า ASLR⊕Cache หรือ AnC

Credit: ShutterStock.com

ASLR คืออะไร

ASLR หรือ Address Space Layout Randomization เป็นกลไกด้านความมั่นคงปลอดภัยของระบบปฏิบัติการ ซึ่งจะทำการสุ่มตำแหน่งของ Memory ที่ถูกใช้โดย Process ต่างๆ ส่งผลให้แฮ็คเกอร์ไม่สามารถรู้ได้ว่าจะทำการ Exploit Shellcode ที่ตำแหน่งไหนบน Memory

ASLR เป็นเทคโนโลยี Anti-exploitation สำหรับป้องกันช่องโหว่ Memory Corruption เช่น Stack และ Heap Overflow ส่งผลให้แฮ็คเกอร์ไม่สามารถส่งโค้ดแปลกปลอมเข้ามารันได้ (Arbitrary Code Execution) และป้องกันการแคลช แฮ็คเกอร์จะสามารถทำ Code Injection ได้ก็ต่อเมื่อทราบตำแหน่งของ Memory ที่ Process เป้าหมายหรือ OS Kernel ทำงานอยู่เท่านั้น

โจมตีผ่าน Memory Management Unit

AnC จะพุ่งเป้าโจมตีที่ Memory Management Unit (MMU) ซึ่งเป็นองค์ประกอบหนึ่งของสถาปัตยกรรม CPU ที่น้อยคนจะรู้จัก โดย MMU จะทำหน้าที่เพิ่มประสิทธิภาพในการดำเนินการบริหารจัดการ Cache ให้ดียิ่งขึ้น อย่างไรก็ตาม ทีมนักวิจัยพบว่า MMU มีการแชร์ Cache ของมันเองส่วนหนึ่งกับแอพพลิเคชันที่มีไม่น่าเชื่อถือ เช่น เว็บเบราเซอร์ ส่งผลให้นักวิจัยสามารถลอบส่งโค้ด JavaScript อันตรายที่พุ่งเป้าไปยังพื้นที่หน่วยความจำที่แชร์นี้ เพื่อแอบอ่านข้อมูลที่เก็บอยู่ข้างในได้

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

ทีมนักวิจัยระบุว่า พวกเขาประสบความสำเร็จในการทดสอบการโจมตีแบบ AnC บน Chrome และ Firefox บน สถาปัตยกรรม CPU 22 แบบ ต่อให้เว็บเบราเซอร์มีระบบป้องกัน เช่น Broken JavaScript Timer ก็ตาม ที่แย่กว่านั้นคือ การโจมตีแบบ AnC อาจถูกนำไปใช้เพื่อรื้อฟื้นการโจมตีจำพวก Blocked Cache Attack เพื่อเปิดช่องให้สามารถเจาะผ่านช่องโหว่แบบเก่าๆ ที่เจ้าของผลิตภัณฑ์เคยอุดไปแล้วได้

ติดตั้ง NoScript เพื่อป้องกันการรัน JavaScript

วิธีการเดียวที่ผู้ใช้จะป้องกันการโจมตีแบบ AnC ได้คือติดตั้ง Extension อย่าง NoScript เพิ่มลงไปในเว็บเบราเซอร์ เพื่อหยุดการรันโค้ด JavaScript ที่ไม่น่าเชื่อถือทั้งปวง

ตารางด้านล่างแสดง CPU Model และ Microarchitecture ทั้งหมดที่นักวิจัยทดสอบแล้วพบว่าได้รับผลกระทบ

ดาวน์โหลดงานวิจัยฉบับเต็ม 2 ฉบับ [PDF1, PDF2]

ที่มา: https://www.bleepingcomputer.com/news/security/javascript-attack-breaks-aslr-on-22-cpu-architectures/


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

“ฟอร์ติเน็ตจับมือมหาวิทยาลัยศรีปทุม” เพื่อลดช่องว่างด้านทักษะ เพื่อต่อสู้ภัยไซเบอร์ของบุคลากรไทย [Guest Post]

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

เดลล์ เทคโนโลยีส์ ประกาศเสริมความแข็งแกร่งในการเตรียมพร้อมเพื่อการรับมือกับภัยคุกคามไซเบอร์ด้วยนวัตกรรมด้านความปลอดภัยและการปกป้องข้อมูลบนมัลติคลาวด์ [Guest Post]

ซอฟต์แวร์ที่ทำงานด้วยพลังของ AI จากเดลล์ และความสามารถในการดูแลรักษาความปลอดภัยในการปฏิบัติงานช่วยขับเคลื่อนการทำงานแบบ Zero Trust ที่ปกป้องทั้งข้อมูล พร้อมลดความเสี่ยงจากการโจมตีทางไซเบอร์