Magisk-ში root წვდომის დამალვა სულ უფრო რთული გახდება SafetyNet-ში განხორციელებული ბოლო ცვლილების წყალობით, რომელიც ტექნიკის ატესტაციას მოაქვს.
ჯერ კიდევ მარტში, რამდენიმე მომხმარებელმა დააინსტალირა Magisk შენიშნა რომ მათ მოწყობილობებს არ ჰქონდათ SafetyNet ატესტაცია. ეს სიახლე შემაშფოთებელი იყო XDA-ში საზოგადოებისთვის, რადგან ეს ნიშნავს, რომ ბევრი მნიშვნელოვანი საბანკო/ფინანსური აპი და პოპულარული თამაში, როგორიცაა Pokémon Go და Fate/Grand Order, უარს ამბობდნენ Root მოწყობილობებზე მუშაობაზე. გარკვეული პერიოდის განმავლობაში, ჩანდა, რომ SafetyNet-ის გამკაცრებული შეზღუდვები უკან დაიხია, მხოლოდ რამდენიმე მომხმარებლისთვის ხელახლა ამოქმედდა ბოლო რამდენიმე კვირის განმავლობაში. თუმცა, გუგლმა ჩუმად დაადასტურა მაისის დასაწყისში, რომ ისინი ამოწმებდნენ აპარატურულ ატესტაციას SafetyNet-ის პასუხები, რამაც Magisk-მა ვერ შეძლო ჩამტვირთველის განბლოკვის სტატუსის უკან დამალვა მარტი. თუ ეს ცვლილება ფართოდ გავრცელდება, ეს ნიშნავს, რომ მომხმარებლებს მოუწევთ არჩევანის გაკეთება root/custom ROM-ებზე/კერნელებზე/ა.შ. ან მათთვის სასურველი საბანკო აპლიკაციები და თამაშები. Android-ის ერთ-ერთი ყველაზე დიდი მიმართვა ძლიერი მომხმარებლებისთვის შესაძლოა მალე გაქრეს.
მოვლენების ამ სერიას რომ შევაჯამოთ, ჯერ თავად SafetyNet-ზე უნდა ვისაუბროთ. SafetyNet არის API-ების ნაკრები Google Play Services-ში. SafetyNet Attestation API ერთ-ერთია იმ API-დან და ის შეიძლება გამოიძახონ მესამე მხარის აპლიკაციებმა, რათა შეამოწმონ მოწყობილობის პროგრამული უზრუნველყოფის გარემო რაიმე ფორმით შელახული თუ არა. API ამოწმებს სხვადასხვა რამეს, როგორიცაა სუპერმომხმარებლის ბინარის ნიშნები, ჩამტვირთველის განბლოკვის სტატუსი და სხვა. როდესაც მოწყობილობას აწარმოებთ Magisk-ით, ის „[ქმნის] იზოლირებულ „უსაფრთხო გარემოს“ [SafetyNet] გამოვლენის პროცესისთვის და ის გადის Google-ის API-ს მეშვეობით, რათა შექმნას კანონიერი SafetyNet შედეგი, რომელიც არ ასახავს მოწყობილობის რეალურ სტატუსს,” XDA Senior Recognized Developer-ის მიხედვით topjohnwu. ეს საშუალებას აძლევს მომხმარებელს დაამტვრიოს თავისი ტელეფონი და უზრუნველყოს, რომ API ყოველთვის დააბრუნებს „false“-ს ნებისმიერი ჩამტვირთველის განბლოკვის შემოწმებისთვის. SafetyNet-ის ჩამტვირთველის განბლოკვის გამოვლენის გვერდის ავლით ეს მეთოდი Magisk-ში მუშაობდა ბოლო რამდენიმე ხნის განმავლობაში. წლების განმავლობაში, მაგრამ ეს მხოლოდ იმიტომ, რომ Google-მა შეაჩერა ჩატვირთვის სურათის მთლიანობის შემოწმება აპარატურის გამოყენებით ატესტაცია. მარტში ჩანდა, რომ Google საბოლოოდ იწყებდა ტექნიკის ატესტაციის გამოყენებას SafetyNet-ში, რათა გადაემოწმებინა ჩატვირთვის სურათი, მაგრამ ჩვენ არასოდეს მიგვიღია ოფიციალური განცხადება Google-ისგან ცვლილების დამადასტურებელი და მხოლოდ რამდენიმე მომხმარებელი იყო დაზარალებული. როგორც შენიშნა XDA-ს უფროსმა წევრმა დისპლექსითუმცა, Google-მა დაადასტურა 2020 წლის 5 მაისს, რომ SafetyNet Attestation API პასუხები ზოგიერთი მოწყობილობისგან ახლა მოიცავს ტექნიკის მხარდაჭერით შემოწმებებს.
Google-ის ჯგუფში "SafetyNet API კლიენტებისთვის", Google-მა დეტალურად აღწერა ატესტაციის API-ს ახალი მახასიათებელი: ratingType. JSON Web Signature (JWS) პასუხს ზოგიერთი მოწყობილობიდან ექნება ველი სახელწოდებით "evaluationType", რომელიც "მიაწვდის დეველოპერებს ინფორმაციას სიგნალების/გაზომვების ტიპებში, რომლებმაც წვლილი შეიტანეს SafetyNet Attestation API-ის თითოეულ ინდივიდუალურ პასუხში." ერთ-ერთი მხარდაჭერილი ჟეტონი ამ ველში არის „HARDWARE_BACKED“, რაც მიუთითებს იმაზე, რომ API „[გამოიყენა] დისტანციური მოწყობილობის ტექნიკით მხარდაჭერილი უსაფრთხოების ფუნქციებს (მაგალითად. ტექნიკით მხარდაჭერილი გასაღების ატესტაცია) გავლენა მოახდინოს [მის] შეფასებაზე." Google ამბობს, რომ ისინი "ამჟამად აფასებენ და არეგულირებენ დასაშვებობის კრიტერიუმებს იმ მოწყობილობებისთვის, სადაც ჩვენ დავეყრდნობით ტექნიკის მხარდაჭერას. უსაფრთხოების ფუნქციები." ეს ნიშნავს, რომ ზოგიერთ მოწყობილობაზე Google Play Services ახლა იყენებს ტექნიკით მხარდაჭერილ ატესტაციას, რათა აღმოაჩინოს, რომ მოწყობილობის პროგრამული უზრუნველყოფა არ ყოფილა გაყალბებული. Google-ს ოფიციალურად არ დაუდასტურებია ეს ცვლილება Google ჯგუფში განცხადების მიღმა, ამიტომ ზოგიერთმა დეველოპერმა, რომელიც იყენებს SafetyNet-ს, შეიძლება არ იცოდეთ ეს ცვლილება (და, შესაბამისად, ჯერ არ ამოწმებთ ველს "HARDWARE_BACKED" JWS პასუხებში.) თუმცა, იმ აპებისთვის, რომლებიც ამოწმებენ ამ ველს, ახლა მათგან root წვდომის დამალვის საშუალება არ არსებობს, იმ პირობით, რომ თქვენი მოწყობილობა Google-ის ტესტის ნაწილია სირბილი.
topjohnwu-ს თანახმად, ტექნიკით მხარდაჭერილი ატესტაცია ნიშნავს, რომ Google Play Services ახლა „[აგზავნის] შეუცვლილ გასაღების სერთიფიკატს SafetyNet სერვერებზე, [ამოწმებს] მის ლეგიტიმურობას და [ამოწმებს] სერტიფიკატის გაფართოების მონაცემებს, რათა იცოდეს, აქვს თუ არა თქვენს მოწყობილობას დადასტურებული ჩატვირთვა ჩართული (ჩამტვირთველის სტატუსი). მას შემდეგ, რაც პირადი გასაღებები, საიდანაც მიღებულია გასაღების მაღაზიის სერთიფიკატები მხარს უჭერს ტელეფონის იზოლირებულ უსაფრთხო გარემოს, მათი მოძიება გულისხმობს ტელეფონის სანდო აღსრულების გარემოს (TEE) ან სპეციალური აპარატურის უსაფრთხოების დამარცხებას. მოდული (HSM). თუ ვინმემ როგორმე შეძლო პირადი გასაღების გაჟონვა, გასაღებები სწრაფად გაუქმდება ერთხელ Google-მა შეიტყო. Google გთავაზობთ ასობით ათასი დოლარის ჯილდოს უსაფრთხოების ნებისმიერი მნიშვნელოვანი დაუცველობისთვის, რომელიც გავლენას ახდენს TEE-ზე Pixel ტელეფონებში. რაც უბრალოდ აჩვენებს, რომ წარმოუდგენლად ნაკლებად სავარაუდოა, რომ ეს იყოს პოტენციური გზა ჩამტვირთველის განბლოკვის გამოვლენის გვერდის ავლით ყოველ შემთხვევაში.
კიდევ ერთი პოტენციური გზა, რომლითაც Magisk-ს შეუძლია გააგრძელოს ჩამტვირთველის განბლოკვის სტატუსის გაყალბება, არის SafetyNet-ის კლიენტის მხარის კოდის შეცვლა, რათა ყოველთვის გამოიყენოს BASIC შეფასება. როგორც topjohnwu აღნიშნავსთუმცა, ამას დასჭირდება მორგებული კოდის შეყვანა Google Play Services-ში ისეთი ჩარჩოს მეშვეობით, როგორიცაა Xposed Framework. ამის გაკეთება არა მხოლოდ რთულია, რადგან Google Play Services ძალიან ბუნდოვანია, მაგრამ ასევე შეუძლებელია დამალვა, რადგან მეხსიერების სივრცის ზოგიერთი ანალიზი გამოავლენს კოდების მანიპულირებას. ადვილად." გარდა ამისა, ეს ასევე იმუშავებს მხოლოდ იმ შემთხვევაში, თუ Google-ის სერვერები განაგრძობენ BASIC შეფასებების მიღებას და თუ HARDWARE_BACKED შეფასებები არ განხორციელდება მხარდაჭერილ მოწყობილობებზე მათ. (SafetyNet-ის პასუხები "[მოდის] Google სერვერებიდან და ხელმოწერილია Google-ის პირადი გასაღებით," topjohnwu-ს მიხედვით, ასე რომ, ფაქტობრივი პასუხების გაყალბება შეუძლებელია.)
Android 7 Nougat-ის შემდეგ Google-მა მოითხოვა, რომ ყველა მოწყობილობას ჰქონდეს იზოლირებული უსაფრთხო გარემო, ეს ნიშნავს, რომ SafetyNet-ის ჩამტვირთველის განბლოკვის შემოწმებაზე ეს ცვლილება გავლენას მოახდენს გამოსული მოწყობილობების უმეტესობაზე იქ. იმის გამო, რომ ძველი მოწყობილობები იზოლირებული უსაფრთხო გარემოს გარეშე აშკარად ვერ ახორციელებენ ტექნიკით მხარდაჭერილ ატესტაციას, Magisk მაინც შეძლებს ამ მოწყობილობებზე root წვდომის დამალვას. მაგრამ თუ ეს ცვლილება ფართოდ გავრცელდება, ყველას მოუწევს რთული არჩევანის გაკეთება root წვდომასა და საბანკო აპებს შორის.
სამწუხაროდ, არსებობს ალბათ ბევრი აპი, რომელიც იყენებს SafetyNet-ის ჩეკებს, როდესაც მათ ეს ნამდვილად არ სჭირდებათ. topjohnwu-ს მიერ მოყვანილი ერთ-ერთი მაგალითია მაკდონალდსის ოფიციალური აპლიკაცია, რომელიც, როგორც ჩანს, უარს ამბობს ჩამტვირთავზე განბლოკილ მოწყობილობაზე მუშაობაზე. Twitter-ზე topjohnwu მოუწოდებს აპებს, რომლებიც ზედმეტად იყენებენ API-ს, როგორც ძლიერი მომხმარებლებისთვის მტრულ გარემოს. XDA აღიარებული დეველოპერი Quinny899 უერთდება ანეკდოტს იმის შესახებ, თუ როგორ ფიქრობდა მისი გუნდი SafetyNet-ის გამოყენებას მოწყობილობის უსაფრთხოების სტატუსის შესამოწმებლად. მათ საბოლოოდ გადაწყვიტეს არ გაეგრძელებინა ეს, რადგან მისი გუნდის აპლიკაცია შიფრავს ყველა მგრძნობიარე მონაცემს, რომლითაც მუშაობს. SafetyNet, მისი მტკიცებით, არ უნდა იქნას გამოყენებული უსაფრთხოებისა და მონაცემთა დამუშავების სათანადო პრაქტიკის ნაცვლად, განსაკუთრებით მაშინ, როდესაც განიხილება სუპერმომხმარებლის ექსპლოიტების შესაძლებლობა.
დამატებითი ინფორმაციისთვის, თუ როგორ იმოქმედებს ახალი SafetyNet ცვლილება Magisk-ზე, იხილეთ topjohnwu's შესანიშნავი FAQ Twitter-ზე. თუ უბრალოდ გსურთ შეამოწმოთ არის თუ არა თქვენი მოწყობილობა Google-ის ახალი SafetyNet ტესტის ნაწილი, მაშინ შეგიძლიათ თვალი ადევნოთ ამ სახელმძღვანელოს XDA Senior Member-ის მიერ Displax ან ჩამოტვირთეთ Magisk Manager-ის უახლესი გამოშვება.
ეს სტატია განახლდა 10:46 AM EST 2020 წლის 30 ივნისს, რათა გამოსწორდეს, რომ Google იხდის ჯილდოებს მხოლოდ Pixel ტელეფონებში ნაპოვნი TEE დაუცველობისთვის. გარდა ამისა, დაემატა დეტალები Magisk Manager-ის უახლეს გამოცემასთან დაკავშირებით, რომელიც ახლა აჩვენებს შეფასებას ტიპის ველს ჩაშენებულ SafetyNet შემოწმებაში.