A systemd-ben egy biztonsági rést találtak, amelyet már leírtak a (CVE-2019 6454-), mit lehetővé teszi a vezérlés inicializálási folyamatának (PID1) blokkolását amikor egy speciálisan kialakított üzenetet küld egy nem privilegizált felhasználónak a D-buszon keresztül.
sok A Red Hat fejlesztői szintén nem zárják ki a biztonsági rés használatának lehetőségét a kódfuttatás root jogosultságokkal történő megszervezésére., de egy ilyen támadás végső lehetőségét még nem határozták meg.
A systemd-ről
Azok számára, akik nem ismerik a Systemd-t Ezt elmondhatom ez egy linux inicializáló rendszer és szolgáltatáskezelő amely olyan szolgáltatásokat tartalmaz, mint az on-demand démon indítása, az automatikus telepítés és a csatlakoztatási pont karbantartása, a pillanatkép támogatása és a folyamatkövetés a Linux vezérlőcsoportok segítségével.
systemd nyilvántartási démonot, valamint egyéb eszközöket és segédprogramokat biztosít a rendszeradminisztrációs feladatok elvégzéséhez. Lennart Poettering és Kay Sievers a MacOS launchd és az Upstart inspirációjával írták meg a SystemD-t, amelynek célja egy modern és dinamikus rendszer létrehozása.
Különösen a systemd kínál agresszív párhuzamosítási képességeket és függőségen alapuló szolgáltatásvezérlési logikát, amely lehetővé teszi a szolgáltatások párhuzamos indítását és gyorsabb indítási időket. Ez a két szempont jelen volt az Upstartban, de a systemd fokozta.
A Systemd az alapértelmezett rendszerindító rendszer a főbb Linux disztribúciókhoz, de visszafelé kompatibilis a SysV indítási szkriptjeivel.
A SysVinit egy inicializáló rendszer, amely megelőzi a systemd-t, és egyszerűsített megközelítést alkalmaz a szolgáltatás elindításához. A Systemd nemcsak a rendszer inicializálását kezeli, hanem alternatívákat kínál más jól ismert segédprogramokkal szemben, mint például a cron és a syslog.
Az új systemd biztonsági résről
A D-Bus-on keresztül küldött üzenet méretének manipulálásával egy támadó túlmutathatja a mutatót a verem számára lefoglalt memória határain túl, megkerülve a "stack guard-page" védelmét, amely azon a memórialapon a szélén való kiváltásán alapul, amely kivételt hív (oldalhiba).
A sikeres támadást az Ubuntu 18.10 rendszeren a 239 systemd és a CentOS 7.6 rendszeren a 219 systemd bizonyítja.
Kerülő megoldásként a fordítás használható a GCC-ben a "-fstack-clash-protection" opcióval, amelyet alapértelmezés szerint a Fedora 28 és 29-ben használnak.
Meg kell jegyezni, hogy 2014-ben a MUSL rendszerkönyvtár szerzője a fő építészeti problémák közül kiemelte a rendszer és a túlzott infláció PID1 kezelőjét, és megkérdőjelezte a Bus Link API PID1 szintű vezérlőjének megvalósításának megvalósíthatóságát, mivel ez komoly támadó vektor és hátrányosan befolyásolhatja a teljes rendszer megbízhatóságát
Egy biztonságkutató szerint ki biztonsági rést tárt fel, a verem mutató megváltoztatása csak a nem használt memóriaoldalaknál lehetséges (unassigned), amely nem teszi lehetővé a kódfuttatás megszervezését a PID1 folyamat keretében, de lehetővé teszi a támadó számára, hogy elindítsa a PID1 zárolást a Linux kern pánik állapotba történő későbbi áttérésével (PID vezérlő 1 esetén) hiba, az egész rendszer lefagy).
A systemd-ben olyan jelkezelő van telepítve, amely megpróbálja csapdába ejteni a PID1 folyamat hibáit (szegmentálási hiba), és elindítja a héjat a helyreállításhoz.
De mivel a támadás során nem duplikált (nem kiosztott) memóriaoldalakat hívnak meg, a kernel nem tudja felhívni ezt a jelkezelőt, és csak a PID 1-vel fejezi be a folyamatot, ami viszont megteszi. Lehetetlen folytatni a munkát és a "pánik" állapotba kerülni, tehát a rendszer újraindítása szükséges.
A problémára már van megoldás
Mint minden már leírt és bejelentett biztonsági probléma, a közzététele csak a probléma megoldása után lehetséges A SUSE / openSUSE, Fedora biztonsági rés javításának frissítései már megjelentek, az Ubuntu és részben a Debian számára is (Csak Debian Stretch).
Bár a probléma továbbra sem javított az RHEL-ben.
Ez az, hogy a systemd-nek minden megvan a lehetősége arra, hogy hatalmas trójai falóvá váljon. Szakítson az UNIX filozófiájával: "Csinálj egyet és csináld jól", és végül fizetünk érte.
Szerintem is…
Én személy szerint meglehetősen konzervatív vagyok a startup rendszerrel kapcsolatban, úgy gondolom, mint a hagyományos és primitív UNIX legrégebbi és leghagyományosabb felhasználói: A RENDSZERET ELŐZMÉNYEK VAGY ALKOTOK, VAGY A HAGYOMÁNYOS SYSVINIT ÖRÖKRE. A SYSTEMD (A LIMUX DEBIAN 8.3-ban TELEPÍTETTEM, AMELY MEGmaradt a THINKPAD T450-ben, amit 2017 márciusában loptam el) A SYSTEMD SOHA nem győzött meg
systemd SZIVAT !!