Tags:
Node Thumbnail

Project Zero วิเคราะห์ระบบสร้างค่าสุ่มของเคอร์เนลลินุกซ์ และพบว่าอ่อนแอกว่าที่ออกแบบไว้อย่างมากเมื่อผู้ใช้เริ่มขอค่าสุ่มตั้งแต่ระบบเริ่มบูตใหม่ๆ

ปัญหาหนึ่งคือมีการล้างค่าเริ่มต้นการสุ่มออกเมื่อเริ่มต้นระบบสร้างค่าสุ่ม และผู้ใช้ส่วนมากก็ไม่ได้รอให้ระบบบูตไปนานเพียงพอ แต่เริ่มขอค่าสุ่มทันทีที่ ฟังก์ชั่น crng_ready() เป็นจริง แต่ฟังก์ชั่นนี้มีข้อจำกัดที่หลายกรณีกลับไม่ได้เตรียมค่าสุ่มไว้เพียงพอ โดยตรวจเพียงว่าแหล่งเริ่มต้นค่าสุ่มนั้นได้รับมาครบ 64 ไบต์หรือไม่ โดยแหล่งเริ่มต้นค่าสุ่มได้แก่ ตาราง DMI, อาร์กิวเมนต์คำสั่งเคอร์เนล, ค่า MAC, หมายเลข USB ในบางกรณีการอ่านค่าจากตาราง DMI อย่างเดียวก็มีขนาดเกิน 64 ไบต์ ทำให้ระบบคิดว่าค่าสุ่มปลอดภัยแล้ว แต่ในความเป็นจริงค่าสุ่มกลับยังไม่ปลอดภัยเพียงพอ

ทางผู้ดูแลเคอร์เนลปรับแก้โค้ดใน git แล้ว โดยเพิ่มความรัดกุมใน crng_ready() ให้สูงขึ้น อย่างไรก็ดี การโจมตีในระบบใหม่ๆ อาจจะจำกัดพอสมควร เพราะระบบใหม่ๆ มักเปิด ASLR ซึ่งทำให้มีอินเทอร์รัปต์สร้างความสุ่มให้ระบบ, มีคำสั่ง RDRAND ที่ดึงค่าสุ่มที่แท้จริง (True Random Number Generator - TRNG) เป็นฮาร์ดแวร์, ตลอดจนความร้อนในห้องและการปรับความเร็วซีพียูล้วนเพิ่มความสุ่มได้ทั้งสิ้น

ที่มา - Project Zero

Get latest news from Blognone

Comments

By: shayennn on 2 May 2018 - 19:46 #1047559
shayennn's picture

Project Zero รายงานค่าสู่ของลินุกซ์ช่วงเริ่มบูตไม่ปลอดภัย เป็นหนักในรุ่น 4.14 ขึ้นมา => Project Zero รายงานค่าสุ่มของลินุกซ์ช่วงเริ่มบูตไม่ปลอดภัย เป็นหนักในรุ่น 4.14 ขึ้นมา

By: big50000
AndroidSUSEUbuntu
on 2 May 2018 - 19:50 #1047560
big50000's picture

ผมงงตรงย่อหน้าที่ 3 บรรทัดสุดท้าย

By: panurat2000
ContributorSymbianUbuntuIn Love
on 3 May 2018 - 14:07 #1047659 Reply to:1047560
panurat2000's picture

ตลอดจนความร้อนในห้องและการปรับความเร็วซีพียูล้วนเพิ่มความสุ่มได้ทั้งสิ้น

เพิ่มความสุ่ม ?

By: hisoft
ContributorWindows PhoneWindows
on 3 May 2018 - 15:14 #1047666 Reply to:1047659
hisoft's picture

เพิ่มความสุ่ม -> เพิ่มความมั่วของการสุ่ม

By: nant
ContributorWindows PhoneRed HatUbuntu
on 2 May 2018 - 22:13 #1047567

Project Zero รายงานค่าสู่

ค่าสู่ -> ค่าสุ่ม