There are no translations available.

Virtual Network Computing

Prostoje brojni sustavi s naprednim funkcionalnostima čija je namjena olakšavanje rada i uporabe računala korisnicima. Jedan od takvih sustava je VNC (eng. Network Computing) sustav koji služi za jednostavnije pristupanje udaljenom računalu i kontrolu prikaza na zaslonu. Uključuje tri komponente: program za pružanje kontrole klijentu (VNC poslužitelj), program za kontrolu i integraciju s poslužiteljem (VNC klijent) te protokol za komunikaciju. VNC protokol je zasnovan na RFB (eng. remote framebuffer) protokolu koji omogućuje prijenos događaja između klijentskog i poslužiteljskog računala te definira način prikaza skupine piksela (osnovni grafički element slike) na zaslonu. Zamišljen je kao vrlo jednostavan protokol za pružanje grafičkog korisničkog sučelja. Uključuje nekoliko metoda kodiranja podataka koji se koriste za optimizaciju veze između klijenta i poslužitelja.

Jedan od vrlo važnih aspekata prilikom pristupa udaljenom računalu je sigurnost podataka. Kod VNC sustava, većina sigurnosnih ranjivosti povezana je s RFB protokolom koji je po svojoj prirodi nesiguran protokol. Razlog tomu je usmjeravanje na učinkovit prijenos događaja između udaljenih računala, dok postupci autentikacije i šifriranja nisu ni razmatrani u izvornoj inačici. Prema tome, prve inačice sustava bile su posebno ranjive na napade dešifriranja lozinki i otkrivanja osjetljivih podataka.

Osnovna metoda za dešifriranje lozinki bila je brute force napad koji se zasniva na isprobavanju svih mogućih kombinacija ključa dok se ne otkrije odgovarajući. Efikasniji način dobivanja lozinki razvijen je zahvaljujući nepravilnoj pohrani lozinki u registre (kod operacijskog sustava Windows) što je omogućilo razvoj posebnih alata za izvođenje tog napada.

Osjetljive informacije predstavljaju one informacije čije otkrivanje neovlaštenim korisnicima može rezultirati smanjenjem razine sigurnosti nekog sustava. Otkivanje osjetljivih informacija može uzrokovati dodatne gubitke ili omogućiti izvođenje novih napada. Zbog toga je potrebno implementirati njihovu sigurnu pohranu te pravilno definirati prava pristupa. Prve inačice VNC sustava nisu pridavale važnost pohrani podataka, što je dovelo do ozbiljnih problema povezanim s gubitkom osjetljivih podataka.

Ipak, najozbiljniji problem sigurnosti VNC sustava uzrokovao je nedostatak šifriranja komunikacije između klijenta i poslužitelja nakon uspostave veze. Zahvaljujući tomu napadač je mogao presresti poruke te dobiti pristup svim informacijama koje korisnik razmjenjuje s udaljenim sustavom. Kako bi se spriječili takvi napadi preporuča se zaštita komunikacije korištenjem SSH (eng. Secure Shell) protokola, mrežnog protokola za razmjenu podataka uporabom sigurne veze između dva mrežna uređaja. Izvedba na računalima s operacijskim sustavom Windows uključuje preusmjeravanje prometa preko računala s Unix platformom.

Budući da je inicijalno razvijan kao besplatni sustav otvorenog koda, postoje brojne programske implementacije sustava VNC. Najpoznatija je aplikacija RealVNC, koju je stvorila grupa stručnjaka zaslužna za razvoj prve inačice VNC sustava. Dostupna je u besplatnoj i komercijalnoj inačici za operacijske sustave Windows, Mac OS X, Unix te platforme Java i iPhone. Postoje još i brojne aplikacije koje implementiraju VNC sustav te dodaju neke napredne funkcionalnosti poput sljedećih: TightVNC, UltraVNC i EchoVNC.

Osim sigurnosnih ranjivosti koje donosi RFB protokol, programske implementacije VNC sustava sadrže dodatne nedostatke. Većinom se radi o pogreškama koje su posljedica nepravilnosti u postupcima kodiranja, neodgovarajuće provjere podataka ili pogrešnog rukovanja memorijom. Takve nepravilnosti napadačima mogu omogućiti izvođenje ozbiljnih napada poput pokretanja proizvoljnog programskog koda, povećanja prava na sustav ili izvođenja DoS (eng. Denial of Service) napada.

Uz VNC sustav, postoje neki slični sustavi za pristup udaljenim računalima poput: RDP (eng. Remote Desktop Protocol) i ICA (eng. Independent Computing Architecture).

RDP protokol je razvila tvrtka Microsoft, a služi za pružanje grafičkog sučelja na udaljenom računalu. Sadrži mnoge napredne funkcije i dostupan je za većinu poznatih operacijskih sustava. U rad uključuje postupke šifriranja, što ga čini pouzdanijim od VNC sustava. Međutim, bez dodatnih sigurnosnih mjera, ranjiv je na MITM (eng. man-in-the-middle) napad - aktivno prisluškivanje u kojem napadač uspostavlja veze s žrtvama te ih navodi da misle kako komuniciraju izravno. Također, određene nepravilnosti u dizajnu protokola mogu dovesti do otkrivanja sadržaja šifriranih podataka te pokretanja DoS napada.

ICA protokol je razvila tvrtka Citrix Systems za razmjenu podataka između poslužitelja i klijenta. Neovisan je o platformi, a sadrži funkcije slične sustavu X Windows System. Prve inačice protokola uključivale su slabe algoritme za šifriranje putem jednostavnog algoritma zasnovanog na XOR funkciji. To je napadačima omogućilo snimanje lozinki te pregled prometa koji izmjenjuju klijent i poslužitelj kao i izvođenje MITM napada ili krađu sjednice. Kasnije inačice uključivale su neke naprednije algoritme za šifriranje.

Danjim razvojem sustava za udaljeni rad može se očekivati razvoj programskih implementacija koje će omogućiti uporabu na svim platformama te njihovo međusobno povezivanje. Većina sustava usmjerava se na rješavanje poznatih sigurnosnih poteškoća kako bi se omogućio pouzdaniji rad. Očekuje se i ugradnja mnogih naprednih funkcionalnosti poput prijenosa audio zapisa pokrenutih na udaljenom računalu i sl.

Izradu dokumenta "Cloud computing" financirao je Nacionalni CERT, i možete ga pročitati na službenim stranicama CERT-a.