Beveiligingsbedrijf openbaart vier lekken in alle MediaTek-socs

Check Point Research heeft vier lekken ontdekt in drivers van alle MediaTek-socs. De processorontwerper heeft die inmiddels gedicht. Het beveiligingsbedrijf ontdekte de lekken door delen van de firmware te reverse-engineeren.

De lekken zitten in de dsp, de digital signal processor van alle MediaTek-socs, meldt Check Point. Ze bleken mogelijk door een fout in de Hardware Abstraction Layer, of HAL, van de soc. Voor debugging was het daarin nog mogelijk om het commando 'param_file' te gebruiken voor het controleren van audio-instellingen door de fabrikant. MediaTek heeft die kwetsbaarheid, CVE-2021-0673, opgelost door 'param_file' niet langer te laten uitvoeren. Om ethische redenen geeft Check Point niet alle details van de aanval.

Door de fout in de HAL konden de onderzoekers bij de dsp komen. Die draait op een aangepaste versie van FreeRTOS. Die firmware is normaal niet beschikbaar voor eindgebruikers, ook niet met root of via 'adb shell'-commando's. Vervolgens bleek het mogelijk om het geheugen met willekeurige data te overschrijven, waardoor de drivers crashten. Dat gebeurde op verschillende manieren. De processorontwerper heeft ook die lekken gedicht.

MediaTek levert socs voor ongeveer 37 procent van de nieuwe smartphones en is daarmee marktleider voor smartphone-socs. Vooral goedkopere telefoons hebben veelal socs van de processorontwerper aan boord.

Door Arnoud Wokke

Redacteur Tweakers

25-11-2021 • 11:39

29

Reacties (29)

29
29
19
4
0
9
Wijzig sortering
Ik mis wel een paar belangrijke zaken uit het oorspronkelijke artikel, zoals dat de aanval vanuit android USER space kon gebeuren en dat het om een chip gaat die deels te programmeren is door de fabrikant.
Modern MediaTek SoCs contain a special AI processing unit (APU) and audio Digital signal processor (DSP) to improve media performance and reduce CPU usage. Both have custom Tensilica Xtensa microprocessor architecture which allows chip manufacturers to extend the base Xtensa instruction set with custom instructions to optimize particular algorithms and prevent them from being copied.

In this study, we reverse-engineered the MediaTek audio DSP firmware and discovered several vulnerabilities that are accessible from the Android user space.

A malformed inter-processor message could potentially be used by an attacker to execute and hide malicious code inside the DSP firmware. Since the DSP firmware has access to the audio data flow, an attack on the DSP could potentially be used to eavesdrop on the user.
Waar ik benieuwd naar ben is of het daadwerkelijk bij Mediatek zit, bij de toeleverancier, of dat het softwarematig is.

ARM-SOC’s zijn vaak een brouwsel van verschillende onderdelen waar fabrikanten een klein eigen sausje overheen gooien en als het probleem bij vb Tensicilla zit die soortgelijk ontwerp ook bij andere producenten heeft gebruikt dan gaan we dit vaker tegenkomen.
ARM-SOC’s zijn vaak een brouwsel van verschillende onderdelen.
Dat zijn andere chips ook en precies waarom je niet teveel afhankelijk wel zijn. Zie Apple.
Uit nieuwsgierigheid, hoeveel O.S. heeft een moderne telefoon draaien?

Daar deze soc freeRTOS draait?
Denk dat dat meer is dan wat je denkt; hetzelfde geld voor PC's.

Als we kijken naar een moderne PC, dan hebben zowel Intel als AMD een paar extra stukken firmware in de CPU draaien, zoals bijvoorbeeld de Intel Management Engine, wat bijvoorbeeld weer op MINIX gebaseerd is, een microkernel-gebaseerde unix-like met veel "gedeelde" historie met Linux (Tanenbaum V Torvalds discussie... heerlijk).

Los daarvan zijn er ook SOC's met micro-OS-en aanwezig op moederborden, om diverse taken te doen; veel LCD-tjes en power controllers draaien een vorm van firmware, naast natuurlijk hulp-controllers om bijvoorbeeld zonder een CPU een volledige flash van de UEFI te doen ("Bios-flashback"). Die UEFI zelf is eigenlijk ook een stuk OS met in dit geval zelfs een volledig benaderbare interface waarmee je vanalles kan doen. UEFI heeft zelfs drivers, die het weer van andere devices haalt, zoals een GPU (die eigenlijk bijna alles aan boord heeft om stand-alone te werken).

Als je ziet hoeveel ARM-based SOC's met RAM en storage er op een SSD zitten, dan vraag je je ook af waarom je daar niet een HDMI-poort op kan aansluiten, en waarom niemand Doom op z'n SSD heeft geïnstalleerd (itt tot op een zwangerschapstest, daar is het al wel op gelukt, met kanttekening uiteraard).

Zelfs DDR5 RAM heeft tegenwoordig meer "logica" aan boord, niet alleen in de vorm van een power management controller. Ook dat draait firmware.

Net zoals de CPU zelf ook weer door een stuk firmware aangestuurd wordt (zoals AMD AGESA); wat feitelijk óp het moederbord draait om de CPU te kunnen starten. Daar zijn ook weer updates voor.

De CPU's zelf draaien veelal ook een HAL (hardware abstraction layer), omdat het van binnen veelal RISC-ontwerpen zijn met de X-86(-64) CISC-laag er "omheen". O.a. Spectre en Meltdown maakte juist gebruik van de manier waarop dit gedaan werd in de vorm van branche prediction.
MINIX [...], een microkernel-gebaseerde unix-like met veel "gedeelde" historie met Linux (Tanenbaum V Torvalds discussie... heerlijk).
Ter verduidelijking: Minix en Linux delen alleen een stukje Internet-drama history, namelijk de genoemde Tanenbaum/Torvalds "discussie" die niets meer is dan 2 professionals in hetzelfde vakgebied met een verschil in zienswijze. Er is absoluut geen gedeelde technische history tussen Minix en Linux.
Ter verduidelijking: Minix en Linux delen alleen een stukje Internet-drama history, namelijk de genoemde Tanenbaum/Torvalds "discussie" die niets meer is dan 2 professionals in hetzelfde vakgebied met een verschil in zienswijze. Er is absoluut geen gedeelde technische history tussen Minix en Linux.
Niet direct, maar indirect heeft Linux toch wel veel aan Minix te danken.
Minix werd door Tanenbaum ontwikkelt voor het onderwijs. Daardoor was het heel erg makkelijk aanpasbaar en tal van mensen hebben dat ook gedaan. Maar Tanenbaum wilde zijn lesmateriaal niet "vervuilen" en heeft al die aanpassingen geweigerd. Dus gingen mensen steeds verder met "mods" voor Minix die steeds groter werden. Dat ging met name over de kernel maar in userland zag je iets vergelijkbaars. De GNU software collectie werkte uitstekend samen met Minix hoewel er geen formele samenwerking was. Niettemin waren er een hoop mensen die er aan werkte vanaf een Minix systeem.
Toen kwam Linus aan met z'n zelfgebouwde kernel. Dat stelde toen nog niet zo veel voor maar hij stond wel open voor aanpassingen van anderen. Toen is de community rond Minix massaal overgestapt en hebben ze al hun patches, mods, aanpassingen, etc. meegenomen en aan Linus cadeau gedaan. Toen had die opeens een compleet OS en een legertje programmeurs dat stond te trappelen om verder te werken en de rest is geschiedenis.
Dat verhaal klopt inderdaad wel aardig, al laat je wel het in mijn ogen belangrijke detail achterwege dat juist Linus Torvalds een van de mensen was die Tanenbaum vroeg om Minix aan te passen, specifiek met als doel om er een voor alledag bruikbaar desktop-OS van te maken. De reden dat Tanenbaum dat weigerde was inderdaad omdat hij het voor onderwijsdoeleinden had ontwikkeld en daarom zo weinig mogelijk extra complexiteit wilde toevoegen. Torvalds is toen voor zichzelf begonnen en inderdaad sloten al snel de mensen die op zoek waren naar een bruikbaar Unix-achtig OS voor niet teveel geld zich bij hem aan.

De reden dat Tanenbaum Minix heeft ontwikkeld is overigens omdat de voorwaarden van de Berkeley Software Distribution (BSD), de Unix implementatie van Bell Labs, werden aangepast. Hierdoor mocht er geen onderwijs meer gegeven worden uit de documentatie en de broncode van dit OS tenzij er flinke licentiekosten werden betaald, bedragen die voor studenten niet op te brengen waren. De eerste versies van Minix met documentatie waren destijds verkrijgbaar voor een kleine symbolische vergoeding, Minix 3 is helemaal gratis en open source. Er wordt nog steeds aan ontwikkeld met onder andere het doel om er toch ook een bruikbaar OS voor op de desktop van te maken, maar Tanenbaum ziet ook potentie voor Minix in systemen waar stabiliteit en uptime van het hoogste belang zijn, zoals medische apparatuur, stemcomputers en IoT-apparaten. Een OS dat zelf fouten kan herstellen en ook zichzelf kan updaten inclusief belangrijke drivers zonder een herstart nodig te hebben kan in die gebieden erg handig zijn.

Ik ben best blij dat ik nog college heb mogen volgen bij Tanenbaum, hij is inmiddels met pensioen. Voor de practica bij zijn vakken Operating Systems en Computer Networks moest je aanpassingen maken aan Minix, bijvoorbeeld een streaming audio server implementeren op de bestaande netwerk stack. Een vriend van me heeft tijdens het OS practicum nog eens een bug gevonden (en ik geloof ook opgelost) in de filesystem driver, wat waarschijnlijk een positieve invloed heeft gehad op zijn cijfer voor dat vak ;)

[Reactie gewijzigd door rbr320 op 25 juli 2024 10:41]

System On a Chip.
Veel van die chips draaien intern hun eigen programma op hun eigen OS (firmware)
Je komt ze niet alleen tegen in telefoons maar in heel veel apparaten. Auto's zitten er ook vol mee.
Het zijn autonome systemen die onderling communiceren of zelfstandig input veranderen in output buiten het OS om.
Ik denk dat dit niet enkel voorbehouden aan SoC's.
Bepaalde Intel CPU's hebben minix aan board, ook kom ik wel geregeld normale chips tegen, waar iets van een besturingssysteem in zit.

Vandaar mijn vraag, hoeveel besturingssystemen een moderne telefoon in zich heeft.
Moderne telefoons weet ik niet. Maar iedereen met een Intel CPU draait bijvoorbeeld het open source OS Minix (binnen de CPU). Zie ook: https://www.cs.vu.nl/~ast/intel/ & https://webwereld.nl/nieu...ter-wereld-minix-3773397/
Ik tel de telefoon zelf, de modem en de DSP.
De SIM heeft ook zijn eigen O.S. maar wat nog meer?
Zit niet standaard in telefoon of ja nu eigenlijk wel, was ik vergeten.
En dan is het mooi dat Mediatec het oplost, maar alle telefoons die buiten het updateschema van de telefoonfabrikant vallen hebben pech en blijven voor altijd kwetsbaar?
Welkom bij IT, dat is letterlijk een probleem bij alle hardware & software. Dat is dan ook precies waarom een lang update beleid goed is. Des te meer kans de gebruiker overstapt op nieuwe (wel ondersteunde) hardware voordat die risico begint te lopen door kwetsbaarheden die niet gepatched worden.
Ook is dat wat kort door de bocht. Niet alle issues kunnen opgelost worden met software updates. Zo zullen alle iphones vanaf de x en lager altijd gevoelig blijven voor een paar hacks die onder andere jailbreaks mogelijk maken. Iets dat niet te patchen valt. Die hack heet checkm8.

Er is soms meer nodig dan een goed updatebeleid. Ook ontwerpbeslissingen zijn belangrijk.
Ik benoem ook bewust hardware & software, en niet specifiek software updates ;). Wellicht had ik het iets duidelijker kunnen schrijven, klopt helemaal wat je zegt.

[Reactie gewijzigd door Byron010 op 25 juli 2024 10:41]

Volgens mij vergeten we hier tablest, tv's (Sony oa.) mediaspelers en nog wel een klein handje apparaten met een mediatek soc.
Daarom: goedkoop is duurkoop.
Niet alle apparaten met een MediaTek soc zijn goedkoop helaas.

Er zijn bijvoorbeeld best veel midden- en high-midsegment smart tv’s die op een MediaTek draaien. Ook maken ze socs die gebruikt worden in ADSL-modems, settopboxes en Blu-rayspeler. Oppo gebruikt MT socs in een aantal van hun telefoons.

MediaTek maakt niet alleen instapmodellen.
Ik ben wel geinteresseerd in een lijst van alle telefoons die hierdoor geraakt worden.
Ik denk dat dat echt een mega grote lijst gaat worden. Zoals het artikel al aangeeft, 37% van de telefoons draait op die chips (en niet alleen telefoons, grote kans dat televisies hier ook vatbaar voor zijn)
Zie bijvoorbeeld:
https://www.kimovil.com/en/compare-smartphones/f_pm+id.5
Dat zijn er echt extreem veel.
Ook veel (goedkope) Android tablets maken gebruik van MediaTek hardware.

[Reactie gewijzigd door dutchgio op 25 juli 2024 10:41]

Maar een Snapdragon of Samsung Exynos zit dus goed?
Het is waarschijnlijk niet getest en daardoor is het ook niet benoemd. Als deze soc's er geen last van zouden hebben, dan was het wel de moeite waard om het te vermelden (en dat ontbreekt in het artikel en daardoor is het vermoedelijk niet getest).
Er wordt juist wel vermeld dat het alleen om MediaTek gaat, omdat het specifek om de 'MediaTek audio DSP firmware' gaat. Andere soc's bevatten die firmware niet.
Anders zou het onderzoek nog veel meer impact hebben.
Ja. Het gaat specifiek om een component welke in MediaTek SoC's zit en niet in chips van andere fabrikanten.
Smartphones, Smartwatches, Tablets, dumbphone (inderdaad enkelvoud...), chromebooks, en dan zijn er vast nog wel meer aanverwante productcategorieën waar ze voor gebruikt worden - zoals e-readers nen navigatie-units.

Op dit item kan niet meer gereageerd worden.