วิธีการตรวจจับและลดการเพิ่มช่องโหว่ของสิทธิพิเศษบนระบบ Linux (CVE-2017-5689)


26

ตามประกาศศูนย์ความปลอดภัยของ Intelลงวันที่ 1 พฤษภาคม 2017 มีช่องโหว่ที่สำคัญสำหรับโปรเซสเซอร์ Intel ซึ่งอาจทำให้ผู้โจมตีได้รับสิทธิพิเศษ (การเพิ่มระดับสิทธิ์) โดยใช้ AMT, ISM และ SBT

เนื่องจาก AMT สามารถเข้าถึงฮาร์ดแวร์เครือข่ายของคอมพิวเตอร์ได้โดยตรงช่องโหว่ฮาร์ดแวร์นี้จะทำให้ผู้โจมตีสามารถเข้าถึงระบบใด ๆ ได้

มีการเพิ่มระดับความเสี่ยงของสิทธิ์พิเศษในIntel® Active Management Technology (AMT), Intel® Standard Managementability (ISM) และเฟิร์มแวร์Intel® Small Business Technology เวอร์ชัน 6.x, 7.x, 8.x 9.x, 10 .x, 11.0, 11.5 และ 11.6 ที่สามารถอนุญาตให้ผู้โจมตีที่ไม่มีสิทธิได้รับการควบคุมคุณสมบัติการจัดการที่จัดทำโดยผลิตภัณฑ์เหล่านี้ ช่องโหว่นี้ไม่มีอยู่ในพีซีสำหรับผู้บริโภคที่ใช้ Intel

อินเทลได้เปิดตัวเครื่องมือการตรวจสอบที่มีอยู่สำหรับ Windows 7 และ 10. ฉันใช้ข้อมูลจากและโดยการค้นหาบนเว็บไซต์ของอินเทลพบว่าการใช้หน่วยประมวลผลของฉันdmidecode -t 4Intel® Active Management Technology (Intel® AMT) 8.0

ผลิตภัณฑ์ที่ได้รับผลกระทบ:

พบปัญหานี้ในเฟิร์มแวร์การจัดการ Intel รุ่น 6.x, 7.x, 8.x 9.x, 10.x, 11.0, 11.5 และ 11.6 สำหรับเทคโนโลยีIntel® Active Management, Intel® Small Business Technology และ Intel ®การจัดการมาตรฐาน เวอร์ชันก่อนหน้า 6 หรือหลัง 11.6 จะไม่ได้รับผลกระทบ

คำอธิบาย:

ผู้โจมตีในพื้นที่ที่ไม่ได้รับสิทธิพิเศษสามารถจัดเตรียมคุณสมบัติการจัดการที่ได้รับเครือข่ายที่ไม่ได้รับสิทธิพิเศษหรือสิทธิ์ระบบท้องถิ่นบน SKU ที่สามารถจัดการได้ของ Intel: Intel® Active Management Technology (AMT), Intel® Standard Managementability (ISM) และIntel® Small Business Technology (SBT)

ฉันจะตรวจจับและลดการเพิ่มช่องโหว่ของสิทธิพิเศษบนระบบ Linux ได้อย่างไร


1
กรณีนี้ซับซ้อนมากขึ้นเมื่อพวกเราหลายคนใช้ VMs สำหรับเครื่องจริงจะเพียงพอที่จะสแกนหาการให้บริการที่ UDP 16992 หรือไม่ +1
Rui F Ribeiro

2
ขั้นตอนการป้องกัน: ใช้ SPARC (ฉันรู้ฉันรู้ไม่ใช่วิธีที่เป็นไปได้) มี +1
Fox

3
@Fox อย่างพอเพียง ME CPU ในโปรเซสเซอร์ Intel คือ SPARC ทุกวันนี้ ;-)
Stephen Kitt

2
@StephenKitt จริงเหรอ? ฉันอาจต้องพิจารณาจุดยืนของฉันใหม่เกี่ยวกับชิปของ Intel! เครื่องของฉันเกือบทั้งหมดเป็น PPC หรือ SPARC ดังนั้นฉันต้องยอมรับความลำเอียงของฉันเป็นจริง
Fox

คำตอบ:


18

โพสต์ที่ชัดเจนที่สุดที่ฉันเคยเห็นในฉบับนี้คือMatthew Garrett’s (รวมถึงความคิดเห็น)

Matthew ได้เปิดตัวเครื่องมือเพื่อตรวจสอบระบบของคุณภายในเครื่อง: สร้างมันรันด้วย

sudo ./mei-amt-check

และจะรายงานว่า AMT เปิดใช้งานและเตรียมใช้งานหรือไม่และเป็นเวอร์ชั่นของเฟิร์มแวร์หรือไม่ (ดูด้านล่าง) READMEมีรายละเอียดเพิ่มเติม

ในการสแกนเครือข่ายของคุณสำหรับระบบที่มีช่องโหว่ให้สแกนพอร์ต 623, 624 และ 16992 ถึง 16993 (ตามที่อธิบายไว้ในเอกสารการลดขนาดของ Intel ) ตัวอย่างเช่น

nmap -p16992,16993,16994,16995,623,664 192.168.1.0/24

จะสแกนเครือข่าย 192.168.1 / 24 และรายงานสถานะของโฮสต์ทั้งหมดที่ตอบสนอง ความสามารถในการเชื่อมต่อกับพอร์ต 623 อาจเป็นผลบวกที่ผิดพลาด (ระบบ IPMI อื่นใช้พอร์ตนั้น) แต่พอร์ตที่เปิดจาก 16992 ถึง 16995 เป็นตัวบ่งชี้ที่ดีมากสำหรับ AMT ที่เปิดใช้งาน (อย่างน้อยถ้าตอบสนองอย่างเหมาะสม: ด้วย AMT นั่นหมายถึง การตอบกลับ HTTP ใน 16992 และ 16993 ซึ่งเป็นหลังที่มี TLS)

หากคุณเห็นการตอบสนองบนพอร์ต 16992 หรือ 16993 การเชื่อมต่อกับสิ่งนั้นและการร้องขอ/โดยใช้ HTTP จะส่งคืนการตอบกลับด้วยServerบรรทัดที่มี“ Intel (R) Active Management Technology” บนระบบที่เปิดใช้ AMT บรรทัดเดียวกันนั้นจะมีเวอร์ชั่นของเฟิร์มแวร์ AMT ที่ใช้งานซึ่งสามารถนำไปเปรียบเทียบกับรายการที่ระบุในคำแนะนำของ Intelเพื่อตรวจสอบว่ามีความเสี่ยงหรือไม่

ดูคำตอบของ CerberusSecสำหรับลิงก์ไปยังสคริปต์อัตโนมัติด้านบน

มีสองวิธีในการแก้ไขปัญหา“ ถูกต้อง”:

  • อัปเกรดเฟิร์มแวร์เมื่อผู้ผลิตระบบของคุณทำการอัปเดต (ถ้าเคย);
  • หลีกเลี่ยงการใช้พอร์ตเครือข่ายที่ให้ AMT โดยใช้เน็ตเวิร์กอินเตอร์เฟสที่ไม่ใช่ AMT บนระบบของคุณหรือโดยใช้อะแดปเตอร์ USB (เวิร์คสเตชั่น AMT จำนวนมากเช่นระบบ C226 Xeon E3 ที่มีพอร์ตเครือข่าย i210) มี AMT เพียงตัวเดียว ส่วนต่อประสานเครือข่ายที่มีความสามารถ - ส่วนที่เหลือปลอดภัยโปรดทราบว่า AMT สามารถทำงานผ่าน wi-fi อย่างน้อยใน Windows ดังนั้นการใช้ Wi-Fi ในตัวอาจทำให้เกิดการบุกรุกได้)

หากไม่มีตัวเลือกเหล่านี้แสดงว่าคุณอยู่ในช่วงการผ่อนปรน หากระบบที่สามารถใช้ AMT ของคุณไม่เคยได้รับการจัดสรรสำหรับ AMT แสดงว่าคุณมีความปลอดภัยพอสมควร การเปิดใช้งาน AMT ในกรณีนั้นสามารถทำได้ในท้องถิ่นเท่านั้นและเท่าที่ฉันสามารถบอกได้ว่าต้องการการใช้เฟิร์มแวร์หรือซอฟต์แวร์ Windows ของระบบของคุณ หากเปิดใช้งาน AMT คุณสามารถรีบูตและใช้เฟิร์มแวร์เพื่อปิดการใช้งาน (กดCtrlPเมื่อข้อความ AMT ปรากฏขึ้นระหว่างการบู๊ต)

โดยทั่วไปในขณะที่ช่องโหว่ของสิทธิ์ค่อนข้างน่ารังเกียจ แต่ดูเหมือนว่าระบบของ Intel ส่วนใหญ่จะไม่ได้รับผลกระทบใด ๆ สำหรับระบบของคุณที่ใช้ Linux หรือระบบปฏิบัติการ Unix ที่เหมือนกันการเลื่อนระดับอาจต้องมีการเข้าถึงระบบเพื่อเปิดใช้งาน AMT ตั้งแต่แรก (Windows เป็นอีกเรื่องหนึ่ง) ในระบบที่มีอินเตอร์เฟซเครือข่ายหลายจุดตามRui F Ribeiroคุณควรปฏิบัติต่อ AMT ที่ใช้งานได้ในลักษณะเดียวกับที่คุณจัดการกับอินเทอร์เฟซผู้ดูแลระบบ (IPMI หรืออินเตอร์เฟสโฮสต์ สำหรับ VM hypervisor) และแยกมันบนเครือข่ายการบริหาร (ฟิสิคัลหรือ VLAN) คุณไม่สามารถพึ่งพาโฮสต์เพื่อปกป้องตัวเอง: iptablesฯลฯ จะไม่มีประสิทธิภาพที่นี่เพราะ AMT เห็นแพ็คเก็ตก่อนที่ระบบปฏิบัติการจะทำ (และเก็บแพ็กเก็ต AMT ไว้กับตัวเอง)

VMs สามารถทำให้เกิดความซับซ้อนได้ แต่ในแง่ที่ว่าพวกเขาสามารถสร้างความสับสนให้กับ AMT และทำให้เกิดผลการสแกนที่สับสนหากเปิดใช้งาน AMT amt-howto(7)แสดงตัวอย่างของระบบ Xen ที่ AMT ใช้ที่อยู่ที่กำหนดให้กับ DomU บน DHCP ถ้ามีหมายความว่าการสแกนจะแสดง AMT ที่ใช้งานบน DomU ไม่ใช่ Dom0 ...


ไม่มีวิธีในการตรวจจับ AMT จาก Linux บนเครื่องหรือไม่ ใช้งาน/proc/cpuinfoหรือdmidecode?
dolmen

หมายความว่าหากระบบไม่ตอบสนองต่อพอร์ตใด ๆ เหล่านี้ว่าปลอดภัยจากช่องโหว่นี้หรือยังสามารถถูกโจมตีในเครื่องได้
comfreak

การลดขนาดแล็ปท็อปสามารถอยู่ในรูปแบบของการใช้ USB NIC แทนการใช้งานในตัว
Michael Mol

1
คุณเขียน "ทราบว่า AMT สามารถทำงานผ่าน wi-fi อย่างน้อยใน Windows" ฉันคิดว่าช่องโหว่นี้ทำงานเป็นอิสระจากระบบปฏิบัติการหรือไม่
wurtel

1
@wurtel ช่องโหว่นั้นไม่ขึ้นกับระบบปฏิบัติการบนอินเตอร์เฟสแบบมีสาย แต่ใน wi-fi AMT ดูเหมือนว่าต้องการความร่วมมือจากไดรเวอร์ของระบบปฏิบัติการที่รันอยู่: มันไม่ได้ดักจับแพ็คเก็ตมันขึ้นอยู่กับการส่งต่อแพ็กเก็ต - โปรดทราบว่าฉันไม่ได้ทำการทดสอบด้านนี้)
Stephen Kitt

8

เพียงตรวจสอบว่าพอร์ตที่เปิดอยู่สำหรับบริการนี้ไม่เพียงพอก็ไม่ได้ระบุว่าเวอร์ชันนั้นได้รับผลกระทบหรือไม่ ทีมของเราได้สร้างสคริปต์ไพ ธ อนที่ github ของเรา: CerberusSecurity / CVE-2017-5689ที่ตรวจพบว่าระบบเป้าหมายเสี่ยงต่อการถูกโจมตีจากระยะไกล

ตัวอย่างการใช้งาน:

python CVE_2017_5689_detector.py 10.100.33.252-255

สิ่งนี้จะช่วยให้คุณสามารถตรวจสอบว่าคุณถูกเอาเปรียบจากระยะไกล หากคุณสนใจเรายังเขียนบล็อกโพสต์สั้น ๆ ที่http://cerberussec.org/ด้วยจุดอ่อนของเรา


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.