Andrey Konovalov แบ่งปันวิธีการปิดใช้งานการปิดล็อก

Andrey konovalov วิศวกรซอฟต์แวร์ของ Google เปิดเผยวิธีปิดการใช้งานการป้องกันจากระยะไกล ออกโรง นำเสนอในเคอร์เนล Linux ที่ให้มาใน Ubuntu ซึ่ง แสดงว่าวิธีการป้องกันไม่ได้ผลนอกจากนี้เขายังกล่าวด้วยว่าวิธีการที่เขาเปิดเผยในทางทฤษฎีควรใช้ได้กับเคอร์เนล Fedora และการแจกแจงอื่น ๆ ด้วย (แต่ยังไม่ได้รับการทดสอบ)

สำหรับผู้ที่ไม่ทราบถึงการออกโรง พวกเขาควรรู้ว่ามันเป็นส่วนประกอบของเคอร์เนลลินุกซ์ที่ หน้าที่หลักคือ จำกัด การเข้าถึงของผู้ใช้ root ในเคอร์เนลของระบบ และฟังก์ชันนี้ ถูกย้ายไปยังโมดูล LSM โหลดทางเลือก (Linux Security Module) ซึ่ง สร้างกำแพงกั้นระหว่าง UID 0 และเคอร์เนลจำกัด ฟังก์ชันระดับต่ำบางฟังก์ชัน

สิ่งนี้ช่วยให้ฟังก์ชันการล็อกเป็นไปตามนโยบายแทนที่จะเป็นการเข้ารหัสนโยบายโดยนัยภายในกลไกอย่างหนัก ดังนั้นการล็อกที่รวมอยู่ในโมดูลความปลอดภัยของลินุกซ์จึงให้การใช้งานกับนโยบายที่เรียบง่าย มีไว้สำหรับการใช้งานทั่วไป นโยบายนี้จัดเตรียมระดับความละเอียดที่ควบคุมได้ผ่านบรรทัดรับคำสั่งเคอร์เนล

เกี่ยวกับการออกโรง

การล็อก จำกัด การเข้าถึงรูทไปยังเคอร์เนลและบล็อกพา ธ บายพาสการบูตที่ปลอดภัยของ UEFI

ตัวอย่างเช่นในโหมดล็อคการเข้าถึง / dev / mem, / dev / kmem, / dev / port, / proc / kcore, debugfs, debug mode kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS และอื่น ๆ อินเทอร์เฟซบางอย่าง ได้แก่ จำกัด เช่นเดียวกับการลงทะเบียน ACPI และ MSR ของ CPU

ในขณะที่การเรียก kexec_file และ kexec_load ถูกล็อกโหมดสลีปจะถูกห้ามการใช้ DMA สำหรับอุปกรณ์ PCI มีข้อ จำกัด ห้ามนำเข้ารหัส ACPI จากตัวแปร EFI และการจัดการกับพอร์ตอินพุต / เอาต์พุตรวมถึงการเปลี่ยนหมายเลขอินเตอร์รัปต์และ I / O พอร์ตสำหรับพอร์ตอนุกรม

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

ที่นี่ความแตกต่างอย่างหนึ่งระหว่างปลั๊กอินที่มีให้ในการแจกแจงและการใช้งานเคอร์เนลแบบฝังคือความสามารถในการปิดใช้งานการล็อกที่ให้มาเมื่อมีการเข้าถึงระบบทางกายภาพ

Ubuntu และ Fedora ใช้คีย์ผสม Alt + SysRq + X เพื่อปิดใช้งานการล็อก เป็นที่เข้าใจกันว่า Alt + SysRq + X สามารถใช้ได้เฉพาะกับการเข้าถึงทางกายภาพไปยังอุปกรณ์และในกรณีที่มีการโจมตีระยะไกลและการเข้าถึงรูทผู้โจมตีจะไม่สามารถปิดใช้งานการล็อกได้

สามารถปิดการล็อกจากระยะไกลได้

Andrei Konovalov พิสูจน์แล้วว่า วิธีการเกี่ยวกับแป้นพิมพ์สำหรับ การยืนยันว่าผู้ใช้มีอยู่จริงไม่ได้ผล

มัน เปิดเผยว่าวิธีที่ง่ายที่สุดในการปิดใช้งานการล็อกคือการจำลอง กด Alt + SysRq + X ตลอด / dev / uinputแต่ตัวเลือกนี้ถูกบล็อกในตอนแรก

แต่ อย่างน้อยอีกสองวิธีในการทดแทน Alt + SysRq + X.

  • วิธีแรกเกี่ยวข้องกับการใช้อินเทอร์เฟซ sysrq-ทริกเกอร์: เพื่อจำลองให้เปิดใช้งานอินเทอร์เฟซนี้โดยพิมพ์ "1" ใน / proc / sys / kernel / sysrq แล้วพิมพ์ "x" ใน / proc / sysrq-trigger.
    ช่องว่างนี้ได้รับการแก้ไขในการอัปเดตเคอร์เนล Ubuntu ในเดือนธันวาคมและใน Fedora 31 เป็นที่น่าสังเกตว่านักพัฒนาเช่นในกรณีของ / dev / uinputในตอนแรกพวกเขาพยายามบล็อกวิธีนี้ แต่การบล็อกไม่ได้ผลเนื่องจากข้อบกพร่องในโค้ด
  • วิธีที่สองคือการจำลองแป้นพิมพ์ผ่าน USB / IP จากนั้นส่งลำดับ Alt + SysRq + X จากแป้นพิมพ์เสมือน
    ในเคอร์เนล USB / IP ที่จัดเตรียมโดย Ubuntu จะเปิดใช้งานโดยค่าเริ่มต้นและโมดูล usbip_core y vhci_hcd จำเป็นต้องมีลายเซ็นดิจิทัลที่จำเป็น
    ผู้โจมตีสามารถสร้างอุปกรณ์ USB เสมือนได้โดยเรียกใช้ตัวควบคุมเครือข่ายบนอินเทอร์เฟซลูปแบ็คและเชื่อมต่อเป็นอุปกรณ์ USB ระยะไกลโดยใช้ USB / IP

วิธีการที่ระบุได้รับการรายงานไปยังนักพัฒนา Ubuntu แล้ว แต่ยังไม่มีการเผยแพร่โซลูชัน

Fuente: https://github.com


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา