Ang isang bagong kahinaan ay natuklasan sa Systemd

systemd

Ang isang kahinaan ay natagpuan sa systemd na nailarawan sa (CVE-2019-6454), Ano Pinapayagan na maging sanhi ng pag-block ng proseso ng pagsisimula ng kontrol (PID1) kapag nagpapadala ng isang espesyal na gawa ng mensahe sa isang hindi sikat na gumagamit sa paglipas ng D-Bus.

Los Ang mga developer ng Red Hat ay hindi rin ibinubukod ang posibilidad ng paggamit ng kahinaan upang ayusin ang pagpapatupad ng code na may mga pribilehiyo ng ugat., ngunit ang pangwakas na posibilidad ng naturang pag-atake ay hindi pa natutukoy.

Tungkol sa systemd

Para sa mga hindi nakakaalam ng Systemd Masasabi ko sayo yan ito ay isang linux initialization system at service manager na kinabibilangan ng mga tampok tulad ng on-demand na pagsisimula ng daemon, pagpapanatili ng automount at mount point, suporta sa snapshot, at pagsubaybay sa proseso gamit ang mga control group ng Linux.

Systemd nagbibigay ng isang registang daemon at iba pang mga tool at kagamitan upang makatulong sa mga karaniwang gawain sa pangangasiwa ng system. Si Lennart Poettering at Kay Sievers ay sumulat ng SystemD, na inspirasyon ng macOS launchd at Upstart, na may layuning lumikha ng isang moderno at pabago-bagong sistema.

Sa partikular, nagbibigay ang systemd ng agresibong mga kakayahan sa pag-parallelize at lohika na kontrol sa serbisyo na nakabatay sa dependency, na pinapayagan ang mga serbisyo na magsimula nang kahanay at humahantong sa mas mabilis na mga oras ng pagsisimula. Ang dalawang aspeto na ito ay naroroon sa Upstart, ngunit pinahusay ng systemd.

Ang Systemd ay ang default na boot system para sa mga pangunahing pamamahagi ng Linux, ngunit ito ay paatras na katugma sa mga script ng pagsisimula ng SysV.

Ang SysVinit ay isang sistema ng pagsisimula na nauuna sa systemd at gumagamit ng isang pinasimple na diskarte upang simulan ang serbisyo. Hindi lamang pinamamahalaan ng systemd ang pagsisimula ng system, ngunit nagbibigay din ng mga kahalili sa iba pang mga kilalang kagamitan tulad ng cron at syslog.

Tungkol sa bagong kahinaan ng systemd

Sa pamamagitan ng pagmamanipula ng laki ng mensahe na ipinadala sa pamamagitan ng D-Bus, maaaring ilipat ng isang umaatake ang pointer na lampas sa mga limitasyon ng memorya na inilalaan para sa stack, pag-bypass ng proteksyon ng "stack guard-page", na batay sa pagpapalit ng isang pahina ng memorya sa gilid na tumatawag ng isang pagbubukod (pahina ng pagkakasala).

Ang matagumpay na pag-atake ay ipinakita sa Ubuntu 18.10 na may systemd 239 at sa CentOS 7.6 na may systemd 219.

Bilang isang solusyon, maaaring magamit ang compilation sa GCC na may pagpipiliang "-fstack-clash-protection", na ginagamit bilang default sa Fedora 28 at 29.

Dapat pansinin na noong 2014 ang may-akda ng MUSL system library ay itinuro sa mga pangunahing problema sa arkitektura systemd labis na inflation PID1 handler at kinuwestiyon ang pagiging posible ng pagpapatupad ng isang PID1 level controller API para sa Link to the Bus, dahil ito ay isang seryosong vector para sa pag-atake at maaaring makaapekto sa pagiging maaasahan ng buong system

Ayon sa isang security researcher na nagsiwalat ng isang kahinaan, ang isang pagbabago ng stack pointer ay posible lamang para sa hindi nagamit na mga pahina ng memorya (hindi nakatalaga), na hindi pinapayagan na ayusin ang pagpapatupad ng code sa konteksto ng proseso ng PID1, ngunit pinapayagan ang isang magsasalakay na simulan ang lock ng PID1 na may kasunod na paglipat ng Linux kernel sa "gulat" na estado (sa kaso ng isang PID kabiguan ng controller 1, ang buong sistema ay nakabitin).

Sa systemd, naka-install ang isang handler ng signal na sumusubok na bitagin ang mga pagkakamali ng proseso ng PID1 (segmentation fault) at sinisimulan ang shell para sa paggaling.

Ngunit dahil ang mga unduplicated (hindi naitala) na mga pahina ng memorya ay tinawag sa panahon ng pag-atake, ang kernel ay hindi maaaring tawagan ang signal handler na ito at winakasan lamang ang proseso sa PID 1, na kung saan ay Imposibleng magpatuloy sa pagtatrabaho at pumunta sa estado ng "gulat", kaya't kinakailangan ng isang pag-restart ng system.

Mayroon nang solusyon sa problema

Tulad ng anumang problema sa seguridad na nailarawan at naiulat, ang paglalathala nito ay hindi maaaring gawin hanggang malutas ang problema at mga update sa kahinaan sa patch para sa SUSE / openSUSE, pinakawalan na ang Fedora, para din sa Ubuntu at bahagyang para kay Debian (Debian Stretch lang).
Bagaman ang problema ay nananatiling hindi naitama sa RHEL.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Juliosao dijo

    Ito ay ang systemd ay mayroong lahat ng mga earmark ng pagpunta sa maging isang malaking kabayo sa Trojan. Masira sa pilosopiya ng UNIX ng "Gawin ang isang bagay at gawin ito nang maayos" at tatapusin natin ang pagbabayad para rito.

    1.    David naranjo dijo

      Ganoon rin ang naisip ko…

  2.   Paul Matilla dijo

    Ako mismo ay lubos na konserbatibo sa boot system, sa palagay ko tulad ng pinakaluma at pinaka tradisyunal na mga gumagamit ng tradisyunal at primitive na UNIX: I PREFER SYSTEM V INIT O MAGING TRADITIONAL SYSVINIT FOREVER. SYSTEMD (NAKA-INSTALL AKO SA LIMUX DEBIAN 8.3 NA NAGPATINGIN SA THINKPAD T450 NA NAKAKAWAT AKO SA MARCH 2017) ANG SISTEMA AY HINDI PA AKO KINSERBAHO

  3.   kalmado dijo

    systemd SUCKS !!