Sredi meseca junija se je zaključilo srečanje OWASP AppSec EU. Konferenca organizacije OWASP, katere namen je dvig ozaveščenosti razvijalcev in splošne javnosti o grožnjah, ki pretijo splenim aplikacijam, je letos potekala v Dublinu. Namen letošnje konference je bil predstavitev novosti prihodnjih let, različni pogledi na varnostne tematike, kot tudi predstavitev perečih pomanjkljivosti v programski kodi in protokolih.
Otvoritev konference s poudarkom na programski varnosti in varnim kodiranjem je potekala pod vodstvom Brada Arkina iz podjetja Adobe, ki je predstavil svoj pogled na predmetno tematiko. Predstavil je model nagrajevanja, ki ga uporabljajo znotraj podjetja Adobe s podeljevanjem “ninja” označb. Pri podeljevanju tako lahko posamezni razvijalec pridobi označbo “ninje” z različnimi pasovi, od osnovnega zelenega pasu, preko belega in rjavega, pa vse do črnega. Za posamezne stopnje zadostuje že bolj enostavnen video trening, med tem ko je za najvišjo stopnjo potrebno pregledovanje kode produkta oziroma koordinacija med posameznimi pregledovalci produktov.
Preden pa produkt zagleda svet, je ta pri Adobe izpostavljen mnogim testiranjem. Testiranja tako potekajo od klasičnega “fuzzinga” do “third-party” testiranja. Preden pa preide produkt v postopek pošiljanja se pregleda, če ustreza zadanim varnostim normam. Naredi se tudi načrt odzivnosti. Pri tem se preuči tudi potrebe po zmogljivostih in poučevanju razvijalcev. Zatem je potrebno izdelati še načrt odziva v primeru incidenta, narediti načrt izdaje popravkov ter posodobitev.
Običajno Adobe potrebuje približno 90 dni, da izda popravek za ranljivost, o kateri so bili obveščeni, in le-ta ni znana javnosti. V primeru, da se ranljivost javno objavi (t.i. 0-day), je obdobje izdaje popravka bistveno krajše. Ocenjujejo, da se v povprečju od okoli dveh miljard računalnikov, na katerih je nameščen predvajalnik Adobe Flash Player, okuži le nekaj tisoč sistemov. Poseben problem predstavljajo zelo stare napake in ranljivosti, ki jih produkti Adobe vlečejo s seboj. Celotna prezentacija je dostopna tukaj. Misli Adobe Security oziroma Brada pa lahko spremljate tudi na Twitterju pod @AdobeSecurity oziroma @BradArkin.
Zanimivo je bilo tudi predavanje dr. Giles Hogbena, ki je predstavil poročilo agencije ENISA glede problematike, nastale z porastom uporabe pametnih telefonov oziroma naprav. Izpostavil je predvsem novodobne vire škodljive kode v obliki aplikacijskih katalogov, katerih princip delovanja je podoben že znanim principom iz sveta odprte kode. Poudarek je dal tudi na vedno manjšemu nivoju zasebnosti, saj sodobni pametni telefoni vsebujejo velik nabor različnih senzorjev, preko katerih je moč določiti položaj posameznika. Kot primer je navedel senzor gravitacije, ki lahko beleži le zemeljsko gravitacijsko silo, na podlagi katere lahko iz preteklih zapisov določi, če se nahajamo na isti lokaciji, na primer v službi. Predstavil je tudi problematiko uporabe pametnih telefonov, saj vidik uporabe tekom dneva velikokrat prehaja iz končnega uporabnika, do zaposlenega oziroma visokega uradnika. V poročilu ENISA so tako omenjene težave, ki se pojavljajo pri uporabi pametnih telefonov, kot so izguba naprave, neprevidnost pri prodaji naprave oziroma prehodu le-te v roke novega lastnika, ter porast zlonamerne kode za mobilne platforme. Izguba naprave je tako najbolj pereč problem; saj je denimo v Veliki Britaniji vsako leto ukradenih 2% vseh mobilnih naprav. Na ta način lahko pridejo v roke nepridiprava zaupne informacije, ki lahko denimo prizadenejo ugled lastnika, njegove družine, ali celo podjetja. Prav tako je problematična previdnost pri prodaji rabljenih telefonov. Prav lahko se zgodi, da podatki le-teh niso dovolj ali pa sploh niso ustrezno počiščeni. Tako je raziskava nakupa 26 rabljenih naprav pokazala, da je ena naprava pripadala prodajnemu direktorju, 2 sta hranili nerodne podatke, ki bi lahko zmanjšali ugled posameznika, pri štirih je bilo mogoče ugotoviti prejšnjega lastnika, pri sedmih pa lastnikovega direktorja oziroma podjetje. Problematična je tudi zlonamerna koda, ki je v porastu na mobilnem področju. Tako so v poročilu omenili bančnega trojanskega konja za mobilno platformo Zitmo. Ob namestitvi le-ta prestreza avtorizacijske kode banke in jih posreduje napadalcu, ki preko njih opravlja bančne transakcije v komitentovem imenu. Problematična je tudi škodljiva programska koda, ki za svoje razširjanje uporablja imena znane programske opreme, kot na primer DroidDream, je znan produkt v spletni prodajalni Android Market. V določenem obdobju pa se je tam nahajala še ena aplikacija z enakim imenom, ki je poskušala širiti zlonamerno kodo z zlorabo uveljavljenega imena legitimne aplikacije DroidDream.. Dober primer je tudi Angry Birds Bonus Levels, kjer je bilo izrabljeno ime znane igričarske aplikacije za potrebe razširjanja škodljive programske opreme. Celotna prezentacija je na voljo tukaj.
Javier Marcos de Prado in Juan Galiana Lara, predstavnika podjetja IBM, sta predstavila možen način zaznave internih naprav, ki se nahajajo znotraj zaprtega omrežja oziroma za požarnim zidom. V prezentaciji “Intranet Footprinting” sta predstavila svoje module za ogrodje BeEF. Dodatni moduli ogrodju omogočajo enostavno razpoznavo notranjih naprav z izkoriščanjem uporabnikovega brskalnika. Napadalec mora žrtev le zvabiti na prirejeno spletno stran in že lahko izkoristi uporabnikov brskalnik za raziskovanje lokalnega omrežja. Moduli tako omogočajo pregledovanje lokalnega omrežja, zaznavo operacijskega sistema, ipd. Posebej zanimiv je modul, ki preko HTTP POST zahtevka omogoča komunikacijo z znanimi servisi. Vse, kar je za to potrebno, je, da je servis kot tak odporen na napačne zahteve, ter da je zadostna le ena zveza. HTTP POST namreč omogoča več različnih načinov kodiranja zahteve. Tako je mogoče z uporabo kodirnega tipa “multipart/form-data” vstaviti v vsebino POST zahtevka na določeno mesto zaporedje poljubnega števila ukazov, ki lahko v določenem servisu sprožijo zahtevano dejanje. Kot primer sta vzela pošiljanje pošte preko HTTP POST zahtevka, saj se da elektronsko poštno sporočilo zapisati v kosu, SMTP strežnik pa tudi ni pretirano občutljiv na napačne ukaze.
Tobias Gondrom z IETF Web Security WG je predstavil nove standarde in tehnologije, ki bodo implementirane v prihajajoče brskalnike. Novosti se spopadajo predvsem z obstoječimi ranljivostmi, na katere opozarja tudi organizacija OWASP. Tako je predavatelj izpostavil nekatere novosti, ki bodo implementirane v prihajajočih letih, kot na primer Strict Transport Security, kjer strežnik v prvi seji z brskalnikom temu sporoči, da je edini način komunikacije z njim preko varne šifrirane povezave TLS. Podatek nato brskalnik odjemalca shrani za določeno obdobje. V primeru nadaljnjih povezav brskalnik upošteva prejeti podatek. Tako ob zahtevi po nešifrirani povezavi brskalnik želene strani ne prikaže. Seveda se tu odpira vprašanje zaupanja pri prvi povezavi, vendar je ob ustrezni prvi povezavi, recimo od doma, problematika varne šifrirane povezave rešena pri nadaljnjih povezavah, recimo z letališča. Kot drugo možnost varovanja povezave je navedel vpis fingerprintov v DNSSEC sistem. Tako bi brskalnik lahko ob poizvedbi za domeno pridobil tudi fingerprint strežnikovega ključa, ki ga uporablja za vzpostavitev šifrirane seje. S tem bi se vidik varovanja preselil na sistem DNSSEC, ki omogoča verificirane podpisane DNS odgovore. To pa ne veseli preveč izdajatelje strežniških potrdil, saj bi izgubili praktično ves posel. Prav tako se nad idejo niso navduševali ponudniki interneta, saj se breme verifikacije tako delno prenese na njih. Predstavil je tudi pravila lokacije vsebine oziroma t.i. “content-origin-policy”. Ta omogočajo, da se v glavah strežnika navede, kje se lahko določena vsebina, ki je kasneje prikazana na strani na strežniku, nahaja. Tako je recimo mogoče navesti, da se vsa JavaScript koda nahaja na strežniku v določeni mapi. V primeru, da je na strani vstavljena koda, ki ne ustreza lokaciji, brskalnik odpove, hkrati pa pošlje poročilo skrbniku strani. Skrbnik strani ima možnost, da ustrezno ukrepa in varnostni problem odstrani. Predstavil pa je tudi novost, ki ni povezana toliko z varnostjo, in sicer zahtevo “do-not-follow” oziroma ne sledi. Zahteva je povezana z vidikom zasebnosti, saj dandanes oglaševalci preko piškotkov sledijo praktično vsakemu našemu kliku. V primeru uporabe bi brskalnik poslal strežniku zahtevo, ne sledi, ki bi sporočila strežniku, da je sledenje brskalniku prepovedano. Seveda se tu pojavi problem zaupanja strežniku, da bo našo zahtevo upošteval. Tako je ideja ne sledenja povezana tudi z siceršnjimi regulativami in pravilniki posamezne države. Prezentacija se nahaja tukaj.
David Stubley je v svoji prezentaciji APT in “a nutshell” predstavil svoj pogled na vedno bolj pogosto uporabljeno terminologijo APT oziroma napredne trajne grožnje (advanced persistent threat). V svoji prezentaciji je poizkušal razbliniti mit o APT. Tako je pokazal, da so se napadi dogajali že skozi vso zgodovino, ter da v večini primerov niso bile uporabljene napredne nove 0-day ranljivosti, pač pa le izkoriščene obstoječe ranljivosti nezakrpanih sistemov. Kot rešitev predlaga načrtovanje po zlorabi. APT je zanj le “buzzword”. Prav tako kot ponudniki naprav, ki naj bi ščitile pred napadi teh vrst. Po njegovem gre za obstoječe naprave, prodajane pod drugim imenom in namenom.
Andreas Falkenberg je v svoji prezentaciji “How to become Twitter’s admin – An introduction to Modern Web Service Attacks” izpostavil problematiko spletnih servisov, ki združujejo množico standardov in tehnologij za implementacijo oddaljenega klica ukazov (RPC). Izpostavil je možnost prirejanja SOAP zahtevkov, na način, ki ohrani podpis veljaven. To je storil na način, da je premaknil del SOAP zahtevka, na katerega se nanaša podpis “globje” v SOAP zahtevek, ter dodal novega. Ker sta v določenih primerih mehanizma preverjanja podpisa in izvršbe dejanja ločena, lahko celotna zadeva uspe. Pri preverjanju ustreznosti podpisa v SOAP zahtevku, se namreč napačno potrdi ustreznost dela, ki je le premaknjen globje v SOAP zahtevek. V fazi izvrševanja pa se lahko prevzame prvi ustrezen del v SOAP zahtevi, ki je v danem primeru prirejen. Kot vir veljavnih podpisanih zahtevkov, pa je navedel kar forume skupnosti, kjer posamezniki v določenih primerih objavijo celoten podpisan zahtevek, kot primer, ko le ta ne deluje. Celotna prezentacija, ki predstavi zanimiv način izkoriščanja spletnih servisov, se nahaja tukaj.
John B. Dickson z Denim Group se je v svoji prezentaciji Software Security: Is OK Good Enough? spraševal, ali je dobro v programski opremi dovolj dobro. Pri tem je poudaril pomembnost zaupanja novodobnih spletnih prodajaln tipa AppStore, kjer uporabnik zaupa ponudniku, da bo pregledal ponujeno programsko opremo, preden jo bo dal na voljo za prenos. Vendar se po njegovem izkaže da temu ni nujno vedno tako. Po njegovih besedah naj bi Apple pred objavo v spletni prodajalni le preveril, da ponujena programska oprema ne konkurira njihovi lastni, da ne vsebuje pornografskih vsebin, in da ne “polomi” njihovega telefona. Kot rešitev predlaga ustrezne predpise, kot jih poznamo iz vidika protipotresne gradnje. Kot primer je podal tudi pravilnik, ki je v veljavi v New Yorku, in omogoča ocenjevanja zdravstvenega rizika ob obisku restavracij. Tam imajo vzpostavljen sistem, ki glede na zdravstveno tveganje obiska restavracije opredeli le-to z oceno A, B, ali C. Tako se lahko obiskovalci sami odločijo kakšnemu riziku želijo biti izpostavljeni, ob tem ko pojedo svoj obrok. Podoben model bi lahko veljal tudi za ocenjevanje programske opreme, kjer bi glede na tveganje, kateremu je določena programska oprema izpostavljena, določili oceno tveganja ob njeni uporabi.
Splošen vtis obiska konference je bil odličen, saj so bila ponujena predavanja zelo aktualna in primerljiva oziroma boljša od podobnih konferenc, ki se odvijajo že vrsto let. Na konferenci pa so tudi sodelovale znane osebe s področja varnosti računalniških sistemov. V kolikor vas tovrstna tematika zanima in želite izvedeti kaj več o aktualnih problemih in težavah, ki se pojavljajo v svetu računalniške kode, se lahko udeležite konference OWASP AppSec EU prihodnje leto v Atenah. Več o dogajanju v zvezi s konferenco je dosegljivo tudi na konferenčni strani oziroma preko twitterja.