Spectre-ის უახლესმა შეტევამ, სახელწოდებით SgxSpectre, შეიძლება გამოავლინოს SGX ანკლავებში შენახული მგრძნობიარე მონაცემები რისკის ქვეშ.
Spectre-Meltdown CPU-ის ხარვეზი[1] 2018 წლის დასაწყისში აღმოჩენილი უფრო მეტი გამოწვევაა, ვიდრე მოსალოდნელი იყო Microsoft-ის, Intel-ის და სხვა ტექნიკური გიგანტების მიერ. არა მხოლოდ მან მოახერხა Intel და AMD ჩიპებიდან Skylake, Kaby Lake, Coffee Lake ჩიპების გაფართოება; ეს საშუალებას აძლევდა ჰაკერებს დაეწყოთ მავნე პროგრამების გავრცელების რამდენიმე კამპანია[2] და პროგრამულ შეტევებზე.
2018 წლის მარტის დასაწყისში, ოჰაიოს სახელმწიფო უნივერსიტეტის ექვსი IT მკვლევარის ჯგუფმა აღმოაჩინა Spectre შეტევის ახალი ვარიანტი, სახელწოდებით როგორც SgxSpectre, რომელიც შეიძლება გამოყენებულ იქნას Intel's Software Guard Extensions (SGX) ანკლავების გასატეხად, რომლებიც პასუხისმგებელნი არიან მგრძნობიარე ობიექტების იზოლაციაზე. კომპონენტები. სინამდვილეში, ამ ანკლავების მიერ დაცული მონაცემები, ალბათ, ყველაზე მგრძნობიარეა, რადგან ოპერაციული სისტემის კომპონენტებს არ აქვთ უფლება დაუკავშირდნენ ანკლავებით დაცულ მონაცემებს.
კაროლინ ტრიპელი და დანიელ ლუსტიგი, პრინსტონის უნივერსიტეტის მკვლევარები და მარგარეტ მარტონოსი Nvidia–სგან განჭვრიტა ასეთი თავდასხმების შესაძლებლობა და გამოავლინა სცენარი სამეცნიერო ნაშრომში დაურეკა “MeltdownPrime და SpectrePrime: ავტომატურად სინთეზირებული თავდასხმების ექსპლუატაცია. ბათილობაზე დაფუძნებული თანმიმდევრული ოქმები“.[3] ეს არის Meltdown-ისა და Spectre-ის უახლესი დაუცველობა, რომელიც შეიძლება დასრულდეს მგრძნობიარე მონაცემების თავდასხმით.
წინა Meltdown და Spectre დაუცველობებს არ ჰქონდათ წვდომა სენსიტიურ მონაცემებზე დაცულ SGX-ით
Intel's Software Guard Extensions (SGX) არის შედარებით ახალი ფუნქცია, რომელიც ხელმისაწვდომია თანამედროვე Intel-ის პროცესორებში. ის საშუალებას იძლევა შექმნას ეგრეთ წოდებული ანკლავები პროგრამული უზრუნველყოფის დაცვისთვის, რომელიც ეხება უკიდურესად მგრძნობიარე მონაცემებს და კოდირების ინფორმაციას.
წინა Spectre და Meltdown თავდასხმების შედეგები SGX-ზე არ იყო ნათელი. მიუხედავად ამისა, SGX ანკლავების იმუნიტეტმა თავიდანვე გააჩინა მრავალი კითხვა. გაირკვა, რომ არც ამ მოწყვლადობას არ აქვს თვისებები, რომლებიც საშუალებას იძლევა გატეხოს SGX დაცვა, მაგრამ, როგორც ჩანს, ჰაკერები მიზნად ისახავს ანკლავების შიგნით არსებულ მონაცემებს. სწორედ ამიტომ განვითარდა SgxSpectre.
SgxSpectre დაუცველობის მკვლევარების აზრით,[4] დაუცველობა იძლევა ექსპლუატაციის საშუალებას "რასის მდგომარეობა ინექციურ, სპეკულაციურად შესრულებულ მეხსიერების ცნობებს შორის, რაც იწვევს გვერდითი არხის დაკვირვებად ქეშის კვალს და ფილიალის რეზოლუციის ლატენტურობას." ამჟამად, დაუცველობამ შეიძლება გავლენა მოახდინოს Intel SGX, SDK, Rust-SGX და Graphene-SDX.
სისტემა შეიძლება დაზარალდეს, როდესაც ჩართულია კოდის კონკრეტული ნიმუში პროგრამული ბიბლიოთეკებში. თავდამსხმელი, რომელიც მიზნად ისახავს ანკლავებში შენახულ ინფორმაციას, იყენებს სპეკულაციურ შესრულებას და ასრულებს ანკლავის კოდის წინასწარმეტყველებას ქეშის ზომის მცირე ვარიაციების მოძიებით. როგორც მკვლევარები განმარტავენ,
განშტოების პროგნოზირების ერთეულები, რომლებიც გამოიყენება ანკლავის რეჟიმში, განშტოების სამიზნეების პროგნოზირებისთვის არ არის კარგად გაწმენდილი ანკლავის შესვლისას. აქედან გამომდინარე, კოდს მიზანმიმართული ანკლავის გარეთ (დაუცველი მეხსიერების რეგიონში ან სხვა ანკლავში გაშვებული) შეუძლია მანიპულირება მოახდინოს მიზნობრივი ანკლავის შიგნით განშტოების პროგნოზირების სამიზნეებით.
Intel-მა გამოუშვა დაუცველობის სკანირების ინსტრუმენტი
მთელი პროცედურა შეიძლება რთული ჩანდეს მათთვის, ვინც არ არის ჩართული IT სამყაროში. მოკლედ, Meltdown-ისა და Spectre-ის დაუცველობის დახმარებით, ჰაკერებმა იპოვეს SDX კოდების სისუსტეების გამოყენების გზა. ეს დაუცველობა შემდგომში საშუალებას აძლევს ჰაკერებს შეცვალონ SDK გაშვების ბიბლიოთეკები და შეუტიონ ნებისმიერ სისტემას, რომელიც შემუშავებულია Intel-ის ოფიციალური SGX SDK-ით.
Intel-მა და Microsoft-მა დაუყოვნებლივ მოახდინეს რეაგირება Meltdown-ისა და Spectre-ის აღმოჩენილ დაუცველობაზე და დაიწყეს პატჩების გამოშვება. სამწუხაროდ, ყველა მათგანი არ მუშაობს, ამიტომ აუცილებელია თვალი ადევნოთ სიახლეებს ამ დაუცველობის შესახებ.
არაპირდაპირი ფილიალის შეზღუდული სპეკულაცია (IBRS) არის Intel-ის მიერ წარმოდგენილი ერთ-ერთი გამოსწორება. ის მიმართავს Spectre Variant-ს ადაპტირებული მიკროკოდის მიწოდებით. თუმცა, ეს პატჩი არ არის ორიენტირებული SGX SDK დაუცველობაზე.
SgxSpectre პაჩის გამოშვების ბოლო ვადა არის 2018 წლის 16 მარტი. აპლიკაციის შემქმნელებს მოუწევთ შეცვალონ ძველი SDK ვერსია იმით, რომელსაც Intel აპირებს გამოუშვას SGX-ზე დაფუძნებულ აპებში.
მათ, ვისაც სურს შეამოწმოს, შეიცავს თუ არა მათი კომპიუტერი დაუცველ კოდებს, სპეციალისტებმა შექმნეს დაუცველობის სკანირების ინსტრუმენტი,[5] რომელიც ამოწმებს ანკლავურ პროგრამებს და ამოწმებს კოდის ნიმუშს. SgxPectre ექსპლოიტების აღმოჩენის შემთხვევაში, მომხმარებელი გააფრთხილებს და მოუწოდებს დააინსტალიროს Intel-ის მიერ შემუშავებული ინსტრუმენტარიუმის SGX აპლიკაციის პროვაიდერებისთვის მოძველებული პროგრამული უზრუნველყოფის განვითარების ხელსაწყოების ნაკრები.