A kritikus rozsdahiba kizsákmányolási fenyegetést jelent bizonyos Windows-használati esetekben

A kritikus rozsdahiba kizsákmányolási fenyegetést jelent bizonyos Windows-használati esetekben

Kritikus rozsdahiba kizsákmányolási fenyegetést jelent bizonyos Windows-használati esetekben. PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

A Rust Project frissítést adott ki a szabványos könyvtárához, miután egy sebezhetőségkutató felfedezte, hogy a Windows rendszereken kötegelt fájlok futtatására használt funkciót egy befecskendezési hiba miatt lehet kihasználni.

A Rust programozási nyelvhez tartozó általános funkciók, amelyeket szabványos könyvtárként ismernek, számos egyéb funkció mellett lehetőséget kínál a Windows kötegfájlok futtatására a Command API-n keresztül. A funkció azonban nem dolgozta fel elég szigorúan az API bemeneteit ahhoz, hogy kiküszöbölje annak lehetőségét, hogy kódot fecskendezzenek be a végrehajtásba. a Rust Security Response Working Group tanácsadója április 9-én jelent meg.

Noha a Rust jól ismert memóriabiztonsági funkcióiról, az incidens rávilágít arra, hogy a programozási nyelv nem véd a logikai hibáktól – mondta Yair Mizrahi, a JFrog alkalmazásbiztonsági cég vezető biztonsági rések kutatója.

„Összességében elmondható, hogy a Rust memóriabiztonsága jelentős előny, de a fejlesztőknek nagy figyelmet kell fordítaniuk a logikai hibák lehetőségére is, hogy biztosítsák Rust-alapú alkalmazásaik általános biztonságát és megbízhatóságát” – mondja. "Az ilyen logikai problémák megoldása érdekében a Rust szigorú tesztelési és kódellenőrzési folyamatot, valamint statikus elemző eszközök használatát javasolja a logikai hibák azonosítására és enyhítésére."

A Rust nagyon biztonságos programozási nyelv hírnevet szerzett magának, mivel nem hagyja nyitva az alkalmazásokat a memóriabiztonsági sebezhetőségként ismert, gyakran súlyos hibákkal szemben. A Google tulajdonított a memória nem biztonságos kód csökkenése a memóriabiztos nyelvekre való átállás miatt, mint például a Rust és a Kotlin, míg a Microsoft úgy találta, hogy egészen 2018-ig, amikor áttért a memóriabiztos nyelvekre, az ilyen biztonsági rések rendszeresen az összes biztonsági probléma 70%-át tette ki.

A Windows számos problémát vet fel

A legújabb probléma nem memóriabiztonsági sérülékenység, hanem a nem megbízható bevitel feldolgozásához használt logika probléma. A Rust szabványos könyvtárának egy része lehetővé teszi a fejlesztő számára, hogy meghívjon egy függvényt, amely kötegfájlt küld a Windows-gépre feldolgozásra. Vannak okai annak, hogy a kódot kötegfájlként küldjék el a gazdagépnek, mondja Joel Marcey, a Rust Foundation technológiai igazgatója, amely támogatja a programozási nyelv fenntartóit és a Rust ökoszisztémát.

„A kötegelt fájlok számos okból futnak a rendszereken, és a Rust olyan API-t biztosít, amely lehetővé teszi ezek meglehetősen egyszerű végrehajtását” – mondja. "Tehát bár ez nem feltétlenül a Rust leggyakoribb felhasználási esete, az API a javított javítás bevezetése előtt lehetővé tette a rosszindulatú szereplők számára, hogy elméletileg átvegyék a rendszert tetszőleges parancsok futtatásával, és ez határozottan kritikus sérülékenység."

A fejlesztő általában a szabványos könyvtár részét képező Command Application Programming Interface (API) segítségével kötegelt folyamatként továbbíthatja a munkaterhelést a Windows gazdagépnek. Általában a Rust garantálja a Command API bármely hívásának biztonságát, de ebben az esetben a Rust Project nem talált módot arra, hogy megakadályozza az összes argumentum végrehajtását, elsősorban azért, mert a Windows nem ragaszkodik semmiféle szabványhoz, és hogy a Az API lehetővé teheti a támadó számára, hogy kódot küldjön be, amely ezután végrehajtódik.

"Sajnos arról számoltak be, hogy a menekülési logikánk nem volt elég alapos, és lehetséges volt olyan rosszindulatú érveket átadni, amelyek önkényes shell-végrehajtáshoz vezettek" - állítja a Rust Security Response WG.

A Rust Project érzékenynek bizonyult

Bár a sebezhetőség kezelése fejfájást okozhat, a Rust Project megmutatta, hogy a csoport gyorsan megoldja a problémákat, mondják a szakértők. A szabványos könyvtári sebezhetőség, CVE-2024 24576-, végső soron a Windows kötegelt feldolgozási problémája, és más programozási nyelvekre is hatással van, ha nem elemzik megfelelően a Windows kötegelt folyamatának küldött argumentumokat. Úgy tűnik, hogy a Rust Project az első, aki kijavította az argumentumokat a Windows CMD.exe folyamatnak, mondja JFrog's Mizrahi.

A csoportok nem tudták teljesen kiküszöbölni a problémát, de a Command API nem ad vissza hibát, ha a funkciónak átadott kiegészítések nem biztonságosak, mondta a Rust Project. 

A JFrog's Mizrahi sürgeti a Rust-ot, hogy bővítse ki a statikus alkalmazásbiztonsági tesztelés alkalmazását, és terjessze ki a zavaró és dinamikus tesztelés használatát.

„Összességében a Rust jó úton halad a memóriabiztonság hangsúlyozásával és a szigorú tesztelési gyakorlatok bátorításával” – mondja. „Ha ezeket az erőfeszítéseket a statikus elemzés és a fuzzing folyamatos fejlesztésével kombináljuk, az segíthet a Rust közösségnek és a szélesebb értelemben vett szoftveriparnak, hogy az elkövetkező években jelentős előrelépéseket tegyen a logikai hibák és a bemeneti ellenőrzési hibák kezelésében.”

Időbélyeg:

Még több Sötét olvasmány