StackRot ช่องโหว่ใหม่ใน Linux kernel ที่ทำให้ผู้โจมตีสามารถยกระดับสิทธิ์ได้

Ruihan Li นักวิจัยด้านความปลอดภัยรายงานช่องโหว่ StackRot (CVE-2023-3269) ซึ่งเป็นช่องโหว่ระดับความรุนแรงสูง ที่ส่งผลกระทบต่อ Linux kernel หลายเวอร์ชัน และสามารถเรียกใช้งานได้ง่าย เพื่อโจมตี kernel และยกระดับสิทธิ์ โดยในขณะนี้แพตซ์อัปเดตเพื่อแก้ไขช่องโหว่ดังกล่าวได้ถูกปล่อยออกมาแล้วตั้งแต่วันที่ 1 กรกฎาคม 2023 รวมถึงรายละเอียดที่เกี่ยวข้องกับช่องโหว่ และ exploit code จะถูกเปิดเผยภายในสิ้นเดือนนี้ (more…)

15-year-old Linux kernel bugs let attackers gain root privileges

นักวิจัยค้นพบช่องโหว่ที่อยู่ใน Linux kernel ช่วยให้ผู้โจมตีสามารถยกระดับสิทธิ์เป็น Root บน Linux ได้

Adam Nichols นักวิจัยด้านความปลอดภัยจาก GRIMM ได้เปิดเผยถึงช่องโหว่สามรายการที่พบใน iSCSI subsystem ของ Linux kernel ที่อาจทำให้ผู้โจมตีที่อยู่ภายในระบบและมีสิทธิ์ผู้ใช้ทั่วไปสามารถได้ยกระดับสิทธิ์เป็น Root บนระบบระบบปฏิบัติการ Linux ได้

ช่องโหว่ทั้งสามถูกค้นพบโดยนักวิจัยจาก GRIMM ซึ่งได้ค้นพบข้อบกพร่องดังกล่างที่อยู่ในโมดูล kernel scsi_transport_iscsi ในระบบ iSCSI kernel subsystem ที่ถูกพัฒนาอย่างต่อเนื่องตั้งเเต่ปี 2006 โดยช่องโหว่จะส่งผลกระทบกับระบบ Linux distribution ทั้งหมด

ช่องโหว่ถูกติดตามด้วยรหัส CVE-2021-2736, CVE-2021-27363 และ CVE-2021-27364 ซึ่งช่องโหว่จะทำให้ผู้โจมตีสามารถใช้ช่องโหว่นี้เพื่อ Bypass ฟีเจอร์การป้องกันของระบบรักษาความปลอดภัยที่จะปิดกั้นช่องโหว่เช่น Kernel Address Space Layout Randomization (KASLR), Supervisor Mode Execution Protection (SMEP), Supervisor Mode Access Prevention (SMAP) และ Kernel Page-Table Isolation (KPTI) และช่องโหว่จะสามารถทำให้ผู้โจมตีที่อยู่ภายในระบบสามารถยกระดับสิทธิ์เป็น Root บนระบบระบบปฏิบัติการได้

ทั้งนี้ช่องโหว่ทั้งสามได้รับการแก้ไขแล้วใน Linux kernel ตั้งแต่เวอร์ชัน 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 และ 4.4.260 และแพตช์อัปเดตความปลอดภัยก็ถูกปล่อยออกมาแล้วใน Linux kernel เมื่อวันที่ 7 มีนาคม ทั้งนี้จะไม่มีการปล่อยแพตช์สำหรับ Linux kernel เวอร์ชันที่ไม่รองรับหรือ EOL ไปแล้วเช่นเวอร์ชัน 3.x และ 2.6.23 ผู้ดูแลระบบปฏิบัติการ Linux ควรทำการอัปเดต Linux kernel ให้เป็นเวอร์ชันที่ได้รับการเเก้ไขช่องโหว่แล้วเพื่อป้องกันการตกเป็นเป้าหมายของการโจมตี

ที่มา: bleepingcomputer

แจ้งเตือนช่องโหว่ตระกูล SACK Panic ยิง FreeBSD และลินุกซ์ดับดิ้นได้จากระยะไกล

เมื่อวันที่ 17 มิถุนายน 2019 ที่ผ่านมา ทีม Security Engineer จาก Netflix ได้มีการเปิดเผย 4 ช่องโหว่ใหญ่ในส่วนของโปรแกรมซึ่งอิมพลีเมนต์โปรโตคอล TCP ในระบบ FreeBSD และลินุกซ์ ซึ่งส่งผลให้ด้วยการส่งแพ็คเกตที่มีลักษณะเฉพาะบางประการ แฮกเกอร์สามารถล่มระบบใดก็ได้ได้จากระยะไกล

ทีม Intelligent Response จาก บริษัทไอ-ซีเคียว จำกัด จะมาติดตามรายละเอียดของช่องโหว่นี้ พร้อมทั้งอธิบายที่มา การตรวจจับและการป้องกันการโจมตีช่องโหว่นี้ในโพสต์นี้กันครับ

รายละเอียดช่องโหว่โดยย่อ
ที่มาของช่องโหว่
การโจมตีช่องโหว่
ระบบที่ได้รับผลกระทบ
การตรวจจับการโจมตี
การป้องกันการโจมตี

รายละเอียดของช่องโหว่โดยย่อ
ช่องโหว่ในตระกูล SACK Panic นี้มีทั้งหมด 4 ช่องโหว่ ได้แก่

ช่องโหว่ SACK Panic รหัส CVE-2019-11477 คะแนน CVSSv3 7.5
ช่องโหว่ SACK Slowness รหัส CVE-2019-11478 คะแนน CVSSv3 5.3
ช่องโหว่ SACK Slowness รหัส CVE-2019-5599 ยังไม่มีการระบุคะแนน CVSS
ช่องโหว่ไม่มีชื่อเฉพาะ รหัส CVE-2019-11479 คะแนน CVSSv3 5.3

ที่มาของช่องโหว่
อ้างอิงจาก Security Advisories ของ Netflix ช่องโหว่ทั้ง 4 ช่องโหว่นี้เป็นช่องโหว่ที่เกิดขึ้นในส่วนของโค้ดซึ่งอยู่ในแกนกลางของระบบปฏิบัติการ FreeBSD และเคอร์เนลของระบบปฏิบัติการลินุกซ์ซึ่งทำหน้าที่เกี่ยวข้องกับโปรโตคอล TCP โดยช่องโหว่เหล่านี้นั้นเกี่ยวข้องกับการกำหนดค่า minimum segment size (MSS) และค่า TCP Selective Acknowledgement (SACK) ซึ่งทั้งสองค่าเป็นการตั้งค่าของโปรโตคอล TCP

สำหรับช่องโหว่แรกคือ SACK PANIC (CVE-2019-11477) นั้นเป็นช่องโหว่ซึ่งเกิดขึ้นเมื่อผู้โจมตีมีการสร้างลำดับของแพ็คเกต TCP ซึ่งมีลำดับของค่า SACK เฉพาะ โดยเมื่อส่งไปยังเป้าหมายซึ่งมีช่องโหว่แล้ว จะทำให้เกิดการเงื่อนไข integer overflow ซึ่งนำไปสู่เงื่อนไขการทำงานที่ผิดพลาดของเคอร์เนล (Kernel panic) และทำให้เกิดเงื่อนไข DoS ได้

ในส่วนของช่องโหว่ที่สองคือ SACK Slowness (CVE-2019-11478) นั้นเป็นช่องโหว่ที่ทำให้เกิดการใช้งานทรัพยากรของระบบมากขึ้นโดยเป็นผลมาจากการได้รับลำดับของแพ็คเกต TCP ที่มีค่า SACK เฉพาะซึ่งจะทำให้เกิดการแบ่งส่วนในกระบวนการจัดลำดับเพื่อจัดส่งแพ็คเกตใหม่ในโปรโตคอล TCP ในลักษณะที่ไม่ถูกต้องได้

ช่องโหว่ที่สามหรือช่องโหว่ SACK Slowness (CVE-2019-5599) เป็นช่องโหว่ที่เกิดขึ้นในลักษณะที่คล้ายกับ SACK Slowness (CVE-2019-11478) จากความเหมือนกันในประเด็นเรื่องของผลกระทบและรูปแบบการโจมตี แต่แตกต่างในส่วนของคอมโพเนนต์และระบบปฏิบัติการที่ได้รับผลกระทบ

ช่องโหว่สุดท้ายในลำดับ 4 คือช่องโหว่รหัส CVE-2019-11479 เป็นช่องโหว่ที่ทำให้เกิดการใช้งานทรัพยากรของระบบที่มากขึ้นหรือมากเกินซึ่งเป็นผลมาจากการกำหนดค่า MSS ต่ำ โดยผู้โจมตีนั้นสามารถบังคับให้ลินุกซ์เคอร์เนลทำการแบ่งส่วนแพ็คเกตที่จะทำการตอบกลับออกเป็นหลาย TCP segment ที่มีขนาด 8 ไบต์ ซึ่งส่งผลให้ระบบจำเป็นต้องใช้แบนด์วิธและทรัพยากรอื่นๆ ที่มากขึ้นในการส่ง เงื่อนไขเดียวในการโจมตีข่องโหว่นี้คือการที่ผู้โจมตีจะต้องทำการโจมตีอยู่ตลอดเวลา เนื่องจากความเสียหายที่เกิดจากการโจมตีนั้นจะหยุดหากการโจมตีหยุดลงทันที
การโจมตีช่องโหว่
ยังไม่มีการปรากฎของโค้ดหรือ PoC ที่ใช้สำหรับโจมตีช่องโหว่ในขณะนี้
ระบบที่ได้รับผลกระทบ

ช่องโหว่ SACK Panic (CVE-2019-11477) ส่งผลกระทบกับลินุกซ์เคอร์เนลตั้งแต่เวอร์ชัน 2.6.29 เป็นต้นไป
ช่องโหว่ SACK Slowness (CVE-2019-11478) ส่งผลกระทบกับลินุกซ์เคอร์เนลรุ่น 4.15 หรือต่ำกว่า
ช่องโหว่ SACK Slowness (CVE-2019-5599) ส่งผลกระทบกับ FreeBSD รุ่น 12 ที่ใช้ RACK TCP Stack
ช่องโหว่ CVE-2019-11479 ส่งผลกระทบกับลินุกซ์ทุกเวอร์ชัน

การตรวจจับการโจมตี
ช่องโหว่ทั้งหมดนั้นมี Attack vector เป็นเน็ตเวิร์กซึ่งส่งผลให้อุปกรณ์เน็ตเวิร์กที่สามารถตรวจสอบคุณลักษณะของแพ็คเกตได้นั้นสามารถใช้เพื่อตรวจจับการโจมตีได้ อย่างไรก็ตามเรายังไม่พบการประกาศ Signature หรือแพทเทิร์นในการตรวจจับการโจมตีในขณะนี้ โดยจะทำการอัปเดตหากมีความคืบหน้า

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

ทำการอัปเดตแพตช์เฉพาะของช่องโหว่หากยังไม่มีการอัปเดตจากโครงการของเคอร์เนล โดยให้ดำเนินการดังนี้

สำหรับช่องโหว่ SACK Panic (CVE-2019-11477) ให้ทำการอัปเดตแพตช์ PATCH_net_1_4.patch ในกรณีที่ลินุกซ์เคอร์เนลเป็นเวอร์ชัน 4.14 หรือใหม่กว่า ให้ทำการอัปเดตแพตช์ PATCH_net_1a.patch ไปพร้อมกันด้วย
สำหรับช่องโหว่ SACK Slowness (CVE-2019-11478) ให้ทำการอัปเดตแพช์ PATCH_net_2_4.patch กับเคอร์เนล
สำหรับช่องโหว่ SACK Slowness (CVE-2019-5599) ให้ทำการอัปเดตแพตช์ split_limit.

CVE-2019-11815 Remote Code Execution affects Linux Kernel prior to 5.0.8

CVE-2019-11815 Remote Code Execution affects Linux Kernel prior to 5.0.8

ระบบปฏิบัติการลินุกซ์ซึ่งรันบนเคอร์เนลรุ่นต่ำกว่า 5.0.8 อาจมีความเสี่ยงหลังจากมีการตรวจพบช่องโหว่ race condition ซึ่งนำไปสู่เงื่อนไขของ use-after-free ส่งผลให้ผู้โจมตีสามารถรันโค้ดที่เป็นอันตรายได้จากระยะไกล

ช่องโหว่ CVE-2019-11815 นี้เป็นช่องโหว่ซึ่งอยู่ในส่วนโค้ดที่อิมพลีเมนต์โปรโตคอล TCP/IP โดยการโจมตีนั้นสามารถทำได้เพียงแต่ส่งแพ็คเกต TCP ไปยังระบบเป้าหมายที่มีช่องโหว่จนกว่าจะเกิดเงื่อนไขที่ทำให้การโจมตช่องโหว่นั้นสำเร็จโดยไม่ต้องมีการพิสูจน์ตัวตนและไม่ต้องอาศัยการมีปฏิสัมพันธ์จากผู้ใช้งาน

อย่างไรก็ตามแม้ว่าความรุนแรงของช่องโหว่ตามมาตรฐานของ CVSSv3 จะสูงถึง 8.1/10 แต่ความง่ายในการโจมตีช่องโหว่นั้นกลับได้คะแนนเพียงแค่ 2.2/10 หรือค่อนข้างยาก ส่งผลให้คะแนน CVSSv3 โดยรวมนั้นมีเพียงแค่ 5.9/10 คะแนน

นักพัฒนาเคอร์เนลได้มีการประกาศแพตช์สำหรับช่องโหว่นี้แล้วในช่วงปลายเดือนมีนาคม โดยคาดว่าเคอร์เนลรุ่นใหม่ในรุ่น 5.0.8 ซึ่งจะถูกปล่อยในเร็วๆ นี้จะมีการรวมแพตช์ของช่องโหว่ดังกล่าวไปด้วย

ที่มา : securityaffairs

Linux Kernel Bug Reclassified as Security Issue After Two Years

เมื่อบั๊กกลายเป็นช่องโหว่ แพตช์ Linux Kernel ล่าสุดปิดช่องโหว่ด้านความปลอดภัยอายุกว่า 2 ปี
Linux distros หลายตัวกำลังออกอัพเดตความปลอดภัยสำหรับเวอร์ชัน OS ที่ใช้ Kernel รุ่นเก่ากว่า Linux kernel 4.0 หลังจากเพิ่งพบข้อผิดพลาดของหน่วยความจำ ข้อผิดพลาดนี้ถูกค้นพบในช่วงเดือนเมษายน 2015 และได้

รับการแก้ไขใน Linux kernel 4.0 ข้อผิดพลาดนี้ถูกมองว่าเป็นปัญหาเล็กน้อยในตอนแรก ทำให้ถูกละเลยจากการแก้ไข และระบบ Server อาจยังคงมีช่องโหว่หากพวกเขายังคงใช้ Kernel 3.x ที่เก่ากว่ารุ่นปัจจุบันของ Linux LTS distro

ผู้บุกรุกสามารถใช้ประโยชน์จากข้อผิดพลาดผ่านไฟล์ ELF ที่เป็นอันตรายซึ่งสร้างเพื่อการโจมตีแบบ Position-Independent Execution (PIEs) เมื่อ Linux Kernel โหลดไบนารีที่เป็นอันตรายลงในหน่วยความจำ Kernel จะไม่สามารถจัดสรรหน่วยความจำได้เพียงพอ นำไปสู่การ Mapped เหนือพื้นที่หน่วยความจำที่สำรองไว้สำหรับการ Stack ซึ่งอาจทำให้เกิดความเสียหายของหน่วยความจำได้ และยกระดับสิทธิ์ให้กับผู้บุกรุก ข้อผิดพลาดนี้ได้รับตัวบ่งชี้ความปลอดภัย CVE-2017-1000253 และคะแนนความรุนแรง CVSSv3 7.8 ที่ 10 ซึ่งสูงมาก

Linux distros เช่น Red Hat, Debian และ CentOS ได้ออกการปรับปรุงเพื่อแก้ไขข้อบกพร่องสำหรับการกระจาย LTS ที่เก่ากว่าซึ่งใช้เคอร์เนล 3.x อยู่ในขณะนี้ และนักวิจัยจาก Qualys ยังได้สัญญาว่าจะเผยแพร่เอกสารที่พิสูจน์แนวทางการโจมตีนี้ในภายหลัง

ที่มา: bleepingcompute

ZNIU, the first Android malware family to exploit the Dirty COW vulnerability

ผู้เชี่ยวชาญด้านความปลอดภัยจาก Trend Micro ได้พบมัลแวร์ Android รุ่นใหม่ชื่อว่า ZNIU ที่ใช้ประโยชน์จากช่องโหว่ Dirty COW ซึ่งเป็นช่องโหว่บน Linux kernel โดยช่องโหว่นี้จะทำให้ผู้ใช้ที่มีสิทธิ์อ่านไฟล์ สามารถมีสิทธิ์เขียนไฟล์ด้วย ถึงแม้ว่าไฟล์นั้นต้องการสิทธิ์ของ root ในการเขียนก็ตาม รวมถึงสามารถสั่ง setuid ไฟล์นั้นเพื่อให้ถูกรันด้วยสิทธิ์ของ root ได้ด้วย

มัลแวร์ ZNIU ถูกตรวจพบแล้วในกว่า 40 ประเทศทั่วโลกเมื่อเดือนที่แล้ว และพบว่ามี Application มากกว่า 1200 รายการ ที่มีการติดต่อไปยังเวปไซต์ที่คาดว่าเกี่ยวข้องกับมัลแวร์ตัวนี้ โดยจะพบใน Application สำหรับผู้ใหญ่(Porn Application) มากที่สุด Application เหล่านี้จะมีการใช้งาน rootkit เพื่อใช้ในการโจมตีผ่านช่องโหว่ Dirty COW ผู้เชี่ยวชาญกล่าวว่า Code ที่ใช้ในการโจมตีจะทำงานได้เฉพาะกับอุปกรณ์แอนดรอยด์ที่ใช้สถาปัตยกรรม ARM/X86 64 บิตเท่านั้น และสามารถเจาะเข้าไปเพื่อทำการสร้าง backdoor บน SELinux ได้ เมื่อมีการติดตั้ง Application เรียบร้อยแล้ว จะมีการเรียกไปยังเวปไซต์ที่เป็นอันตราย เพื่อทำการดาวน์โหลด rootkit มาลงบนเครื่อง จากนั้นจึงทำการเพิ่มสิทธิ์ตัวเองให้เป็น root และจะมีการสร้าง backdoor ขึ้นมา ทั้งนี้พบว่า Domain และ Server ในการส่งคำสั่งและการควบคุมมัลแวร์อยู่ในประเทศจีน นอกเหนือจากนี้ยังพบว่ามัลแวร์มีพฤติกรรมหลอกลวงเพื่อหาเงินผ่านการใช้ SMS-enabled payment service ซึ่งเป็นบริการที่สามารถใช้ได้ในประเทศจีนเท่านั้น

ทั้งนี้ผู้ใช้งานควรเลือกติดตั้ง Application ที่มาจาก Google Play หรือ third-party ที่น่าเชื่อถือเท่านั้น หรือลง Application ที่ช่วยเรื่องความปลอดภัยบนมือถือที่ใช้งาน

ที่มา:securityaffairs

Zero-Day Flaw Found in Linux

Perception Point บริษัททางด้านความปลอดภัยจากอิสราเอล ได้ออกมาประกาศถึงช่องโหว่ Zero-day ที่เพิ่งค้นพบ ซึ่งเปิดให้ผู้โจมตีสามารถยกระดับสิทธิ์ตัวเองเป็น Root ได้ และคาดว่าอุปกรณ์ Linux ทั่วโลกกว่า 66% จะได้รับผลกระทบจากช่องโหว่นี้

ช่องโหว่นี้เกี่ยวข้องกับ Memory-leak และถูกกำหนดให้เป็นช่องโหว่รหัส CVE-2016-0728 ซึ่งช่องโหว่นี้พบว่ามีผลกระทบมาตั้งแต่ปี 2012 บน Linux Kernel รุ่น 3.8 ทั้งแบบ 32-bit และ 64-bit แต่ยังไม่มีข่าวคราวของการโจมตีด้วยช่องโหว่นี้อย่างรุนแรงเกิดขึ้นแต่อย่างใด
ข่าวดีก็คือทาง Linux, Red Hat และ SUSE เตรียมออก Patch อุดช่องโหว่แล้วหลังได้รับการแจ้งเตือนนี้ แต่ข่าวร้ายตกเป็นของผู้ใช้งาน Android ทั่วโลกเพราะ Google ยังไม่ออกมายืนยันกำหนดการ Patch แต่อย่างใด ดังนั้นผู้ใช้งานทุกคนจึงควรระมัดระวังเป็นพิเศษในช่วงนี้ และรอติดตาม Patch กันดีๆ

หัวใจของวิธีการโจมตีนี้ก็คือการทำให้ Keyring นั้นนับจำนวนครั้งที่ถูกอ้างถึงไปจน Overflow กลับมาเป็น 0 และเมื่อ Kernel เห็นว่า Keyring นี้ถูกอ้างถึง 0 ครั้ง ก็จะคิดว่า Keyring นี้ไม่เป็นที่ต้องการอีกต่อไป และเป็นช่องให้ผู้โจมตีสามารถเข้าควบคุม Keyring นี้เพื่อเอาไปใช้เข้าถึงข้อมูลที่เกี่ยวกับความปลอดภัยของระบบ และใช้ยกระดับสิทธิ์ของตัวเองขึ้นมาเป็น Root ได้นั่นเอง

ทั้งนี้การเปิดใช้งาน Supervisor Mode Execution Protection (SMEP) และ Supervisor Mode Access Prevention (SMAP) หรือการใช้ SELinux ก็จะทำให้การโจมตีด้วยวิธีการเหล่านี้ยากขึ้นมากจนถึงขั้นเป็นไปไม่ได้เลย

ที่มา : Data Breach