Qualcomm-ის EDL რეჟიმის სამიზნეების გამოყენება, გავლენას ახდენს ზოგიერთ Xiaomi, OnePlus, Nokia და სხვა მოწყობილობებზე

Qualcomm მოწყობილობებს აქვთ EDL რეჟიმი, რომელიც, როგორც ირკვევა, გამოსაყენებელია, თუ თქვენ გაქვთ OEM-ების მიერ გამოშვებული სწორი ინსტრუმენტები.

Qualcomm ჩიპსეტებით მოწყობილობებს აქვთ ა რიმარი ოტoader (PBL), რომელიც ჩვეულებრივ ჩატვირთავს Android სისტემას, მაგრამ ასევე შეიცავს ჩატვირთვის ალტერნატიულ რეჟიმს, რომელიც ცნობილია როგორც EDL რეჟიმი. EDL რეჟიმი Qualcomm-ია სასწრაფო საკუთარი დატვირთვა ოდა და საშუალებას აძლევს ა რიგინალი აღჭურვილობა მწარმოებელი (OEM) დააიძულებს ფლეშ პროგრამულ უზრუნველყოფას მოწყობილობაზე. ეს არ შეიძლება შეიცვალოს (მხოლოდ წაკითხვის რეჟიმი) და აქვს სრული კონტროლი მოწყობილობის მეხსიერებაზე. ბევრმა OEM-მა, მათ შორის OnePlus-მა და Xiaomi-მ, გამოუშვეს ხელსაწყოები (ცნობილი, როგორც პროგრამისტები), რომლებიც იყენებენ EDL რეჟიმს და პროტოკოლი, რომელიც ცნობილია როგორც Firehose, მოწყობილობის გასახსნელად, მაშინ როცა სხვა კომპანიების ინსტრუმენტები, როგორიცაა Nokia, გაჟონა. Firehose-ს შეუძლია გამოიყენოს რამდენიმე ბრძანება მოწყობილობების ფლეშისთვის, ასევე მოწყობილობის მეხსიერებაში არსებული მონაცემების შემოწმების შესაძლებლობასთან ერთად. უსაფრთხოების მკვლევარები

როი ჰეი (@roeehay) და ნოამ ჰადადი საწყისი ალეფის კვლევა აღმოაჩინეს მოწყობილობის კრიტიკული დაუცველობა ამ რეჟიმის გამოყენებით, რაც ეფექტურად ანიჭებს თავდამსხმელს მოწყობილობის სრული წვდომა.

მნიშვნელოვანია აღინიშნოს, რომ ეს ექსპლოიტი საჭიროებს ფიზიკურ წვდომას მოწყობილობაზე, მაგრამ ის მაინც წარმოუდგენლად სახიფათოა და, სავარაუდოდ, მისი დაყენება შეუძლებელია. თავდამსხმელებმა გამოიყენეს EDL რეჟიმში მინიჭებული წვდომის დონე Nokia 6-ზე უსაფრთხო ჩატვირთვის გვერდის ავლით და დაამარცხეს ნდობის ჯაჭვი და სრული კოდის შესრულება ჩატვირთვის თანმიმდევრობის ყველა ნაწილში, Android OS-ის ჩათვლით თავად. თეორიულად, იგი მუშაობს იმავე გზით სხვა მოწყობილობებზე და მკვლევარებმა ასევე მოახერხეს მრავალი Xiaomi მოწყობილობის განბლოკვა და დაყენება მონაცემთა დაკარგვის გარეშე.

რა მოწყობილობებზე მოქმედებს ეს ექსპლოიტი?

პირველ რიგში, მოწყობილობები, რომლებიც გავლენას ახდენენ.

დაზარალებული მოწყობილობების სია.

  • LG G4
  • Nokia 6 (d1c)
  • Nokia 5
  • Nexus 6 (შამუ)
  • Nexus 6P (მეთევზე)
  • Moto G4 Plus
  • OnePlus 5 (ჩიზბურგერი)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • OnePlus One
  • ZTE Axon 7
  • ZUK Z1
  • ZUK Z2
  • Xiaomi Note 5A (მუხტი)
  • Xiaomi Note 5 Prime (ugg)
  • Xiaomi Note 4 (mido)
  • Xiaomi Note 3 (ჯეისონი)
  • Xiaomi Note 2 (მორიელი)
  • Xiaomi Mix (ლითიუმი)
  • Xiaomi Mix 2 (chiron)
  • Xiaomi Mi 6 (sagit)
  • Xiaomi Mi 5s (თხის რქა)
  • Xiaomi Mi 5s Plus (ნატრიუმი)
  • Xiaomi Mi 5x (ტიფანი)
  • Xiaomi Mi 5 (ტყუპები)
  • Xiaomi Mi 3 (კანკრო)
  • Xiaomi Mi A1 (tissot)
  • Xiaomi Mi Max2 (ჟანგბადი)
  • Xiaomi Redmi Note 3 (kenzo)
  • Xiaomi Redmi 5A (riva)
  • Xiaomi Redmi 4A (ვარდისფერი)

წაიკითხე მეტი

Android ტელეფონის ექსპლუატაცია

ტიპიური Android Qualcomm ტელეფონის ჩატვირთვის თანმიმდევრობა

მნიშვნელოვანია, პირველ რიგში გავიგოთ ტიპიური Android მოწყობილობის ჩატვირთვის თანმიმდევრობა, სანამ განვმარტავთ, თუ როგორ შეიძლება მისი გამოყენება. The პროგრამული უზრუნველყოფა ოტoader (SBL) არის ციფრულად ხელმოწერილი ჩამტვირთველი, რომელიც შემოწმდება ავთენტურობაზე iem-ში ჩატვირთვამდე. imem არის ჩიპზე სწრაფი მეხსიერება, რომელიც გამოიყენება გამართვისთვის და DMA (პირდაპირი ემორი ccess) ტრანზაქციები და არის Qualcomm ჩიპსეტების საკუთრება.

ზოგიერთ მოწყობილობას აქვს ეXდაძაბული ოტoader (XBL) SBL-ის ნაცვლად, მაგრამ ჩატვირთვის პროცესი თითქმის იგივეა. SBL ან XBL შემდეგ იწყებს ABOOT-ს, რომელიც ახორციელებს fastboot-ს. ამის შემდეგ, TrustZone (აპარატურაზე დაფუძნებული უსაფრთხოება) ასევე იტვირთება. TrustZone ამოწმებს ABOOT-ის ავთენტურობას აპარატურაზე დაფუძნებული root სერტიფიკატის საშუალებით. SBL (ან XBL, ზოგიერთ შემთხვევაში) შექმნილია იმისთვის, რომ უარყოს არასწორად ხელმოწერილი (ან ხელმოუწერელი) ABOOT.

ავთენტიფიკაციის შემდეგ, ABOOT ამოწმებს /boot და /recovery ავთენტურობას Linux-ის ბირთვის გაშვებამდე. კეთდება ზოგიერთი სისტემის მომზადება და შემდეგ კოდის შესრულება გადადის ბირთვში. ABOOT საყოველთაოდ ცნობილია, როგორც "Android Bootloader" და როდესაც ჩვენ განვბლოკავთ მოწყობილობის ჩამტვირთველს, ჩვენ გამორთავთ ამ ავთენტურობის შემოწმებას ABOOT-ში.

სტანდარტული Android მოწყობილობის ჩატვირთვის თანმიმდევრობა ვიზუალიზებულია. // წყარო: ალეფის კვლევა

წვდომა EDL რეჟიმში

მიუხედავად იმისა, რომ ზოგიერთ მოწყობილობას აქვს მარტივი ტექნიკის კომბინაცია (ან უარესი, მარტივი საკუთრების სწრაფი ჩატვირთვის ბრძანება, რომელიც არსებობს ბევრში Xiaomi მოწყობილობებს), სხვებს, როგორიცაა Nokia მოწყობილობებს, სჭირდებათ მოკლე ქინძისთავები, რომლებიც ცნობილია როგორც "ტესტი წერტილები", რომლებიც წარმოდგენილია მოწყობილობის მთავარზე. დაფა. ასევე შესაძლებელი იყო, 2017 წლის დეკემბრის უსაფრთხოების პატჩამდე, უბრალოდ გაშვებულიყო „adb reboot edl“ ბევრ მოწყობილობაზე (მათ შორის Nexus 6 და 6P) და შეხვიდეთ EDL რეჟიმში. ეს მას შემდეგ დაფიქსირდა.

ტესტის წერტილები ნაჩვენებია დახატულ ყვითელ ყუთში მოწყობილობის მთავარი დაფის ბოლოში. // წყარო: ალეფის კვლევა

სხვა მოწყობილობებს ასევე შეუძლიათ გამოიყენონ ის, რაც ცნობილია, როგორც "ღრმა ფლეშის" კაბელი, რომელიც არის სპეციალური კაბელი, რომელსაც აქვს გარკვეული ქინძისთავები მოკლედ, რათა სისტემას უთხრას ჩაიტვირთოს EDL რეჟიმში. Xiaomi-ის ძველ მოწყობილობებს შეუძლიათ გამოიყენონ ეს მეთოდი Nokia 5-თან და Nokia 6-თან ერთად. სხვა მოწყობილობები ასევე ჩაიტვირთება EDL რეჟიმში, როდესაც ისინი ვერ ამოწმებენ SBL-ს.

ღრმა ფლეშ კაბელი

EDL რეჟიმის გამოყენება OnePlus 3/3T-ზე სრული წვდომის მოსაპოვებლად

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

ეს გაკეთდება ორი ძალიან საშიში ბრძანების მეშვეობით, რომლებიც OnePlus-მა დატოვა ხელმისაწვდომი ABOOT-ის ძველ ვერსიაში (Android ჩამტვირთავი), რათა განბლოკოს მოწყობილობის ჩამტვირთავი (მომხმარებლის ჩატვირთვისას გაფრთხილების ჩვენების გარეშე) და გამორთოს dm_verity. dm_verity ასევე ცნობილია როგორც დამოწმებული ჩატვირთვა და არის უსაფრთხო ჩატვირთვის თანმიმდევრობის ნაწილი Android მოწყობილობაზე. ორი ბრძანება შემდეგია.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

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

  1. პირველ რიგში, ჩატვირთეთ მოწყობილობა EDL რეჟიმში. ეს შეიძლება გაკეთდეს adb-ის მეშვეობით OxygenOS 5.0 ან უფრო დაბალი, ან მარტივი ტექნიკის კლავიშების კომბინაციის გამოყენებით.
  2. ჩამოტვირთეთ ძველი სისტემის სურათი ქვემოთ OxygenOS 4.0.2.
  3. Flash aboot.bin firehose-ის მეშვეობით (გახსოვდეთ, რომ aboot.bin ახორციელებს fastboot-ს, როგორც ადრე აღვნიშნეთ)
  4. ახლა თქვენ შეძლებთ გამორთოთ უსაფრთხო ჩატვირთვა და განბლოკოთ ჩამტვირთველი მოწყობილობის გაწმენდის გარეშე უბრალოდ ზემოთ მოცემული ორი fastboot ბრძანების გამოყენებით.

თუ გახსოვთ, ადრე აღმოჩნდა, რომ OnePlus-მა დატოვა ორი სახიფათო სწრაფი ჩატვირთვის ბრძანება თითქმის ერთი წლის წინ, ერთი, რომელმაც განბლოკა ჩამტვირთავი და მეორე, რომელმაც გამორთო უსაფრთხო ჩატვირთვა. მართალია, თავდამსხმელი არ შეუძლია მავნე პროგრამული უზრუნველყოფის დაყენება მოწყობილობაზე, მათ შეუძლიათ მოწყობილობის დაქვეითება ჰქონდეს ძველი, დაუცველი პროგრამული უზრუნველყოფის შეტევისთვის. უბრალოდ ზემოთ მოყვანილი fastboot ბრძანებების გაშვებით, თავდამსხმელს შეუძლია ჰქონდეს სრული წვდომა მოწყობილობას.

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

Firehose მუშაობს Qualcomm Sahara პროტოკოლით, რომელიც იღებს OEM ხელმოწერილი პროგრამისტს და ასე განხორციელდება ზემოაღნიშნული შეტევა. მოწყობილობასთან დაკავშირებისას ის მოქმედებს როგორც SBL USB-ზე. პროგრამისტების უმეტესობა იყენებს სახანძრო ტელეფონთან EDL რეჟიმში კომუნიკაციისთვის, რაც მკვლევარებმა გამოიყენეს მოწყობილობის სრული კონტროლის მოსაპოვებლად. მკვლევარებმა ეს ასევე გამოიყენეს განბლოკეთ Xiaomi მოწყობილობა უბრალოდ შეცვლილი სურათის ციმციმით რომელმაც გახსნა bootloader. შემდეგ მათ გაანათეს მორგებული ბირთვი, რომელმაც მისცა root წვდომა და გაუშვა SELinux ნებადართული სახით და ასევე ამოიღეს დაშიფრული მომხმარებლის მონაცემების სურათი მოწყობილობიდან.

დასკვნა

უცნობია, რატომ ათავისუფლებენ OEM-ები ამ პროგრამისტებს Qualcomm-ისგან. Nokia-ს, LG-ის, Motorola-სა და Google-ის პროგრამისტებმა გაჟონა და არა გამოშვება, მაგრამ მკვლევარებმა ეს მოახერხეს დაარღვიე Nokia 6-ის ნდობის მთელი ჯაჭვი და მოიპოვე სრული წვდომა მოწყობილობაზე მსგავსი მეთოდებით ექსპლუატაცია. ისინი დარწმუნებულნი არიან, რომ თავდასხმის პორტირება შესაძლებელია ნებისმიერ მოწყობილობაზე, რომელიც მხარს უჭერს ამ პროგრამისტებს. თუ შესაძლებელია, OEM-ებმა უნდა გამოიყენონ ტექნიკის qFuses, რომლებიც ხელს უშლიან პროგრამული უზრუნველყოფის უკან დაბრუნებას, აფეთქებით, როდესაც მოწყობილობის აპარატურა შემობრუნდება უკან და შეუძლიათ გააფრთხილონ მომხმარებელი, რომ ეს მოხდა. დაინტერესებულ პირებს შეუძლიათ გადახედონ ქვემოთ მოცემულ სრულ კვლევით ნაშრომს და ასევე შეუძლიათ წაიკითხონ Nokia-ს სრული ექსპლუატაცია.


წყარო: Aleph Research