Το κρίσιμο rootkit της MediaTek επηρεάζει εκατομμύρια συσκευές Android

Ένα κρίσιμο ελάττωμα στους επεξεργαστές MediaTek δεν επιδιορθώθηκε στις συσκευές λόγω παραμέλησης OEM. Η Google ελπίζει ότι το Δελτίο Ασφαλείας Android του Μαρτίου 2020 θα το διορθώσει.

Την πρώτη Δευτέρα κάθε μήνα, η Google δημοσιεύει το Δελτίο ασφαλείας Android, μια σελίδα που αποκαλύπτει όλα τα τρωτά σημεία ασφαλείας και τις ενημερώσεις κώδικα που υποβάλλονται από την ίδια την Google ή άλλα τρίτα μέρη. Σήμερα δεν αποτέλεσε εξαίρεση: η Google μόλις δημοσιοποίησε το Δελτίο ασφαλείας Android για τον Μάρτιο του 2020. Ένα από τα τρωτά σημεία που τεκμηριώνονται στο τελευταίο ενημερωτικό δελτίο είναι το CVE-2020-0069, μια κρίσιμη εκμετάλλευση ασφαλείας, συγκεκριμένα ένα rootkit, που επηρεάζει εκατομμύρια συσκευές με chipset από την MediaTek, τη μεγάλη εταιρεία σχεδιασμού chip της Ταϊβάν. Αν και το Δελτίο ασφαλείας Android Μαρτίου 2020 είναι φαινομενικά η πρώτη φορά που το CVE-2020-0069 αποκαλύπτεται δημόσια, λεπτομέρειες για το exploit βρίσκονται στην πραγματικότητα ανοιχτά στο Διαδίκτυο - πιο συγκεκριμένα, στα φόρουμ XDA-Developers - από τον Απρίλιο του 2019. Παρά το γεγονός ότι η MediaTek έκανε διαθέσιμη μια ενημέρωση κώδικα ένα μήνα μετά την ανακάλυψη, η ευπάθεια εξακολουθεί να είναι εκμεταλλεύσιμη σε δεκάδες μοντέλα συσκευών.

Ακόμη χειρότερα, η ευπάθεια γίνεται ενεργή εκμετάλλευση από χάκερ. Τώρα η MediaTek στράφηκε στην Google για να κλείσει αυτό το κενό ενημέρωσης κώδικα και να ασφαλίσει εκατομμύρια συσκευές έναντι αυτής της κρίσιμης εκμετάλλευσης ασφαλείας.

Για όσους αναγνώστες δεν είναι εξοικειωμένοι XDA-Προγραμματιστές, είμαστε ένας ιστότοπος που φιλοξενεί τα μεγαλύτερα φόρουμ για τροποποιήσεις λογισμικού Android. Συνήθως, αυτές οι τροποποιήσεις επικεντρώνονται στην επίτευξη πρόσβασης root σε συσκευές για τη διαγραφή bloatware, την εγκατάσταση προσαρμοσμένου λογισμικού ή την προσαρμογή των προεπιλεγμένων παραμέτρων συστήματος. Τα tablet Fire της Amazon είναι δημοφιλείς στόχοι για χομπίστες χάκερ στα φόρουμ μας—είναι γεμάτα απεγκατάσταση bloatware, δεν έχουν πρόσβαση σε βασικές εφαρμογές λογισμικού όπως το Google Play Store και, το πιο σημαντικό, είναι πολύ φτηνός. Η πρόκληση με το rooting tablet Amazon Fire είναι ότι είναι πολύ κλειδωμένα για να εμποδίσουν τους χρήστες να βγουν έξω από τον περιφραγμένο κήπο του Amazon. Η Amazon δεν παρέχει επίσημη μέθοδο για το ξεκλείδωμα του bootloader των ταμπλετών Fire, που είναι συνήθως το πρώτο βήμα για την ριζοβολία οποιασδήποτε συσκευής Android. Επομένως, ο μόνος τρόπος για να κάνετε root ένα tablet Amazon Fire (χωρίς τροποποιήσεις υλικού) είναι να βρείτε ένα exploit στο λογισμικό που επιτρέπει στον χρήστη να παρακάμψει το μοντέλο ασφαλείας του Android. Τον Φεβρουάριο του 2019, αυτό είναι ακριβώς αυτό που έκανε το XDA Senior Member diplomatic όταν δημοσίευσε ένα νήμα στα φόρουμ μας για tablet Amazon Fire. Γρήγορα συνειδητοποίησε ότι αυτό το exploit ήταν πολύ ευρύτερο σε εύρος από απλώς τα tablet Fire της Amazon.

Μετά από λίγη δοκιμή από διπλωματικά μέλη XDA και άλλα μέλη της κοινότητας, επιβεβαιώθηκε ότι αυτό το exploit λειτουργεί σε μεγάλο αριθμό τσιπ MediaTek. Ο συγγραφέας δηλώνει ότι το exploit λειτουργεί σε "σχεδόν όλα τα τσιπ 64-bit της MediaTek" και συγκεκριμένα ονομάζει τα ακόλουθα ως ευάλωτα: MT6735, MT6737, MT6738, MT6739, MT6750, MT6753, MT6755, MT6757, MT6758, MT6761, MT6762, MT6763, MT6765, MT6771, MT6779, MT6795, MT67MT797, MT67MT197 173, MT8176, MT8183, MT6580, και MT6595. Λόγω του πόσα chipset της MediaTek επηρεάστηκαν από αυτό το exploit, το exploit έλαβε το όνομα "MediaTek-su," ή "MTK-su", για συντομία. Στις 17 Απριλίου 2019, το diplomatic δημοσίευσε ένα δεύτερο νήμα με τίτλο "Amazing Temp Root για MediaTek ARMv8" στο φόρουμ μας "Διάφορα Ανάπτυξη Android". Σε αυτό το νήμα, μοιράστηκε ένα σενάριο που μπορούν να εκτελέσουν οι χρήστες για να τους παραχωρήσουν πρόσβαση υπερχρήστη στο κέλυφος, καθώς και να ορίσουν SELinux, η μονάδα πυρήνα Linux που παρέχει έλεγχο πρόσβασης για διεργασίες, σε εξαιρετικά ανασφαλή "επιτρεπτικά" κατάσταση. Για να αποκτήσει ένας χρήστης πρόσβαση root και να ρυθμίσει το SELinux σε επιτρεπτό στη δική του συσκευή είναι απίστευτα εύκολο: Το μόνο που έχετε να κάνετε είναι να αντιγράψετε το σενάριο σε έναν προσωρινό φάκελο, αλλάξτε τους καταλόγους όπου είναι αποθηκευμένο το σενάριο, προσθέστε εκτελέσιμα δικαιώματα στο σενάριο και, στη συνέχεια, εκτελέστε το γραφή.

Τα απλά βήματα για να αποκτήσετε πρόσβαση root χρησιμοποιώντας το MediaTek-su. Πηγή: XDA Senior Member Diplomatic

Τα μέλη της κοινότητας XDA επιβεβαίωσαν ότι το exploit λειτούργησε τουλάχιστον στις ακόλουθες συσκευές:

  1. Acer Iconia One 10 B3-A30
  2. Acer Iconia One 10 B3-A40
  3. Σειρά tablet Alba
  4. Σειρά Alcatel 1 5033
  5. Alcatel 1C
  6. Σειρά Alcatel 3L (2018) 5034
  7. Alcatel 3T 8
  8. Alcatel A5 LED 5085 series
  9. Σειρά Alcatel A30 5049
  10. Alcatel Idol 5
  11. Alcatel/TCL A1 A501DL
  12. Alcatel/TCL LX A502DL
  13. Alcatel Tetra 5041C
  14. Amazon Fire 7 2019 -- έως Fire OS 6.3.1.2 build 0002517050244 μόνο
  15. Amazon Fire HD 8 2016 -- έως Fire OS 5.3.6.4 έκδοση 626533320 μόνο
  16. Amazon Fire HD 8 2017 -- έως Fire OS 5.6.4.0 build 636558520 μόνο
  17. Amazon Fire HD 8 2018 -- μόνο μέχρι Fire OS 6.3.0.1
  18. Amazon Fire HD 10 2017 -- έως Fire OS 5.6.4.0 build 636558520 μόνο
  19. Amazon Fire HD 10 2019 -- μόνο μέχρι Fire OS 7.3.1.0
  20. Amazon Fire TV 2 -- έως Fire OS 5.2.6.9 μόνο
  21. ASUS ZenFone Max Plus X018D
  22. ASUS ZenPad 3s 10 Z500M
  23. Σειρά βασισμένη σε ASUS ZenPad Z3xxM(F) MT8163
  24. Barnes & Noble NOOK Tablet 7" BNTV450 & BNTV460
  25. Barnes & Noble NOOK Tablet 10.1" BNTV650
  26. Blackview A8 Max
  27. Blackview BV9600 Pro (Helio P60)
  28. BLU Life Max
  29. BLU Life One X
  30. Σειρά BLU R1
  31. BLU R2 LTE
  32. BLU S1
  33. BLU Tank Xtreme Pro
  34. BLU Vivo 8L
  35. BLU Vivo XI
  36. BLU Vivo XL4
  37. Bluboo S8
  38. BQ Aquaris M8
  39. CAT S41
  40. Coolpad Cool Play 8 Lite
  41. Dragon Touch K10
  42. Echo Feeling
  43. Gionee M7
  44. HiSense Infinity H12 Lite
  45. Huawei GR3 TAG-L21
  46. Huawei Y5II
  47. Σειρά Huawei Y6II MT6735
  48. Lava Iris 88S
  49. Σειρά Lenovo C2
  50. Lenovo Tab E8
  51. Lenovo Tab2 A10-70F
  52. LG K8+ (2018) X210ULMA (MTK)
  53. LG K10 (2017)
  54. LG Tribute Dynasty
  55. LG X power 2/M320 series (MTK)
  56. LG Xpression Plus 2/K40 σειρά LMX420
  57. Lumigon T3
  58. Meizu M5c
  59. Meizu M6
  60. Meizu Pro 7 Plus
  61. Nokia 1
  62. Nokia 1 Plus
  63. Nokia 3
  64. Nokia 3.1
  65. Nokia 3.1 Plus
  66. Nokia 5.1
  67. Nokia 5.1 Plus/X5
  68. Onn 7" Android tablet
  69. Onn 8" & 10" σειρές tablet (MT8163)
  70. OPPO A5s
  71. OPPO F5 series/A73 -- Μόνο Android 8.x
  72. Σειρά OPPO F7 -- μόνο Android 8.x
  73. Σειρά OPPO F9 -- μόνο Android 8.x
  74. Oukitel K12
  75. Προεξοχή D7
  76. Realme 1
  77. Sony Xperia C4
  78. Σειρά Sony Xperia C5
  79. Sony Xperia L1
  80. Sony Xperia L3
  81. Σειρά Sony Xperia XA
  82. Σειρά Sony Xperia XA1
  83. Southern Telecom Smartab ST1009X (MT8167)
  84. TECNO Spark 3 σειρά
  85. Σειρά Umidigi F1
  86. Umidigi Power
  87. Wiko Ride
  88. Wiko Sunny
  89. Wiko View3
  90. Σειρά Xiaomi Redmi 6/6A
  91. ZTE Blade A530
  92. ZTE Blade D6/V6
  93. ZTE Quest 5 Z3351S

Διαβάστε περισσότερα

Με εξαίρεση τα τηλέφωνα που βασίζονται σε MediaTek από τα Vivo, Huawei/Honor (μετά το Android 8.0+), OPPO (μετά το Android 8.0+) και Η Samsung, τα μέλη της κοινότητας XDA διαπίστωσαν ότι το MediaTek-su λειτουργεί πιο συχνά όταν επιχειρείται σε συσκευές με επηρεασμένες συσκευές chipsets. Σύμφωνα με το XDA Member diplomatic, οι συσκευές Vivo, Huawei/Honor, OPPO και Samsung "χρησιμοποιούν τροποποιήσεις πυρήνα για να αποτρέψουν την πρόσβαση root μέσω exploits", πράγμα που σημαίνει ότι ο προγραμματιστής θα πρέπει να ψάξει στον πηγαίο κώδικα του πυρήνα αυτών των συσκευών για να δημιουργήσει "προσαρμοσμένες εκδόσεις[ες]" του εκμεταλλεύομαι. Αυτό δεν άξιζε την προστιθέμενη προσπάθεια, επομένως ο προγραμματιστής επέλεξε να μην προσθέσει υποστήριξη για αυτές τις συσκευές, παρόλο που, "θεωρητικά", το exploit μπορούσε να λειτουργήσει.

Μέχρι στιγμής, θα πρέπει να είναι σαφές ότι αυτό το exploit επηρεάζει μεγάλο αριθμό συσκευών στην αγορά. Τα τσιπ MediaTek τροφοδοτούν εκατοντάδες οικονομικά και μεσαίας κατηγορίας μοντέλα smartphone, φθηνά tablet και εκτός επωνυμίας αποκωδικοποιητές, οι περισσότεροι από τους οποίους πωλούνται χωρίς την προσδοκία έγκαιρων ενημερώσεων από τον κατασκευαστή. Πολλές συσκευές που εξακολουθούν να επηρεάζονται από το MediaTek-su είναι επομένως απίθανο να λάβουν μια επιδιόρθωση για εβδομάδες ή μήνες μετά τη σημερινή αποκάλυψη, εάν λάβουν κάποια λύση. Τι κάνει λοιπόν το MediaTek-su να κερδίσει την «Κρίσιμη» σοβαρότητά του με α CVSS v3.0 βαθμολογία 9,3;

Γιατί το MTK-su είναι μια κρίσιμη ευπάθεια ασφαλείας

Για να επαναλάβουμε, ο τυπικός τρόπος για να επιτύχετε πρόσβαση root σε μια συσκευή Android είναι να ξεκλειδώσετε πρώτα τον bootloader, ο οποίος απενεργοποιεί την επαλήθευση του διαμερίσματος εκκίνησης. Μόλις ξεκλειδωθεί ο bootloader, ο χρήστης μπορεί να εισαγάγει ένα δυαδικό αρχείο superuser στο σύστημα και επίσης μια εφαρμογή διαχείρισης superuser για να ελέγξει ποιες διεργασίες έχουν πρόσβαση στο root. Το ξεκλείδωμα του bootloader απενεργοποιεί σκόπιμα ένα από τα βασικά χαρακτηριστικά ασφαλείας της συσκευής, γι' αυτό ο χρήστης πρέπει να επιτρέψτε ρητά να συμβεί ενεργοποιώντας συνήθως μια εναλλαγή στις Επιλογές προγραμματιστή και, στη συνέχεια, εκδίδοντας μια εντολή ξεκλειδώματος στο bootloader. Με το MediaTek-su, ωστόσο, ο χρήστης δεν χρειάζεται να ξεκλειδώσει τον bootloader για να αποκτήσει πρόσβαση root. Αντίθετα, το μόνο που έχουν να κάνουν είναι να αντιγράψουν ένα σενάριο στη συσκευή τους και να το εκτελέσουν σε κέλυφος. Ωστόσο, ο χρήστης δεν είναι ο μόνος που μπορεί να το κάνει αυτό. Οποιαδήποτε εφαρμογή στο τηλέφωνό σας μπορεί να αντιγράψει το σενάριο MediaTek-su στον ιδιωτικό κατάλογο και στη συνέχεια να το εκτελέσει για να αποκτήσει πρόσβαση root στο κέλυφος. Μάλιστα, Μέλος XDA διπλωματικό τονίζει αυτή τη δυνατότητα στο νήμα του φόρουμ τους όταν προτείνουν ένα εναλλακτικό σύνολο οδηγιών χρησιμοποιώντας είτε το Terminal Emulator για την εφαρμογή Android ή Termux αντί της ADB.

Με την πρόσβαση root, το μοντέλο ασφαλείας του Android ουσιαστικά καταρρέει. Για παράδειγμα, τα δικαιώματα δεν έχουν νόημα στο πλαίσιο του root, καθώς μια εφαρμογή με πρόσβαση σε ένα κέλυφος root μπορεί να παραχωρήσει στον εαυτό της όποια άδεια θέλει. Επιπλέον, με ένα ριζικό κέλυφος, το σύνολο του διαμερίσματος δεδομένων—συμπεριλαμβανομένων των αρχείων που είναι αποθηκευμένα στους τυπικά απρόσιτους ιδιωτικούς καταλόγους δεδομένων των εφαρμογών— είναι προσβάσιμο. Μια εφαρμογή με root μπορεί επίσης να εγκαταστήσει αθόρυβα όποια άλλη εφαρμογή θέλει στο παρασκήνιο και στη συνέχεια να της εκχωρήσει όποια δικαιώματα χρειάζονται για να παραβιάσει το απόρρητό σας. Σύμφωνα με το XDA Recognized Developer topjohnwu, μια κακόβουλη εφαρμογή μπορεί ακόμη και να "εισάγει κώδικα απευθείας στο Zygote χρησιμοποιώντας το ptrace", που σημαίνει ότι μια κανονική εφαρμογή στη συσκευή σας θα μπορούσε να κλαπεί για να κάνει την προσφορά του εισβολέα. Αυτά τα παραδείγματα αφορούν μόνο μερικούς τρόπους με τους οποίους μια εφαρμογή μπορεί να παραβιάσει την εμπιστοσύνη σας στο παρασκήνιο χωρίς να το γνωρίζετε. Ωστόσο, κακόβουλες εφαρμογές μπορούν να προκαλέσουν όλεθρο στη συσκευή σας χωρίς να κρύβουν τι κάνουν. Το Ransomware, για παράδειγμα, είναι επακρώς Ισχυρό με πρόσβαση root. Εάν δεν πληρώσετε, μια υποθετική εφαρμογή ransomware θα μπορούσε ολοκληρωτικά και αμετάκλητα Κάντε τη συσκευή σας εκτός λειτουργίας, σκουπίζοντας ολόκληρη τη συσκευή.

Η μόνη «αδυναμία» στο MediaTek-su είναι ότι παραχωρεί σε μια εφαρμογή απλώς «προσωρινή» πρόσβαση root, πράγμα που σημαίνει ότι μια διεργασία χάνει την πρόσβαση του υπερχρήστη μετά την επανεκκίνηση της συσκευής. Επιπλέον, σε συσκευές με Android 6.0 Marshmallow και νεότερη έκδοση, η παρουσία του Επαληθευμένη εκκίνηση και dm-verity μπλοκ τροποποιήσεων σε κατατμήσεις μόνο για ανάγνωση όπως σύστημα και προμηθευτής. Ωστόσο, αυτοί οι δύο παράγοντες αποτελούν ως επί το πλείστον μόνο εμπόδια για τους modders στα φόρουμ μας και όχι για κακόβουλους ηθοποιούς. Για να ξεπεραστεί ο περιορισμός της προσωρινής ρίζας, μια κακόβουλη εφαρμογή μπορεί απλώς να ξανατρέξει το σενάριο MediaTek-su σε κάθε εκκίνηση. Από την άλλη πλευρά, δεν υπάρχει καμία ανάγκη να ξεπεραστεί το dm-verity καθώς οι μόνιμες τροποποιήσεις στο σύστημα ή στα διαμερίσματα προμηθευτών είναι απίθανο να ενδιαφέρουν τους περισσότερους δημιουργούς κακόβουλου λογισμικού. άλλωστε υπάρχουν ήδη τόνους των πραγμάτων που μπορεί να κάνει μια κακόβουλη εφαρμογή με ένα κέλυφος root.

Αν αναρωτιέστε σε τεχνικό επίπεδο τι εκμεταλλεύεται η MediaTek-su, η MediaTek μοιράστηκε μαζί μας το παρακάτω γράφημα που συνοψίζει το σημείο εισόδου. Το ελάττωμα προφανώς υπάρχει σε ένα από τα προγράμματα οδήγησης Linux Kernel της MediaTek που ονομάζεται "CMDQ". Η περιγραφή αναφέρει ότι, «εκτελώντας το IOCTL εντολές στον [τον] κόμβο συσκευής CMDQ», ένας τοπικός εισβολέας μπορεί να «διαβάσει/εγγράψει αυθαίρετα τη φυσική μνήμη, να απορρίψει [τον] πίνακα συμβόλων του πυρήνα στον προκατανεμημένη προσωρινή μνήμη DMA, [και] χειριστείτε την προσωρινή μνήμη DMA για να τροποποιήσετε τις ρυθμίσεις του πυρήνα για να απενεργοποιήσετε το SELinux και να κλιμακώσετε σε "root" προνόμιο."

Περίληψη ευπάθειας ασφαλείας της MediaTek του CVE-2020-0069

Σύμφωνα με το γράφημα που μοιράστηκε μαζί μας η MediaTek, αυτή η ευπάθεια επηρεάζει τις συσκευές MediaTek με εκδόσεις Linux Kernel 3.18, 4.4, 4.9 ή 4.14 με εκδόσεις Android 7 Nougat, 8 Oreo ή 9 Pie. Η ευπάθεια δεν είναι εκμεταλλεύσιμη σε συσκευές MediaTek με Android 10, προφανώς, καθώς "η άδεια πρόσβασης του CMDQ Οι κόμβοι της συσκευής επιβάλλονται επίσης από το SELinux." Αυτός ο μετριασμός πιθανότατα προέρχεται από μια ενημέρωση στο BSP της MediaTek και όχι από το Android εαυτό. Το μόνο μετριασμό του Android 10 για αυτήν την ευπάθεια είναι το δικό του περιορισμός στις εφαρμογές που εκτελούν δυαδικά αρχεία στον αρχικό τους κατάλογο; Ωστόσο, όπως σημειώνει ο XDA Recognized Developer topjohnwu, μια κακόβουλη εφαρμογή μπορεί απλώς να εκτελέσει τον κώδικα MediaTek-su σε μια δυναμική βιβλιοθήκη.

Παρόλο που η MediaTek έχει επιδιορθώσει αυτό το ζήτημα σε όλα τα chipset που επηρεάζονται, δεν μπορούν να αναγκάσουν τους κατασκευαστές συσκευών να εφαρμόσουν τις ενημερώσεις κώδικα. Η MediaTek μας είπε ότι είχαν έτοιμα patches τον Μάιο του 2019. Η Amazon, όπως ήταν αναμενόμενο, επιδιορθώθηκε αμέσως το ζήτημα σε όλες τις συσκευές της μόλις ενημερώθηκαν. Ωστόσο, έχουν περάσει 10 μήνες από τότε που η MediaTek διέθεσε μια επιδιόρθωση στους συνεργάτες της Τον Μάρτιο του 2020, δεκάδες κατασκευαστές OEM δεν έχουν επιδιορθώσει τις συσκευές τους. Οι περισσότερες από τις επηρεαζόμενες συσκευές είναι σε παλαιότερες εκδόσεις Android με ξεπερασμένα επίπεδα ενημερωμένης έκδοσης κώδικα ασφαλείας Android (SPL) και η κατάσταση ενημέρωσης είναι ακόμη χειρότερη αν λάβετε υπόψη το εκατοντάδες λιγότερο γνωστών μοντέλων συσκευών που χρησιμοποιούν αυτά τα τσιπ MediaTek. Η MediaTek έχει ένα σοβαρός πρόβλημα στο χέρι του εδώ, επομένως έχουν στραφεί στην Google για βοήθεια.

Σε αντίθεση με την MediaTek, η Google μπορώ αναγκάζουν τους OEM να ενημερώσουν τις συσκευές τους μέσω συμφωνίες άδειας χρήσης ή όρους προγράμματος (όπως το Android One). Για να δηλώσει ένας OEM ότι μια συσκευή συμμορφώνεται με το Επίπεδο Ενημερωμένης έκδοσης κώδικα ασφαλείας 2020-03-05 (SPL), η συσκευή πρέπει να περιλαμβάνει όλο το πλαίσιο, Διορθώσεις πυρήνα Linux και ισχύοντες προμηθευτές προγραμμάτων οδήγησης στο Ενημερωτικό δελτίο ασφαλείας Android του Μαρτίου 2020, το οποίο περιλαμβάνει μια ενημέρωση κώδικα για το CVE-2020-0069 ή MediaTek-su. (Η Google στην πραγματικότητα δεν φαίνεται να το επιβάλλει αυτό Οι OEM στην πραγματικότητα συγχωνεύουν όλες τις ενημερώσεις κώδικα Όταν δηλώνετε ένα συγκεκριμένο SPL, όμως.) Τώρα που κυκλοφόρησε το δελτίο Μαρτίου 2020, αυτή η ιστορία θα πρέπει να τελειώσει, σωστά; Δυστυχώς, πρέπει επίσης να κρατήσουμε τα πόδια της Google στη φωτιά επειδή σέρνουν τα πόδια της για την ενσωμάτωση των μπαλωμάτων.

Το ελάττωμα στη διαδικασία ενημέρωσης κώδικα ασφαλείας

Σε περίπτωση που δεν είναι ήδη σαφές, δεν χρειάζεται κάθε ευπάθεια ασφαλείας να καταλήγει σε ένα ενημερωτικό δελτίο ασφαλείας Android. Πολλά τρωτά σημεία ανακαλύπτονται και διορθώνονται από προμηθευτές χωρίς να εμφανίζονται ποτέ στο μηνιαίο δελτίο. Το MediaTek-su θα έπρεπε να ήταν ένα από αυτά, αλλά για πολλούς λόγους, αρκετοί OEM απέτυχαν να ενσωματώσουν τις ενημερώσεις κώδικα που προσφέρει η MediaTek. (Υπάρχουν πολλοί πιθανοί λόγοι, που κυμαίνονται από έλλειψη πόρων έως επιχειρηματικές αποφάσεις έως αποτυχία στην επικοινωνία.) Όταν προηγουμένως δήλωσε ότι η MediaTek "στράφηκε στην Google" για βοήθεια, υπονοούσε ότι η MediaTek ζήτησε ενεργά βοήθεια από την Google για να πείσει τους OEM να επιδιορθώσουν τελικά συσκευές. Ωστόσο, μπορεί στην πραγματικότητα να μην ήταν έτσι. Καταλαβαίνω ότι η Google αγνοούσε το MediaTek-su μέχρι που τυχαία αναφέρθηκε σε μια αναφορά ασφαλείας από TrendMicro δημοσιεύθηκε στις 6 Ιανουαρίου 2020. Στην έκθεση, TrendMicro τεκμηριώνει αλλο ευπάθεια ασφαλείας, που ονομάζεται "χρήση μετά τη δωρεάν στο πρόγραμμα οδήγησης συνδετήρων" ευπάθεια, που εκμεταλλευόταν ενεργά στην άγρια ​​φύση. TrendMicro σημείωσε πώς τρεις κακόβουλες εφαρμογές απέκτησαν πρόσβαση root χρησιμοποιώντας μία από τις δύο μεθόδους, είτε την ευπάθεια "χρήση μετά τη δωρεάν στο πρόγραμμα οδήγησης βιβλιοδέτη" είτε το MediaTek-su.

Υποτιθέμενες εφαρμογές Play Store που κάνουν κατάχρηση του MediaTek-su. Πηγή: TrendMicro.

Στον κώδικα που TrendMicro κοινόχρηστο, μπορούμε να δούμε ξεκάθαρα πώς οι κακόβουλες εφαρμογές στόχευαν συγκεκριμένα μοντέλα συσκευών (π.χ. Nokia 3, OPPO F9 και Redmi 6A) και χρησιμοποιεί το MediaTek-su σε αυτά.

Δεν μπορώ να μιλήσω για TrendMicro, αλλά φαίνεται ότι δεν γνώριζαν ότι το MediaTek-su ήταν ένα ακόμη μη επιδιορθωμένο exploit. Η εστίασή τους ήταν τελικά στο exploit "μετά τη χρήση σε οδηγό βιβλιοδέτη", και η ανακάλυψη της χρήσης του MediaTek-su φαίνεται να ήταν μια εκ των υστέρων σκέψη. (Είμαι σίγουρος ότι αν TrendMicro γνώριζαν την κατάσταση γύρω από την MediaTek-su, θα είχαν συντονίσει τις προσπάθειές τους για αποκάλυψη με την Google.) Ενημερωθήκαμε μόνο για αυτή την εκμετάλλευση του εαυτού μας στις 5 Φεβρουαρίου 2020 και αφού ερευνήσαμε μόνοι μας πόσο κακό ήταν, επικοινωνήσαμε με την Google σχετικά με αυτό στις 7 Φεβρουαρίου, 2020. Η Google ανησυχούσε τόσο πολύ για τις επιπτώσεις της δημοσιοποίησης της MediaTek-su που μας ζήτησαν να σταματήσουμε τη δημοσίευση αυτής της ιστορίας μέχρι σήμερα. Αφού εξετάσουμε την ανεπανόρθωτη ζημιά που μπορεί να προκληθεί σε χρήστες που στοχοποιούνται από κακόβουλο λογισμικό MediaTek-su, συμφωνήσαμε να σταματήσουμε αυτή την ιστορία μέχρι την ανακοίνωση του Android Μαρτίου 2020 Δελτίο Ασφαλείας. Ωστόσο, λαμβάνοντας υπόψη πόσο χρόνο θα χρειαστούν πολλές συσκευές για να λάβουν την πιο πρόσφατη ενημέρωση ασφαλείας, αν ποτέ πάρτε το καθόλου, είναι βέβαιο ότι θα υπάρχει ένας τόνος συσκευών ακόμα ευάλωτες στο MediaTek-su σε λίγους μήνες από τώρα. Αυτό θα πρέπει να είναι τρομακτικό για όποιον έχει μια ευάλωτη συσκευή.

Παρόλο που αυτή η πολύ σοβαρή, «κρίσιμη» ευπάθεια σοβαρότητας χρησιμοποιείται ενεργά στη φύση, μόνο η Google ενσωματώθηκε στην επιδιόρθωση για αυτό το ζήτημα στο ενημερωτικό δελτίο Μαρτίου 2020, το οποίο είναι περίπου 2 μήνες αφότου ενημερώθηκαν για το θέμα. Ενώ η Google ενημερώνει τους συνεργάτες Android σχετικά με το πιο πρόσφατο Δελτίο ασφαλείας Android 30 ολόκληρες ημέρες πριν από τη δημοσιοποίηση του ενημερωτικού δελτίου (δηλ. Οι OEM ενημερώθηκαν για το τι υπάρχει στο ενημερωτικό δελτίο Μαρτίου 2020 στις αρχές Φεβρουαρίου 2020), η Google μπορεί, και συχνά το κάνει, να ενημερώνει το ενημερωτικό δελτίο με αλλαγές ή νέες διορθώσεις. Το γιατί η Google δεν επέλεξε να επισπεύσει τη συμπερίληψη μιας ενημέρωσης κώδικα για ένα τόσο σοβαρό πρόβλημα με ξεπερνά, ειδικά όταν η MediaTek είχε μια επιδιόρθωση πριν από 10 μήνες. Εάν ανακαλύφθηκε ένα τέτοιο σφάλμα στις συσκευές της Apple, δεν έχω καμία αμφιβολία ότι θα είχαν εκδώσει μια διόρθωση πολύ, πολύ πιο γρήγορα. Η Google βασίστηκε ουσιαστικά στο ριψοκίνδυνο στοίχημα ότι η MediaTek-su θα παραμείνει τόσο χαμηλού προφίλ όσο ήταν ήδη μέχρι το δελτίο του Μαρτίου 2020. Ενώ η Google φαίνεται να στάθηκε τυχερή από αυτή την άποψη, δεν έχουμε ιδέα πόσοι δημιουργοί κακόβουλου λογισμικού γνωρίζουν ήδη για την εκμετάλλευση. Μετά από όλα, έχει καθίσει σε ένα τυχαίο νήμα φόρουμ XDA για σχεδόν έναν ολόκληρο χρόνο.

Υπάρχει ένα ακόμη συμβαλλόμενο μέρος σε αυτήν την καταστροφή που δεν έχω αναφερθεί πολύ, και είναι ο συγγραφέας του exploit, XDA Member diplomatic. Προς τιμήν του, δεν νομίζω ότι είχε καμία κακόβουλη πρόθεση να δημοσιεύσει το MediaTek-su. Μπορούμε ξεκάθαρα να εντοπίσουμε την προέλευση του exploit στην επιθυμία της διπλωματικής να τροποποιήσει τα tablet Amazon Fire. Ο Diplomatic μου λέει ότι ο πρωταρχικός του στόχος στην ανάπτυξη αυτής της ριζικής μεθόδου ήταν να βοηθήσει την κοινότητα. Η προσαρμογή της συσκευής σας είναι το θέμα του XDA και οι προσπάθειες της διπλωματικής στην κοινότητα είναι αυτό που απολαμβάνουν οι άνθρωποι στα φόρουμ. Αν και η άρνηση του διπλωματικού για το έργο ανοιχτού κώδικα εγείρει ορισμένες ανησυχίες, εξηγεί ότι ήθελε η κοινότητα να το απολαμβάνει αυτό έχοντας πρόσβαση root για όσο το δυνατόν περισσότερο. Όταν επικοινώνησα για πρώτη φορά με διπλωματικό, δήλωσε επίσης ότι συνεργαζόταν με κάποιους εταίρους που τον εμπόδισαν να μοιραστεί τον πηγαίο κώδικα και την έρευνα του έργου. Αν και δεν μπόρεσα να μάθω περισσότερες λεπτομέρειες σχετικά με αυτήν τη συνεργασία, αναρωτιέμαι αν η diplomatic θα είχε επιλέξει να δημοσιοποιηθεί με αυτό το exploit εάν η MediaTek πρόσφερε ένα πρόγραμμα bounty bug. Δεν μπορώ να φανταστώ ότι μια ευπάθεια αυτού του μεγέθους δεν θα πλήρωνε ένα τεράστιο χρηματικό ποσό εάν η MediaTek είχε πράγματι ένα τέτοιο πρόγραμμα. Η Diplomatic ισχυρίζεται ότι αυτή η εκμετάλλευση ήταν δυνατή από το chipset MediaTek MT6580 στα τέλη του 2015, οπότε πρέπει να αναρωτηθεί κανείς εάν η diplomatic είναι ακόμη και το πρώτο άτομο που θα βρει αυτό το exploit. Μου λέει ότι δεν είχε ιδέα ότι η MediaTek-su γινόταν ενεργή εκμετάλλευση μέχρι τη δημοσίευση αυτού του άρθρου.

Εάν θέλετε να ελέγξετε εάν η συσκευή σας είναι ευάλωτη στο MediaTek-su, τότε εκτελέστε μη αυτόματα το σενάριο που δημοσιεύτηκε από το XDA Member diplomatic σε αυτό το νήμα του φόρουμ XDA. Εάν εισαγάγετε ένα ριζικό κέλυφος (θα ξέρετε πότε το σύμβολο αλλάζει από $ σε #), τότε θα ξέρετε ότι το exploit λειτουργεί. Εάν λειτουργεί, τότε θα πρέπει να περιμένετε μέχρι ο κατασκευαστής της συσκευής σας να κυκλοφορήσει μια ενημέρωση που διορθώνει το MediaTek-su. Εάν η συσκευή σας αναφέρει το Επίπεδο Ενημερωμένης έκδοσης κώδικα ασφαλείας του 2020-03-05, το οποίο είναι το πιο πρόσφατο SPL του Μαρτίου 2020, τότε είναι σχεδόν βέβαιο ότι προστατεύεται από το MediaTek-su. Διαφορετικά, θα πρέπει απλώς να ελέγξετε εάν η συσκευή σας είναι ευάλωτη.


Ενημέρωση 1 (3/2/2020 @ 9:45 μ.μ. EST): Αυτό το άρθρο ενημερώθηκε για να διευκρινιστεί ότι ο διπλωματικός μέλος του XDA γνώριζε πραγματικά το εύρος αυτής της ευπάθειας μόλις το ανακάλυψε τον Φεβρουάριο του 2019, αλλά ότι δεν γνώριζε τη χρήση του exploit στην άγρια ​​φύση μέχρι τη δημοσίευση αυτού άρθρο. Διορθώσαμε επίσης τη διατύπωσή μας σχετικά με έναν λόγο για τον οποίο η diplomatic αρνήθηκε να κοινοποιήσει τον πηγαίο κώδικα του έργου.