Како скенирати вирусе преко антивирусне АПИ услуге

Internet je prepun zlonamernih veb stranica. Nažalost, one mogu da se pojave čak i na sajtovima vaših klijenata ili dobavljača.

Danas skoro da nema poslovanja koje ne koristi neki vid integracije, bilo da se radi o unosu podataka ili njihovom preuzimanju sa veb lokacija klijenata ili dobavljača. Ove usluge su neophodne za vaše poslovanje, ali ponekad mogu predstavljati i pretnju. Eksterni sajtovi sa kojima komunicirate mogu sadržati zlonamerni sadržaj, bilo da je namerno postavljen ili da je kompromitovan od strane treće strane. Ako taj sadržaj nađe put do određenih delova vašeg sistema, posledice mogu biti katastrofalne.

Da li je moguće ručno skenirati veb sajtove kako bi se otkrili maliciozni sadržaji?

Možda vam se čini da bi svaki kompetentan programer trebalo da bude u stanju da pregleda stranice i pronađe potencijalne ranjivosti. Nažalost, to nije tako jednostavno iz više razloga:

  • Programeri nisu specijalizovani za bezbednost i otkrivanje pretnji. Njihova ekspertiza je u razvoju složenog softvera kroz sastavljanje manjih podsistema. Jednostavno rečeno, oni nemaju specifične veštine potrebne za takav posao.
  • Čak i ako imate veoma talentovanog programera, ovaj zadatak bi bio previše zahtevan. Tipična veb stranica sa mnogo funkcija sadrži hiljade linija koda. Sastavljanje svih tih delova kako bi se dobila šira slika i uočile moguće „rupe“ u kodu je prava noćna mora. To je isto kao da nekome kažete da pojede celog slona za ručak!
  • Kako bi se smanjilo vreme učitavanja stranica, veb sajtovi često kompresuju i minimiziraju svoje CSS i JavaScript datoteke. To dovodi do takve zbrke u kodu da ga je skoro nemoguće pročitati.

Šta mislite, šta ovaj kod radi? :kappa: (Izvor: elgg.org)

Ako vam ovo još uvek izgleda čitljivo, to je zato što su programeri odlučili da sačuvaju imena varijabli u opštem kontekstu. Probajte da pogledate izvorni kod za jQuery, koji neko može hostovati na svom sajtu i izmeniti (dve linije negde u ovoj zbrci):

Da ne spominjemo da izvorni kod ima blizu 5.000 linija. 😎

Ovo je samo jedan scenario o kojem pričamo. Veb stranica obično ima 5-15 priloženih skripti, a verovatno radite sa ukupno 10-20 veb stranica. Zamislite da ovo morate da radite svakog dana… ili još gore, nekoliko puta dnevno!

Srećom, moguće je brzo i lako skenirati URL-ove putem API-ja. Možete skenirati ne samo veb stranice, već i datoteke koje su dostupne za preuzimanje. Hajde da pogledamo neke od API alata koji vam u tome mogu pomoći. I, pošto su ovo API-ji, mnogo je bolje da zamolite svog programera da napravi alatku za skeniranje veb lokacija koristeći ove API-je, umesto da ručno skenira kod. 😀

Google Web Risk

Ne iznenađuje da proveru veb stranica nudi kompanija koja praktično „poseduje“ internet. Mislim, samo pogledajte sve njihove veb stranice. Ipak, postoji jedan problem: Google Web Risk je još uvek u beta fazi i dostupan je samo na zahtev. To što je u beta verziji znači da su moguće značajne promene.

Ipak, s obzirom na to da je API prilično jednostavan, vaš programer može rešiti sve promene koristeći alatku za praćenje API-ja i malo vremena za razvoj. 🙂

Korišćenje API-ja je veoma jednostavno. Da biste proverili jednu stranicu pomoću komandne linije, jednostavno pošaljite zahtev na sledeći način:

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"

Ako je zahtev uspešan, API odgovara sa tipom ranjivosti na stranici:

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

Kao što vidite, API potvrđuje da je poznato da stranica sadrži malver.

Važno je napomenuti da Google Web Risk API ne vrši dijagnostiku na zahtev za URL ili datoteku po vašem izboru. On konsultuje crnu listu koju održava Google na osnovu rezultata pretrage i izveštaja, i obaveštava vas da li se URL nalazi na toj crnoj listi ili ne. Drugim rečima, ako ovaj API kaže da je URL siguran, sigurno je pretpostaviti da je prilično bezbedan, ali nema garancije.

VirusTotal

VirusTotal je još jedna odlična usluga koju možete koristiti za skeniranje ne samo URL adresa, već i pojedinačnih datoteka. U tom smislu, smatram ga korisnijim od Google Web Risk-a. Ako želite da isprobate uslugu, posetite sajt i na početnoj stranici imate opciju da krenete sa skeniranjem.

Iako je VirusTotal dostupan kao besplatna platforma koju je izgradila i održava živa zajednica, on nudi komercijalnu verziju svog API-ja. Evo zašto biste možda želeli da platite premium uslugu:

  • Fleksibilna stopa zahteva i dnevna kvota (za razliku od samo četiri zahteva u minuti za javni API)
  • Dostavljeni resurs skenira VirusTotal i vraća dodatne dijagnostičke informacije.
  • Informacije o ponašanju datoteka koje pošaljete (datoteke se smeštaju u bezbedno okruženje radi praćenja sumnjivih aktivnosti)
  • Pretraživanje baze podataka VirusTotal-a po raznim parametrima (podržani su složeni upiti)
  • Strogi SLA i vremena odziva (datoteke poslate putem javnog API-ja se stavljaju u red čekanja i treba im dosta vremena da se analiziraju)

Ako se odlučite za privatni VirusTotal API, to može biti jedna od najboljih investicija koje ste ikada napravili u SaaS proizvod za vaše preduzeće.

Scanii

Još jedna preporuka za API sigurnosnog skenera je Scanii. To je jednostavan REST API koji može skenirati dokumente i datoteke koje mu pošaljete radi otkrivanja pretnji. Zamislite ga kao skener virusa na zahtev koji se može lako pokrenuti i skalirati!

Evo šta Scanii nudi:

  • Može otkriti malver, phishing skripte, spam sadržaj, NSFW (Not Safe For Work) sadržaj itd.
  • Izgrađen je na Amazon S3 za lako skaliranje i skladištenje datoteka bez rizika.
  • Otkriva uvredljiv, nesiguran ili potencijalno opasan tekst na više od 23 jezika.
  • Jednostavan, fokusiran pristup skeniranju datoteka zasnovan na API-ju (bez nepotrebnih dodatnih funkcija)

Prava prednost Scanii-a je to što je meta-motor. To znači da ne vrši skeniranje samostalno, već koristi skup osnovnih mehanizama. To je velika prednost jer niste vezani za jedan bezbednosni mehanizam, što znači da ne morate da brinete o promenama API-ja i slično.

Smatram da je Scanii odličan alat za platforme koje zavise od sadržaja koji generišu korisnici. Drugi slučaj upotrebe je skeniranje datoteka generisanih od strane dobavljača kojima ne možete 100% verovati.

MetaDefender

Za neke organizacije, skeniranje datoteka i veb stranica na jednoj krajnjoj tački nije dovoljno. Oni imaju složen tok informacija i nijedna krajnja tačka ne sme biti ugrožena. Za te situacije, MetaDefender je idealno rešenje.

Zamislite MetaDefender kao paranoičnog čuvara kapije koji se nalazi između vaših osnovnih resursa i svega ostalog, uključujući i mrežu. Kažem „paranoičan“ jer je to filozofija dizajna MetaDefender-a. Ne mogu to opisati bolje od njih samih, pa evo:

Većina rešenja za sajber bezbednost se oslanja na detekciju kao svoju osnovnu zaštitnu funkciju. Sanitacija MetaDefender podataka se ne oslanja na detekciju. Pretpostavlja se da bi sve datoteke mogle biti zaražene i njihov sadržaj se ponovo gradi koristeći siguran i efikasan proces. Podržava više od 30 tipova datoteka i proizvodi sigurne i upotrebljive datoteke. Sanitacija podataka je izuzetno efikasna u sprečavanju ciljanih napada, ransomware-a i drugih vrsta poznatih i nepoznatih pretnji od malvera.

Postoji nekoliko korisnih funkcija koje MetaDefender nudi:

  • Sprečavanje gubitka podataka: Jednostavno rečeno, ovo je mogućnost zaobilaženja i zaštite osetljivih informacija pronađenih u datoteci. Na primer, MetaDefender će sakriti PDF račun sa vidljivim brojem kreditne kartice.
  • Mogućnost lokalne ili cloud instalacije (u zavisnosti od toga koliko ste paranoični!).
  • Pregled više od 30+ tipova formata arhiviranja (zip, tar, rar, itd.) i 4500 načina za „varanje“ sa tipovima datoteka.
  • Višekanalna primena — zaštitite samo datoteke ili uživajte u kontroli e-pošte, mreže i pristupnih tačaka.
  • Prilagođeni tokovi rada za primenu različitih tipova skeniranja na osnovu prilagođenih pravila.

MetaDefender uključuje 30+ motora, ali ih lepo apstrahuje, tako da ne morate da brinete o njima. Ako ste srednje ili veliko preduzeće koje ne može da priušti bezbednosne probleme, MetaDefender je odlična opcija.

Urlscan.io

Ako se uglavnom bavite veb stranicama i oduvek ste želeli detaljnije da vidite šta se dešava „iza scene“, Urlscan.io je odličan alat u vašem arsenalu.

Količina informacija koju Urlscan.io generiše je impresivna. Između ostalog, možete videti:

  • Ukupan broj IP adresa sa kojima je stranica komunicirala.
  • Spisak geografskih područja i domena kojima je stranica slala informacije.
  • Tehnologije koje se koriste na prednjoj i zadnjoj strani sajta (ne tvrdi se da je analiza 100% tačna, ali je iznenađujuće precizna!).
  • Informacije o domenu i SSL sertifikatu
  • Detaljne HTTP interakcije zajedno sa opterećenjem zahteva, imenima servera, vremenima odziva i još mnogo toga.
  • Skrivena preusmeravanja i neuspešni zahtevi
  • Odlazne veze
  • JavaScript analiza (globalne varijable koje se koriste u skriptama, itd.)
  • Analiza DOM stabla, sadržaj obrazaca i još mnogo toga.

Evo kako to sve izgleda:

API je jednostavan i jasan. Omogućava vam da pošaljete URL na skeniranje, kao i da proverite istoriju skeniranja tog URL-a (tj. skeniranja koja su izvršili drugi). Ukratko, Urlscan.io pruža obilje informacija za svako zainteresovano preduzeće ili pojedinca.

Sucuri

Sucuri je dobro poznata platforma kada je u pitanju online skeniranje veb lokacija u potrazi za pretnjama i malverom. Ono što možda ne znate je da imaju i REST API, koji omogućava da iskoristite isti potencijal putem programiranja.

Nemam mnogo da kažem o ovome, osim da je API jednostavan i da dobro funkcioniše. Naravno, Sucuri nije ograničen samo na API za skeniranje. Preporučujem da pogledate neke od njegovih moćnih funkcija, kao što je skeniranje na strani servera. U suštini, vi dajete FTP akreditive, a Sucuri se prijavljuje i skenira sve datoteke u potrazi za pretnjama!

Quttera

Naš poslednji unos na ovoj listi je Quttera, koja nudi nešto malo drugačije. Umesto da skenira domen i poslate stranice na zahtev, Quttera takođe može da obavlja kontinuirano praćenje, pomažući vam da izbegnete ranjivosti nultog dana.

REST API je jednostavan i moćan, i može da vrati nekoliko formata osim JSON-a (XML i YAML, na primer). Podržava kompletnu višenitnost i paralelnost u skeniranjima, što vam omogućava da pokrenete više iscrpnih skeniranja istovremeno. Pošto usluga radi u realnom vremenu, od neprocenjive je vrednosti za kompanije u kritičnim situacijama gde zastoj znači propast.

Zaključak

Sigurnosni alati poput onih opisanih u ovom članku su samo dodatna linija odbrane (ili opreza, ako hoćete). Kao i antivirusni programi, oni mogu mnogo toga da urade, ali ne postoji način da se obezbedi metoda skeniranja koja je otporna na greške. To je zato što program napisan sa zlonamernom namerom izgleda isto za računar kao i onaj napisan sa pozitivnim ciljem. Oba programa traže sistemske resurse i šalju mrežne zahteve; razlika je u kontekstu koji računari ne mogu da razumeju.

Uprkos tome, ovi API-ji pružaju robusnu sigurnosnu zaštitu koja je poželjna u većini slučajeva – kako za eksterne veb lokacije, tako i za vaše! 🙂