
Het Android Kit Kat 4.4 besturingssysteem heeft veel veranderingen geïntroduceerd die het voor iedereen steeds moeilijker maken om systemische wijzigingen in het besturingssysteem door te voeren. Initiatieven zoals de SELinux en de dm-verity kernel worden gebruikt voor het opstarten en om de opslag van bestanden te verifiëren.
Deze helpen ook bij het detecteren van eventuele wijzigingen die binnen het apparaat op blokniveau zelf zijn aangebracht, in plaats van te wachten tot ze op bestandsniveau verschijnen. De dm-verity helpt in principe bij het voorkomen dat rootsoftware wijzigingen aan het bestandssysteem van het apparaat doorvoert. De detectie gebeurt zeer vroeg.
Hoe werkt het eigenlijk?
De SHA-256-hash die aan elk van de blokken van het apparaat is gekoppeld, speelt een rol in dm-verity. Het blok is slechts een fysiek adres voor elke opslag en is op de meeste flash-apparaten niet groter dan 4 KB. Van de boom van vele hashes die op pagina's worden gevormd, zijn het alleen de “top” die vertrouwd moeten worden om het totale bestandssysteem ook te kunnen vertrouwen. Als een van de blokken wordt gewijzigd, zal de hash-reeks breken, wat ook tot desoriëntatie van de keten leidt.
Er is ook een openbare sleutel in de opstartpartitie die van de OEM's wordt verwacht dat ze extern worden geverifieerd en dit wordt gedaan via de bootloader of met behulp van een van de CPU-functies. Deze publieke sleutel wordt vervolgens gebruikt om de geldigheid van de handtekening op het bestandssysteem te bevestigen.
Om de duur van de verificatie te verkorten, worden blokken alleen geverifieerd wanneer ze worden benaderd en wordt het verificatieproces parallel aan de leesbewerking uitgevoerd. Dit wordt gedaan om eventuele latentie tijdens opslagtoegang weg te nemen. Als er een verandering in de verificatie plaatsvindt, zoals bestanden die binnen de systeempartitie veranderen, wordt er een fout gegenereerd die de “leesfout” wordt genoemd.
Op basis van welke applicatie toegang heeft tot gegevens, staat het systeem toe dat dit doorgaat, zolang dit niet te gevaarlijk is voor de gezondheid van het apparaat. Tegelijkertijd bestaat de mogelijkheid dat aanvragen ook door het systeem worden geweigerd.
Er is nu voldoende afschrikmiddel aanwezig
Het bovenstaande suggereert dat het rooten of aanpassen van apparaten met Android Kit Kat 4.4 niet langer een gemakkelijke taak is zoals vroeger. Deze maatregelen van Google zijn misschien niet elke keer 100% succesvol, maar dienen als voldoende afschrikmiddel en OEM's zullen het moeilijk vinden om een aangepaste kernel toe te staan, zoals voorheen.
Alleen als u een verandering binnen de apparaatkernel kunt bewerkstelligen, kunt u deze beveiliging omzeilen. Vervolgens kunt u de dm-verity uitschakelen en sleutels gebruiken om zelf systeemwijzigingen door te voeren of te authenticeren. Gebruikers die apparaten van het merk Carrier met een vergrendelde bootloader hebben gekocht, doen er goed aan deze waarschuwing ter harte te nemen om te voorkomen dat hun apparaten worden gemetseld.