ทีมวิจัยไมโครซอฟท์รายงานช่องโหว่รันโค้ดบน Chrome, ติงกูเกิลว่าปล่อยโค้ดสู่สาธารณะทันทีแม้ยังไม่ส่งอัพเดต

by lew
19 October 2017 - 18:24

ทีม Microsoft Offensive Security Research (OSR) ที่ทำงานคล้าย Project Zero ของกูเกิลรายงานถึงช่องโหว่รันโค้ดจากระยะไกลบนเบราว์เซอร์โครม แม้ว่าทีมงานโครมของกูเกิลจะตอบอย่างรวดเร็วและแก้ไขช่องโหว่ภายในไม่กี่วัน แต่กระบวนการเปิดเผยช่องโหว่กลับปล่อยโค้ดแก้ไขก่อนที่จะมีการปล่อยอัพเดต

OSR พบช่องโหว่โดยการสร้างชุดทดสอบจากตัวสร้างชุดทดสอบ ExprGen และพบว่าสามารถสร้างโค้ดทดสอบเอนจิน V8 ที่ทำให้เอนจินแครชได้เสมอ จากนั้นจึงพยายามย่อโค้ด 1,500 บรรทัดที่สร้างขึ้นมาจนเหลือโค้ดเพียงสิบกว่าบรรทัด (ภาพโค้ดประกอบท้ายข่าว) และพบว่าตัวโค้ดที่กระตุ้นให้แครชสามารถทำให้ตัวคอมไพล์เลอร์ของโครมสร้างโค้ดตามที่กำหนดได้หากวางโค้ดอย่างถูกต้อง และตัวโครมเองจองหน่วยความจำสำหรับโค้ดจาก V8 ไว้เป็นแบบ RWX (อ่าน-เขียน-รันโค้ด ได้) ทำให้เปิดช่องว่างให้แฮกเกอร์สามารถนำโค้ดใดๆ ไปรันบนเครื่องของเหยื่อได้

OSR ระบุว่าแนวทางแบบนี้โจมตี Edge ได้ยากมาก เพราะกระบวนการป้องกันเพิ่มเติม เช่น Control Flow Guard (CFG), Arbitrary Code Guard (ACG), Less Privileged AppContainer (LPAC), และ Windows Defender Application Guard (WDAG) ช่วยป้องกันการโจมตีเหล่านี้ และสถาปัตยกรรมความปลอดภัยของโครมที่หลายครั้งเลือกจะรวมแท็บต่างๆ ไว้ในโปรเซสเดียวกัน ทำให้โค้ดจากโดเมนหนึ่งๆ สามารถขโมยข้อมูลจากโดเมนอื่นไปได้ด้วย

ทาง OSR รายงานช่องโหว่ไปยังกูเกิลตั้งแต่ 14 กันยายนที่ผ่านมา โดยช่องโหว่นี้ได้รับเงินรางวัล 7,500 ดอลลาร์ เมื่อรายงานพร้อมๆ กับบั๊กอื่นๆ รวมเงินรางวัล 15,837 ไมโครซอฟท์ตัดสินใจไม่รับเงินรางวัล ทางกูเกิลจึงบริจาคเงิน 30,000 ดอลลาร์เข้าไปยัง Denise Louie Education Center ในซีแอตเทิล

กูเกิลส่งโค้ดแก้บั๊กภายใน 4 วันหลังได้รับรายงาน และปล่อยอัพเดตอีกสามวันถัดมา (รวม 7 วันหลังได้รับรายงานจากไมโครซอฟท์) ตัวรายงานบั๊กใน issue tracker ยังคงปิดลับ แต่โค้ดที่ใช้แก้ไขกลับเปิดต่อสาธารณะและมีโค้ดทดสอบอยู่ด้วยเสร็จสรรพ ไมโครซอฟท์ติงว่าแนวทางแบบนี้ไมโครซอฟท์ไม่ทำเพราะจะเปิดโอกาสให้แฮกเกอร์มาเห็นช่องโหว่ก่อน เช่น Chakra ก็รอให้มีแพตช์ไปยังผู้ใช้ก่อนจึงจะเปิดโค้ดใน Git

ที่มา - Technet

Blognone Jobs Premium