Ovo je stara izmjena dokumenta!
U današnje doba napadi korištenjem PDF formata sve su češći. Ljudi često ne razmišljaju kod preuzimanja PDF datoteka jer su navikli da je PDF format generalno siguran. Ono čega dosta ljudi nije svjesno jest da se u PDF-u može kriti maliciozni Javascript kod koji bi mogao ugroziti njihove podatke. U ovom radu proći ćemo kroz neke od napada korištenjem JavaScripta te pogledati kako je moguće provjeriti da li PDF sadrži maliciozni JavaScript kod te koji su mogući načini zaštite.
PDF format postao je najkorišteniji format datoteke u proteklim godinama te je s time postao vrlo zanimljiv za napadače. Postoji još par faktora uz njegovu popularnost koji ga čine izuzetno povoljnim za napadača a onaj glavni je mogučnost pokretanja JavaScripta. JavaScript se u PDF-u obićno koristi kako bi se automatizralo rukovanje obrascima, povezalo dokument sa nekom bazom i generalno kako bi se povećala interaktivnost dokumenta, no za napadača to je izvrsno mjesto za ugraditi maliciozni kod koji može naštetiti žrtvi.
Korištenje JavaScripta u PDF je odklična praksa ali iz pogleda napadača omogućuje su sljedeći:
DDOS-Ovi napadi se ostvaruju tako da se kreira pdf dokument koji tjera računalo da troši sve sovoje resurse. To se najčešče ostvaruje kreiranjem bezkonačnih ili akcijskih petlji te tjeranjem koda da izvršava neke kompleksne matematičke operacije u pozadini bez korisnikovog znanja.
Otkrivanje informacija-poanta ovih napada je da povežu napadača i žrtvu te tako omogućuju napadaču da dođe do informacijama o žrtvi te njenim podacima. Neki od napada koji spadaju pod otkrivanje informacija su URL invocation,data leakage i credential theft.
Manipulacija podacima-ovaj tip napada fokusira se na izmjenu žrtvinih podatka.Ovi napadi mogu se izvršti kao modifikacija forme gdje se korisniku mjenja unos u pdf formu, omogućavanjem pisanja po korisnikovim lokalnim datotekama i maskiranjem sadržaja dokumenta.
Pokretanje koda- u ovoj vrsti npada otvaranjem pdf dokumena na žrtvinom računalo izvršava se maliciozni kod napadača.
Kako bi započeli priču oko detekcije malicioznog JavaScript koda moramo prvo pogledati strukturu pdf formata datoteke:
Kao što se vidi na slici pdf se sastoji od:
headera-sadrži verziju pdf-a object- jedan ili vioe objekata obično sadže informacije koje su potrebne za renderiranje dokumenata xref-sadrži offset vrijednosti za razne elemente pdf-a trailer-zadrži metapodatke end of file-označava kraj dokumenta.
Sada kako bi započeli analizu za početak možemo otvorit pdf u nekom plain text editoru gdje ćemo dobiti sljedeće:
U ovom zapisu vidmo header, vidmo da ovaj pdf sadrži 2 objekta označeni sa
1 0 obj 2 0 obj
Nakon toga je bitno uočiti kad pogledamo objekt 2 vidimo sljedece:
<< /S/JavaScript /JS 1 0 R >>
taj dio nam govori da je nečitki niz iznad objekta zapravo javascript kod. U ovakvom obliku jasno nemožemo shvatiti koja je svrha tog JavaScript kod te možemo primjeniti neku od postoječih python skripti kako bi dobili čitku verziju JavaScript koda te kopiranjem toga u neki IDE mpžemo jasno pročitati čeemu taj kod služi. U našem slučaju dobiva se sljedeće:
Sada iz ovog koda možemo vidjeti da tu postoji jedna potencijalno zabrinjavajuća stvar, a to je da ovaj kod kontatira domenu readnotify.com što znči da daje potencijalnom napadaču informacije o korisniku. Naravno ovo je samo jedan banalan primjer te se maliciozni kod može i malo bolje sakriti no postoje i razni alati koji mogu pomoći i u takvim sitacijamakao npr. VirusTotal,LogRhythm Netmon, itd.
Mogučnosti napada korištenjem JavaScripta ograničene su kojim čitačem pdf-a se koristimo kao i njegovom verzijom, no neki generalni načini prevencije napada su: Stički- korištenjem potpisa,uzoraka,struktura i strojog učenja Dinamički -detekcija tokom izvođenja u virtualnom okruženju, zaštita tokom izvođenja
Iako večina navedenih načina mogu otkriti maliciozni kod postoji mogučnost da se to ne dogodi, pa je zapravo jedini pravi način da se osiguramo od takvih napada onemogučavanje izvršavanja JavaScripta kod otvaranja pdf-a.
Pdf kao format je najpopularniji format datoteke te ga večina ljudi smatra sigurnim za korištenje te je zbog toga izuzetno dobro za napadača koristiti baš taj format kako bi ostvario neki napad na žrtvu. Kada preuzimamo neku pdf datoteko trebali bi pripaziti prije njenoga otvaranja kako baš mi nebismo postali žrtva napada. Postoje metode provjere i detekcije malicioznih pdf datoteka te bi bilo dobro za sumnjive datoteke i provesti analizu ili ako već nismo sigurni kako ih provjeriti barem onemogučiti izvođenje JavaScripta u našem pdf čitaču.