OnePlus-მა შემთხვევით წინასწარ დააინსტალირა აპლიკაცია, რომელიც მოქმედებს როგორც Backdoor to Root Access

OnePlus-მა დატოვა Qualcomm-ის საინჟინრო ტესტის აპლიკაცია, რომელიც მოქმედებს როგორც უკანა კარი OnePlus 3-ზე, 3T-სა და 5-ზე root წვდომისთვის.

განახლება: OnePlus-მა გამოსცა ოფიციალური პასუხი საკითხს. ისინი წაშლიან ADB root ფუნქციას EngineerMode-დან მომავალ განახლებაში.

თვეზე ცოტა მეტი გავიდა მას შემდეგ, რაც აღმოჩნდა, რომ OnePlus აგროვებდა პერსონალური იდენტიფიცირებადი ინფორმაცია ანალიტიკისთვის. კომპანიამ სწრაფად შეცვალა კურსი და განახლებისას კომპანიამ პირობა დადო, რომ უფრო გამჭვირვალე იქნებოდა მომხმარებლებისთვის აშკარად მიწოდებით OxygenOS ანალიტიკაზე უარის თქმის ვარიანტი. მიუხედავად იმისა, რომ ეს უბედურება მოგვარდა, ამაღამ კიდევ ერთი თავის მახინჯ თავს იჩენს. მომხმარებელი Twitter-ზე, რომელსაც სახელი აქვს "ელიოტ ალდერსონი“ (სახელწოდება პოპულარული მისტერ რობოტის სატელევიზიო სერიალის მთავარი გმირის მიხედვით) აღმოაჩინა, რომ OnePlus შემთხვევით დატოვა სადიაგნოსტიკო ტესტირების აპლიკაცია დამზადებულია Qualcomm-ის მიერ. ამ აპლიკაციის დეკომპილაციის შემდეგ მან აღმოაჩინა, რომ ეს შეიძლება იყოს ექსპლუატირებულია root წვდომის მისაცემად - ეფექტურად მოქმედებს როგორც backdoor.

აპლიკაციას ჰქვია "EngineerMode" და ის არსებითად არის Qualcomm-ის მიერ შექმნილი სისტემური აპლიკაცია და მიეწოდება OEM-ებს, როგორიცაა OnePlus, რათა OEM-ებმა მარტივად შეამოწმონ ყველა აპარატურის კომპონენტი მოწყობილობა. აპლიკაცია წინასწარ არის დაინსტალირებული ყველა OnePlus 3, OnePlus 3T და OnePlus 5 მოწყობილობებზე და ადვილად ხელმისაწვდომი იქნება ნებისმიერი აქტივობის გამშვების საშუალებით, რადგან აპის ყველა აქტივობა ექსპორტირებულია.

ჩვენ რეალურად აშუქებდა ამ აპლიკაციის არსებობას რამდენიმე თვის წინ, მაგრამ იმ დროს ჩვენ წარმოდგენა არ გვქონდა რისთვის შეიძლებოდა მისი გამოყენება. Twitter-ის მომხმარებელმა დეკომპილირება მოახდინა აპლიკაციაში (მისი წყარო გამოქვეყნებულია ონლაინში აქ) და იპოვა საინტერესო აქტივობა სახელწოდებით DiagEnabled. კერძოდ, აქტივობის ფარგლებში გამოირჩეოდა ერთი მეთოდი: escalatedUp. ეს მეთოდი იღებს ლოგიკურ მნიშვნელობას (true/false) და სტრიქონს. სტრიქონი არის პაროლი, რომელიც შემოწმდება მეთოდით, სანამ დააყენებს სისტემის თვისებებს persist.sys.adbroot და oem.selinux.reload_policy 1-მდე.

სისტემის პირველი თვისება განსაკუთრებით საინტერესოა, რადგან ის საშუალებას აძლევს მომხმარებელს გაუშვას ADB როგორც root. ეს დაუყოვნებლივ ხსნის ტელეფონზე სრული root წვდომის მოპოვების შესაძლებლობას - ეს ყველაფერი ჩამტვირთველის განბლოკვის გარეშე. მაშ, როგორ მიიღებთ EngineerMode აპს ამ სისტემის თვისებების "1"-ად დასაყენებლად?

@fs0c131y-ს სჭირდებოდა სწორი პაროლის პოვნა მიზნის გასაგზავნად, რათა ლოგიკა გადასულიყო ზემოთ გამოქვეყნებულ მეთოდში. ამ პაროლის პოვნა არ არის მარტივი ამოცანა. მან დეკომპილირება მოახდინა პაროლის გენერირებაზე პასუხისმგებელი ბიბლიოთეკის (ე.წ. libdoor.so) და აღმოაჩინა სად მდებარეობდა პაროლის ჰეში: /data/backup/fpwd. პაროლი გენერირებულია სხვადასხვა build თვისებებიდან, როგორიცაა ro.product.model და ro.product.brand და არ იქნება ადვილი შებრუნებული ინჟინერი.

საბედნიეროდ დახმარებით დევიდ ვაინშტაინი და ახლა უსაფრთხო Twitter-ზე მან აღმოაჩინა EngineerMode-ს საჭირო პაროლი, რათა ADB-ს გადაეყვანა root პრივილეგიები.

ყველაფერი რაც უნდა გააკეთოთ, არის განზრახვის გაგზავნა ამ ფორმატში:

adb shell am start -n com.android.engineeringmode/.qualcomm.DiagEnabled --es "code""angela"

სადაც com.android.engineeringmode/.qualcomm. DiagEnabled არის DiagEnabled აქტივობის კომპონენტის სახელი, რომელსაც ჩვენ ვიყენებთ, და "code" არის სტრიქონის სახელი და "angela" არის შესაბამისი პაროლის მნიშვნელობა.

@fs0c131y აცხადებს, რომ ამას გააკეთებს განაცხადის გამოქვეყნება მალე ეს გამოგიგზავნით ამ განზრახვას ADB-ის ამაღლების root პრივილეგიებში, ჩატვირთვის გამოსახულების დაყენების მიზნით, რომ გამორთოთ dm-verity და დააინსტალიროთ სუ ბინარები. თვალი ადევნეთ XDA ფორუმებს, როდის გამოქვეყნდება ეს root აპლიკაცია.

რას ნიშნავს ეს საბოლოო მომხმარებლებისთვის არის ის, რომ თქვენ შეგიძლიათ ადვილად დაამტვრიეთ თქვენი OnePlus 3, OnePlus 3T და OnePlus 5 თქვენი ჩამტვირთველის განბლოკვის გარეშე. თუმცა, ეს ექსპლოიტი არ აძლევს მავნე აპს უფლებას, მიანიჭოს საკუთარ თავს root წვდომა, ასე რომ, თუ ვინმეს არ აქვს ფიზიკური წვდომა თქვენს მოწყობილობაზე ADB-ის დასაყენებლად, თქვენ დაცული იქნებით ექსპლუატაციისგან.

თუ გსურთ დაიცვათ თავი ამ ექსპლოიტისგან, მიუხედავად ამისა, შეგიძლიათ წაშალეთ აპლიკაცია მიმდინარე მომხმარებლისგან რაც ხელს შეუშლის მიზნის გაგზავნას EngineerMode აპლიკაციაში. უბრალოდ გამოიყენეთ შემდეგი ბრძანება ADB-ში:

adbshellpmuninstall-k--user 0 com.android.engineermode

რა თქმა უნდა, ეს მაინც განიხილება ექსპლოიატად და ვიმედოვნებთ, რომ OnePlus ამას მალე დააყენებს. ყველაფერი, რაც მათ ნამდვილად უნდა გააკეთონ, არის ამ აპლიკაციის ამოღება მომავალი კონსტრუქციებიდან.


განახლება 1: პაროლი არის "ანგელა"

მომხმარებელმა @fs0c131y-მ თავის Twitter-ის გვერდზე გამოაქვეყნა განახლება პაროლით, რომელიც გჭირდებათ Rooted ADB shell-ში მოსახვედრად. ეს პაროლი არის...ანგელა. ვისაც არ უყურებთ მისტერ რობოტს, ანჟელა ერთ-ერთი გმირის სახელია. ვფიქრობ, Qualcomm-ში მისტერ რობოტის ბევრი ფანი უნდა იყოს.

თუ თქვენ შეიყვანთ ბრძანებას, რომელიც ზემოთ დავწერე ADB-ში, შეამჩნევთ, რომ ADB დაუყოვნებლივ გათიშულია და სერვერი გადაიტვირთება. ხელახლა შეიყვანეთ ADB და შეამჩნევთ, რომ ის ახლა არის rooted shell.


განახლება 2: როგორ იქნა მიღებული პაროლი

უსაფრთხოების ფირმა Now Secure-მ გამოაქვეყნა ბლოგპოსტი, სადაც დეტალურადაა აღწერილი, თუ როგორ მოიპოვეს პაროლი, რომელიც საჭიროა ამ root ექსპლოიტის შესაქმნელად. მათი სრული პოსტის წაკითხვა შეგიძლიათ აქ.


განახლება 3: უფრო მეტი მოწყობილობა დაზარალდა

ეს უახლესი ამბები არ უნდა იყოს გასაკვირი, მაგრამ, როგორც ჩანს, უფრო მეტი მოწყობილობა დაზარალდება ამ ექსპლოიტის შედეგად. ეს იმიტომ ხდება, რომ EngineerMode აპი არის Qualcomm აპი, ამიტომ შესაძლებელია სხვა OEM-ებმა დატოვონ ის წინასწარ დაინსტალირებული საკუთარ მოწყობილობებზე. ჯერჯერობით, მომხმარებლებს დაუკავშირდნენ @fs0c131y Twitter-ზე, რათა დაადასტურონ, რომ აპლიკაცია დაინსტალირებულია ზოგიერთი Asus Zenfone და Xiaomi მოწყობილობა. თქვენ შეგიძლიათ მარტივად შეამოწმოთ აქვს თუ არა თქვენს მოწყობილობას ეს აპლიკაცია პარამეტრებში შესვლით და დაინსტალირებული აპების ნახვით.


განახლება 4: თქვენი მოწყობილობის დაფესვიანება

რამდენიმე ბრძანების გამოყენებით დაფუძნებული ADB გარსის მეშვეობით, ახლა უკვე შესაძლებელია დააწკაპუნეთ სუ ორობითი თქვენს მოწყობილობაზე. ამის გამოყენებით შეგიძლიათ დააინსტალიროთ root მენეჯერის აპლიკაცია, როგორიცაა SuperSU და შემდეგ თავისუფლად მიანიჭოთ root წვდომა სხვა აპებზე. ყველაფერი თქვენი ჩამტვირთველის განბლოკვის გარეშე!


განახლება 5: OnePlus პასუხობს

OnePlus-მა ოფიციალურად გამოეხმაურა სიტუაცია. Ში ბლოგის პოსტი, კომპანია იმეორებს, რომ ამ ექსპლოიტის გამოყენება შესაძლებელია მხოლოდ იმ შემთხვევაში, თუ თავდამსხმელს აქვს ფიზიკური წვდომა მოწყობილობაზე და ჩართული აქვს USB გამართვა. USB გამართვის ჩასართავად, თავდამსხმელს ასევე სჭირდება თქვენი მოწყობილობის პინი/პაროლი. ამრიგად, root backdoor არ არის ადვილად ექსპლუატირებადი ნებისმიერი აპლიკაციის ან პირის მიერ, მაგრამ მიუხედავად ამისა, OnePlus გადაწყვეტს მომხმარებლების შეშფოთებას ამ ფუნქციის ამოღებით EngineerMode აპლიკაციიდან.