PUP-richtlijnen voor detectie in G DATA-producten
Dit artikel legt uit volgens welke regels wij PUP-detecties genereren
Wij publiceren deze richtlijnen om onze klanten en partners de mogelijkheid te geven vast te stellen of software als PUP (Possibly Unwanted Program) moet worden geclassificeerd. De G DATA-analisten houden zich strikt aan deze richtlijnen wanneer zij software die wij bij G DATA analyseren als PUP classificeren.
De detectie beperkt zich echter niet alleen tot individuele instanties van de software zelf, maar omvat ook het gedrag van het bedrijf dat achter de software staat. Het gebruik van software komt neer op een contract tussen twee partijen: de gebruiker en de softwareontwikkelaar/-aanbieder/-distributeur, in dit document hierna distributeur genoemd.
Alle functies van software kosten tijd en geld voor ontwikkeling, tests en onderhoud.
Daarom is het zeer onwaarschijnlijk dat commerciële software onnodige functies bevat.
Daarom moet ervan worden uitgegaan dat alle aangetroffen functies voor bepaalde doeleinden zijn toegevoegd.
Toch kunnen fouten gebeuren, maar er wordt verwacht dat deze worden verholpen, met name wanneer ze nadelig zijn voor de gebruiker. Herhaalde "fouten" ten nadele van gebruikers zijn zeer onrealistisch.
Als software een of meer van de volgende regels overtreedt, is een classificatie door G DATA als "potentieel ongewenst" zeer waarschijnlijk. Klanten die dergelijke software desondanks willen blijven gebruiken, kunnen dit op elk moment doen door de detectie van "potentieel ongewenste programma’s" in de antivirussuites van G DATA uit te schakelen.
Fraude
Hier gedefinieerd als "onrechtmatige of criminele misleiding met als doel financieel of persoonlijk gewin". Fraude is altijd opzettelijk; elke vorm van fraude leidt tot een PUP-classificatie of erger.
Voorbeelden van frauduleus softwaregedrag:
-
Doen alsof het software of een dienst van Microsoft of een andere legitieme aanbieder betreft, terwijl dat niet zo is.
-
Weergave van een nepcountdown voor een nep, tijdelijk aanbod.
-
Registratie die een aankoop of abonnement blijkt te zijn.
-
Ander gedrag tonen in virtuele omgevingen dan op echte hardware.
-
Nepwaarschuwingen of pop-ups die niet op feiten zijn gebaseerd.
Misleiding
Hier gedefinieerd als "een verkeerde voorstelling of een verkeerde indruk wekken". Misleiding van de gebruiker hoeft niet per se opzettelijk te gebeuren, maar kan ook het resultaat zijn van een slechte woordkeuze, bijvoorbeeld door een slechte vertaling. Als wij echter vaststellen dat misleidende informatie opzettelijk is, classificeren wij de software als potentieel ongewenst.
Opzet kan moeilijk te bewijzen zijn, maar enkele voorbeelden waar informatie kan worden gevonden om gebruikers te misleiden, zijn:
-
Het gedrag van de software (zij beweert uw pc te optimaliseren, maar doet dit niet)
-
Dialogen en teksten in de grafische gebruikersinterface (GUI) van de toepassing, die bijvoorbeeld het feit verbergen dat de software op grote schaal persoonsgegevens verzamelt
-
Historie van de handelaar of de software
-
Andere software van dezelfde fabrikant en website/webshop
-
Campagnes beperkt tot bijvoorbeeld:
-
Tijd
-
Regio
-
Software-/hardwareomgeving
-
Doel en nut
De doelen van software kunnen in 2 categorieën worden onderverdeeld: doel ten bate van de gebruiker en doel ten bate van de handelaar.
Om levensvatbaar te zijn, moet software nut hebben voor de gebruiker; anders is niemand bereid deze te gebruiken. Anderzijds moet de software de distributeur een bepaald nut opleveren; anders was de ontwikkeling van de software een verspilling van tijd en geld. In de meeste gevallen is de software bedoeld om een vorm van inkomsten te genereren.
Voor een eerlijk contract moeten de voordelen voor beide partijen in evenwicht zijn.
Als het evenwicht echter te sterk doorslaat in de richting van de distributeur, is de kans groter dat deze software potentieel ongewenst is.
-
Software moet nut hebben voor de gebruiker.
-
Elke functie moet nut hebben voor de gebruiker.
-
Als een functie de gebruiker niet direct ten goede komt, moet dit schriftelijk worden gemotiveerd.
-
De prijs die de gebruiker betaalt, moet duidelijk zijn en de gebruiker niet benadelen.
Reclame
Aanbiedingen die de software tijdens/na de installatie, tijdens de runtime of tijdens de deïnstallatie doet, tellen eveneens als reclame.
Reclame kan in 2 categorieën worden onderverdeeld:
Reclame die de software/dienst promoot
-
Affiliate marketing promoot doorgaans de software.
-
Het is de verantwoordelijkheid van de distributeur om de affiliates in lijn te houden met de regels; overtredingen van deze richtlijnen door affiliates leiden ook tot een "potentieel ongewenst" oordeel voor de softwareontwikkelaar en -distributeur.
-
Affiliates mogen niet als excuus voor ongewenste installaties worden gebruikt.
-
Affiliates mogen geen van de reclameregels overtreden die in de onderstaande sectie voor reclame door de software/diensten zijn opgesomd:
-
-
Eigen reclame in andere software van dezelfde aanbieder.
Reclame door de software/dienst
-
De distributiepartner draagt de volledige verantwoordelijkheid voor de reclame die aan de gebruiker wordt getoond.
-
De reclame moet in de regio van de gebruiker wettelijk conform zijn.
-
De advertenties mogen niet frauduleus of misleidend zijn.
-
De advertenties mogen niet beledigend zijn.
-
De advertenties mogen niet dreigend zijn.
-
De advertenties mogen geen reclame maken voor bekende potentieel ongewenste toepassingen.
-
De advertenties mogen de werking van de computer en/of andere software niet belemmeren of verstoren.
-
De gepromote software mag alleen met uitdrukkelijke toestemming van de gebruiker kunnen worden geïnstalleerd.
Bewaking van de systeemomgeving
Omgevingsdetectie kan legitiem worden gebruikt om de juiste taal en de juiste bestanden voor het besturingssysteem beschikbaar te stellen.
Het wordt echter vaak door potentieel ongewenste software gebruikt om vast te stellen welk aanstootgevend gedrag kan worden uitgevoerd zonder ontdekt te worden. Dit komt overeen met het gebruik van een uitschakelvoorziening, zoals in het Volkswagen-dieselschandaal. Als wordt gedetecteerd dat de software in een testomgeving draait, gedraagt de software zich anders dan op de pc’s van potentiële klanten.
Voorbeelden van gedetecteerde omgevingen:
-
Virtuele machine (VMWare, VirtualBox, …)
-
Antivirussoftware
-
Anti-spyware
-
Regio (geo IP, taal, tijdstip van de dag, …)
Voorbeelden van afwijkende acties
-
Installatie van een testversie alleen op echte hardware, installatie van de volledige versie op virtuele machines.
-
Weergave van reclame alleen op echte hardware, geen weergave op virtuele computers.
-
Installatie van opdringerige browser-add-ins of andere softwaremodules alleen op echte hardware, niet op virtuele machines
Installatie
Er zijn slechts zeer weinig legitieme toepassingsgevallen voor de functies voor silent installation van gangbare installatieprogramma’s zoals Innosetup. Het meest voorkomende legitieme geval is uitrol door een netwerkbeheerder. In dat geval moeten de EULA’s van de betreffende software de software echter uitdrukkelijk als bedoeld voor zakelijk gebruik kenmerken.
Meestal worden functies voor silent installation gebruikt zodat gelieerde ondernemingen de software zonder toestemming van de gebruiker kunnen installeren.
-
Bij testversies zijn er geen legitieme toepassingsgevallen voor silent installation.
-
Bij consumentensoftware zijn er doorgaans geen legitieme toepassingsgevallen voor silent installation.
-
Bij silent installation wordt de toestemming voor alle installatiedialogen, de EULA en de privacyrichtlijnen opgeheven. Omdat deze ongeldig zijn, is er geen rechtsgeldig contract tussen de gebruiker en de distributeur.
EULA (End User License Agreement)
De EULA (End User License Agreement) mag niets verrassends bevatten of iets dat in strijd is met de wetgeving van het land waarin de software moet worden gebruikt. Alle verrassende of ongepaste punten zijn niet toegestaan. Voorbeelden van dergelijke punten zijn:
-
Gebruik van nep-malware om de malwaredetectie te demonstreren.
-
Inzet van miners voor cryptovaluta.
-
Verzamelen en/of verhandelen van persoonsgegevens
Alles wat de distribuerende partij extra voordelen verschaft, moet tijdens het installatieproces buiten de EULA uitdrukkelijk worden gedeclareerd; zie bovenstaande voorbeelden.
Privacyverklaring
Bij privacyverklaringen moeten bepaalde basisprincipes in acht worden genomen.
De privacyverklaring
-
Moet AVG-, respectievelijk GDPR-/DSGVO-conform zijn als de software in Europa moet worden gebruikt.
-
Mag niets verrassends bevatten.
-
Mag geen persoonlijk identificeerbare informatie als "pseudoniem" of "anoniem" verklaren. Het gebruik van persoonlijk identificeerbare informatie mag niet worden verborgen.
Alle niet-toegestane inhoud moet in de installatiedialogen uitdrukkelijk worden vermeld. Dit betekent dat elke extra gegevensverzameling die niet noodzakelijk is voor het functioneren van de toepassing, van een opt-in moet zijn voorzien (de gebruiker moet dit actief instellen) en in het installatiedialoog zo moet worden uitgelegd dat iedereen dit en de daaruit voortvloeiende consequenties kan begrijpen. Voorbeelden van gegevensverzamelingen die, in geval van gebruik, correct moeten worden uitgelegd:
-
Verzamelen en/of verhandelen van PII (persoonlijk identificeerbare informatie).
-
Verzamelen en/of doorgeven van hardware-informatie.
-
Verzamelen en/of verhandelen van informatie over het gebruik/de installatie van software van derden.
-
Verzamelen en/of verhandelen van bezochte webpagina’s.
-
Verzamelen en/of verhandelen van aanmeldgegevens voor diensten van externe aanbieders
Test-/volledige versies
Het type software moet bij de installatie duidelijk worden gemaakt. Dat wil zeggen: er moet uitdrukkelijk worden verduidelijkt of het een volledige versie of een testversie betreft en welke kenmerken en functies aanwezig zijn en welke beperkingen er bestaan.
Testversies geven geen aanspraak op enige vorm van compensatie door de gebruiker, met uitzondering van contactgegevens, en zij mogen op geen enkele manier te gelde worden gemaakt totdat de gebruiker besluit te upgraden naar de volledige versie.
Autostart
Autostartitems moeten gerechtvaardigd zijn en noodzakelijk voor het functioneren van de toepassing.
Voorbeelden van mogelijke autostartitems zijn:
-
Autostart
-
Service
-
Geplande taak
Voorbeelden van legitieme autostartitems zijn:
-
Uitvoeren van een antivirusservice
-
Controleren op software-updates
Voorbeelden van niet-legitieme autostartitems:
-
Driver-update-scan bij elke systeemstart.
-
Meerdere geplande taken voor het controleren van de register-cleaner.
-
Service geïnstalleerd voor softwaredownloaders.
Looptijd
Tijdens de runtime moet software functioneren zoals beloofd, om te voldoen aan de verwachtingen van de gebruiker en deze nut te bieden. Elke functionaliteit die deze doelen niet vervult, moet worden gemotiveerd.
Voorbeelden van gerechtvaardigd distributeursnut:
-
Af en toe een herinnering dat de software zich in de testfase bevindt.
-
Reclamevoordeel van de volledige versie.
-
Passende weergave van reclame in door reclame ondersteunde software.
Voorbeelden van niet-gerechtvaardigde distributeursvoordelen:
-
Controleren op concurrerende software.
-
Weergave van reclame voor externe aanbieders of andere software van dezelfde aanbieder in de testversie.
-
Reclame voor andere software van dezelfde aanbieder, vermomd als feature.
Deïnstallatie
De deïnstallatie moet gemakkelijk te vinden en uit te voeren zijn.
-
Deze moet volledig zijn en mag geen bestanden, autostartitems of Windows Registry-/registermanipulaties op het systeem achterlaten.
-
De standaardactie voor de deïnstallatie moet deïnstalleren zijn.
-
Mag niet moeilijker zijn dan de installatie
Website/webshop
Website en/of webshop vertegenwoordigen het bedrijf en de software. Deze moet waarheidsgetrouw en duidelijk zijn en mag geen informatie verhullen/verbergen.
Voorbeelden van niet-toegestane website-/webshoppraktijken:
-
Weergave van een productmatrix, maar alle links naar de verschillende producten leiden naar hetzelfde product.
-
Gebruik van snelle countdowns om de klant onder druk te zetten.
-
Gebruik van nepcountdowns.
-
Het aantal resterende eenheden is verzonnen (er is geen "beperkte voorraad" bij softwaredownloads).
-
De countdown stopt zonder dat de aanbiedingsperiode eindigt.
-
De toepassing is altijd in de aanbieding of de verkoop"events" zijn verouderd.
-
Standaardmatig toevoegen van andere producten aan de winkelwagen.
Reputatie
De historie en reputatie van een distributiebedrijf en zijn software kunnen inzicht geven in de huidige houding van het distributiebedrijf en het gedrag van de software.
Afhankelijk van de historie heeft een distributeur een verschillend niveau van geloofwaardigheid.
Een lage geloofwaardigheid krijgt een aanbieder door:
-
Een herhaaldelijke PUP-overtreder te zijn.
-
Onwetendheid ten aanzien van de PUP-criteria voor te wenden.
-
Nieuwe overtredingen te "testen".
-
Agressieve partnerprogramma’s in te voeren.
-
Winst boven gebruikerswaarde te prioriteren.
-
Zeer algemene productnamen te gebruiken die mogelijk niet eens een blijvende bedrijfsnaam bevatten, of bij het product helemaal niet met de bedrijfsnaam te adverteren.
-
Door gebruikers als misleidend of zelfs frauduleus te worden bestempeld.
-
Op een ruwe, dreigende of beledigende manier te communiceren.
-
Te proberen de detectie te omzeilen.
-
Onwetendheid te veinzen over basistechnologieën.
Aanbieders zijn in staat een hoge geloofwaardigheid binnen de branche te verkrijgen wanneer zij …
-
alle PUP-overtredingen in het verleden hebben verholpen of nooit PUP-overtredingen hebben gehad
-
Het nut voor de gebruiker op de voorgrond plaatsen.
-
Naleving van standaarden uit de software-industrie zoals de CSA