io_uring ir kļuvis par Google galvassāpēm, un viņi nolemj to atspējot no saviem produktiem

io_uring

io_uring ir Linux kodola sistēmas izsaukuma interfeiss atmiņas ierīču asinhronām I/O operācijām

Google nesen atklāja savu emuāra ierakstu pieņēma lēmumu pēc noklusējuma atspējot ChromeOS, Android un serverus ražošanas, asinhronais interfeiss io_uring, tas ir saistīts ar nožēlojamo drošības situāciju io_uring.

Un tas “Neaizsargātības balvas programmas” rezultātu analīzes laikā no kCTF, kas darbojas kopš 2020. gada, ir pierādīts, ka 60% no programmas ietvaros saņemtajiem pieteikumiem izmanto jaunas ievainojamības, un situācija laika gaitā nemainās, kas ir diezgan satraucoši, jo ir kļuvis par neaizsargātu punktu.

Kopumā tika izmaksāts aptuveni 1 miljons dolāru prēmijās. pēc varoņdarbiem kas saistīti ar io_uring, savukārt kopējā par Linux kodola ievainojamībām izmaksāto prēmiju summa iniciatīvas pastāvēšanas laikā bija 1,8 miljoni USD par 42 vēl nenofiksētām ievainojamībām paredzētajiem exploitiem (maksimālā atlīdzība – 133 tūkstoši USD).

Tā kā Linux kodols ir galvenā sastāvdaļa ne tikai Google, bet arī internetam, mēs sākām ieguldīt šajā jomā lielus ieguldījumus. Mēs paplašinājām VRP sasniedzamību un maksimālo atlīdzību 2021. gadā (līdz 50 000 ASV dolāru), pēc tam vēlreiz 2022. gada februārī (līdz 91 000 ASV dolāru) un visbeidzot 2022. gada augustā (līdz 133 000 ASV dolāru). 2022. gadā mēs savā pavārgrāmatā apkopojām arī mūsu līdzšinējos datus un iepazīstinājām ar mūsu eksperimentālajiem riska mazināšanas pasākumiem visbiežāk sastopamajām ieguves metodēm.

Pagājušajā gadā, lai uzlabotu kodola drošību Linux, kas tiek izmantots atsauces vidē, kurā tika ražots izmantojums, kas pretendē uz balvu, Google izmantoja papildu uzlabojumus un ielāpus, lai bloķētu tipiskas izmantošanas metodes. Piemēram, Freelist struktūrai tika pievienota aizsardzība pret korupciju, tika aizliegta rakstīšana ārpus robežām un tika ieviesti ar kešatmiņas koplietošanu saistīti uzbrukumi. Taču šīs izmaiņas neietekmēja spēju izmantot io_uring ievainojamības, kā rezultātā Google pārtrauca atbalstīt io_uring savos produktos.

Lai gan io_uring nodrošina veiktspējas priekšrocības un ātri reaģē uz drošības problēmām, izmantojot visaptverošus drošības labojumus (piemēram, 5.15 atpakaļportēšanu uz 5.10 stabilo koku), tā ir diezgan jauna kodola daļa. Tādējādi io_uring turpina aktīvi attīstīties, taču to joprojām ietekmē nopietnas ievainojamības, kā arī nodrošina spēcīgus ekspluatācijas primitīvus. Šo iemeslu dēļ mēs pašlaik uzskatām, ka tas ir drošs tikai uzticamiem komponentiem.

Operētājsistēmā ChromeOS io_uring atbalsts ir atspējots kodola kompilēšanas laikā (CONIFG_IO_URING programmā kernelconfig). Android uz laiku izmanto seccomp-bpf filtru, lai bloķētu piekļuvi io_uring, un plāno izmantot SELinux, lai selektīvi ierobežotu piekļuvi io_uring uzticamiem sistēmas komponentiem nākotnē.

Tādējādi Google neuzņemas vāju skatījumu uz io_uring interfeiss, nodrošina Linux kodols kopš versijas 5.1, jo tajā ir minēts, ka viens no pozitīvajiem punktiem, izceļas ar atbalstu I/O aptaujai un spēju strādāt ar vai bez buferizācijas, bet kā tāds tas joprojām ir pietiekami izturīgs, lai turpinātu uzņemties risku un, galvenais, turpinātu ieguldīt pastāvīgi uzrodamo kļūdu un ievainojamību labošanā.

Izmantojot io_uring API, kodola izstrādātāji mēģināja novērst vecās aio saskarnes nepilnības.

Runājot par sniegumu, io_uring ir ļoti tuvu SPDK un ievērojami pārspēj libaio kad ir iespējota aptauja. Piemēram, io_uring izmantošana libuv bibliotēkā nodrošināja 8x veiktspējas pieaugumu, un io_uring balstītas asinhronās rakstīšanas buferizācijas iekļaušana XFS failu sistēmā izraisīja latentuma samazināšanos 80x un datu pārraides ātruma palielināšanos 2,7 reizes.

Ir vērts pieminēt, ka papildus Google apsver iespēju GKE AutoPilot (Google Kubernetes Engine) pēc noklusējuma atspējot io_uring.

Visbeidzot, ja jūs interesē uzzināt vairāk par to, varat iepazīties ar informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.