Миннесотагийн их сургууль эргэлзээтэй засваруудыг илгээсэн хэргээр Линуксийн цөмийн хөгжүүлэлтийг түдгэлзүүлэв

Линуксийн цөмийн тогтвортой салбарыг хадгалах үүрэгтэй Грег Кроа-Хартман Миннесотагийн их сургуулиас Линуксийн цөмд оруулах аливаа өөрчлөлтийг хүлээн авахыг хориглох, мөн өмнө нь хүлээн зөвшөөрөгдсөн бүх засваруудыг буцааж, дахин хянан үзэхээр шийджээ. Блоклох болсон шалтгаан нь нээлттэй эхийн төслүүдийн кодын далд сул талуудыг сурталчлах боломжийг судалж буй судалгааны бүлгийн үйл ажиллагаа юм. Энэ бүлэг нь янз бүрийн төрлийн алдаа агуулсан засваруудыг илгээж, нийгэмлэгийн хариу үйлдлийг ажиглаж, өөрчлөлтийг хянан шалгах үйл явцыг хуурах арга замыг судалсан. Грегийн хэлснээр хорлонтой өөрчлөлтийг нэвтрүүлэхийн тулд ийм туршилт хийх нь хүлээн зөвшөөрөгдөхгүй бөгөөд ёс зүйгүй юм.

Блоклох болсон шалтгаан нь энэ бүлгийн гишүүд "үнэгүй" функцийн боломжит давхар дуудлагыг арилгахын тулд заагч шалгах нэмэлт засвар илгээсэнтэй холбоотой юм. Заагчийн хэрэглээний контекстийг харгалзан шалгах нь утгагүй байсан. Засварыг илгээх зорилго нь алдаатай өөрчлөлт нь цөмийн хөгжүүлэгчдийн хяналтанд орох эсэхийг шалгах явдал байв. Энэхүү засвараас гадна Миннесотагийн их сургуулийн хөгжүүлэгчид цөмд эргэлзээтэй өөрчлөлт хийх оролдлого, түүний дотор далд сул талуудыг нэмж оруулах оролдлого гарчээ.

Засвар илгээсэн оролцогч шинэ статик анализатор туршиж байгаа бөгөөд түүн дэх туршилтын үр дүнд үндэслэн өөрчлөлтийг бэлтгэсэн гэж өөрийгөө зөвтгөхийг оролдсон. Гэхдээ Грег санал болгож буй засварууд нь статик анализаторын илрүүлсэн алдааны хувьд ердийн зүйл биш бөгөөд илгээсэн бүх засварууд нь юу ч засдаггүй болохыг анхаарч үзэв. Тухайн судалгааны бүлэг өмнө нь далд сул талуудыг арилгахыг оролдсон тул цөмийн хөгжүүлэлтийн нийгэмлэгтэй туршилтаа үргэлжлүүлсэн нь ойлгомжтой.

Сонирхолтой нь, өмнө нь туршилт явуулж буй бүлгийн ахлагч нь USB стек (CVE-2016-4482) болон сүлжээний дэд систем (CVE-2016-4485) дахь мэдээллийн алдагдлыг илрүүлэх зэрэг эмзэг байдлыг хууль ёсны дагуу засварлахад оролцож байсан нь сонирхолтой юм. . Миннесотагийн их сургуулийн баг үл үзэгдэх эмзэг байдлын тархалтын талаарх судалгаанд 2019 онд гарсан цөмийн засварын улмаас үүссэн CVE-12819-2014-ийн жишээг дурджээ. Засвар нь mdio_bus-ийн алдаа засах блок дээр put_device руу залгасан дуудлагыг нэмсэн боловч таван жилийн дараа ийм заль мэх нь санах ойн блокийг сулласны дараа хандахад хүргэдэг болох нь тогтоогджээ.

Үүний зэрэгцээ, судалгааны зохиогчид өөрсдийн ажилдаа алдаа гаргасан, судалгаанд оролцогчидтой холбоогүй 138 засварын талаархи мэдээллийг нэгтгэсэн гэж мэдэгджээ. Алдаатай өөрийн засваруудыг илгээх оролдлого нь зөвхөн цахим шуудангийн захидал харилцаагаар хязгаарлагддаг байсан бөгөөд ийм өөрчлөлтүүд Git-д ороогүй (хэрэв засварыг имэйлээр илгээсний дараа засварчин засварыг хэвийн гэж үзсэн бол тэр өөрчлөлтийг оруулахгүй байхыг хүссэн. алдаа байсан бөгөөд үүний дараа тэд зөв нөхөөсийг илгээсэн).

Нэмэлт 1: Шүүмжлэгдсэн нөхөөсийг зохиогчийн үйл ажиллагаанаас харахад тэрээр цөмийн янз бүрийн дэд системүүд рүү удаан хугацаанд засвар илгээж байна. Жишээлбэл, radeon болон nouveau драйверууд алдааны блок дахь pm_runtime_put_autosuspend(dev->dev) руу залгасан өөрчлөлтийг саяхан баталсан бөгөөд энэ нь холбогдох санах ойг сулласны дараа буферийг ашиглахад хүргэж болзошгүй юм.

Нэмэлт 2: Грег "@umn.edu"-тай холбоотой 190 үйлдлийг буцаан авч, дахин хянан үзэхийг санаачилсан. Асуудал нь "@umn.edu" хаягтай гишүүд эргэлзээтэй нөхөөсүүдийг түлхэж туршаад зогсохгүй бодит сул талуудыг зассан бөгөөд өөрчлөлтийг буцаах нь өмнө нь засварласан аюулгүй байдлын асуудлуудыг буцааж өгөхөд хүргэж болзошгүй юм. Зарим засварлагчид буцаасан өөрчлөлтүүдийг аль хэдийн дахин шалгасан бөгөөд ямар ч асуудал олдсонгүй, харин засварлагчдын нэг нь өөрт нь илгээсэн засваруудын нэг нь алдаатай байсан гэж мэдэгджээ.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх