Jak uniknąć błędu false positive? Microsoft radzi deweloperom

Jak uniknąć błędu false positive? Microsoft radzi deweloperom

Autor: Łukasz Klimkiewicz

Opublikowano: 8/20/2018, 9:52 PM

Liczba odsłon: 993

Microsoft na swoim blogu poświęconym bezpieczeństwu w sieci udostępnił artykuł, w którym wyszczególnia metody walki z tzw. błędami false positive i zaprasza producentów oprogramowania do współpracy nad rozwojem technologii Advanced Threat Protection w Windows Defender.

Termin false positive odnosi się do oprogramowania antywirusowego, które omyłkowo klasyfikuje bezpieczny plik jako zainfekowany i dezaktywuje jego działanie. Przez tego rodzaju błąd zdarza się, że użytkownicy do końca nie są pewni, jaką podjąć decyzję w stosunku do otrzymanego komunikatu o zagrożeniu. Szczególnie wtedy, gdy mogłoby się wydawać, że oprogramowanie pochodzi z zaufanego źródła. Microsoft, chcąc uchronić użytkowników przed skutkami wystąpienia takiego błędu, przygotował listę sugestii, którą producenci powinni stosować, aby ich oprogramowanie nie zostało oznaczone jako wirus w wyniku błędu false positive. Firma już we wstępie zaznacza, że najlepszym rozwiązaniem jest publikowanie aplikacji bezpośrednio w Microsoft Store.

Pierwsza metoda proponowana przez Microsoft mówi, że producenci i klienci powinni upewnić się, czy oprogramowanie posiada cyfrowy certyfikat bezpieczeństwa. Obecność takiego certyfikatu umożliwia oprogramowaniu antywirusowemu zidentyfikować producenta i jeżeli ten znajduje się na liście zaufanych podmiotów, to aplikacja nie zostanie zakwalifikowana jako potencjalnie niebezpieczna.

Weryfikacja certyfikatu zapewnia użytkownika, że podmiot udostępniający oprogramowanie jest sprawdzony i instalacja czy uruchomienie są bezpieczne. Cyfrowe certyfikaty zapewniają również, że od momentu wydania certyfikatu, oprogramowanie nie zostało zmienione.

Dalej Microsoft mówi o certyfikatach rozszerzonej walidacji (ang. EV - Extended Validation), które są bardziej zaawansowaną wersją cyfrowego podpisu oprogramowania. Zastosowanie takiego rozwiązania zapewnia, że program antywirusowy zna producenta, a oprogramowanie jest w pełni bezpieczne.

Sygnatura EV jest zaawansowaną formą podpisu cyfrowego, a proces jego przyznawania jest bardziej skomplikowany i wymaga spełnienia bardziej rygorystycznych norm. Jeżeli na produkcję danego oprogramowania składa się praca kilku studiów deweloperskich, to kod każdego z nich musi posiadać odpowiedni certyfikat. Dodatkowo certyfikaty EV wymagają użycia zewnętrznych urządzeń, które chronią przed kradzieżą kodu czy nieautoryzowanym dostępem.

Microsoft wspomina również o tzw. punktach reputacji przy stosowaniu cyfrowych certyfikatów. W chwili gdy deweloperzy podpisują swoje programy, z reguły robią to jednocześnie dla wszystkich. Jednak jeżeli w trakcie procesu podpisywania jedna z aplikacji zostanie oznaczona jako potencjalnie niebezpieczna, to ujemne punkty zostaną przyznane całej bazie zgłoszonych aplikacji. Microsoft zaleca więc, aby oprogramowanie podpisywać pojedynczo i starannie.

Idąc dalej firma zaleca również, aby deweloperzy stosowali kod łatwy do zrozumienia. Microsoft powołowuje się tutaj na działanie algorytmów programów antywirusowych, które nieprzychylnie patrzą na dziwne nazwy aplikacji i niestandardowe miejsce instalacji. Takie elementy wzbudzają zainteresowanie oprogramowania antywirusowego i mogą wpłynąć na ostateczne zakwalifikowanie aplikacji jako niebezpiecznej. Wracając jeszcze do poprzedniego akapitu, gdzie firma wspomina o punktach reputacji certyfikatów, deweloperzy muszą mieć na uwadze, aby nie stosować podpisów ze słabą oceną dla fragmentów kodu, będących częścią większej całości. W takim wypadku antywirus również może zakwalifikować program jako niebezpieczny, a skutkiem tego będzie wystąpienie błędu false positive.

Ważnym wskaźnikiem reputacji certyfikatu jest to, jakie oprogramowanie jest instalowane razem z główną aplikacją. Jeżeli instalujemy program, a instalator zakodowany jest tak, aby w tym samym czasie instalował się jakiś inny program, który być może posiada podpis niskiej jakości, wtedy, ze względu na wystąpienie takiego połączenia, całość ostatecznie zostanie nisko oceniona. Może to również doprowadzić do oznaczenia oprogramowania jako niebezpiecznego.

Oprócz tych porad Microsoft podzielił się również swoimi podstawowymi kryteriami wykrywania zagrożeń:

  • Złośliwe oprogramowanie - wykonuje złośliwe akcje na komputerze;
  • Niechciane programy - aplikacje adware, modyfikujące działanie przeglądarki internetowej, oprogramowanie "monitorujące" czy "poprawiające" działanie urządzenia;
  • Potencjalnie niechciane aplikacje - programy mające wpływ na spadek wydajności systemu Windows;
  • Czyste oprogramowanie - ufamy, że aplikacja nie wykonuje niechcianych akcji, jest bezpieczna w środowisku firmowym oraz nie ma wpływu na spadek wydajności systemu.
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia