Линуксийн цөм дэх таамаглалын кодыг гүйцэтгэх асуудлуудад зориулсан сканнер Каспер одоо бэлэн боллоо

Амстердамын Чөлөөт Их Сургуулийн судлаачдын баг процессор дээрх таамаглалын кодын гүйцэтгэлээс үүдэлтэй Spectre зэрэглэлийн эмзэг байдлыг ашиглахад ашиглаж болох Linux цөм дэх кодын хэсгүүдийг тодорхойлоход зориулагдсан Kasper хэрэгслийн багцыг нийтлэв. Хэрэгслийн эх кодыг Apache 2.0 лицензийн дагуу түгээдэг.

Санах ойн агуулгыг тодорхойлох боломжийг олгодог Spectre v1 гэх мэт халдлагуудыг хийхийн тулд тусгай кодонд тодорхой дарааллын командууд (гаджетууд) байх шаардлагатай бөгөөд энэ нь зааврыг таамаглаж гүйцэтгэхэд хүргэдэг гэдгийг санацгаая. . Оновчлолын зорилгоор процессор нь ийм гаджетуудыг таамаглах горимд ажиллуулж эхэлдэг бөгөөд дараа нь салбарын таамаглал үндэслэлгүй болохыг тодорхойлж, үйлдлүүдийг анхны байдалд нь буцаана, гэхдээ таамаглалын гүйцэтгэлийн явцад боловсруулсан өгөгдөл нь кэш болон микроархитектурын буферт дуусдаг. гуравдагч этгээдийн сувгаар үлдэгдэл өгөгдлийг тодорхойлох янз бүрийн аргуудыг ашиглан тэдгээрээс олж авах боломжтой.

Ердийн хэв маягийг хайхад үндэслэсэн Spectre-ийн эмзэг байдлыг илрүүлэх гаджетуудыг сканнердах өмнө нь ашиглах боломжтой хэрэгслүүд нь маш өндөр түвшний хуурамч эерэг үзүүлэлтүүдийг харуулсан бол олон бодит гаджетууд дутагдаж байсан (туршилтаар ийм хэрэгслээр тодорхойлсон гаджетуудын 99% нь халдлагад ашиглагдах боломжгүй болохыг харуулсан) , мөн халдлагад хүргэж болзошгүй ажиллаж байгаа гаджетуудын 33% нь анзаарагдаагүй).

Асуудалтай гаджетуудыг тодорхойлох чанарыг сайжруулахын тулд Каспер нь Spectre ангиллын халдлагыг хийх алхам бүрт халдагчийн ашиглаж болох эмзэг байдлыг загварчилсан - өгөгдлийг хянах боломжийг олгодог асуудлуудыг загварчилсан (жишээ нь, халдагчийн өгөгдлийг бичил архитектурын бүтцэд орлуулж, дараа дараагийн таамаглалыг ашиглан гүйцэтгэхэд нөлөөлөх). LVI ангиллын халдлага), нууц мэдээлэлд нэвтрэх (жишээлбэл, буферийн хязгаараас хэтрэх эсвэл санах ойг сулласны дараа ашиглах үед) болон нууц мэдээллийг задруулах (жишээлбэл, процессорын кэшийн төлөв байдалд дүн шинжилгээ хийх эсвэл MDS аргыг ашиглах замаар).

Линуксийн цөм дэх таамаглалын кодыг гүйцэтгэх асуудлуудад зориулсан сканнер Каспер одоо бэлэн боллоо

Туршилт хийх үед цөм нь Kasper-ийн ажиллах цагийн номын сантай холбогдож, LLVM түвшинд ажиллаж байгаа эсэхийг шалгадаг. Шалгалтын үйл явц нь буруу таамагласан кодын салбарыг тусгайлан гүйцэтгэх, дараа нь салбар эхлэхээс өмнө анхны төлөв рүү буцах шалгах цэг-сэргээх механизмыг ашиглан хэрэгжүүлсэн таамаглалын кодын гүйцэтгэлийг дуурайдаг. Каспер мөн янз бүрийн программ хангамж, техник хангамжийн эмзэг байдлыг дуурайж, архитектурын болон бичил архитектурын нөлөөллийн нөлөөнд дүн шинжилгээ хийж, халдагчийн болзошгүй үйлдлүүдийн талаар тодорхой бус туршилт хийдэг. Гүйцэтгэлийн урсгалд дүн шинжилгээ хийхийн тулд Линуксийн цөмийн DataFlowSanitizer портыг ашигладаг бөгөөд бүдэг бадаг туршилтын хувьд syzkaller багцын өөрчлөгдсөн хувилбарыг ашигладаг.

Линуксийн цөм дэх таамаглалын кодыг гүйцэтгэх асуудлуудад зориулсан сканнер Каспер одоо бэлэн боллоо

Каспер ашиглан Линуксийн цөмийг сканнердсанаар зааварчилгааг гүйцэтгэх явцад өгөгдөл алдагдах магадлалтай 1379 урьд нь үл мэдэгдэх гаджетыг илрүүлсэн. Тэдгээрийн зөвхөн зарим нь бодит асуудал үүсгэж болох боловч онолын хувьд биш бодит аюул байгааг харуулахын тулд асуудалтай кодын аль нэгэнд зориулж ашиглалтын прототипийг боловсруулж, мэдээлэлд хүргэсэн гэж тэмдэглэжээ. цөмийн санах ойноос урсах.

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

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