บายพาสระบบป้องกัน 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

เอ็นทีทีเดต้า (ประเทศไทย) ผนึก 3 มหาวิทยาลัยชั้นนำ ปั้นคนไอทีทักษะ COBOL ป้อนตลาดขาดแคลน ค่าตอบแทนสูง อนาคตไกล [Guest Post]

เอ็นทีที เดต้า (ประเทศไทย) ภายใต้เครือบริษัท เอ็นทีที เดต้า คอร์ปอเรชัน จำกัด ผู้นำด้านธุรกิจดิจิทัลและบริการไอทีชั้นนำระดับโลก เดินหน้าโครงการ “NTT DATA Critical Resource Preparation” ปั้นบุคลากรไอทีให้มีทักษะ …

ขอเชิญร่วมงานสัมมนา THROUGHWAVE DIGITAL CONNECT 2023 [14 มิ.ย. 2023 – 13.00น. ณ Eastin Grand Sathorn Hotel]

Throughwave (Thailand) ขอเรียนเชิญ CIO, CTO, Digital Transformation Manager, IT Manager, IT Administrator, พันธมิตรของ Throughwave และผู้ที่สนใจทุกท่าน เข้าร่วมงานสัมมนาประจำปี “Throughwave – Digital Connect 2023” ในวันที่ 14 มิถุนายน 2023 เวลา 13.00น. เป็นต้นไป ณ โรงแรม Eastin Grand Sathorn Hotel