Informacje nt. detekcji PUP w produktach G DATA

Zasady, którymi kierujemy się przy klasyfikacji detekcji PUP (ang. Possibly Unwanted Program — potencjalnie niechciane oprogramowanie)

Publikujemy te wytyczne, aby umożliwić naszym klientom i partnerom określenie, czy dane oprogramowanie powinno zostać sklasyfikowane jako potencjalnie niechciany program (PUP). Analitycy G DATA ściśle przestrzegają tych wytycznych podczas klasyfikowania oprogramowania, które analizujemy w G DATA, jako PUP. Nie ogranicza się to jednak do poszczególnych instancji samego oprogramowania, ale obejmuje również zachowanie firmy stojącej za oprogramowaniem. Korzystanie z oprogramowania jest równoznaczne z zawarciem umowy między dwiema stronami, użytkownikiem i twórcą/dostawcą/dystrybutorem oprogramowania, zwanym dalej w tym artykule dystrybutorem.

Wszelkie funkcje obecne w oprogramowaniu są wynikiem poniesionego kosztu: czasu i pieniędzy na rozwój, testowanie i utrzymanie. Dlatego jest bardzo mało prawdopodobne, by komercyjne oprogramowanie zawierało niepotrzebne funkcje. W konsekwencji zakładamy, że wszystkie istniejące funkcje zostały dodane przez producenta dla konkretnych celów.

Błędy oczywiście mogą się zdarzyć, ale oczekuje się, że zostaną one naprawione, zwłaszcza jeśli są na niekorzyść użytkownika. Powtarzające się "błędy", które działają na niekorzyść użytkowników, są wysoce niewiarygodne.

Jeśli oprogramowanie narusza jedną lub więcej z poniższych cech, jest bardzo prawdopodobne, że G DATA sklasyfikuje je jako "potencjalnie niechciane". Klienci, którzy mimo to chcą nadal korzystać z takiego oprogramowania, mogą to umożliwić w każdej chwili poprzez wyłączenie wykrywania "potencjalnie niechcianych programów" w pakietach antywirusowych G DATA.

Oszustwo

Zdefiniowane tutaj jako "bezprawne działanie mające na celu osiągnięcie korzyści finansowych lub osobistych". Oszustwo jest zawsze celowe, każdy rodzaj oszustwa spowoduje klasyfikację PUP lub gorszą.

Przykłady zachowań związanych z oszustwami w oprogramowaniu:

  • Udawanie, że oprogramowanie lub usługa pochodzi od legalnego dostawcy, gdy tak nie jest.

  • Wyświetlanie odliczania do fałszywej oferty o ograniczonym czasie trwania

  • Rejestracja, która okazuje się zakupem lub subskrypcją

  • Przejawianie innego zachowania w środowiskach wirtualnych niż na prawdziwym sprzęcie

  • Fałszywe ostrzeżenia lub wyskakujące okienka, które nie są oparte na faktach

Wprowadzanie w błąd

Zdefiniowane tutaj jako "przekazywanie fałszywych informacji lub impresji". Wprowadzanie użytkownika w błąd nie musi być celowe, może być również wynikiem złego doboru słów, np. z powodu nieprecyzyjnego tłumaczenia. Jeśli jednak uznamy, że wprowadzająca w błąd informacja jest zamierzona, klasyfikujemy oprogramowanie jako potencjalnie niepożądane.

Intencja może być trudna do udowodnienia, ale niektóre przykłady miejsc, w których można znaleźć informacje o wprowadzających w błąd użytkownikach to:

  • Zachowanie oprogramowania (twierdzi ono, że optymalizuje komputer, ale tego nie robi)

  • Dialogi i teksty w graficznym interfejsie użytkownika (GUI) aplikacji, które ukrywają na przykład fakt, że oprogramowanie gromadzi dane osobowe na dużą skalę

  • Historia producenta lub oprogramowania

  • Inne oprogramowanie od tego samego sprzedawcy i strony internetowej/sklepu internetowego

  • Kampanie ograniczone do np.:

    • Czasu

    • Regionu

    • Środowiska programowego/sprzętowego

Przeznaczenie i zysk

Przeznaczenie oprogramowania można podzielić na dwie kategorie: dla korzyści użytkownika i dla korzyści dystrybutora.

Aby oprogramowanie miało sens, musi przynosić korzyści użytkownikowi, inaczej nikt nie będzie chciał go używać. Z drugiej strony, oprogramowanie musi przynieść jakąś korzyść dystrybutorowi, w przeciwnym razie jego opracowanie było stratą czasu i pieniędzy. W większości przypadków oprogramowanie jest zaprojektowane tak, aby generować jakiś rodzaj dochodu.

Aby kontrakt był sprawiedliwy, korzyści dla obu stron muszą być zrównoważone. Jednakże, jeśli waga przechyla się zbyt mocno w stronę dystrybutora, jest bardziej prawdopodobne, że to oprogramowanie jest potencjalnie niepożądane.

  • Oprogramowanie musi mieć korzyść dla użytkownika

  • Każda funkcja powinna przynosić korzyść użytkownikowi

  • Jeśli funkcja nie przynosi bezpośredniej korzyści użytkownikowi, musi być uzasadniona na piśmie

  • Cena, jaką płaci użytkownik, musi być wyraźnie zakomunikowana i nie może przeważać nad korzyściami dla użytkownika

Reklama

Oferty składane przez oprogramowanie podczas/po instalacji, uruchomieniu lub odinstalowaniu są również zaliczane do reklam.

Reklamy można podzielić na 2 kategorie:

Reklama promująca oprogramowanie/usługę

  • Marketing afiliacyjny zazwyczaj promuje oprogramowanie

    • Dystrybutorzy są odpowiedzialni za utrzymywanie podmiotów stowarzyszonych w zgodzie z tymi wytycznymi. Naruszenia będą również skutkować werdyktem "potencjalnie niechciany" dla twórcy oprogramowania i dystrybutora.

    • Afiliacje nie mogą być wykorzystywane jako wymówka dla niechcianych instalacji

    • Afilianci nie mogą naruszać żadnych zasad reklamy określonych w sekcji dotyczącej reklamy przez oprogramowanie/usługi poniżej

  • Autopromocja w innych programach tego samego dostawcy

Reklama poprzez oprogramowanie/usługę

  • Dystrybutor bierze na siebie pełną odpowiedzialność za wyświetlane użytkownikowi reklamy.

  • Reklamy muszą być zgodne z prawem w regionie użytkownika.

  • Reklamy nie mogą być fałszywe lub wprowadzające w błąd

  • Reklamy nie mogą być obraźliwe

  • Reklamy nie mogą zawierać gróźb

  • Reklamy nie mogą promować znanych potencjalnie niepożądanych aplikacji

  • Reklamy nie mogą utrudniać lub zakłócać działania komputera, lub innego oprogramowania

  • Reklamowane oprogramowanie może być zainstalowane wyłącznie za wyraźną zgodą użytkownika

Świadomość środowiska

Wykrywanie środowiska może być używane legalnie, m.in. w celu zapewnienia prawidłowego języka i plików dla systemu operacyjnego.

Jednak często jest ono wykorzystywane przez potencjalnie niechciane oprogramowanie w celu określenia, jakie niepożądane działania mogą zostać przeprowadzone bez wykrycia. Jest to równoważne z używaniem urządzenia "defeat device" jak w przypadku skandalu z silnikami Diesla firmy Volkswagen. Po wykryciu działania w środowisku testowym oprogramowanie zachowuje się inaczej niż na komputerach potencjalnych klientów.

Przykłady rozpoznawania środowiska:

  • Obecność w maszynie wirtualnej (VMWare, VirtualBox, …​)

  • Oprogramowanie antywirusowe

  • Oprogramowanie Anti-Spyware

  • Region (geo IP, język, pora dnia, …​)

Przykłady działań odbiegających od normy:

  • Instalacja wersji testowej tylko na prawdziwym sprzęcie, instalacja pełnej wersji na maszynach wirtualnych

  • Wyświetlanie reklam tylko na rzeczywistym sprzęcie, brak wyświetlania na maszynach wirtualnych

  • Instalacja natrętnych dodatków do przeglądarki lub innych modułów oprogramowania tylko na rzeczywistym sprzęcie, nie na maszynach wirtualnych

Instalacja

Istnieje mało uzasadnionych przypadków użycia funkcji cichej instalacji w zwykłych instalatorach, takich jak Innosetup. Najczęstszym uzasadnionym przypadkiem jest wdrożenie przez administratora sieci. W tym przypadku jednak EULA danego oprogramowania musi wyraźnie określać je jako przeznaczone do użytku służbowego.

Najczęściej funkcje cichej instalacji są wykorzystywane przez afiliantów, do instalacji oprogramowania bez zgody użytkownika.

  • W przypadku wersji próbnych nie ma uzasadnionych przypadków użycia cichej instalacji

  • W przypadku oprogramowania konsumenckiego zazwyczaj nie ma uzasadnionych przypadków użycia cichej instalacji

  • Cicha instalacja usuwa zgodę na wszystkie dialogi instalacyjne, EULA i politykę prywatności. Ponieważ są one nieważne, nie ma żadnej umowy prawnej między użytkownikiem a dystrybutorem.

EULA (Umowa licencyjna użytkownika końcowego)

EULA (End User Licence Agreement) nie może zawierać niczego zaskakującego ani niczego, co narusza prawo kraju, w którym oprogramowanie ma być używane. Wszelkie zaskakujące lub nieracjonalne punkty są niedozwolone. Przykładami takich elementów są:

  • Wykorzystanie fałszywego złośliwego oprogramowania do demonstracji wykrywania złośliwego oprogramowania

  • Wykorzystanie koparek dla kryptowalut

  • Gromadzenie lub obrót danymi osobowymi

Wszystko, co zapewnia dodatkowe korzyści stronie dystrybuującej, musi być wyraźnie zadeklarowane poza EULA podczas procesu instalacji.

Polityka prywatności

W przepisach o ochronie danych osobowych należy przestrzegać pewnych zasad.

Program w ramach przepisów o ochronie danych:

  • Musi być zgodny z GDPR, jeśli oprogramowanie ma być używane w Europie

  • Nie może zawierać niczego zaskakującego

  • Nie może deklarować informacji umożliwiających identyfikację osoby jako "pseudonim" lub "anonim". Wykorzystanie informacji umożliwiających identyfikację osób nie może być ukryte.

All irregular contents must be explicitly stated in an installation dialog. This means everything that any additional data gathering that is not necessary for the application to function must be opt-in (the user has to actively set it to active), and it must be explained in the installation dialogue in a way that everybody can understand it and the resulting consequences. Examples of data collection that should be explained properly if used:

Wszelkie niedozwolone treści muszą być wyraźnie podane w dialogach instalacyjnych. Oznacza to, że każde dodatkowe gromadzenie danych, które nie jest konieczne do funkcjonowania aplikacji, musi być opcjonalne (użytkownik musi na nie aktywnie przyzwolić) i przejrzyście wyjaśnione, aby każdy mógł zrozumieć wynikające z niego konsekwencje. Przykłady zbierania danych, które powinny być odpowiednio wyjaśnione:

  • Gromadzenie lub handel PII (informacjami umożliwiającymi identyfikację osoby)

  • Gromadzenie lub handel informacjami o sprzęcie komputerowym

  • Gromadzenie lub handel informacjami o użyciu/instalacji oprogramowania stron trzecich

  • Gromadzenie lub przekazywanie informacji o odwiedzanych stronach internetowych

  • Gromadzenie lub handel informacjami o logowaniu do usług firm trzecich

Wersje testowe / pełne

Charakter oprogramowania musi być jasno określony podczas instalacji. Oznacza to, że należy wyraźnie zaznaczyć, czy jest to wersja pełna, czy próbna, jakie są jej cechy i funkcje oraz jakie są jej ograniczenia. Wersje próbne nie są uprawnione do żadnego wynagrodzenia ze strony użytkownika, z wyjątkiem informacji kontaktowych i nie mogą być w żaden sposób monetyzowane, dopóki użytkownik nie zdecyduje się na aktualizację do wersji pełnej.

Automatyczne uruchamianie

Wpisy automatycznego uruchamiania muszą być uzasadnione i niezbędne do funkcjonowania aplikacji. Przykładami dopuszczalnych wpisów startowych są:

  • Autostart

  • Usługa

  • Zadanie zaplanowane w harmonogramie zadań

Przykłady uzasadnionych wpisów autostartu:

  • Uruchomienie usługi antywirusowej

  • Sprawdzanie aktualizacji oprogramowania

Przykłady nieuzasadnionych wpisów autostartu:

  • Skanowanie aktualizacji sterowników przy każdym starcie systemu

  • Wiele zaplanowanych zadań dla wersji próbnej narzędzia do czyszczenia rejestru

  • Instalacja usługi przez asystenta pobierania

Działanie

Oprogramowanie musi funkcjonować zgodnie z założeniem, aby spełnić oczekiwania użytkownika i zapewnić mu korzyści. Każda funkcjonalność, która nie spełnia tych celów, musi być uzasadniona.

Przykłady uzasadnionych korzyści dla dystrybutora:

  • Okazjonalne przypomnienie, że oprogramowanie jest w fazie testowej

  • Reklama korzyści płynących z posiadania pełnej wersji

  • Odpowiednie wyświetlanie reklam w oprogramowaniu wspieranym reklamami

Przykłady nieuzasadnionych korzyści dla dystrybutora:

  • Sprawdzanie obecności konkurencyjnego oprogramowania

  • Wyświetlanie reklam oprogramowania innych firm lub innego oprogramowania tego samego dostawcy w wersji próbnej

  • Reklama kamuflowana jako funkcja innego oprogramowania od tego samego dostawcy

Dezinstalacja

Program dezinstalacyjny musi być łatwy do znalezienia i wykonania.

  • Dezinstalacja musi być kompletna i nie może pozostawiać w systemie żadnych plików, wpisów autostartu ani manipulacji w rejestrze

  • Dezinstalacja musi być domyślną akcją dezinstalatora

  • Dezinstalacja nie może być trudniejsza niż instalacja

Strona internetowa / sklep internetowy

Strona internetowa i sklep internetowy reprezentują firmę i oprogramowanie.

  • Muszą przedstawiać rzetelne i przejrzyste dane oraz nie mogą zaciemniać lub ukrywać informacji

Przykłady niedozwolonych praktyk strony internetowej/sklepu internetowego:

  • Wyświetlanie matrycy produktów, ale wszystkie linki do różnych produktów prowadzą do tego samego produktu

  • Używanie krótkotrwałych odliczeń w celu wywarcia presji na klienta

  • Używanie fałszywych odliczeń

  • Liczba pozostałych egzemplarzy jest fałszywa (nie ma "ograniczonych zapasów" w przypadku pobierania oprogramowania)

  • Odliczanie kończy się bez zakończenia ważności oferty

  • Aplikacja jest zawsze w przecenie lub "wydarzenia" sprzedażowe są nieaktualne

  • Domyślne dodawanie innych produktów do koszyka

Reputacja

Historia i reputacja dystrybutora i jego oprogramowania może dostarczyć informacji o aktualnej postawie dystrybutora i potencjalnym zachowaniu oprogramowania.

Historia dystrybutora kształtuje jego poziom wiarygodności. Niski poziom wiarygodności jest nadawany dystrybutorowi przez:

  • Bycie recydywistą w detekcjach PUP

  • Udawanie ignorancji wobec kryteriów PUP

  • "Testowanie" nowych wykroczeń

  • Wdrażanie agresywnych programów afiliacyjnych

  • Przedkładanie zysku nad korzyści dla użytkownika

  • Stosowanie bardzo ogólnych nazw produktów, które mogą nawet nie zawierać stałej nazwy firmy

  • Bycie zgłaszanym przez użytkowników jako wprowadzający w błąd lub nawet fałszywy

  • Komunikowanie się w sposób szorstki, z groźbami lub obraźliwy

  • Podejmowanie prób obejścia detekcji

  • Udawanie nieznajomości podstawowych technologii

Dostawca jest w stanie osiągnąć wysoki poziom wiarygodności w branży, jeśli:

  • Naprawił wszystkie wykroczenia PUP w przeszłości lub nigdy ich nie popełnił

  • Priorytetyzuje korzyści dla użytkownika

  • Przestrzega standardów branży oprogramowania, jak CSA