BLOG

TOP 5 Sigurnosnih rizika u Web Aplikacijama




Web-aplikacije su aplikacije kojima korisnici pristupaju preko nekog oblika mreže: preko interneta – javne mreže bazirane na TCP (Transmission Control Protocol) / IP (Internet Protocol) protokolu, ili intraneta – privatne/interne mreže neke institucije ili firme, u kojoj se za prenos podataka takođe koristi TCP/IP protokol. Takođe, web-aplikacija se može shvatiti i kao softver koji se nalazi na web-serveru i kome se pristupa preko web-pretraživača. Mogućnost da se, uz samo nekoliko linija koda, otuđi velika suma novca sa nečijeg bankovnog računa, ili dođe u posed vrednih i poverljivih informacija, navela je hakere da razviju mnoštvo zlonamernih alata i strategija. Brojne zajednice i kompanije ulažu podjednake napore da se poveća bezbednost web aplikacija i sajtova. Međunarodna onlajn organizacija OWASP (Open Web Application Security Project), koja se bavi bezbednosnim aspektima web i mobilnih aplikacija, jednom u tri ili četiri godine objavljuje spisak deset najzastupljenijih ranjivosti. Pod ranjivošću se smatra slabost u dizajnu, implementaciji, korišćenju i menadžmentu predmetnog informacionog sistema. TOP 5 Sigurnosnih rizika u Web Aplikacijama po OWASP modelu čine sledeće ranjivosti: Ubacivanje (Injection) Ova kategorija propusta se odnosi na ubacivanje malicioznog koda u kod web aplikacije. Najčešće se pominje vrsta napada SQL injection kada se govori o ovoj klasi napada. Međutim, postoje i mnogi drugi tipovi napada ubacivanjem koda poput code injection, sa podvrstama PHP injection, javascript injection. Cross site scripting je takođe vrsta injection napada, jer se ubacuje maliciozni HTML kod u kod web sajta. Moguće je ubacivati i komande operativnog sistema, što je jedan od najtežih oblika ove klase napada, jer daje napadaču kontrolu nad operativnim sistemom i samim računarom. Težina napada može da varira, od bezazlenog do veoma opasnog u zavisnosti šta je korisniku omogućeno. SQL injection je naročito opasan jer je napadač u mogućnosti da kontroliše bazu podataka, a samim tim i da menja ili briše podatke. Kod SQL injection-a takođe postoji nekoliko vrsta napada poput blind SQL injection, DOM based SQL injection itd. PHP ili server side code injection takođe predstavlja jedan od težih propusta, jer se omogućava ubacivanje koda koji se izvršava na serveru i koji može da upravlja svim podacima. Prilikom ovog napada mogu se ubaciti i kodovi sa eksternih stranica ili redirektovati sa sajta na drugi sajt, uz krađu sesije ili kolačića. Rešavanje problema ubacivanja koda zavisi od vrste ranjivosti veb aplikacije. Uglavnom je potrebno filtrirati specijalne karaktere kako bi se onemogućilo izvršavanje koda. Potrebno je obratiti pažnju da se onemogući preskakanje tih karaktera nekim specijalnim znakom i tako zaobiđe zaštita. Korisnički unos je potrebno uvek proveriti, na klijentskoj i na serverskoj strani, da li je validan i da li sadrži neki maliciozni kod, filtrirati ga ili odbiti pre bilo kakve dalje obrade.

 

Broken Authentication (Loše implemetirani mehanizmi autentifikacije) 2 Čest je slučaj da timovi za razvoj softvera implementiraju svoj način autentifikacije ili upravljanja sesijom. Loša implementacija sigurnih mehanizama za autentifikaciju predstavlja čestu ranjivost web aplikacija. U ovakvim aplikacijama napadač može biti u mogućnosti da reverznim inženjeringom sazna kako radi algoritam i uspe da nađe način kako da dođe u posed tuđih sesija i identiteta. Pronalaženje ovakvih grešaka može biti teško, jer zavisi od svake implementacije, ali ne i nemoguće. Često se u funkcijama za logout, pamćenje lozinke, upravljanje timeout-ima i sl. nalaze ovakve greške. Za procese upravljanja autentifikacijom i obezbeđivanje sesija uvek se preporučuje upotreba proverenih i dokazanih framework-a i algoritama za enkripciju podataka.

 

Sensitive Data Exposure (Nedovoljna sigurnost osetljivih podataka) Zaštita osetljivih podataka, poput lozinki, brojeva kreditnih kartica i sl. korišćenjem kriptografije je postala ključni element velikog broja veb aplikacija. Ne postoji softverski okvir za kreiranje veb aplikacija koji je otporan na korišćenje nesigurnog kriptografskog skladišta. Prilikom trasporta osetljivih podataka, koriste se mnogi kriptografski algoritmi koji, u slučaju da su podaci kompromitovani, otežavaju napadaču da ih zloupotrebi. Podatke poput lozinki ne bi trebalo čuvati u osnovnom obliku u bazi. Pošto služe samo za autentifikaciju korisnika, mnogo je sigurnije koristiti značajno pouzdanije heš algoritme, koji od podataka kreiraju nizove besmislenih znakova, koji se ne mogu vratiti u prvobitni oblik.

 

XXE (XML External Entity) Često nazivan i XML dodavanje (eng. XML injection), je napad usmeren na web aplikacije koje obrađuju XML tipove podataka. Kod ove vrste napada dolazi do izmene korisnog sadržaja XML poruke što može izazvati prekid dostupnosti funkcija web servisa (tipično Denial-of-Service), ili izazvati izvršenje malicioznog koda, kako na aplikativnom serveru, tako i na krajnjem sistemu sa kojim web servis komunicira. Propusti ovog tipa se relativno uspešno rešavaju ograničavanjem pristupa na entitete od poverenja. Pozitivna praksa je kombinovanje dodatnih tehnika za ograničavanje eventualnog Man-in-the-Middle napada, kako na aplikativnom sloju, tako i na ostalim slojevima OSI (Open System Interconnection) modela, gde je to moguće.

 

Broken Access Control (Neadekvatna kontrola pristupa) Mehanizmi kontrole pristupa su neophodni i ključni elementi pri projektovanju bezbednosti svake Web aplikacije. Da bi se osigurala adekvatna kontrola pristupa potrebno je centralizovati sve potrebne mehanizme kontrole pristupa i imati vrlo jasno razrađenu politiku pristupa resursima web aplikacije kao i vrlo jasno definisane uloge korisnika u sistemu. Kontrola pristupa odnosi se na način kontrolisanja pristupa Web resursima, uključujući ograničenja zasnovana na faktorima kao što su doba dana, IP adresa, HTTP klijent browsera, domen, tip enkripcije koju HTTP klijent može da podrži, broj autetifikacija datog korisnika tog dana, posedovanje određenog broja hardverskih/softverskih tokena, ili neka izvedena promenjiva koja se može sa lakoćom obraditi. Loše implementirani mehanizmi kontrole pristupa mogu potencijalnim napadačima da omoguće pristup tuđim korisničkim nalozima, osetljivim fajlovima, kao i promenu pristupnih prava korisnika.


CONTACT US

Get In Touch

We look forward to
hearing from you.

CONTACT US

KONTAKT

Kontakt

Rado ćemo odgovoriti na vaša pitanja!

KONTAKTIRAJTE NAS
x
Sky Express koristi kolačiće (cookies) koji služe poboljšanju funkcionalnosti sajta i ne sadrže lične podatke. Više o kolačićima pročitajte u Politici privatnosti.
x
Sky Express uses cookies to improve the functionality of the site and do not contain personal information. Read more about cookies in our Privacy Policy.