Atklāta informācija par Minesotas universitātes iesniegtajiem plāksteriem

Pēdējo dienu laikā par pētnieku grupas veiktajām darbībām no Minesotas universitātes, jo no daudzu viedokļa šādām darbībām saistībā ar ievainojamību ieviešanu Linux kodolā nav pamatojuma.

Un kaut arī grupa Minesotas universitātes pētniekipublicēt atklātu atvainošanās vēstuli, kuru akceptēja izmaiņas Linux kodolā, kuru bloķēja Gregs Kroahs-Hartmans, atklāja detaļas kodolu izstrādātājiem iesniegto ielāpu un sarakste ar uzturētājiem, kas saistīti ar šiem plāksteriem.

Tas ir ievērības cienīgs visi problēmu plāksteri tika noraidīti Pēc uzturētāju iniciatīvas neviens no plāksteriem netika apstiprināts. Šis fakts liek saprast, kāpēc Gregs Kroahs-Hartmans rīkojās tik skarbi, jo nav skaidrs, ko pētnieki būtu darījuši, ja plāksterus būtu apstiprinājis uzturētājs.

Retrospektīvi apgalvoja, ka viņi plāno ziņot par kļūdu un viņi neļāva plāksteriem nokļūt Gitā, bet nav skaidrs, ko viņi faktiski darīs vai cik tālu viņi varētu iet.

Kopumā 2020. gada augustā no anonīmām adresēm acostag.ubuntu@gmail.com un jameslouisebond@gmail.com (Džeimsa Bonda vēstule) tika nosūtīti pieci ielāpi: divi pareizi un trīs, tostarp slēptas kļūdas, radot apstākļus ievainojamības.

Katrā plāksterī bija tikai 1 līdz 4 koda rindas. Slikto ielāpu galvenā ideja bija tāda, ka atmiņas noplūdes novēršana varētu radīt nosacījumu dubultai bezmaksas ievainojamībai.

Projekta mērķis ir uzlabot OSS ielāpīšanas procesa drošību. Projekta ietvaros mēs pētām potenciālās problēmas saistībā ar OSS lāpīšanas procesu, tostarp problēmu cēloņus un ieteikumus to risināšanai.

Faktiski šis pētījums atklāj dažas problēmas, taču tā mērķis ir aicināt pielikt pūles, lai uzlabotu
lāpīšanas process, lai motivētu vairāk darba, lai izstrādātu tehnikas, lai pārbaudītu un pārbaudītu ielāpus, un, visbeidzot, uzlabotu OS drošību.

Pamatojoties uz šiem plāksteriem, mēs apkopojam to modeļus, pētām konkrētus iemeslus, kāpēc kļūdu ieviešanas plāksterus ir grūti uztvert (gan kvalitatīvi, gan kvantitatīvi analizējot), un pats galvenais, sniedzam ieteikumus problēmas risināšanai.

Pirmais problemātiskais plāksteris novērsa atmiņas noplūdi, pievienojot izsaukumu uz kfree () pirms vadības atdošanas kļūdas gadījumā, bet apstākļu radīšana piekļuvei atmiņas zonai pēc tās atbrīvošanas (use-after-free).

Uzturētājs noraidīja norādīto plāksteri, kurš identificēja problēmu un norādīja, ka pirms gada kāds jau bija mēģinājis ierosināt līdzīgas izmaiņas, un tās sākotnēji tika akceptētas, taču tajā pašā dienā pēc ievainojamības apstākļu noteikšanas tika izmestas.

Otrajā plāksterī bija iekļauti arī nosacījumi pēc nodošanas valkāšanai. Uzturētājs nepieņēma norādīto plāksteri, kurš noraidīja plāksteri citas problēmas dēļ ar list_add_tail, taču nepamanīja, ka "chdev" rādītāju var atbrīvot funkcijā put_device, kas tiek izmantota nākamreiz zvana laikā uz dev_err (& chdev -> dev ..). Tomēr plāksteris netika pieņemts, kaut arī ar ievainojamību nesaistītu iemeslu dēļ.

Interesanti, sākotnēji tika pieņemts, ka 4 no 5 ielāpiem bija problēmas, bet paši pētnieki pieļāva kļūdu un, viņuprāt, problemātiskā plāksterī, pēc viņu domām, tika piedāvāts pareizs risinājums bez domājamiem nosacījumiem, lai pēc palaišanas izmantotu atmiņu.

Šajā darbā mēs piedāvājam jēdzienu «nenobriedusi ievainojamība», ja nav ievainojamības nosacījuma, bet tas var kļūt par reālu, kad nosacījums ir
ieviesa plāksteris citai kļūdai.

Mēs arī izstrādājam rīkus, kas mums palīdz atrast koda vietas, kas var ciest
kļūdu ieviešanas ielāpus un ieteikt, kas varētu padarīt šos kļūdu ieviešanas ielāpus grūti atklāt.

Pēc nedēļas kodola izstrādātājiem tika nosūtīta informācija ar priekšlikumu apspriest ievainojamības veicināšanas iespēju, maskējoties ar nenozīmīgiem atmiņas noplūdes labojumiem, taču nekas netika teikts par iepriekšējiem mēģinājumiem iesniegt ļaunprātīgus ielāpus.

Trešais plāksteris uzturētājs to arī noraidīja citas kļūdas dēļ bez ievainojamības (dubultā lietojumprogramma pdev).


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

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.