იანუსის დაუცველობა თავდამსხმელებს საშუალებას აძლევს შეცვალონ აპლიკაციები ხელმოწერებზე გავლენის გარეშე. ის აღმოაჩინა GuardSquare-მა და დაფიქსირდა Google-ის მიერ.
Android დაინსტალირებულია მოწყობილობების უზარმაზარ რაოდენობაზე, რაც მას მავნე თავდამსხმელების სამიზნედ აქცევს. Google-ის მობილური ოპერაციული სისტემის დაუცველობის აღმოჩენა გრძელდება ყოველთვიურად, მაგრამ კარგი ამბავი ის არის, რომ Google ჩვეულებრივ გულმოდგინედ აფიქსირებს მათ რეგულარულ უსაფრთხოების პატჩებში, რომლებიც შემდეგ სთავაზობენ OEM-ებს, რომლებიც შემდეგ გაგზავნიან მას მოწყობილობები.
ახლახან უსაფრთხოების მკვლევარებმა აღმოაჩინეს დაუცველობა რაც მომხმარებლებს ატყუებდა, რათა თავდამსხმელებს მათი მოწყობილობის ეკრანის ჩაწერის უფლება მისცენ. ეს კონკრეტული ექსპლოიტი დაფიქსირდა Android Oreo-ში, მაგრამ ანალიტიკოსებმა დააფიქსირეს გვარდიის მოედანი ცოტა ხნის წინ გავრცელდა ინფორმაცია კიდევ ერთი სერიოზული დაუცველობის შესახებ, რომელიც გავლენას ახდენს Android აპებზე, რომლებიც ხელმოწერილია ძველი ხელმოწერის სქემებით.
გვარდიის მოედანიანგარიშში ნათქვამია, რომ
იანუსიდაუცველობა (CVE-2017-13156) Android-ში თავდამსხმელებს საშუალებას აძლევს შეცვალონ კოდი აპლიკაციებში, ხელმოწერებზე გავლენის გარეშე. მოხსენებაში ნათქვამია, რომ დაუცველობის საფუძველი არის ის, რომ ფაილი შეიძლება იყოს ერთდროულად მოქმედი APK ფაილი და მოქმედი DEX ფაილი.იანუსი სარგებლობს იმით, რომ დამატებითი ბაიტები შეუმჩნეველი რჩება APK ფაილებში და DEX ფაილებში. The გვარდიის მოედანი ანგარიში განმარტავს, რომ APK ფაილი არის ZIP არქივი, რომელიც შეიძლება შეიცავდეს თვითნებურ ბაიტებს დასაწყისში, მის ZIP ჩანაწერებს შორის. JAR ხელმოწერის სქემა ითვალისწინებს მხოლოდ ZIP ჩანაწერებს, უგულებელყოფს დამატებით ბაიტებს აპლიკაციის ხელმოწერის გამოთვლის ან გადამოწმებისას.
იგი განმარტავს, რომ DEX ფაილი, მეორეს მხრივ, შეიძლება შეიცავდეს თვითნებურ ბაიტებს ბოლოს - სტრიქონების რეგულარული სექციების, კლასების, მეთოდის განმარტებების შემდეგ და ა.შ. ამრიგად, ფაილი შეიძლება იყოს ერთდროულად მოქმედი APK და მოქმედი DEX ფაილი.
გვარდიის მოედანი ასევე აღნიშნავს, რომ დაუცველობის ძირითადი ელემენტია Dalvik/ART ვირტუალური მანქანის "უწყინარი" ფუნქცია. მოხსენებაში ნათქვამია, რომ თეორიულად, Android-ის გაშვების დრო ატვირთავს APK ფაილს, ამოიღებს მის DEX ფაილს და შემდეგ აწარმოებს მის კოდს. თუმცა, პრაქტიკაში, ვირტუალურ მანქანას (VM) შეუძლია ჩატვირთოს და შეასრულოს როგორც APK ფაილები, ასევე DEX ფაილები. პრობლემა ის არის, რომ როდესაც VM იღებს APK ფაილს, ის მაინც უყურებს ჯადოსნურ ბაიტებს სათაურში, რათა გადაწყვიტოს რომელი ტიპის ფაილია: DEX თუ APK. DEX სათაურის პოვნისას, ის იტვირთება ფაილს, როგორც DEX ფაილი. თუ ის ვერ პოულობს სათაურს, ის ატვირთავს ფაილს APK ფაილის სახით, რომელიც შეიცავს zip ჩანაწერს DEX ფაილით. ამრიგად, მას შეუძლია არასწორი ინტერპრეტაცია მოახდინოს ორმაგი DEX/APK ფაილი.
გვარდიის მოედანი ამბობს, რომ თავდამსხმელს შეუძლია გამოიყენოს VM-ის ეს ორმაგი მახასიათებელი, რათა დაამატო მავნე DEX ფაილი ნორმალურ APK ფაილში მის ხელმოწერაზე ზემოქმედების გარეშე. Android-ის გაშვების დრო მიიღებს APK ფაილს, როგორც მოქმედი განახლება აპლიკაციის უფრო ადრეული ვერსიისთვის, მაგრამ Dalvik VM ჩატვირთავს კოდს DEX ფაილიდან, რომელიც შეყვანილია მავნე კოდით.
ჩვეულებრივ, როდესაც მომხმარებელი აყენებს აპის განახლებულ ვერსიას, აპის ხელმოწერა მოწმდება Android-ის გაშვების დროით, რათა დარწმუნდეს, რომ იგი ემთხვევა ძველ ვერსიას. როდესაც დადასტურება დადებითია, განახლებული აპლიკაცია იღებს ნებართვებს, რომლებიც მინიჭებული იყო თავდაპირველ აპლიკაციაზე. ამ გზით, თავდამსხმელებს შეუძლიათ გამოიყენონ იანუსის დაუცველობა ხელმოწერის გადამოწმების პროცესის გვერდის ავლით და დაუდასტურებელი კოდის დაინსტალირებისთვის არასაეჭვო მომხმარებლების მოწყობილობებზე.
კიდევ უფრო უარესი ის არის, რომ ამ გადაუმოწმებელ კოდს შეუძლია მიიღოს წვდომა მძლავრ ნებართვებზე. ეს იწვევს გარკვეულ სერიოზულ შესაძლებლობებს. გვარდიის მოედანი აცხადებს:
„თავდამსხმელს შეუძლია შეცვალოს სანდო აპლიკაცია მაღალი პრივილეგიებით (მაგალითად, სისტემის აპლიკაციით) შეცვლილი განახლებით მისი ნებართვების ბოროტად გამოყენების მიზნით. მიზნობრივი აპლიკაციიდან გამომდინარე, ამან შეიძლება ჰაკერს მისცეს წვდომა მოწყობილობაში შენახულ სენსიტიურ ინფორმაციაზე ან თუნდაც მთლიანად აიღოს მოწყობილობა. ალტერნატიულად, თავდამსხმელს შეუძლია გადასცეს მგრძნობიარე აპლიკაციის შეცვლილი კლონი, როგორც ლეგიტიმური განახლება [რომელიც] შეიძლება გამოიყურებოდეს და მოიქცეს ორიგინალური აპლიკაციის მსგავსად, მაგრამ მოახდინოს მავნე ქცევა."
კომპანიამ დაამატა, რომ ამ დროისთვის მათ არ უნახავთ იანუსის ექსპლუატაციის არცერთი აპლიკაცია ველურ ბუნებაში. კიდევ ერთი კარგი ამბავი ის არის, რომ დაუცველობა მოითხოვს მომხმარებლისგან მავნე განახლების დაყენებას Google Play Store-ის გარეთ არსებული წყაროდან. ამიტომ, მომხმარებლები, რომლებიც ზღუდავენ აპების ინსტალაციას Play Store-ით, დაცულნი არიან.
იანუსის დაუცველობა გავლენას ახდენს მოწყობილობებზე, რომლებიც მუშაობენ Android 5.0+. აპლიკაციები, რომლებიც გაფორმებულია APK ხელმოწერის სქემით v1, დაზარალდება. ხელმოწერის სქემით v2 ხელმოწერილი APK დაცულია დაუცველობისგან. ეს მოითხოვს, რომ APK-ები მუშაობდეს მოწყობილობებზე, რომლებიც მხარს უჭერენ ხელმოწერის უახლეს სქემას (Android 7.0 და უფრო ახალი). სქემა v2 დაცულია, რადგან სქემის v1-ისგან განსხვავებით, ის განიხილავს ყველა ბაიტს APK ფაილში.
„აპლიკაციების ძველი ვერსიები და ძველ მოწყობილობებზე გაშვებული უფრო ახალი აპლიკაციები კვლავ მგრძნობიარეა. დეველოპერებმა სულ მცირე ყოველთვის უნდა გამოიყენონ ხელმოწერის სქემა v2." გვარდიის მოედანი შტატები.
გვარდიის მოედანი შეატყობინა ეს პრობლემა Google-ს 2017 წლის 31 ივლისს და მიიღო აღიარება იმავე დღეს. კომპანიის მოხსენებაში ნათქვამია, რომ Google-მა გამოუშვა პაჩი თავის პარტნიორებს ნოემბერში და გამოაქვეყნა შეცდომა (CVE-2017-13156) Android Security Bulletin-ში 2017 წლის 4 დეკემბერს. დაუცველობა აქვს დაფიქსირდა 2017 წლის დეკემბრის Android უსაფრთხოების პატჩში. ცალკე, დადასტურებულია, რომ F-Droid აპლიკაციები მათი ოფიციალური საცავიდან უსაფრთხოა. დაბოლოს, დადასტურდა, რომ დაუცველობა მოხსნილია APKMirror.
წყარო: გვარდიის მოედანი