ID.nl logo
Stuur sensordata via Zoek mijn-netwerk van Apple
© PXimport
Huis

Stuur sensordata via Zoek mijn-netwerk van Apple

De functie ‘Zoek mijn’ van Apple is bedoeld om verloren apparaten terug te vinden. Een beveiligingsonderzoeker heeft ontdekt hoe je deze functie kunt misbruiken om álle Apple-apparaten als netwerk in te zetten. Zo kun je van overal willekeurige data doorsturen, zolang er een Apple-apparaat in de buurt is. Wij bouwden hierop voort om apparaten die geen internetverbinding hebben sensordata te laten doorsturen.

Code downloaden

In dit artikel worden wat voorbeelden van stukken code gegeven. Omdat overtikken van code erg foutgevoelig is, kun je die code ook downloaden en daarna bekijken of kopiëren. Zie het bestand code-findmy.txt, beschikbaar via www.bit.ly/codefindmy.

Met de app Zoek mijn van Apple kun je een verloren iPhone, iPad, Mac(Book), Apple Watch of AirPod terugvinden, evenals de AirTag die in april werd aangekondigd. Dat werkt doordat Apple-apparaten bluetooth-signalen uitzenden, die door andere apparaten worden opgepikt en dan naar Apple worden verzonden. Dat gebeurt met respect voor privacy: die bluetooth-signalen bevatten noch je identiteit noch andere persoonsgegevens. Andere Apple-gebruikers en zelfs Apple krijgen dus niet te zien waar je apparaten zich bevinden.

01 OpenHaystack

Onderzoekers van het Secure Mobile Networking Lab van de TU Darmstadt in Duitsland hebben als onderdeel van hun project Open Wireless Link de werking van het Zoek mijn-protocol van Apple gereconstrueerd. Ze hebben op basis hiervan ook hun eigen framework gemaakt om bluetooth-apparaten te traceren via het Zoek mijn-netwerk: OpenHaystack. Op dit project bouwen we voort in deze masterclass.

Voor OpenHaystack heb je macOS 11 (Big Sur) nodig. De installatie is wat omslachtiger dan je gewend bent van Mac-software, omdat de locatierapporten alleen via een niet-publieke API van Apple beschikbaar zijn. De ontwikkelaars hebben toegang tot die gegevens gekregen door een aangepaste plug-in voor Apple Mail te schrijven. De plug-in erft dan de toegangsrechten van Apple Mail over.

©PXimport

02 Installeer OpenHaystack

Download de nieuwste release van OpenHaystack van GitHub en open de applicatie op je Mac. Je krijgt de vraag om de plug-in voor Mail te installeren. Daarvoor moet je tijdelijk de beveiligingsfunctie Gatekeeper van macOS uitschakelen. Open een terminalvenster en typ daarin de volgende opdracht:

sudo spctl --master-disable

Open dan in Mail Voorkeuren en klik in het tabblad Algemeen op Beheer plugins. Krijg je die laatste knop niet te zien, voer dan in de terminal de volgende opdracht uit:

sudo defaults write "/Library/Preferences/com.apple.mail" EnableBundles 1

Vink in het venster om de plug-ins te beheren de optie OpenHaystackMail.mailbundle aan en bevestig dat je de plug-in toegang wilt geven tot de data waar Mail toegang tot heeft. Je hoeft dit niet blindelings te vertrouwen: je kunt in de broncode van de plug-in bekijken wat die doet. Je e-mails worden bijvoorbeeld niet bekeken. Herstart daarna Mail. En schakel Gatekeeper weer in met de volgende opdracht:

sudo spctl --master-enable

©PXimport

03 Voeg een apparaat toe

OpenHaystack toont nu een kaart. Als het bolletje rechtsboven groen is, heeft de applicatie toegang tot het Zoek mijn-netwerk. Klik op de plusknop bovenaan om een accessoire toe te voegen. Klik met de Ctrl-toets ingedrukt op het accessoire en kies dan Rename om het een naam te geven. Met een klik op het pictogram ervoor kun je dit pictogram en de kleur aanpassen.

Verbind dan een ondersteund apparaat via usb met je Mac. Dat is voorlopig beperkt tot ESP32-ontwikkelbordjes en de BBC micro:bit v1. Als je op de knop Deploy naast het aangemaakte accessoire klikt, installeert de applicatie de juiste firmware op je apparaat.

©PXimport

04 Bouw de firmware

Lukt dit installeren om een of andere reden niet, dan kun je ook zelf de firmware flashen, en dat kan ook op een andere (Mac- of Linux-)computer dan je Mac met de OpenHaystack-applicatie. Voor de ESP32 installeer je eerst ESP-IDF en Python. Download dan het bestand Source code van de nieuwste release van OpenHaystack. Ga in een terminalvenster naar de map Firmware en dan ESP32 met de opdracht:

cd Firmware/ESP32

Bouw dan de firmware met ESP-IDF:

idf.py build

©PXimport

05 Flash de firmware

Klik nu weer met de Ctrl-toets ingedrukt op het accessoire in OpenHaystack en kies dan Copy advertisement key (Base64). Keer dan weer terug naar het terminalvenster waar je de OpenHaystack-firmware zojuist gebouwd hebt en flash de firmware met de gekozen sleutel, bijvoorbeeld als volgt:

./flash_esp32.sh -p /dev/tty.usbserial-210 "DwUEQ/a+QCDuKVa+p2H4HIvDz/P1Fs/4D3odsA=="

De tekens tussen de aanhalingstekens zijn de Base64-codering van de sleutel, voer hier in de plaats daarvan de jouwe in. Het apparaatbestand /dev/tty.usbserial-210 heeft ook een aanpassing aan jouw eigen situatie nodig. Je kunt in een terminalvenster op je Mac bekijken welk apparaatbestand het moet zijn:

ls /dev/tty.usbserial-*

Onder Linux heeft het apparaatbestand de vorm /dev/ttyUSB*.

Zodra de firmware is geflasht, reset je het bordje, bijvoorbeeld door de usb-kabel er even uit te trekken en weer aan te sluiten. Klik met de Ctrl-toets ingedrukt dan in de OpenHaystack-applicatie nog eens op je accessoire en kies Mark as deployed. Als je ESP32 zich nu in de buurt van Apple-apparaten bevindt, wordt de locatie van je bordje normaal binnen een halfuur zichtbaar in de OpenHaystack-applicatie.

©PXimport

06 Hoe werkt OpenHaystack?

Wanneer je een accessoire aanmaakt in de OpenHaystack-applicatie, maakt die een sleutelpaar. De geheime sleutel blijft in de sleutelhangertoegang (keychain) op je Mac. De bijbehorende publieke sleutel wordt in de firmware van je accessoire (de ESP32 of de BBC micro:bit) geschreven.

Zodra de firmware op je accessoire staat, stuurt die de publieke sleutel elke seconde uit in BLE-pakketjes (bluetooth low-energy). Als iPhones met iOS 13 (of nieuwer) in de buurt die pakketjes oppikken, versleutelen ze hun huidige locatie met de publieke sleutel van je accessoire en uploaden ze dit locatierapport naar Apple.

Apple ziet alleen versleutelde informatie op zijn servers binnenkomen en weet niet eens welke locatie bij welk apparaat of welke gebruiker hoort. Je kunt dus niet aan Apple vragen om de meest recente locatierapporten van al je apparaten te zien. Maar elke Apple-gebruiker kan elk locatierapport downloaden zolang ze de publieke sleutel ervan kennen.

OpenHaystack downloadt dus de locatierapporten van je ingestelde accessoires op basis van hun publieke sleutels. Daarna gebruikt de applicatie de bijbehorende geheime sleutel (opgeslagen in de keychain van macOS) om het rapport te ontcijferen, waarna ze de locatie van je accessoire op de map kan tonen. Apple laat wel alleen geauthentiseerde gebruikers toe om locatierapporten te downloaden. Daarom moet je Apple Mail openhouden wanneer je de OpenHaystack-applicatie gebruikt: die communiceert met de plug-in in Mail om de rapporten te downloaden.

07 Stuur willekeurige data door

Beveiligingsonderzoeker Fabian Bräunlein van Het Berlijnse bedrijf Positive Security ging nog een stapje verder: hij vond een manier om willekeurige data via het Zoek mijn-netwerk van Apple te versturen. De aanpak noemde hij Send My.

Het idee is dat je bit 0 codeert door één publieke sleutel en bit 1 door een andere publieke sleutel. Je zendt dus een van de twee publieke sleutels door, afhankelijk van de bit in je data. Daarna vraag je beide sleutels bij Apple op. De sleutel die je terugkrijgt, bepaalt of de verzonden bit 0 of 1 is.

Uiteraard ben je niet zeker of er een Apple-apparaat in de buurt je pakketten ontvangt en of ze wel in de juiste volgorde aankomen. Daarom wordt in de publieke sleutel een index gecodeerd (voor het eerste, tweede, derde bit enzovoort), een message-ID (zodat je meerdere boodschappen na elkaar kunt sturen) en een modem-ID (zodat meerdere apparaten hetzelfde systeem kunnen gebruiken). Helemaal achteraan in de sleutel komt dan de bitwaarde. Wil je een boodschap sturen, zend dan voor elk bit een voor een de bijbehorende publieke sleutel uit.

08 Zelf een soort modem maken

Positive Security heeft firmware voor de ESP32 ontwikkeld waarmee het bordje een modem wordt voor het Zoek mijn-netwerk. Via een seriële verbinding vanaf je computer naar de ESP32 typ je boodschappen in en de ESP32 codeert die in de vorm van publieke sleutels die het via bluetooth verzendt. Daarna kun je in de bijbehorende DataFetcher-applicatie op je Mac de gedecodeerde boodschappen inlezen.

Download het bestand Source code (zip) van de laatste release via www.bit.ly/firmsource. Pas in de code in Firmware/ESP32/main/openhaystack_main.c de variabele modem_id aan: vul hier een willekeurig getal van vier bytes in hexadecimale cijfers in, iets als 0x6ecc7c95.

Open daarna een terminalvenster, ga met deze opdrachten naar de map met de firmware en bouw hem met ESP-IDF:

cd Firmware/ESP32

idf.py build

Sluit daarna je ESP32-bordje aan via usb en flash de firmware:

./flash_esp32.sh -p /dev/tty.usbserial-210

Bekijk net zoals in paragraaf 5 eerst welk apparaatbestand je nodig hebt.

©PXimport

09 Typ je data in

Als je nu je ESP32 reset (usb-kabel eruit trekken en er weer in steken), begint deze de standaardboodschap TEST MESSAGE rond te sturen via bluetooth low-energy. Je kunt nu via een seriële verbinding via usb vanaf je computer met de ESP32 verbinden. Dat kan bijvoorbeeld in Arduino IDE in het menu Hulpmiddelen / Seriële monitor. Door in het tekstveld bovenaan een nieuwe boodschap te typen en op Verzenden te klikken, wordt deze boodschap verzonden.

Op je Mac heb je ook een applicatie nodig: DataFetcher OFFetchReport. Download het bestand DataFetcher.zip van de nieuwste release op de GitHub-pagina bereikbaar via www.bit.ly/firmsource. Dit programma vereist de plug-in van OpenHaystack voor Apple Mail. Als je het programma start, vul je de acht hexadecimale cijfers van de modem-ID van je ESP32 in, iets als 6ecc7c95. Klik dan op Download data. De boodschap met message-ID 0 wordt dan geladen en je kunt de andere boodschappen ook inladen. Zie je <None> of vraagtekens, dan zijn nog niet alle bits van je boodschap aangekomen. Als er Apple-apparaten in de buurt zijn, duurt het doorgaans een minuut tot een half uur voordat je ze in DataFetcher ziet.

©PXimport

10 Een sensor op het Zoek mijn-netwerk

Het blogartikel van Positive Security waarin ze hun hack aankondigen, spreekt al over het gebruik van de techniek door kleine sensoren. Die kunnen dan in een omgeving zonder toegang tot mobiel internet toch hun sensordata uitsturen, zolang er maar Apple-apparaten in de buurt zijn. Op die manier kun je goedkope sensoren maken die lang op één batterij meegaan.

Maar de code van Positive Security was voor een ESP32, die nog altijd vrij veel energie verbruikt en niet zo compact is. Daarom hebben we de techniek voor andere hardware geprogrammeerd, namelijk de RuuviTag. Dit is een klein sensorbordje met sensoren voor de temperatuur, luchtvochtigheid, luchtdruk en beweging dat de sensordata via bluetooth verstuurt. Met de standaard firmware gaat het apparaatje meerdere jaren mee op een CR2477-batterij. Ons idee was om zelf firmware te programmeren en in ieder geval de temperatuur van de RuuviTag via het Zoek mijn-netwerk rond te sturen met de techniek van Positive Security.

©PXimport

11 Zephyr

De firmware hebben we geschreven in C en gebaseerd op het besturingssysteem Zephyr, dat ideaal is voor dit soort door batterij gevoede toepassingen. Volg de instructies om een Zephyr-ontwikkelomgeving te installeren. Dat kan op Windows, macOS en Linux.

We hebben onze code getest op de RuuviTag, maar je hebt ook een RuuviTag Development Kit nodig. Daarom hebben we ook een goedkopere oplossing getest, die er wel minder dan een afgewerkt product uitziet: een nRF52840-dongel van Nordic Semiconductor, waarop je een break-outbordje met BME280-sensor aansluit. Je kunt headers op de pingaten van de nRF52840-dongel solderen en dan met jumperdraden de sensor aansluiten. Of je soldeert de sensor rechtstreeks op de pingaten. SDA van de BME280 gaat naar pin 0.31 van de nRF52840-dongel, SCL naar pin 0.29, GND naar GND en VCC naar VDD.

©PXimport

Proof-of-concept

De firmware van OpenHaystack is nog maar een proof-of-concept en zendt de hele tijd een statische sleutel uit via bluetooth, terwijl apparaten van Apple elke vijftien minuten een andere sleutel uitzenden. Dat betekent dat andere apparaten in de buurt van je apparaat je kunnen traceren, net zoals dat bij een bluetooth-beacon kan. Voor meer privacy wacht je het best tot de ontwikkelaars van OpenHaystack ook met roterende sleutels werken. Ook het prototype van Send My en onze firmware die daarop is gebaseerd, is een proof-of-concept. Iedereen die je modem-ID kent, kan van overal in de wereld al je data lezen.

12 OpenHaystack voor Zephyr

Installeer eerst de OpenHaystack-module voor Zephyr. Dat kan (als je de Zephyr-ontwikkelomgeving in paragraaf 11 hebt geïnstalleerd) met de volgende opdrachten in de terminal:

west init -m https://github.com/koenvervloesem/openhaystack-zephyr --mr main zephyr-workspace

cd zephyr-workspace

west update

Als je gewoon je apparaatje wilt volgen via de OpenHaystack-applicatie, volg dan de instructies op de GitHub-pagina van openhaystack-zephyr.

13 Zend mijn sensor

Installeer nu de code voor Send My Sensor, de Zephyr-firmware die we op Send My hebben gebaseerd:

git clone https://github.com/koenvervloesem/send-my-sensor

cd send-my-sensor

Pas eerst in de code in app/src/main.c de variabele modem_id aan: vul hier een willekeurig getal van vier bytes in hexadecimale cijfers in, iets als 0x6ecc7c96.

Bouw dan de firmware voor de nRF52840-dongel met de opdracht:

west build -p auto -b nrf52840dongle_nrf52840 -s app

©PXimport

14 Installeer de firmware

Installeer nu het pakket nrfutil met:

pip3 install nrfutil

Maak dan een installeerbaar firmwarebestand met de opdracht:

nrfutil pkg generate --hw-version 52 --sd-req=0x00 --application build/zephyr/zephyr.hex --application-version 1 send-my-sensor.zip

Steek de dongel in de usb-poort van je computer, druk op het resetknopje (let op: dat is het knopje rechts van het witte knopje zoals te zien op afbeelding 11 en je drukt het vanaf de zijkant in) en flash de firmware met de opdracht:

nrfutil dfu usb-serial -pkg send-my-sensor.zip -p /dev/tty.usbserial-210

Kijk weer zoals in paragraaf 5 welk apparaatbestand je nodig hebt. Onder Linux gebruik je deze keer /dev/ttyACM0.

Als alles goed gaat, staat de firmware nu op je apparaatje en begint het via bluetooth signalen uit te sturen. Eerst een testboodschap en daarna de temperatuur gemeten door de BME280-sensor. Open de DataFetcher-applicatie op macOS, vul de modem-ID in die je in je apparaatje hebt geflasht en dan zou je de sensorwaardes moeten zien binnenkomen.

©PXimport

15 En verder

In een omgeving met weinig Apple-apparaten is deze manier van data doorsturen niet betrouwbaar. Pas als de signalen van je sensorbordje door talloze apparaten worden opgepikt en naar Apple worden doorgestuurd, kun je de sensordata in DataFetcher lezen. En als ook maar één bit uit een byte niet ontvangen wordt, is het overeenkomende teken onleesbaar en toont DataFetcher het als een vraagteken.

Afbeelding 14 was het resultaat van een test met de RuuviTag in onze broekzak terwijl we in een vol restaurant zaten. Je kunt er nog net uit afleiden dat het in mijn broekzak tussen de 29 en 31 graden was. Al met al is deze techniek dus nog een prototype, maar het toont wel aan dat je met wat creativiteit heel leuke dingen kunt doen met Apples Zoek mijn-netwerk.

▼ Volgende artikel
Haar voor je geld: 5 stylingtangen en föhns voor een piekfijne Moederdag
© Prostock-studio
Gezond leven

Haar voor je geld: 5 stylingtangen en föhns voor een piekfijne Moederdag

Op zoek naar een leuk cadeau voor moeder? Maak niet de fout om aan te komen met wasmiddel, een stofzuiger of iets anders uit de categorie 'nuttig', maar verras haar met iets waar ze écht blij van wordt. We hebben voor jou een selectie gemaakt van vijf föhns en stijltangen die door andere gebruikers gewaardeerd worden met minimaal een 8. Zo laat je haar (haar) deze Moederdag echt shinen!

DYSON Airwrap I.D. Straight + Wavy Multistyler

De Dyson Airwrap I.D. is een veelzijdige 6-in-1 multistyler die droogt, krult, golft, gladmaakt, volume geeft en pluizig haar temt. Dankzij intelligente warmte- en luchtstroomregeling hoef je je geen zorgen te maken over (hitte)beschadiging van je haar. Het conische Airwrap-opzetstuk met taps toelopende punt maakt het mogelijk om dichter bij de haaraanzet te stylen. In de praktijk betekent dat: strakkere krullen met behoud van volume en veerkracht. Handig: via bluetooth kun je het apparaat koppelen aan de MyDyson-app voor gepersonaliseerde stylinginstellingen.

Toepassingen: drogen, krullen, golven, gladmaken, volume geven, pluizig haar temmen Bijgeleverde accessoires: Fast Dryer, Flyaway + Smoother, Conisch Airwrap, 40mm Airwrap lang, zachte gladmakende borstel, grote ronde volumeborstel, opbergcase, filterreinigingsborstel Consumentenscore op Kieskeurig.nl: 8,8

BaByliss Hydro Fusion 2100 (D773DE)

De BaByliss Hydro Fusion 2100 is een krachtige föhn met een vermogen van 2100 watt, uitgerust met geavanceerde plasmatechnologie en een dubbel ionensysteem. Deze technologie hydrateert het haar en vermindert pluizigheid tijdens het drogen, wat resulteert in glad en glanzend haar. Met een gewicht van slechts 420 gram en een 2,5 meter lange kabel is deze föhn licht en gebruiksvriendelijk. De meegeleverde diffuser is ideaal voor het definiëren van natuurlijke krullen en textuur.

Toepassing: drogen, gladmaken, krullen definiëren Bijgeleverde accessoires: smalle blaasmond, diffuser Consumentenscore op Kieskeurig.nl: 8,6

Remington ONE Dry & Style (D6077)

De Remington ONE Dry & Style is een veelzijdige föhn met een 2000 watt motor die luchtstromen tot 120 km/u genereert voor snel drogen. Dankzij de Thermacare-sensor wordt de luchttemperatuur gereguleerd om het haar te beschermen tegen oververhitting. Met acht warmte- en snelheidsinstellingen kun je de föhn aanpassen aan jouw haartype. De vier meegeleverde opzetstukken, waaronder een diffuser en een flyaway-tamer, maken het mogelijk om verschillende stijlen te creëren.

Toepassing: drogen, gladmaken, krullen definiëren, pluizig haar temmen Bijgeleverde accessoires: smalle blaasmond, diffuser, flyaway-tamer, opbergtas Consumentenscore op Kieskeurig.nl: 8,4

Philips StyleCare Prestige BHB876/00

De Philips StyleCare Prestige BHB876/00 is een automatische krultang met een slimme krultechnologie die het haar automatisch oprolt en krult. Met drie temperatuurinstellingen (170°C, 190°C en 210°C), drie timerinstellingen (8s, 10s, 12s) en drie instelbare krulrichtingen kun je verschillende krulstijlen creëren, van losse golven tot strakke krullen - Philips zelf heeft het over 27 verschillende looks. De verticale grip en de langere cilinder maken het mogelijk om meer haar in één keer te stylen. De keratine-keramische coating beschermt het haar tegen hittebeschadiging.

Toepassing: automatisch krullen Bijgeleverde accessoires: staafreinigingsaccessoire Consumentenscore op Kieskeurig.nl: 8,6

Rowenta Infinite Looks 14-in-1 (CF4231)

De Rowenta Infinite Looks 14-in-1 is een alles-in-één multistyler die het mogelijk maakt om te krullen, stijlen, volume toe te voegen en meer. Met een conische krultang, een 32 mm ronde verwarmde borstel en een 2-in-1 stijltang/krimper kun je eindeloos variëren in haarstijlen. De keramische coating zorgt voor glad en glanzend haar. De set wordt geleverd met diverse accessoires, waaronder haarclips en een opbergtas, voor gebruiksgemak en veelzijdigheid.

Toepassing: krullen, stijlen, krimpen, volume toevoegen Bijgeleverde accessoires: conische krultang, ronde borstel, stijltang/krimper, haarclips, opbergtas Consumentenscore op Kieskeurig.nl: 9,3

▼ Volgende artikel
Review Xiaomi 15 Ultra – Camerasmartphone verfijnd
© Wesley Akkerman
Huis

Review Xiaomi 15 Ultra – Camerasmartphone verfijnd

Vorig jaar introduceerde Xiaomi met de 14 Ultra een moderne camerasmartphone, en met de Xiaomi 15 Ultra zien we dat de fabrikant flink aan verfijning doet. Gigantische stappen vooruit hoef je echter niet te verwachten. Maar dat geldt gelukkig ook voor het prijskaartje: ook dat is niet gigantisch gestegen.

Uitstekend
Conclusie

Xiaomi speelt het dit jaar op veilig, en dat is op zich geen bezwaar. De stap van de 14 Ultra naar de 15 Ultra is echter klein, waardoor een upgrade voor bestaande gebruikers weinig toevoegt. Bekende minpunten blijven: een relatief beperkt updatebeleid, vooraf geïnstalleerde apps en AI-functies die niet overtuigen. Verder wordt de Snapdragon 8 Gen 3 (Elite)-chipset flink heet bij hoge belasting – maar dat is meer een Qualcomm-probleem. Geen enkele smartphonefabrikant lijkt dat probleem op te kunnen lossen. Kies je voor de 15 Ultra, dan krijg je wel een krachtige camerasmartphone die heel wat in zijn mars heeft.

Plus- en minpunten
  • Kwaliteit foto's en video's
  • Verschillende opnamemogelijkheden
  • Snel besturingssysteem
  • Prachtig beeldscherm
  • Veel invloed op uitkomst foto's en video's
  • Bloedsnelle processor
  • Periscooplens van 200 megapixel
  • Prijs is behoorlijk hoog
  • Overige functies zijn modern, maar niet uniek
  • Wat vooraf geïnstalleerde apps
  • Dure Photography Kit
  • Updatebeleid kan beter
  • Chipset wordt bloedheet

Dat gezegd hebbende kost de Xiaomi 15 Ultra nog steeds 1499 euro, maar daar krijg je dan 16 GB aan werkgeheugen en 512 GB aan interne opslagruimte voor terug. Koppel dat aan de Qualcomm Snapdragon 8 Elite-chipset, waarmee onder meer ook de Galaxy S25 Ultra en Zenfone 12 zijn uitgerust, en je houdt een indrukwekkend pakket over. Maar eerlijk is eerlijk, daar betaal je dan ook een flinke duit voor. En we vonden de OnePlus 13 destijds al prijzig…

Over de processor hebben we inmiddels veel geschreven in andere recensies. De cpu is extreem krachtig en eigenlijk overgekwalificeerd voor dagelijkse dingen als mailen, bellen of WhatsAppen. Zwaardere taken vormen dan ook geen probleem: – er zal geen Android-game zijn die hier niet soepel op draait. Die rekenkracht heeft wel een nadeel. Onder hoge belasting wordt de chipset gloeiendheet, en die warmte verspreidt zich over het hele toestel.

©Wesley Akkerman

Prestaties dalen onder druk, maar het gebruik blijft soepel

Daar hebben meerdere premium smartphones van dit moment last van. Geen enkele Elite-telefoon kan het hoofd koel houden. Anders dan bij andere smartphones met dezelfde processor lijkt het erop dat Xiaomi de prestaties afknijpt. Vrijwel direct nadat we het toestel onder druk zetten, zakken de prestaties naar tachtig procent van het vermogen. Dat blijft een kwartier stabiel, waarna ze verder zakken – maar in de praktijk merk je daar weinig van.

Het grote oled-paneel van 6,7 inch is net zo high-end als de processor en vrijwel gelijk aan dat van de 14 Ultra. De verschillen zijn klein: een sterkere beschermlaag die beter tegen krassen en vallen zou moeten beschermen, en een iets hogere piekhelderheid van 3200 nits in plaats van 3000. Kleuren ogen rijk en natuurlijk, en dankzij de hoge verversingssnelheid voelt alles soepel aan.

©Wesley Akkerman

©Wesley Akkerman

Snel en uitgebreid

De accu heeft wel een boost gekregen. Xiaomi maakt gebruik van een relatief nieuwe batterijtechnologie (met meer siliciumcarbide, net als de OnePlus 13) om meer vermogen in de accu te stoppen. Dit keer is dat iets meer dan 5400 mAh. Daarmee houd je het twee dagen uit op een volle accu, afhankelijk van wat je doet. Opladen gaat nog altijd razendsnel met 90 watt via de kabel en 80 watt draadloos. Met de juiste oplader heb je het toestel binnen 40 minuten vol.

Net als zijn voorganger draait ook de Xiaomi 15 Ultra op HyperOS, dit keer gebaseerd op Android 15. De software is snel en overzichtelijk, maar lijkt in de praktijk nog altijd op het oude MIUI. Je krijgt bovendien te maken met wat overbodige apps en een beperkte updatebeleid (slechts vier upgrades). Het systeem biedt wel voldoende ruimte voor personalisatie. Zo kun je dit keer meer doen met het vergrendelscherm, maar op een Galaxy S25 is het aantal opties uitgebreider.

©Wesley Akkerman

©Wesley Akkerman

120x

AI-mogelijkheden, alleen met een account

En net zoals op veel andere smartphones kom je ook op de Xiaomi 15 Ultra flink wat AI-opties tegen. Het gros daarvan werkt op basis van Google Gemini. Dit is dan ook de standaard-assistent die je tegenkomt wanneer je de powerknop ingedrukt houdt. Verder beschikt de smartphone over de handige zoekfunctie Circle to Search. Uiteraard moet je dan wel inloggen met een Google-account, anders kun je daar geen gebruik van maken.

Nu zullen veel mensen dat standaard doen. Maar helaas moet je óók inloggen met een Xiaomi-account als je de exclusieve AI-toestelopties wilt gebruiken. Als je dat doet, houd er dan rekening mee dat niet alles vlekkeloos werkt. Je hebt altijd een internetverbinding nodig, je moet plugs-in downloaden en je moet rekening houden met AI-fouten. De opvulfunctie (een AI-functie waarmee je een deel van een foto kunt laten opvullen, bijvoorbeeld wanneer je iets weghaalde, zoals een persoon of boom) laat duidelijke softwarefouten zien; je kunt het beter bij de opties houden die Google standaard aanbiedt.

©Wesley Akkerman

4,3x

©Wesley Akkerman

2x

Dat mooie camerasysteem

Net zoals bij de Xiaomi 14 Ultra draait het bij de Xiaomi 15 Ultra natuurlijk allemaal om het camerasysteem. Dat is waar een groot deel van die 1500 euro naartoe gaat. Net als bij de voorganger kun je ook nu kiezen uit twee duidelijke modi: Leica Vivid of Authentic. Met de eerste optie ogen foto's wat meer verzadigd en geschikt voor sociale media, terwijl de tweede mogelijkheid beelden op een veel natuurlijke manier vastlegt.

Binnen de overzichtelijke camera-app tref je behoorlijk veel opties aan waarmee je foto's precies zo kunt maken zoals je wilt. Toegegeven, op een Sony Xperia 1-model tref je meer knopjes en opties aan, maar we zijn van mening dat Xiaomi een mooie middenweg vindt tussen functionaliteit en ontwerp. Je raakt niet snel verdwaald binnen de app, aangezien alles netjes en op logische plekken neergezet is. Kudos, want dat is ook wel eens anders.

©Wesley Akkerman

1x

©Wesley Akkerman

1x

200 megapixel

Ten opzichte van de 14 Ultra is er niet ontzettend veel veranderd. Begrijp ons niet verkeerd, dat bedoelen we niet negatief. De 14 Ultra maakt immers immens mooie foto's en bij de 15 Ultra is dat niet anders. Nieuw is dit keer de periscooplens van 200 megapixel, die tot 4,3 keer optisch kan inzoomen. Dat is iets lager dan de vijf keer op de vorige Ultra, maar dit keer zijn de sensor en de resolutie hoger en is de opening sneller. Dat levert in de praktijk betere foto's op.

De andere drie camera's beschikken over 50 megapixel en presteren grotendeels hetzelfde. Het systeem kiest veelal automatisch de juiste brandpuntafstanden voor je wanneer je wat instellingen aanpast, waardoor je behoorlijk gemakkelijk mooie foto's maakt. Het reageert bovendien bijzonder snel. Je kunt heel snel een kiekje ergens van maken. Echter, foto's openen gaat dan wat trager – het is duidelijk dat er nog flink wat nabewerking plaatsvindt.

©Wesley Akkerman

2x

©Wesley Akkerman

4,3x

Mooie foto's

Over het algemeen maakt de Xiaomi 15 Ultra mooi belichte foto's met een fijn en subtiel contrast, waar kleuren precies vastgelegd worden zoals in het echt (in de Authentic-modus, waar we het meest mee gespeeld hebben). De groothoekcamera is de minst sterke van het stel, met iets eenvoudigere specificaties en zonder optische beeldstabilisatie. Toch kun je er prima mee uit de voeten. Zeker als je even stil blijft staan, levert ook deze lens gewoon mooie beelden op.

Ook is het jammer dat de variabele diafragma-opening van de Xiaomi 14 Ultra is verdwenen. In plaats daarvan krijg je nu een vaste f/1.63-opening. Die zorgt voor een korte scherptediepte, waardoor je soms onbedoeld veel waas in beeld krijgt. Tegelijkertijd levert dat juist een sterk diepte-effect op, wat handig is als je daar bewust naar zoekt. Portretmodus is daardoor minder vaak nodig. Afhankelijk van wat je belangrijk vindt, kan dit dus ook positief uitpakken.

©Wesley Akkerman

10x

Het beste systeem?

Het systeem doet an sich niets onder voor de concurrentie. Sterker nog: waarschijnlijk is dit de beste smartphonecamera-ervaring van dit moment. Dat komt door de grote hoeveelheid opties en de algemene camerakwaliteit, waar we bijna niets over te klagen hebben. Ook niet in het donker. Het systeem laat genoeg licht door voor foto's die gedetailleerd en kleurrijk ogen. Daarnaast legt het details in de schaduw ook goed vast.

Tegelijk met de Xiaomi 15 Ultra brengt het bedrijf wederom een nieuwe fotografiekit op de markt. Voor zover wij hebben kunnen zien is dit hetzelfde product als van de Xiaomi 14 Ultra. De kit biedt extra ringen, een powerbank en een cameraknop en kost 199 euro. Het is leuk om te zien dat Xiaomi hier in investeert, want het zou je ervaring kunnen verbeteren. Maar echt essentieel vinden we het pakket niet. Extra lenzen moet je helaas zelf nog apart kopen.

©Wesley Akkerman

0,5x

Xiaomi 15 Ultra kopen?

Xiaomi speelt het dit jaar op veilig, en dat is op zich geen bezwaar. De stap van de 14 Ultra naar de 15 Ultra is echter klein, waardoor een upgrade voor bestaande gebruikers weinig toevoegt. Bekende minpunten blijven: een relatief beperkt updatebeleid, vooraf geïnstalleerde apps en AI-functies die niet overtuigen. Verder wordt de Snapdragon 8 Gen 3 (Elite)-chipset flink heet bij hoge belasting – maar dat is meer een Qualcomm-probleem. Geen enkele smartphonefabrikant lijkt dat probleem op te kunnen lossen. Kies je voor de 15 Ultra, dan krijg je wel een krachtige camerasmartphone die heel wat in zijn mars heeft.