Vijf jaar geleden deden onderzoekers een schokkende ontdekking: een legitieme Android-app in de Google Play Store was in het geheim veranderd in een kwaadaardige app door een bibliotheek die ontwikkelaars gebruikten om advertentie-inkomsten te verdienen. De applicatie werd dus geïnfecteerd met software die ervoor zorgde dat 100 miljoen geïnfecteerde apparaten verbinding maakten met servers die door de aanvallers werden beheerd en geheime ladingen downloadden.
Nu herhaalt de geschiedenis zich. Onderzoekers van hetzelfde beveiligingsbedrijf gevestigd in Moskou, Rusland, onthulden: Dat werd maandag gemeld Ze ontdekten twee nieuwe apps die 11 miljoen keer waren gedownload uit de Play Store en besmet waren met dezelfde malwarefamilie. Onderzoekers van Kaspersky zijn van mening dat een malware-ontwikkelingskit om advertentiemogelijkheden te integreren opnieuw verantwoordelijk is.
Slim ambacht
Softwareontwikkelingskits, ook wel SDK’s genoemd, zijn applicaties die ontwikkelaars voorzien van raamwerken die het creatieproces van apps dramatisch kunnen versnellen door repetitieve taken te vereenvoudigen. Een niet-vertrouwde SDK die in apps is ingebouwd, ondersteunt advertentieweergave. Achter de schermen introduceerde het een reeks geavanceerde methoden voor een heimelijke verbinding met kwaadaardige servers, waar applicaties gebruikersgegevens uploaden en kwaadaardige code downloaden die op elk moment kan worden uitgevoerd en bijgewerkt.
De verborgen malwarefamilie in beide campagnes staat bekend als Necro. Deze keer gebruiken sommige varianten technieken zoals Stealtheen verduisteringsmethode die zelden voorkomt bij malware die zich richt op mobiele apparaten. Sommige varianten gebruiken ook slimme methoden om kwaadaardige code af te leveren die met verhoogde systeemrechten kan worden uitgevoerd. Zodra apparaten met deze variant zijn geïnfecteerd, maken ze verbinding met een door de aanvaller bestuurde command-and-control-server en verzenden ze webverzoeken met gecodeerde bestanden. Jason Gegevens die informatie rapporteren over elk kwetsbaar apparaat en de applicatie die de module host.
De server retourneert op zijn beurt een JSON-antwoord met een link naar de PNG-afbeelding en bijbehorende metagegevens die een hash van de afbeelding bevatten. Als de kwaadaardige module die op het geïnfecteerde apparaat is geïnstalleerd, bevestigt dat de hash correct is, wordt de afbeelding gedownload.
Kaspersky-onderzoekers legden in een artikel gepubliceerd door de Britse krant ‘Daily Telegraph’ uit dat de SDK-module ‘een heel eenvoudig steganografie-algoritme gebruikt’. Apart bericht“Als de MD5-scan succesvol is, extraheert deze de inhoud van het PNG-bestand – de pixelwaarden in de ARGB-kanalen – met behulp van standaard Android-tools. De getPixel-methode retourneert vervolgens een waarde waarvan de minst significante byte het blauwe kanaal van de afbeelding bevat. , en de verwerking begint in de code.”
De onderzoekers vervolgden:
Als we het blauwe kanaal van de afbeelding beschouwen als een 1-dimensionale byte-array, hebben de eerste vier bytes van de afbeelding de grootte van de gecodeerde payload in Little Endian-indeling (van minst significante byte tot meest significante byte). Vervolgens wordt de payload van de opgegeven grootte geregistreerd: dit is een Base64-gecodeerd JAR-bestand, dat na decodering via DexClassLoader wordt geladen. Coral SDK laadt de klasse sdk.fkgh.mvp.SdkEntry in een JAR-bestand met behulp van de eigen bibliotheek libcoral.so. Deze bibliotheek werd versluierd met behulp van de OLLVM-tool. Het startpunt of toegangspunt voor uitvoering binnen de geladen klasse is de run-methode.
Daaropvolgende payloads die worden geïnstalleerd, downloaden kwaadaardige aanvullende componenten die kunnen worden gecombineerd en gekoppeld aan elk geïnfecteerd apparaat om een verscheidenheid aan verschillende acties uit te voeren. Met een van de plug-ins kan code worden uitgevoerd met verhoogde systeemrechten. Standaard voorkomt Android dat geprivilegieerde processen WebView gebruiken, een extensie in het besturingssysteem om webpagina’s in apps weer te geven. Om deze beveiligingsbeperking te omzeilen, gebruikt Necro een hacktechniek die bekend staat als Reflectie aanval Om een afzonderlijk exemplaar van de WebView-fabriek te maken.
Deze plug-in kan ook andere uitvoerbare bestanden downloaden en uitvoeren die de links vervangen die via WebView worden weergegeven. Wanneer deze uitvoerbare bestanden worden uitgevoerd met verhoogde systeemrechten, hebben ze de mogelijkheid om URL’s te wijzigen om bevestigingscodes voor betaalde abonnementen toe te voegen en code te downloaden en uit te voeren die is geladen op door aanvallers beheerde links. De onderzoekers namen vijf afzonderlijke ladingen op die ze tegenkwamen in hun analyse van Necro.
Het modulaire ontwerp van Necro biedt talloze manieren waarop malware zich kan gedragen. Kaspersky heeft de volgende afbeelding ter beschikking gesteld die een overzicht biedt.
Onderzoekers vonden Necro in twee Google Play-apps. Eén daarvan is Wuta Camera, een app die tot nu toe 10 miljoen keer is gedownload. Wuta Camera versies 6.3.2.148 tot 6.3.6.148 bevatten een malware-ontwikkelingskit die applicaties infecteert. De app is sindsdien bijgewerkt om de kwaadaardige component te verwijderen. Een aparte app die ongeveer een miljoen keer is gedownload – bekend als Max Browser – werd ook geïnfecteerd. Deze app is niet langer beschikbaar op Google Play.
Onderzoekers ontdekten ook dat Necro een verscheidenheid aan Android-apps infecteert die beschikbaar zijn op alternatieve markten. Deze apps promoten zichzelf meestal als aangepaste versies van legitieme apps zoals Spotify, MinecraftWhatsAppen, De mannen struikelden, Parkeren voor meerdere spelersEn Watermeloen zandbak.
Mensen die bang zijn dat ze mogelijk besmet zijn met het Necro-virus, moeten hun apparaten controleren op de indicatoren die aan het einde van de pagina staan vermeld. dit schrijven.