Dobësia në firmware-in e kontrolluesit BMC që prek serverët nga shumë prodhues

Kompania Eclypsium zbuluar dy dobësi në firmware-in e kontrolluesit BMC të ofruar në serverët Lenovo ThinkServer, duke lejuar një përdorues lokal të ndryshojë firmuerin ose të ekzekutojë kodin arbitrar në anën e çipit BMC.

Analiza e mëtejshme tregoi se këto probleme prekin edhe firmware-in e kontrollorëve BMC të përdorur në platformat e serverëve Gigabyte Enterprise Servers, të cilët përdoren gjithashtu në serverë nga kompani si Acer, AMAX, Bigtera, Ciara, Penguin Computing dhe sysGen. Kontrollorët problematikë BMC përdorën firmware të cenueshëm MergePoint EMS të zhvilluar nga shitësi i palës së tretë Avocent (tani një divizion i Vertiv).

Dobësia e parë është shkaktuar nga mungesa e verifikimit kriptografik të përditësimeve të shkarkuara të firmuerit (përdoret vetëm verifikimi i kontrollit CRC32, përkundrazi rekomandimet NIST përdor nënshkrime dixhitale), i cili lejon një sulmues me akses lokal në sistem të mashtrojë firmware-in BMC. Problemi, për shembull, mund të përdoret për të integruar thellësisht një rootkit që mbetet aktiv pas riinstalimit të sistemit operativ dhe bllokon përditësimet e mëtejshme të firmuerit (për të eliminuar rootkit, do t'ju duhet të përdorni një programues për të rishkruar flashin SPI).

Dobësia e dytë është e pranishme në kodin e përditësimit të firmuerit dhe ju lejon të zëvendësoni komandat tuaja, të cilat do të ekzekutohen në BMC me nivelin më të lartë të privilegjeve. Për të sulmuar, mjafton të ndryshoni vlerën e parametrit RemoteFirmwareImageFilePath në skedarin e konfigurimit bmcfwu.cfg, përmes të cilit përcaktohet shtegu drejt imazhit të firmuerit që përditësohet. Gjatë përditësimit të radhës, i cili mund të inicohet nga një komandë në IPMI, ky parametër do të përpunohet nga BMC dhe do të përdoret si pjesë e thirrjes popen() si pjesë e linjës për /bin/sh. Meqenëse linja për gjenerimin e komandës shell krijohet duke përdorur thirrjen snprintf() pa pastrimin e duhur të karaktereve speciale, sulmuesit mund të zëvendësojnë kodin e tyre për ekzekutim. Për të shfrytëzuar cenueshmërinë, duhet të keni të drejta që ju lejojnë të dërgoni një komandë te kontrolluesi BMC nëpërmjet IPMI (nëse keni të drejta administratori në server, mund të dërgoni një komandë IPMI pa vërtetim shtesë).

Gigabyte dhe Lenovo u njoftuan për problemet në korrik 2018 dhe arritën të lëshonin përditësime përpara se informacioni të zbulohej publikisht. Kompania Lenovo lëshuar Përditësimet e firmuerit më 15 nëntor 2018 për serverët ThinkServer RD340, TD340, RD440, RD540 dhe RD640, por eliminuan vetëm një cenueshmëri në to që lejon zëvendësimin e komandës, pasi gjatë krijimit të një linje serverësh të bazuar në MergePoint EMS në 2014 verifikimi i kryer duke përdorur një nënshkrim dixhital nuk ishte ende i përhapur dhe nuk ishte shpallur fillimisht.

Më 8 maj të këtij viti, Gigabyte lëshoi ​​përditësime të firmuerit për pllakat amë me kontrolluesin ASPEED AST2500, por si Lenovo, ai rregulloi vetëm cenueshmërinë e zëvendësimit të komandës. Bordet e cenueshme të bazuara në ASPEED AST2400 mbeten pa përditësime për momentin. Gigabyte gjithashtu tha në lidhje me kalimin në përdorimin e firmware MegaRAC SP-X nga AMI. Përfshirja e firmuerit të ri të bazuar në MegaRAC SP-X do të ofrohet për sistemet e dërguara më parë me firmware MergePoint EMS. Vendimi vjen pas njoftimit të Vertiv se nuk do të mbështesë më platformën MergePoint EMS. Në të njëjtën kohë, asgjë nuk është raportuar ende për përditësimet e firmuerit në serverët e prodhuar nga Acer, AMAX, Bigtera, Ciara, Penguin Computing dhe sysGen bazuar në bordet Gigabyte dhe të pajisur me firmware të cenueshëm MergePoint EMS.

Kujtojmë se BMC është një kontrollues i specializuar i instaluar në serverë, i cili ka ndërfaqet e veta CPU, memorie, memorie dhe sondazhi me sensorë, i cili ofron një ndërfaqe të nivelit të ulët për monitorimin dhe menaxhimin e pajisjeve të serverit. Duke përdorur BMC, pavarësisht nga sistemi operativ që funksionon në server, ju mund të monitoroni statusin e sensorëve, të menaxhoni fuqinë, firmware dhe disqet, të organizoni nisjen në distancë përmes rrjetit, të siguroni funksionimin e një tastierë të qasjes në distancë, etj.

Burimi: opennet.ru

Shto një koment