„io_uring“ tapo „Google“ galvos skausmu ir jie nusprendžia jį išjungti savo produktuose

io_uring

io_uring yra Linux branduolio sistemos iškvietimo sąsaja, skirta saugojimo įrenginių asinchroninėms I/O operacijoms

„Google“ neseniai pristatė savo tinklaraščio įrašą priėmė sprendimą išjungti pagal numatytuosius nustatymus „ChromeOS“, „Android“ ir serveriuose gamybos, asinchroninė sąsaja io_uring, tai dėl apgailėtinos saugumo padėties io_uring.

Ir tai „Pažeidžiamumo premijos programos“ rezultatų analizės metu kCTF, kuris veikia nuo 2020 m., Įrodyta, kad 60% pagal programą gautų paraiškų išnaudoja atsirandančius pažeidžiamumus ir laikui bėgant situacija nesikeičia, o tai kelia didelį nerimą, nes tapo pažeidžiamu tašku.

Iš viso buvo išmokėta apie 1 mln. išnaudojimais susiję su io_uring, tuo tarpu bendra premijų suma už Linux branduolio pažeidžiamumą per iniciatyvos egzistavimą siekė 1,8 mln. USD už 42 išnaudojimus, numatytus dar nepataisytoms pažeidžiamoms vietoms (maksimalus atlygis – 133 tūkst. USD).

Kadangi Linux branduolys yra pagrindinis ne tik Google, bet ir interneto komponentas, pradėjome daug investuoti į šią sritį. Išplėtėme VRP pasiekiamumą ir maksimalų atlygį 2021 m. (iki 50 000 USD), tada vėl 2022 m. vasario mėn. (iki 91 000 USD) ir galiausiai 2022 m. rugpjūčio mėn. (iki 133 000 USD). 2022 m. mes taip pat apibendrinome savo iki šiol įgytas žinias savo kulinarijos knygoje ir pristatėme eksperimentinius labiausiai paplitusių kasybos metodų mažinimo būdus.

Praeitais metais, siekiant pagerinti branduolio saugumą Linux, naudojamo etaloninėje aplinkoje, kurioje buvo sukurtas išnaudojimas, pretenduojantis į apdovanojimą, „Google“ pritaikė papildomų patobulinimų ir pataisų, kad blokuotų tipinius išnaudojimo būdus. Pavyzdžiui, į Freelist struktūrą buvo įtraukta apsauga nuo korupcijos, uždraustas rašymas iš ribų į plokštę ir įdiegtos blokuojančios atakos, susijusios su talpyklos dalijimusi. Tačiau šie pakeitimai neturėjo įtakos galimybei išnaudoti „io_uring“ pažeidžiamumą, todėl „Google“ nustojo palaikyti „io_uring“ savo produktuose.

Nors „io_uring“ teikia našumo pranašumus ir greitai reaguoja į saugos problemas taikydamas išsamius saugos pataisymus (pvz., 5.15 versijos atgalinį perkėlimą į 5.10 stabilų medį), tai yra gana nauja branduolio dalis. Taigi io_uring ir toliau aktyviai plėtojamas, tačiau vis dar yra paveiktas rimtų pažeidžiamumų ir taip pat suteikia stiprių išnaudojimo primityvų. Dėl šių priežasčių šiuo metu manome, kad tai saugu tik patikimiems komponentams.

„ChromeOS“ kompiliuojant branduolį „io_uring“ palaikymas išjungtas (CONIFG_IO_URING programoje „kernelconfig“). Android laikinai naudoja seccomp-bpf pagrįstą filtrą, kad blokuotų prieigą prie io_uring, ir planuoja naudoti SELinux, kad būsimame leidime selektyviai apribotų prieigą prie io_uring patikimiems sistemos komponentams.

Todėl „Google“ nežiūri į tai io_uring sąsaja, teikia Linux branduolys nuo 5.1 versijos, nes joje minima, kad tarp teigiamų dalykų, išsiskiria I/O apklausų palaikymu ir galimybe dirbti su buferiu arba be jo, tačiau kaip tokia ji vis dar yra pakankamai tvirta, kad galėtų toliau rizikuoti ir, svarbiausia, toliau investuoti į nuolat kylančių klaidų ir pažeidžiamumų taisymą.

Su io_uring API branduolio kūrėjai bandė pašalinti senosios aio sąsajos trūkumus.

Kalbant apie našumą, io_uring yra labai artimas SPDK ir gerokai lenkia libaio kai įjungtas balsavimas. Pavyzdžiui, io_uring naudojimas libuv bibliotekoje padidino našumą 8 kartus, o įtraukus io_uring pagrįstą asinchroninį rašymo buferį į XFS failų sistemą, delsa sumažėjo 80 kartų ir duomenų perdavimo sparta padidėjo 2,7 karto.

Verta paminėti, kad papildomai „Google“ svarsto galimybę pagal numatytuosius nustatymus išjungti „io_uring“ GKE AutoPilot („Google Kubernetes Engine“).

Galiausiai, jei jus domina daugiau apie tai sužinoti, galite susipažinti su išsamia informacija Šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.