Dzisiejszy wpis dotyczy błędnego klasyfikowania aplikacji przez oprogramowanie antywirusowe ESET oraz paskudnego zachowania jednego z „życzliwych ludzi”. Jak wiecie doskonale aplikacje tworzone w technologii Microsoft .NET można łatwo rozłożyć na czynniki pierwsze i wyciągnąć kod źródłowy. Do ochrony stosuje się przeróżne metody i aplikacje – jedną z ciekawszych jest CodeFort, niestety oprogramowanie nie jest idealne, ma jedną wadę, o czym powiem w dalszej części wpisu.
Programiści zapewne wiedzą ile wysiłku trzeba włożyć w napisanie solidnej aplikacji. Nawet jeśli programy udostępniane są za free, nikt nie chciałby, aby firmy czy instytucje korzystały z gotowych algorytmów czy funkcji. W technologii .NET odczyt kodu jest stosunkowo prosty, dlatego wielu twórców decyduje się na dodatkowe zabezpieczenia. Nie inaczej jest ze mną. Aby utrudnić odczyt kodu pewnego dnia postanowiłem zastosować CodeFort, jedną z najlepszych aplikacji na rynku. Jak się później okazało, nie był to idealny wybór, lecz nie z winy CodeFort (no może odrobinę).
Obecnie większość udostępnionych programów wykorzystuje CF, w tym Google Index Checker, XScraper czy też ostatni projekt Google Suggest Scraper. Wszystkie znalazły się na celowniku ESET NOD (oraz „życzliwców”), albowiem ów antywirus jest nadwrażliwy na CodeFort, produkuje kompletnie nieuzasadnione alerty w stosunku do bezpiecznych aplikacji. W zwiazku z zaistniałą sytuacją mniej więcej trzy miesiące temu zgłosiłem sprawę do firmy ESET oraz wysłałem informację do developerów CodeFort.
W dalszej części wpisu pozwolę sobie przytoczyć najistotniejsze kwestie i odpowiedzi jakie uzyskałem. W odpowiedzi na zgłoszenie skontaktował się ze mną przedstawiciel firmy Dagma Sp. z o.o. (na stronie ESET firma identyfikowana jako oficjalny przedstawiciel i dystrybutor rozwiązań ESET w Polsce). W celu bliższego zdiagnozowania problemu poproszono mnie o dodatkowe informacje oraz przesłanie próbki jednego z programów do analizy. Dwa dni później otrzymałem informację tłumaczącą całą sytuację cytuję…
Producent zalecil wykorzystanie innych mechanizmow do ochrony plikow wlasnych programow. Problem zaciemniania kodu jest ogolnie znany i ze względu na fakt iż hakerzy również go wykorzystują mogą się zdarzyć tego typu sytuacje, zostalo to opisane m.in. na blogu…
Ja rozumie że hakerzy kiedyś mogli wykorzystywać CodeFort i bezpieczeństwo użytkowników jest najważniejsze, ale sama forma prezentowania alertów w stosunku do takich aplikacji jest już przegięciem. Jako, że nie korzystam z NODa poniżej daję zrzut, który otrzymałem jakiś czas temu od Olivian Puha z portalu Softpedia. Ciekaw jestem też co znaczy producent zalecił wykorzystanie innych mechanizmów. Jaki producent? Jakich mechanizmów? Przydałaby się szklana kula. Microsoft nie daje wytycznych w zakresie zabezpieczenia oprogramowania, są jedynie tzw. dobre praktyki, które nie wykluczają użycia oprogramowania firm trzecich.
Antywirus wykrywa a variant of MSIL/Packed.CodeFort.A, a komunikat jest w taki sposób skonstruowany, aby już na starcie mówił użytkownikowi, nie ruszaj tego programu. Wyraźnie pisze na zrzucie a potentially unwanted application czyli potencjalnie niepożądana aplikacja a nie wirus!
Czy w ESET słyszano o czymś takim jak psychologia kolorów? Zapewne tak! W tej konkretnej sytuacji i w odniesieniu do oprogramowania antywirusowego czerwony kolor zwraca atencję użytkownika, co najgorsze napis w kolorze czerwonym wpływa na podświadomość sugerując niebezpieczeństwo, w związku z czym spada odsetek osób zainteresowanych programem. Do tego większości użytkowników nie interesuje co tam w programie siedzi, wystarczy jak przeczytają informację z pola Number of infected object – jak wiemy w IT infected równa się zainfekowany. Czyż to nie jest sugestia wprowadzająca w błąd? W mojej ocenie tak.
Rozumie intencje twórców ESET NOD, lecz w cywilizowanym antywirusie komunikaty o mniejszej wadze powinny przyjąć inny kolor (zwykle żółty lub pomarańczowy), do tego Panowie z ESET chyba nie słyszeli o etykietach typu Warnings (ostrzeżenia) i większym rozróżnieniu typu zagrożenia (Warning/Infected). Wrzucili wszystko do jednego kosza i są zadowoleni. Z punktu widzenia marketingowego jest to im na rękę, z mojego punktu widzenia (gościa który siedzi w IT już od 14 lat) jest to błędne informowanie użytkownika o skali zagrożenia.
Być może antywirusowi ESET NOD zależy na sztucznym zawyżaniu alertów (taka chora polityka marketingowa). Swego czasu (jakieś 6-7 lat temu wstecz) czytałem publikację, gdzie jakiś producent oprogramowania specjalnie podwyższał czułość programów, żeby użytkownik czuł się bezpieczniej i produkt lepiej się sprzedawał – wpływ na psychikę to część marketingu. Nie wiem ile w tym było prawdy i czy NOD przejął złe nawyki od innych, fakt jest faktem, że jako antywirus jest mocno upierdliwy, sypie False Positive ile wlezie – nazywając to w tym konkretnym przypadku „potentially unwanted application”.
Informacja którą uzyskałem od pracownika Dagma także to potwierdza, cytuję…
W chwili obecnej przesłany plik rozpoznawany jest jako aplikacja potencjalnie niepożądana nie natomiast jako infekcja
Pamiętam jak w poprzedniej firmie użytkowaliśmy oprogramowanie NOD, było całkiem dobre (choć niedoskonałe) ale niesamowicie upierdliwe, potrafiło pokazać wirusa nawet w full legalnym pliku EXE skompresowanym metodą prawdopodobnie UPX, czy też bibliotece w jakimś tam programie, nie pamiętam dokładnie. Wszystko to powoduje, że już dawno straciłem zaufanie do ESET NOD – dla ścisłości nie ze względu na marną skuteczność (ta była przyzwoita), lecz zbyt dużą liczbę FP, co mnie osobiście potwornie wkurzało. Może przeciętny user nie używa aplikacji, które wypluwają dużą ilość FP, ale ja jako osoba działająca w IT poniekąd musiałem używać oprogramowania, choćby do zarządzania siecią – przy okazji, przypomniał mi się przypadek z oprogramowaniem do zarządzania i monitorowania sieci, gdzie w jednym z modułów ESET NOD wykrył Pocket Sniffera informując że to wirus, baaa nawet w Wiresharku kiedyś coś znalazł.
Antywirus powinien chronić i jednocześnie być przyjazny dla użytkownika, a także prawidłowo klasyfikować zagrożenia i odpowiednio informować o tym usera. W omawianej sytuacji twórcy poszli na skróty i wszelkie aplikacje opakowane w CodeFort wrzucili do jednego koszyka. Nie ważne czy program jest zaufany czy też nie, „my wiemy” lepiej co dla użytkownika jest najlepsze – podsumowując.
Wracając jeszcze do tematu przewodniego, po informacji ESET napisałem do deweloperów CodeFort, w responsie otrzymałem informację potwierdzającą stanowisko ESET i jego bierność w tej sprawie, cytuję…
Thank you for reporting this. We have been in contact with ESET and other anti virus vendors in the past regarding this exact issue, but so far our efforts have proved unsuccessful. The reason seems to be that some hackers in the past have used CodeFort to protect their virus code from being detected by anti virus software, and the response from some vendors has then been to classify all CodeFort protected software as being potentially malicious, because of the inability of the anti virus software to scan the protected files.
Najlepsze jest ostatnia część… because of the inability of the anti virus software to scan the protected files, potwierdzająca że oszczędzili sobie czasu i poszli na skróty – a niech tam producent legalnego, w pełni bezpiecznego oprogramowania martwi się. Rozumiem, że hakerzy wykorzystywali ten soft do ukrywania kodu, ale takie działanie, to nic innego jak pójście na łatwiznę i przerzucenie całej odpowiedzialności na wszystkich, nawet najbardziej uznanych/wiarygodnych deweloperów.
Według informacji które posiadam, deweloperzy CodeFort zapewniają, iż w wersji 2.0 zostanie ten problem wyeliminowany, poczekamy zobaczymy choć bez względu na wszystko, będę starał się wymyślić inne zabezpieczenie, które rozwiąże problem FP – jeśli twórcy NODa nie mogą się wysilić, to ja muszę przejąć inicjatywę.
Odnosząc się jeszcze do tego życzliwca, który dzisiaj pokazał na co go stać. Jak widać są osoby, które wykorzystują tego typu sytuacje i z chęcią wyślą zgłoszenie gdzie trzeba – tylko po to by wyeliminować kogoś z rynku lub z zawiści, zadrości. Cóż część firm i/lub osób, ma w nosie etykę i uczciwe konkurowanie, nie przebierają w środkach, zrobią wiele aby pognębić konkurencję. Panie „życzliwcu” los bywa przewrotny i być może kiedyś Ty dostaniesz po tyłku od innego „życzliwego”.
Kurcze… to się rozpisałem, a miało być kilka zdań 🙂