Jak vyhledávat viry prostřednictvím služby Antivirus API

Nebezpečí číhající na webu a jak se proti němu bránit

Internet je plný stránek se škodlivým obsahem. Bohužel, i webové stránky vašich obchodních partnerů a dodavatelů mohou představovat riziko.

V dnešní době se téměř žádná firma neobejde bez integrace s webovými stránkami klientů či dodavatelů, které slouží jako zdroj vstupních dat nebo pro poskytování různých služeb. Ačkoli jsou tyto služby pro fungování vašeho byznysu nepostradatelné, mohou představovat bezpečnostní hrozbu. Externí weby, se kterými komunikujete, mohou obsahovat nebezpečný kód – ať už záměrně vložený, nebo získaný kompromitací třetí stranou. Pokud se takový obsah dostane do vašeho systému, může to mít devastující následky.

Je možné manuálně skenovat webové stránky a hledat škodlivý kód?

Na první pohled by se mohlo zdát, že zkušení vývojáři by měli být schopni prověřovat webové stránky na zranitelnosti. Realita je však mnohem složitější a existuje několik důvodů, proč to tak není:

  • Vývojáři se nespecializují na detekci a zabezpečení hrozeb. Jejich expertíza spočívá ve vytváření složitých softwarových systémů skládáním mnoha menších celků. Jednoduše řečeno, nemají specifické dovednosti pro detekci malware.
  • I kdyby se našel dostatečně talentovaný vývojář, daný úkol by byl příliš rozsáhlý. Typická webová stránka s bohatými funkcemi obsahuje tisíce řádků kódu. Procházet tento kód, hledat skryté chyby a bezpečnostní díry, je noční můrou. Představte si, že byste měli sníst celého slona!
  • Webové stránky často komprimují a minimalizují CSS a JavaScript soubory pro zkrácení doby načítání. Výsledkem je nepřehledná změť kódu, kterou je téměř nemožné analyzovat.

Co myslíte, že tento kód dělá? :kappa: (Zdroj elgg.org)

Pokud se vám kód zdá stále čitelný, je to proto, že tvůrci webu zachovali názvy proměnných v čitelné podobě. Zkuste se podívat na zdrojový kód jQuery, který může být umístěný na webu s možností manipulace (dva řádky v tomto chaosu):

A to jsme nemluvili o tom, že tento zdrojový kód má téměř 5000 řádků. 😎

A to se bavíme pouze o jednom skriptu. Webové stránky obvykle obsahují 5-15 skriptů a vy pravděpodobně pracujete s 10-20 webovými stránkami. Představte si, že toto musíte dělat každý den… nebo i několikrát za den!

Naštěstí existuje možnost rychlého a snadného skenování URL adres pomocí API. Nemusíte skenovat jen webové stránky, ale i soubory, které máte k dispozici ke stažení. Podívejme se na některé API nástroje, které vám s tím pomohou. Vzhledem k tomu, že se jedná o API, bude úsilí vašeho vývojáře lépe využito, pokud jej požádáte o vytvoření nástroje pro skenování webových stránek pomocí těchto rozhraní.

Google Web Risk

Není překvapením, že kontrola webových stránek by měla pocházet od společnosti, která prakticky vlastní internet (mám na mysli všechny jeho webové stránky). Má to ale jeden háček: Google Web Risk je stále ve verzi beta a je k dispozici pouze na vyžádání. Být ve verzi beta znamená, že můžou přijít další zásadní změny.

Nicméně, protože API je poměrně přímočaré, může vývojář jakékoli změny vyřešit pomocí nástroje pro monitorování API a několika minut práce. 🙂

Použití API je rovněž velmi jednoduché. Pro ověření jedné stránky pomocí příkazového řádku stačí odeslat požadavek:

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"
 

V případě úspěšného požadavku API vrátí typ bezpečnostní hrozby na stránce:

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

Jak je vidět, API potvrzuje, že stránka obsahuje malware.

Důležité je, že Google Web Risk API neprovádí diagnostiku URL adres nebo souborů na vyžádání. API porovnává URL s blacklistem spravovaným společností Google na základě výsledků vyhledávání a nahlášení uživatelů. Oznamuje, zda se URL adresa na tomto blacklistu nachází, nebo ne. Jinými slovy, pokud API hlásí, že je URL adresa bezpečná, lze to považovat za velmi pravděpodobné, ale nelze to zaručit.

VirusTotal

VirusTotal je další skvělá služba, kterou lze využít nejen pro skenování URL adres, ale i jednotlivých souborů (z tohoto pohledu ji považuji za lepší než Google Web Risk). Pokud chcete službu vyzkoušet, stačí přejít na webovou stránku a hned na úvodní stránce máte možnost začít.

Ačkoli je VirusTotal k dispozici jako bezplatná platforma, kterou vytváří a spravuje živá komunita, nabízí také komerční verzi API. A zde jsou důvody, proč byste měli uvažovat o placené verzi:

  • Flexibilnější sazba požadavků a denní kvóta (veřejné API umožňuje pouze čtyři požadavky za minutu).
  • Odeslaný zdroj je kontrolován VirusTotal antivirem a vrací další diagnostické informace.
  • Získáváte informace o chování souborů, které odesíláte (soubory jsou spouštěny v izolovaných prostředích, kde se sleduje podezřelá aktivita).
  • Umožňuje dotazy s různými parametry v databázi souborů VirusTotal (jsou podporovány komplexní dotazy).
  • Poskytuje SLA (dohoda o úrovni služeb) a dobu odezvy (soubory odeslané veřejným API VirusTotal jsou zařazeny do fronty a jejich analýza trvá déle).

Pokud se rozhodnete pro soukromé API VirusTotal, může to být jedna z nejlepších investic do SaaS produktu, kterou pro svůj byznys uděláte.

Scanii

Dalším doporučeným bezpečnostním API skenerem je Scanii. Jedná se o jednoduché REST API, které dokáže skenovat odeslané dokumenty a soubory na výskyt hrozeb. Představte si to jako antivirový skener na vyžádání, který lze bez problémů spustit a škálovat!

Zde jsou některé výhody, které Scanii nabízí:

  • Dokáže detekovat malware, phishingové skripty, spamový obsah, NSFW (Not Safe For Work) obsah atd.
  • Je postaven na Amazon S3, což zajišťuje snadné škálování a ukládání souborů bez jakýchkoli rizik.
  • Detekuje urážlivý, nebezpečný a potenciálně nebezpečný text ve více než 23 jazycích.
  • Poskytuje jednoduchý, bezproblémový a cílený přístup pro skenování souborů pomocí API (žádné zbytečně „užitečné“ funkce).

Skvělé je, že Scanii je meta engine, což znamená, že neprovádí skenování samo, ale využívá sadu základních motorů pro detekci hrozeb. To je velkou výhodou, protože se nemusíte spoléhat na konkrétní bezpečnostní motor. Díky tomu se nemusíte obávat nefunkčních změn API.

Scanii vidím jako velký přínos pro platformy, které závisí na obsahu generovaném uživateli. Dalším případem použití je skenování souborů od dodavatelů, kterým nemůžete na 100 % důvěřovat.

Metadefender

Některým organizacím nestačí skenovat soubory a webové stránky v jednom bodě. Mají komplexní informační tok a žádný z koncových bodů nesmí být ohrožen. V takových případech je Metadefender ideálním řešením.

Představte si Metadefender jako paranoidního správce brány, který sedí mezi vašimi kritickými daty a zbytkem světa, včetně sítě. Používám slovo „paranoidní“, protože to je filozofie designu Metadefenderu. Nemohu to popsat lépe než oni, zde je jejich vyjádření:

Většina řešení kybernetické bezpečnosti se spoléhá na detekci jako hlavní ochranu. Metadefender se však nespoléhá pouze na detekci. Předpokládá, že všechny soubory mohou být infikovány, a znovu sestavuje jejich obsah pomocí bezpečného a efektivního procesu. Podporuje více než 30 typů souborů a generuje bezpečné a použitelné soubory. Sanitace dat je mimořádně účinná při prevenci cílených útoků, ransomwaru a dalších známých i neznámých malwarových hrozeb.

Metadefender nabízí několik praktických funkcí:

  • Ochrana před ztrátou dat: Jedná se o schopnost potlačit a chránit citlivé informace, které se nacházejí v obsahu souboru. Například PDF dokument s viditelným číslem kreditní karty bude Metadefenderem upraven tak, aby číslo karty nebylo viditelné.
  • Nasazení lokálně i v cloudu (podle toho, jak moc jste paranoidní!).
  • Prohlíží více než 30 typů archivních formátů (zip, tar, rar atd.) a 4500 triků pro zfalšování typů souborů.
  • Vícekanálové nasazení – zabezpečte pouze soubory, nebo se vyhněte ovládání e-mailu, sítě a přihlášení.
  • Vlastní pracovní postupy pro použití různých typů skenování na základě vašich vlastních pravidel.

Metadefender používá více než 30 motorů pro skenování, ale chytře je abstrahuje, takže se o ně nemusíte starat. Pokud máte střední nebo velkou společnost a nemůžete si dovolit problémy se zabezpečením, Metadefender je skvělou volbou.

Urlscan.io

Pokud se převážně zabýváte webovými stránkami a vždy jste se chtěli podívat na to, co se děje „pod kapotou“, pak Urlscan.io je vynikající nástroj, který by neměl chybět ve vašem arzenálu.

Množství informací, které Urlscan.io poskytuje, je ohromující. Uvidíte mimo jiné:

  • Celkový počet IP adres, se kterými stránka komunikuje.
  • Seznam geografických lokací a domén, kam stránka odesílá informace.
  • Technologie použité na front-endu a back-endu webu (není zaručena 100% přesnost, ale je překvapivě přesná!).
  • Informace o doméně a SSL certifikátu.
  • Detailní HTTP komunikace včetně datových zátěží požadavků, názvů serverů, doby odezvy a spoustu dalších.
  • Skrytá přesměrování a neúspěšné požadavky.
  • Odchozí odkazy.
  • Analýzu JavaScript kódu (globální proměnné použité ve skriptech atd.).
  • Analýzu DOM stromu, obsah formulářů a další.

Zde je příklad, jak to celé vypadá:

API je jednoduché a přímočaré. Umožňuje odeslat URL adresu ke skenování a také zkontrolovat historii skenování dané URL adresy (skenování provedené jinými uživateli). Celkově vzato, Urlscan.io poskytuje velké množství informací pro firmy i jednotlivce.

SUCURI

SUCURI je známá platforma pro online skenování webových stránek na hrozby a malware. Možná ale nevíte, že mají i REST API, které umožňuje programově využít stejnou sílu.

Nemá smysl se o něm moc rozepisovat. API je jednoduché a funguje dobře. SUCURI samozřejmě nenabízí pouze skenovací API, takže doporučuji vyzkoušet i jejich další funkce jako skenování na straně serveru (v podstatě poskytnete FTP přihlašovací údaje, které se použijí k prohledání souborů na hrozby!).

Quttera

Poslední službou v našem seznamu je Quttera, která nabízí něco trochu jiného. Místo skenování domény a odeslaných stránek na vyžádání, Quttera umí také provádět nepřetržité monitorování, což vám pomůže vyhnout se zranitelnostem typu zero-day.

REST API je jednoduché a výkonné a může vracet i jiné formáty než JSON (například XML a YAML). U skenů je podporováno plné vícevláknové zpracování a souběžnost, což vám umožňuje paralelně spouštět více skenů. Vzhledem k tomu, že služba běží v reálném čase, je neocenitelná pro společnosti, které se zabývají kritickými službami, kde výpadek znamená ztráty.

Závěr

Bezpečnostní nástroje, jako jsou ty popsané v tomto článku, jsou pouze další linií obrany (nebo prevence, chcete-li). Stejně jako antivirový program je toho schopen hodně, ale neexistuje způsob, jak zajistit 100% spolehlivou ochranu. Je to proto, že program napsaný se zlým úmyslem je pro počítač totéž jako program s pozitivním záměrem. Oba vyžadují systémové prostředky a oba odesílají síťové požadavky. Problém spočívá v kontextu, který počítače nejsou schopné samy vyhodnotit.

Nicméně, tyto API poskytují robustní zabezpečení, které je ve většině případů dostatečné – jak pro externí webové stránky, tak i pro vaše vlastní! 🙂