Jak skanować w poszukiwaniu wirusów za pomocą usługi API antywirusowego

Sieć jest pełna złośliwych stron. Niestety, mogą one również istnieć w witrynach Twoich klientów/dostawców.

W dzisiejszych czasach żadna firma nie jest pozbawiona integracji, która opiera się na lub dostarcza danych wejściowych do witryny internetowej klienta lub dostawcy. Oczywiście Twoja firma nie będzie istnieć bez tych usług, ale czasami jest to zagrożeniem ze względu na te usługi. Witryny zewnętrzne, z którymi wchodzisz w interakcję, mogą zawierać złośliwą zawartość (zarówno instalowaną celowo, jak i zagrożoną przez osobę trzecią), a jeśli ta zawartość trafi do z góry określonego miejsca, konsekwencje mogą być katastrofalne.

Czy nie możemy ręcznie skanować witryn w poszukiwaniu złośliwych stron?

Mogłoby się wydawać, że kompetentny programista powinien być w stanie skanować strony w poszukiwaniu luk. Niestety z wielu powodów nie jest to nawet bliskie rzeczywistości:

  • Deweloperzy nie specjalizują się w wykrywaniu/zabezpieczaniu. Ich doświadczenie polega na budowaniu złożonego oprogramowania poprzez łączenie wielu mniejszych podsystemów; innymi słowy, po prostu nie mają umiejętności.
  • Nawet jeśli miałbyś natknąć się na wystarczająco utalentowanego programistę, zadanie byłoby po prostu zbyt duże. Typowa, bogata w funkcje strona internetowa zawiera tysiące wierszy kodu — łączenie ich wszystkich w celu wypracowania szerszego obrazu, a także drobnych luk, jest niczym koszmar. Równie dobrze możesz nakazać komuś zjeść całego słonia na lunch!
  • Aby skrócić czas ładowania strony, witryny często kompresują i minimalizują pliki CSS i JavaScript. Powoduje to tak gęsty bałagan w kodzie, że jest całkowicie niemożliwy do odczytania.

Jak myślisz, co robi ten kod? :kappa: (Źródło elgg.org)

Jeśli nadal wygląda to na czytelne, to dlatego, że dobre dusze postanowiły zachować nazwy zmiennych w szerokim kontekście. Wypróbuj kod źródłowy jQuery, który ktoś może hostować na swojej stronie i majstrować przy nim (dwie linijki gdzieś w tym bałaganie):

Nie wspominając o tym, że źródło jest blisko 5000 linii kodu.

To tylko jeden scenariusz, o którym mówimy. Strona internetowa zawiera zazwyczaj 5-15 skryptów i prawdopodobnie pracujesz łącznie z 10-20 stronami internetowymi. Wyobraź sobie, że musisz to robić codziennie. . . Albo gorzej, kilka razy dziennie!

Na szczęście możliwe jest szybkie i łatwe skanowanie adresów URL za pomocą interfejsów API. Możesz skanować nie tylko strony internetowe, ale także pliki, które są udostępniane do pobrania. Przyjrzyjmy się niektórym narzędziom API, które Ci w tym pomogą. I och, ponieważ są to interfejsy API, wysiłki twojego programisty będą znacznie lepsze, jeśli poprosisz go o zbudowanie narzędzia do skanowania witryn internetowych przy użyciu tych interfejsów API.

Ryzyko internetowe Google

Nic dziwnego, że narzędzie do sprawdzania stron internetowych pochodziłoby od firmy, która praktycznie jest właścicielem Internetu (mam na myśli wszystkie jego strony internetowe). Ale jest haczyk: Ryzyko internetowe Google jest nadal w fazie beta i jest dostępny na żądanie tylko. Bycie w wersji beta oznacza więcej przełomowych zmian.

Mimo to, biorąc pod uwagę, że interfejs API jest dość prosty, programista może zająć się wszelkimi zmianami za pomocą narzędzia do monitorowania interfejsu API i kilku minut czasu programowania.

Korzystanie z API jest również bardzo łatwe. Aby sprawdzić pojedynczą stronę za pomocą wiersza poleceń, po prostu wyślij żądanie w następujący sposób:

curl -H "Content-Type: application/json" "https://webrisk.googleapis.com/v1beta1/uris:search?key=YOUR_API_KEY&threatTypes=MALWARE&uri=http%3A%2F%2Ftestsafebrowsing.appspot.com%2Fs%2Fmalware.html"

Jeśli żądanie zakończyło się powodzeniem, API odpowiada z rodzajem luki na stronie:

{
  "threat": {
    "threatTypes": [
      "MALWARE"
    ],
    "expireTime": "2019-07-17T15:01:23.045123456Z"
  }
}

Jak widać, interfejs API potwierdza, że ​​strona zawiera złośliwe oprogramowanie.

Pamiętaj, że interfejs Google Web Risk API nie wykonuje diagnostyki na żądanie w przypadku wybranego adresu URL lub pliku. Sprawdza czarną listę utrzymywaną przez Google na podstawie wyników wyszukiwania i raportów oraz informuje, czy adres URL znajduje się na tej czarnej liście, czy nie. Innymi słowy, jeśli ten interfejs API mówi, że adres URL jest bezpieczny, można bezpiecznie założyć, że jest całkiem bezpieczny, ale nie ma żadnych gwarancji.

Wirus Suma

Wirus Suma to kolejna fajna usługa, za pomocą której można skanować nie tylko adresy URL, ale także pojedyncze pliki (w tym sensie stawiam go ponad Google Web Risk pod względem użyteczności). Jeśli masz ochotę wypróbować usługę, po prostu przejdź do witryny i bezpośrednio na stronie głównej możesz zacząć.

Chociaż VirusTotal jest dostępny jako bezpłatna platforma zbudowana i nadzorowana przez żywą społeczność, oferuje komercyjną wersję swojego interfejsu API. Oto dlaczego chcesz zapłacić za usługę premium:

  • Elastyczna stawka żądań i dzienny limit (w przeciwieństwie do zaledwie czterech żądań na minutę w przypadku publicznego interfejsu API)
  • Przesłany zasób jest skanowany przez program VirusTotal przez jego program antywirusowy i zwracane są dodatkowe informacje diagnostyczne.
  • Informacje oparte na zachowaniu dotyczące przesyłanych plików (pliki zostaną umieszczone w różnych środowiskach piaskownicy w celu monitorowania podejrzanych działań)
  • Przeszukuj bazę danych plików VirusTotal o różne parametry (obsługiwane są złożone zapytania)
  • Ścisłe SLA i czasy odpowiedzi (pliki przesłane do VirusTotal za pośrednictwem publicznego API są ustawiane w kolejce i zajmują dużo czasu na analizę)

Jeśli zdecydujesz się na prywatny interfejs API VirusTotal, może to być jedna z najlepszych inwestycji w produkt SaaS dla Twojego przedsiębiorstwa.

Scanii

Innym zaleceniem dla interfejsów API skanera bezpieczeństwa jest Scanii. Jest to prosty interfejs API REST, który może skanować przesłane dokumenty/pliki pod kątem obecności zagrożeń. Pomyśl o tym jako o skanerze antywirusowym na żądanie, który można uruchomić i skalować bez wysiłku!

Oto gadżety, które oferuje Scanii:

  • Potrafi wykryć złośliwe oprogramowanie, skrypty phishingowe, zawartość spamu, zawartość NSFW (Not Safe For Work) itp.
  • Jest zbudowany na Amazon S3, aby zapewnić łatwe skalowanie i przechowywanie plików bez ryzyka.
  • Wykrywaj obraźliwy, niebezpieczny lub potencjalnie niebezpieczny tekst w ponad 23 językach.
  • Proste, bezużyteczne, skoncentrowane podejście do skanowania plików w oparciu o API (innymi słowy, bez niepotrzebnie „pomocnych” funkcji)

Naprawdę dobrą rzeczą jest to, że Scanii to silnik meta; oznacza to, że nie wykonuje samodzielnie skanów, ale wykorzystuje zestaw podstawowych silników do pracy. Jest to wielki atut, ponieważ nie musisz być przywiązany do konkretnego silnika bezpieczeństwa, co oznacza, że ​​nie musisz się martwić o zepsute zmiany API i tak dalej.

Postrzegam Scanii jako ogromne dobrodziejstwo dla platform, które zależą od treści generowanych przez użytkowników. Innym przypadkiem użycia jest skanowanie plików generowanych przez usługę dostawcy, której nie można ufać w 100%.

Metaobrońca

W przypadku niektórych organizacji skanowanie plików i stron internetowych w jednym punkcie końcowym nie wystarczy. Mają złożony przepływ informacji i żaden z punktów końcowych nie może zostać naruszony. Dla tych przypadków użycia, Metaobrońca to idealne rozwiązanie.

Pomyśl o Metadefender jako paranoidalnym strażniku, który znajduje się między Twoimi podstawowymi zasobami danych a wszystkim innym, w tym siecią. Mówię „paranoik”, ponieważ taka jest filozofia projektowania stojąca za Metadefenderem. Nie potrafię tego lepiej opisać niż oni, więc oto idzie:

Większość rozwiązań bezpieczeństwa cybernetycznego opiera się na wykrywaniu jako ich podstawowej funkcji ochronnej. Oczyszczanie danych MetaDefender nie polega na wykrywaniu. Zakłada, że ​​wszystkie pliki mogą zostać zainfekowane i odbudowuje ich zawartość przy użyciu bezpiecznego i wydajnego procesu. Obsługuje ponad 30 typów plików i generuje bezpieczne i użyteczne pliki. Oczyszczanie danych jest niezwykle skuteczne w zapobieganiu ukierunkowanym atakom, oprogramowaniu ransomware oraz innym typom znanych i nieznanych zagrożeń złośliwym oprogramowaniem.

Metadefender oferuje kilka fajnych funkcji:

  • Zapobieganie utracie danych: W uproszczeniu jest to możliwość zastąpienia i zabezpieczenia poufnych informacji wykrytych w zawartości pliku. Na przykład potwierdzenie w formacie PDF z widocznym numerem karty kredytowej zostanie zaciemnione przez Metadefender.
  • Wdrażaj lokalnie lub w chmurze (w zależności od tego, jak bardzo masz paranoję!).
  • Przejrzyj ponad 30 rodzajów formatów archiwizacji (zip, tar, rar itp.) i 4500 sztuczek związanych z fałszowaniem plików.
  • Wdrożenia wielokanałowe — zabezpiecz tylko pliki lub skorzystaj z funkcji kontroli poczty e-mail, sieci i logowania.
  • Niestandardowe przepływy pracy do stosowania różnych typów potoków skanowania w oparciu o niestandardowe reguły.

Metadefender zawiera ponad 30 silników, ale ładnie je abstrahuje, więc nigdy nie musisz o nich myśleć. Jeśli jesteś średnim lub dużym przedsiębiorstwem, którego po prostu nie stać na koszmary związane z bezpieczeństwem, Metadefender jest świetną opcją.

Urlscan.io

Jeśli masz do czynienia głównie ze stronami internetowymi i zawsze chciałeś dokładniej przyjrzeć się temu, co robią za kulisami, Urlscan.io to doskonała broń w twoim arsenale.

Ilość informacji zrzucanych przez Urlscan.io jest imponująca. Zobaczysz między innymi:

  • Całkowita liczba adresów IP, z którymi kontaktuje się strona.
  • Lista geograficznych i domen, do których strona wysłała informacje.
  • Technologie użyte w interfejsie i zapleczu witryny (nie podano żadnych oświadczeń dotyczących dokładności, ale są one alarmująco dokładne!).
  • Informacje o domenie i certyfikacie SSL
  • Szczegółowe interakcje HTTP wraz z ładunkiem żądań, nazwami serwerów, czasami odpowiedzi i wieloma innymi.
  • Ukryte przekierowania i nieudane żądania
  • Linki wychodzące
  • Analiza JavaScript (zmienne globalne używane w skryptach itp.)
  • Analiza drzewa DOM, zawartość formularzy i nie tylko.

Oto jak to wszystko wygląda:

Interfejs API jest prosty i bezpośredni, umożliwiając przesłanie adresu URL do skanowania, a także sprawdzenie historii skanowania tego adresu URL (skanowania wykonanego przez innych). W sumie, Urlscan.io dostarcza bogactwo informacji dla każdej zainteresowanej firmy lub osoby.

SUCURI

SUCURI to dobrze znana platforma, jeśli chodzi o skanowanie witryn internetowych pod kątem zagrożeń i złośliwego oprogramowania. Czego możesz nie wiedzieć, to to, że mają REST API jak również, pozwalając na programowe wykorzystanie tej samej mocy.

Nie ma tu zbyt wiele do omówienia, poza tym, że API jest proste i działa dobrze. Oczywiście Sucuri nie ogranicza się do interfejsu API do skanowania, więc gdy już przy tym jesteś, polecam zapoznać się z niektórymi jego potężnymi funkcjami, takimi jak skanowanie po stronie serwera (w zasadzie podajesz poświadczenia FTP, a on loguje się i skanuje wszystkie pliki w poszukiwaniu zagrożeń!).

Quttera

Nasz ostatni wpis na tej liście to Quttera, który oferuje coś nieco innego. Zamiast skanować domenę i przesyłane strony na żądanie, Quttera może również wykonywać ciągłe monitorowanie, pomagając uniknąć luk typu zero-day.

Interfejs API REST jest prosty i wydajny i może zwrócić kilka formatów więcej niż JSON (na przykład XML i YAML). Pełna wielowątkowość i współbieżność są obsługiwane w skanowaniu, co pozwala na równoległe uruchamianie wielu wyczerpujących skanów. Ponieważ usługa działa w czasie rzeczywistym, jest nieoceniona dla firm, które korzystają z ofert o znaczeniu krytycznym, w których przestój oznacza upadek.

Wniosek

Narzędzia bezpieczeństwa, takie jak te omówione w tym artykule, to po prostu dodatkowa linia obrony (lub ostrożność, jeśli wolisz). Podobnie jak program antywirusowy, mogą one wiele zrobić, ale w żaden sposób nie mogą zapewnić niezawodnej metody skanowania. Dzieje się tak po prostu dlatego, że program napisany ze złośliwymi intencjami jest taki sam dla komputera, jak ten napisany z myślą o pozytywnym wpływie — zarówno proszą o zasoby systemowe, jak i wysyłają żądania sieciowe; diabeł tkwi w kontekście, w którym komputery nie działają pomyślnie.

To powiedziawszy, te interfejsy API zapewniają solidną ochronę bezpieczeństwa, która jest pożądana w większości przypadków — zarówno w przypadku zewnętrznych witryn internetowych, jak i Twoich własnych!