มีการเพิ่มแพทช์สำหรับการสุ่มตำแหน่งแอดเดรสสแต็กเคอร์เนลแล้ว Linux ระหว่างการเรียกใช้ระบบ

คีส์ คุก อดีตหัวหน้าผู้ดูแลระบบของ kernel.org และผู้นำ Ubuntu ทีมรักษาความปลอดภัย ปัจจุบันทำงานที่ Google เพื่อรับประกันความปลอดภัย Android และ ChromeOS ได้เผยแพร่ชุดแพตช์ที่ใช้การสุ่มค่าออฟเซ็ตของสแต็กเคอร์เนลเมื่อจัดการกับการเรียกใช้ระบบ แพตช์เหล่านี้ช่วยเพิ่มความปลอดภัยของเคอร์เนลโดยการเปลี่ยนโครงสร้างสแต็ก ทำให้การโจมตีสแต็กทำได้ยากขึ้นและมีโอกาสประสบความสำเร็จน้อยลง การใช้งานเบื้องต้นรองรับโปรเซสเซอร์ ARM64 และ x86/x86_64

แนวคิดดั้งเดิมของแพทช์นี้มาจากโครงการ PaX RANDKSTACK ในปี 2019 Elena Reshetova วิศวกรจาก Intel ได้พยายามสร้างการใช้งานแนวคิดนี้ให้เหมาะสมเพื่อนำไปรวมไว้ในเคอร์เนลหลัก Linuxต่อมา Keith Cook ได้สานต่อแนวคิดนี้และนำเสนอการใช้งานที่เหมาะสมสำหรับเวอร์ชันเคอร์เนลหลัก มีการวางแผนที่จะรวมแพตช์เหล่านี้ไว้ในเวอร์ชัน 5.13 โหมดนี้จะถูกปิดใช้งานโดยค่าเริ่มต้น มีการเสนอให้ใช้พารามิเตอร์บรรทัดคำสั่งเคอร์เนล "randomize_kstack_offset=on/off" และการตั้งค่า CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT เพื่อเปิดใช้งาน คาดว่าการเปิดใช้งานโหมดนี้จะทำให้ประสิทธิภาพลดลงประมาณ 1%

สาระสำคัญของการป้องกันที่เสนอคือการเลือกการชดเชยสแต็กแบบสุ่มสำหรับการเรียกระบบแต่ละครั้ง ซึ่งทำให้ยากต่อการกำหนดโครงร่างสแต็กในหน่วยความจำ แม้ว่าจะได้รับข้อมูลที่อยู่แล้วก็ตาม เนื่องจากการเรียกของระบบครั้งถัดไปจะเปลี่ยนที่อยู่พื้นฐานของสแต็ก ต่างจากการใช้ PaX RANDKSTACK ในแพตช์ที่เสนอเพื่อรวมไว้ในเคอร์เนล การสุ่มไม่ได้ดำเนินการในระยะเริ่มต้น (cpu_current_top_of_stack) แต่หลังจากการตั้งค่าโครงสร้าง pt_regs ซึ่งทำให้ไม่สามารถใช้วิธีที่ใช้ ptrace เพื่อกำหนดออฟเซ็ตแบบสุ่มได้ ระหว่างการเรียกระบบที่ใช้เวลานาน

ที่มา: opennet.ru

ซื้อโฮสติ้งที่เชื่อถือได้สำหรับไซต์ที่มีการป้องกัน DDoS เซิร์ฟเวอร์ VPS VDS 🔥 ซื้อบริการเว็บโฮสติ้งที่เชื่อถือได้ พร้อมระบบป้องกัน DDoS และเซิร์ฟเวอร์ VPS/VDS | ProHoster