INTERNET<>
052014<><>

The Heartbleed Bug

OpenSSL u epizodi: Exploited

Otkrivamo detalje iza baga kojeg sve češće nazivaju najvećim sigurnosnim propustom od nastanka komercijalnog interneta

The Heartbleed Bug je ozbiljan sigurnosni propust u popularnoj OpenSSL kriptografskoj softverskoj biblioteci. Naziv je dobio po implementaciji ekstenzije TLS/DTLS OpenSSL-a poznatu po imenu Heartbeat (RFC6520) koju napada i načinu na koji „krade” podatke u 64k „kapljicama”. On omogućava krađu zaštićenih informacija, pod normalnim uslovima, putem SSL/TLS enkripcije korišćene za obezbeđivanje interneta. SSL/TLS je dizajniran s idejom da obezbedi sigurnu komunikaciju, što podrazumeva u isto vreme bezbednost i privatnost podataka putem interneta za aplikacije kao što su web, e-mail, instant messaging (IM) i virtual private networks (VPNs).

Heartbleed Bug omogućava svakome na internetu da „čita” memoriju sistema zaštićenog ranjivom verzijom OpenSSL softvera. To kompromituje tajne ključeve koji se koriste za identifikaciju provajdera i enkripciju saobraćaja, imena i lozinke korisnika, kao i sam sadržaj. Ovo omogućava napadačima da „prisluškuju” komunikacije, kradu podatke direktno od servisa i korisnika, kao i da preuzmu ulogu nekog od servisa ili konkretnog korisnika.

Koje verzije OpenSSL su pogođene

Pogođen je OpenSSL od verzije 1.0.1 sve do, i zaključno sa, verzijom 1.0.1f. Bag se prvi put pojavio u verziji iz decembra 2011. godine, a implementiran je u verziji 1.0.1 14. marta 2012. godine, od kada je i u masovnom korišćenju. OpenSSL 1.0.1g koji rešava ovaj bag izašao je 7. aprila 2014. godine.

Kako se bag manifestuje u praksi?

Testiranjem određenih servisa došlo se do zaključka da iz perspektive napadača, napadom „sa spoljne strane” podaci mogu da budu „ukradeni” bez ostavljanja ikakvih tragova. Bez korišćenja bilo kakvih privilegovanih informacija ili kredencijala za prijavu, „ukradeni” su tajni ključevi za X.509 sertifikate, korisnička imena i lozinke, IM prepiske, e-mailovi, kao i ključni poslovni podaci i komunikacija.

Šta ga čini jedinstvenim

Bagovi u određenom softveru ili biblioteci dolaze i prolaze. Bivaju najčešće popravljeni u najnovijoj verziji kroz live update. Ipak, ovaj bag ostavio je izloženim veliku količinu privatnih ključeva i drugih tajni na internetu. Kada se uzme u obzir dug period izloženosti (dve godine), lakoća eksploatacije i napadi koji ne ostavljaju nikakve tragove, ovaj bag bi trebalo da se shvati vrlo, vrlo ozbiljno.

Šta je sve „curilo”

Enkripcija se koristi da zaštiti tajne koje mogu štetiti privatnosti ili sigurnosti ako procure. Da bi se mogao koordinisati oporavak od ovog baga, kompromitovane tajne moraju biti klasifikovane i raspoređene u nekoliko kategorija, i to: primarni zaštićeni materijal, sekundarni zaštićeni materijal, zaštićeni sadržaj i „kolateralu”.

Primarni zaštićeni materijal

Primarni zaštićeni materijal su zapravo sami enkripcioni ključevi. Tajni ključevi koji su procureli omogućavaju napadaču da dekriptuje bilo koji prošli, trenutni ili budući saobraćaj zaštićenog servisa, kao i da preuzme ulogu samog servisa po želji. Svaka zaštita data od strane enkripcije i potpisa u X.509 sertifikatima može biti zaobiđena. Oporavak od ovoga zahteva pečovanje ranjivosti, povlačenje kompromitovanih ključeva i reizdavanje, kao i redistribuciju novih. Sve ovo mora da uradi vlasnik pomenutih servisa. Čak i sve ovo ne sprečava napadače da saobraćaj već presretnut u prošlosti dekriptuju.

Sekundarni zaštićeni materijal

Sekundarni zaštićeni materijal su, na primer, korisnički kredencijali (korisnička imena i lozinke) korišćene u ranjivim servisima. Oporavak od ovog propusta zahteva da vlasnici servisa, nakon urađene procedure vezane za primarne zaštićene materijale, obaveste svoje korisnike o propustu i daju im instrukcije. Te instrukcije treba da upute korisnike na zamenu svojih kredencijala, a vrlo verovatno i enkripcionih ključeva. Svi ključevi sesija i kolačići sesija bi trebalo da budu poništeni i smatrani za kompromitovane.

Zaštićeni sadržaj

Zaštićeni sadržaj su, zapravo, informacije koje prenose ranjivi servisi. To mogu biti lični ili finansijski podaci, privatne komunikacije poput e-mailova ili IM poruka, razne vrste dokumenata ili bilo šta što vredi štititi enkripcijom. Samo vlasnici servisa će moći da procene verovatnoću zloupotrebe i šta je tačno procurelo i na osnovu toga obaveste svoje korisnike. Najvažnije je da se uspostavi bezbednost na primarnom i sekundarnom nivou, što će obezbediti sigurno korišćenje kompromitovanih servisa u budućnosti.

Kolateralna šteta

Kolateralna šteta nastala usled ovog sigurnosnog propusta su drugi detalji koji su bili otkriveni napadaču tokom „curenja” memorije. To može da sadrži tehničke detalje poput memorijskih adresa i sigurnosnih mera kao što su, na primer, zaštite od Overflow napada. Ovakvi podaci imaju samo trenutnu vrednost, a gube je kada se uradi apgrejd OpenSSL-a na zakrpljenu verziju.

Da li smo svi pogođeni

Svi smo pogođeni, u manjoj ili većoj meri, direktno ili indirektno. OpenSSL je najpopularnija Open Source kriptografska biblioteka i TLS (Transport Layer Security) implementacija korišćena za enkriptovanje saobraćaja na internetu. Bilo da se radi o popularnoj društvenoj mreži, kompanijskom sajtu, internet prodavnici, privatnom sajtu, sajtu sa kog skidamo softver, ili pak državnim sajtovima možda koriste ranljivu verziju OpenSSL-a. Mnogi online servisi koriste TLS za indentifikaciju saobraćaja ka korisniku, ali i za zaštitu privatnosti korisnika i njihovih transakcija. Možda u mreži imamo mrežne uređaje koji za sigurnu prijavu koriste ovu bagovitu implementaciju TLS-a. Takođe, jedna od mogućnosti je da na svom računaru imamo neki od softvera koji mogu da razotkriju podatke sa našeg računara ako se konektujemo na kompromitovani servis.

Koliko su česti propusti u OpenSSL-u

Ranjive verzije su u opticaju već dve godine i vrlo brzo su usvajane od strane modernih operativnih sistema. Stvar koja je tome doprinela višestruko je to da su TLS verzije 1.1 i 1.2 došle uz prvu ranljivu verziju OpenSSL-a (1.0.1) i sigurnosna zajednica je požurila s primenom TLS 1.2 zbog ranijih napada na TLS.

Koliko je sve ovo rašireno

Softveri koji su najistaknutiji od onih koji koriste OpenSSL su Open Source Web Serveri poput Apacheja i nginxa. Kombinovani market share samo ta dva paketa od aktivnih sajtova na internetu je bio preko 66 odsto prema Netcraftovoj aprilskoj Web anketi. Štaviše, OpenSSL se koristi za zaštitu e-mail servera na smtp, pop i imap protokolima, chat serverima sa XMPP protokolom, VPN serverima sa SSL-om, raznim mrežnim uređajima i širokim dijapazonom korisničkog softvera. Na svu sreću, mnogi veliki korisnički sajtovi su sačuvani zbog konzervativnih izbora SSL/TLS terminišuće opreme i softvera. Ironično je da su manji i progresivniji servisi ili oni koji su se uvek apgrejdovali na najnoviju i najbolju enkripciju najviše zahvaćeni. Štaviše, OpenSSL je veoma omiljen u klijentskim softverima i unekoliko popularan kod mrežnih uređaja koji imaju najviše inercije pri dobijanju apdejta.

Da li napadač može da pristupi samo 64k memorije

Ne postoji ograničenje od 64 kilobajta za napad ukupno, već samo za jedan „heartbeat”. Napadač može da se rekonektuje tokom aktivne TLS sesije i nastavi da potražuje arbitrarni broj paketa od po 64 kilobajta iz memorije dok ne dobije dovoljno tajni da sklopi sliku informacije koja mu je potrebna.

Kako „zapušiti rupe”?

Dok god se ranjiva verzija OpenSSL-a koristi, može se zloupotrebljavati. Zakrpljena verzija OpenSSL-a je objavljena i sada je samo treba implementirati. Taj postupak je prilično obuhvatan – proizvođači operativnih sistema, proizvođači specijalizovanih uređaja i nezavisni proizvođači softvera svi zajedno moraju što pre da usvoje zakrpu i obaveste svoje korisnike. Provajderi i korisnici moraju da instaliraju popravku čim bude dostupna za operativne sisteme koji koriste, kao i za mrežnu opremu i softvere.

Kako OpenSSL može biti popravljen

Na kraju, ukoliko apgrejd nije moguć iz nekog razloga, developeri softvera mogu rekompajlirati OpenSSL sa uklonjenim Handshakeom iz koda Compile Time opcijom -DOPENSSL_NO_HEARTBEATS.

Petar LONČAREVIĆ

 
Facebook vs Google
LedgerDocs
The Heartbleed Bug
Šta mislite o ovom tekstu?
WWW vodič
Home / Novi brojArhiva • Opšte temeInternetTest driveTest runPD kutakCeDetekaWWW vodič • Svet igara
Svet kompjutera Copyright © 1984-2018. Politika a.d. • RedakcijaKontaktSaradnjaOglasiPretplata • Help • English
SKWeb 3.22
Opšte teme
Internet
Test Drive
Test Run
PD kutak
CeDeteka
WWW vodič
Svet igara



Naslovna stranaPrethodni brojeviOpšte informacijeKontaktOglašavanjePomoćInfo in English

Svet kompjutera