Az interjú második része, ismét Alan Dang kérdez, a maga jellegzetes stílusában :)
Az olyan dolgok, mint a sandboxing arra lettek kitalálva, hogy megelőzzék, hogy az előre nem látható sebezhetőségeket hatalmas exploitokká lehessen alakítani.
Igen, ahogy a név is sugallja, a sandboxingot arra találták ki, hogy magában tartsa a gázos dolgokat komprommitáció esetén. Ennek ellenére a sandboxing nem vég meg az exploitoktól. Inkább csak azt akadályozzák meg, hogy ezek az exploitok műveleteket hajtsanak végre a rendszer más részein. Például a Google Chrome nagyon szigorú sandboxot tart fennt a webes renderelő folyamatoknak. És bár ez nem véd meg attól, hogy egy exploit kódot futtasson, azt megakadályozza, hogy ezzel a kóddal a rendszered számára ártson.
Igazán jól át tudtad ültetni a PowerPC-s tudásodat az Inteles világba. A most készülő Snow Leopardban az Apple olyan funkciókat fog megvalósítani, mint az ASLR, a kernel kiterjesztések kódjának aláírása, teljes NX bit támogatás, és a főbb alkalmazások sandboxolása. Ezek mind olyan funkciók, melyeket a Vista már támogat. Mennyiben fogják ezek segíteni a Mac-ek biztonságossá tételét? Hogy lehet eredményes a sandboxing, mikor a Chrome első exploitjával Javan keresztül távolról lehetett alkalmazásokat futtatni, és az IE8-at is megtörték a CanSecWest-en?
Még nem láttam a Snow Leopardot, de örülnék ha tényleg megvalósítják ezeket a dolgokat.
Valójában én sem vagyok 100% biztos ezekben a dolgokban, ezek inkább csak a blogszférára hírei. De tegyük fel, hogy a fenti fejlesztések megvalósulnak. Szerinted hogy fogja ez megváltoztatni a dolgokat?
Remélem alapos munkát fognak végezni, mert így azonnal kezdve megvenném és installálnám a Snow Leopardot az összes rendszeremre. Ezen biztonsági fejlesztések mindegyike nagyságrendileg megnehezíti a támadások kivitelezését. Az ASLR és az NX sokkal nehezebbé teszi egy explot számára, hogy kódot szúrjon be, vagy az eredeti program részeit felhasználja a saját céljaira. A sandboxing megszabja, hogy egy alkalmazás milyen akciókat hajthat végre, így még akkor is, ha az a támadó által beszúrt kódot futtat, a támadó lehetőségei korlátozva lesznek. Végül az aláírt kernel kiterjesztések megakadályozzák a támadókat, hogy új szoftvert installáljanak az operációs rendszer magjába. A támadók sokszor intallálnak rootkiteket a kernelbe annak érdekében, hogy leplezzés a támadásukat, és hogy megtartsák a hoizzáférésüket a rendszerhez.
Van egy különbség az operációs rendszer- és a böngésző szintű sandboxing között. A Chrome az egyetlen böngésző, ami az utóbbit megvalósítja. Ez egy nagyon ügyes húzás volt, és ez okozta, hogy a Chrome-ot idén nem törték meg a Pwn2Own-on. A Chrome sandbox modelljének korlátot szab azonban az, hogy a böngésző plugineket, pl. a Flasht vagy a Java-t nem tudja sandboxolni. Ezeknek a plugineknek teljes hozzáférésre van szükségük a rendszerhez, így a renderelő rendszerhez használt sandoxing velük szemben nem alkalmazható. A renderelő folyamatok erősen korlátozottak, pl. egyáltalán nem férnek hozzá a fájlrendszerhez. Ebből a sandboxból kitörni önmagában is igen figyelemreméltó lenne.
Mit gondolsz a biztonság olyan jövőbe mutató megközelítéseiról, mint pl. a "buta terminál" megközelítés (pl. Citrix vagy VPN egy olyan világban, ahol végtelen sávszélesség és nulla késleltetés érhető el)?
Úgy gondolom, hogy akár tetszik, akár nem, egy web alapú vékonykliens-világ felé tartunk. Mihelyt a fogyasztók rájönnek, hogy mikor a felhőbe pakolják az adataikat, többé nem kell attól tartaniuk, hogy elvesztik őket, ezt a megoldást fogják előnyben részesíteni. Ha a szolgáltatók elég lehetőséget adnak ahhoz, hogy felhasználók ugyanannyi kontrollt érezzenek mint a saját rendszerük esetében, meg lesz a bizalom a szolgáltatásban. Ez azt jelenti, hogy a tárolt adatokat titkosítani kell úgy, hogy a szolgáltató még a fájlneveket se láthassa.
Ez igaz, de ez valóban a lehető legjobb megoldás? Töredelmesen bevallom, hogy a Gmailt használom, mivel ez az "e-mail mindenütt" dolog elég kényelmes. Ezzel együtt biztos vagyok benne, hogy már küldtem Gmaillel olyan adatokat, melyeket nem akarom, hogy bárki más elolvasson.
Felteszem a Gmailnek redundáns tárolói vannak, de mi van akkor, ha meghalnak a merevlemezeik, vagy nálam döglik meg az internet? Ha hacker lennék, nem lenne sokkal célravezetőbb a Gmailt megpróbálni megtámadni (és hozzáférni milliónyi hitelkártya adatához), mint hogy a PC-knek nekiugrani, és egyenként megszerezni a személyes infókat?
Azt jósolom, hogy az SSD-re történő átállással az egyéni felhasználónak hasonló szintű megbízhatóság áll majd rendelkezésére. Plusz minden, amit a Google titkosítás terén megtehet, az egyén is meg tudja tenni az otthoni rendszerén (akár jobb minőségben, hiszen jobban tud gazdálkodni a CPU-val). Te személy szerint mindent letitkosítasz a saját desktop illve notebook rendszereiden?
Én is az SSD-k nagy rajongója vagyok. Szeretem, hogy csendben, gyorsan és megbízhatóan működnek. Az aatok bizalmasságáról annyit, hogy teljes merevlemez-titkosítást használok, és teljesen leállítom a rendszert amikor csak lehetséges. A létező teljes lemeztitkosítást érintő támadások egy bekapcsolt vagy egy nagyon közeli időpillanatban kikapcsolt rendszerhez történő hozzáférést igényelnek.
Mi a helyzet a biztonságos hypervisorokkal?
Eddig ezek a megoldások csak arra voltak jók, hogy megvédjék a hardvergyártók üzleti érdekeit a rendszert használó és birtokló felhasználóktól. Az olyan rendszerek mint a játékkonzolok csak arra használják a biztonságos hypervisorokat, hogy megakadályozzák a termék tulajdonosának a cucc piszkálását. Szeretném, ha a szoftvergyártók végre olyan hypervisorral jönnének elő, amely az én adataimat védi.
Egyetértünk, főleg ha egy rátermett cég adná ki a terméket megfizethető áron. A 90-es években a biztonsági kutatóknak polimorfikus vírusokkal kellett foglalkozniuk, melyek meg tudtak kerülni sok lenyomat-alapú antivírus eszközt. Mit gondolsz, mik lesznek a következő két év legnagyobb biztonsági kihívásai?
A lenyomat-alapú antivírus egy optmializáció, amit összekevertünk a megoldással. A következő években a kihívást olyan rendszerek kifejlesztése és megvalósítása lesz, melyek képesek észlelni és megakadályozni az addig ismeretlen exploitokat és malware-eket. A lenyomat-alapú antivírusok feliratkozós üzleti modellje kizárja, hogy ezek a cégek jobb, generikusabb megoldásokat fejlesszenek ki. Mindez ugyanakkor meghagyja a teret a fejlesztésre a start-upoknak.
A sorok között olvasva: tudsz olyan start-upról, amelyik ilyen megoldáson dolgozik? A Mac tulajdonképpen nagyszerű kísérleti platform lehetne, mivel csak jól meghatározott hardvereket kell támogatni.
Több termék is képes viselkedés alapú malware védelmet nyújtani Windowsra, de szívesen látnék ilyen megoldást Mac-re is.
Amikor lenyomat alapú helyett általános megoldásokról beszélünk, és szürkekalapos stratégiákra gondolunk, meg kell említenünk az olyan dolgokat, mint pl. a Deep Packet Inspection [mély csomagelemzés] technológia. Az "Arany Pajzs" projektet (ismertebb nevén a Kínai Nagy Tűzfal) a kínai kormány azért fejlesztette, hogy cenzúrázza azokat tartalmakat, melyekhez állampolgárai hozzáférnek. Az NSA DPI-t használt a VoIP csomagok azonosítására, hogy ugyanúgy le tudja hallgatni az ilyen módon folyó beszélgetéseket, mint a hagyományos telefonrendszer esetén.
Ezzel arra próbálok rákérdezni, hogy mi a véleményed a DPI szerepéről a desktopon? Ha lenne egy doboz az internet és a számítógépem között, azzal meg lehetne akadályozni, hogy mindenféle nem kívánt adat szivárogjon ki.
Nem hiszem, hogy a DPI-nek helye lenne a desktopon. Ez olyan, mintha a kertből néznéd a nappaliban lévő TV-t. Az adatok és a folyamatok ott vannak a számítógépeden, a biztonsági rendszerednek pedig ebben, a viselkedésre jobban jellemző állapotban kell őket elemeznie.
De egy elkülönített egységben minimalizálhatnánk annak az esélyét, hogy egy kifinomult exploit kikapcsolja a biztonsági rendszert, ami ugyanazon a gépen fut. Az eszköznek meg lenne a saját operációs rendszere, és nem lenne kitéve a webböngészők, vagy a pluginek által jelentett kockázatnak. Vagy úhy gondolod, hogy a mai biztonsági eszközök "elég jók", és ez az extra paranoia már fölösleges?
Egy biztonságos hypervisor vagy akár egy kernel driver is elég biztonságot adna a legtöbb otthoni felhasználónak, amennyiben nem adminisztrátorként szörfölnek a weben. Egy malware számára sokkal egyszerűbb kikerülni a csomagelemzést, mint kihasználni egy kernel sebezhetőséget. Egy webes malwarenek nincs oka az ellen, hogy SSL-t használjon, leszámítva, hogy erre még nem volt szükség.
A Pwn2Ownon használt exploitok közül sok nem alapvető operációsrendszere-elemeket, pl QuickTime-ot, Adobe Flasht, vagy webböngészőket használt.
Ezeken kívül van-e olyan dolog, amit felhasználói oldalon lehet tenni? Értem ez alatt, hogy ha pl. lettek volna tűzfalak, anti-spyware/malware szoftverek, nem rootként lettek volna bejelentkezve, az limitálta-e volna bármilyen módona bevetett exploitok hatékonyságát? Vagy a szoftverfejlesztőkön múlik, hogy megvédjenek minket?
Bármiről is legyen szó, a felhasználó mindig a szoftverfejlesztő kezében van. A felhasználók a mai napig csak biztonságos konfigurációkat és harmadik féltől származó biztonsági kiegészítéseket alkalmazhattak. A tűzfalaknak pedig még mindig meg kell engedniük, hogy a böngésző webhez köthető TCP portokhoz csatlakozzon, egy támadónak tehát elég pontosan ezt a viselkedést az exploitjába programozni. Az anti-spyware/malware rendszerek magas szinten kapják el a malware-ek akcióit, pl. hátsó kapuk telepítését, így lehet hogy nem veszik észre a Pwn2Own esetében használt, egyszerűbb távoli shellt létrehozó payloadokat. Még ha a felhasználó alacsony privilégiumszinű fiókra jelentkezik be, a támadó még mindig hozzáférhet a felhasználó adataihoz. Egy alacsonyabb szintű fiók nehezebbé teszi egy spyware számára a hozzáférés megtartását, de nem akadályozza meg a kezdeti hozzáférést.
A nem szükséges pluginek kikapcsolása lecsökkenti a támadás kockázatát, de a mai böngészőkben nincs elég lehetőség a ritkán használt funkciók kikapcsolására, vagy működésük korlátozására csupána megbízható webhelyek felé. Az Internet Explorernek vannak a legrugalmasabb biztonsági beállításai lehetőségei, de még ez sem teszi lehetővé, hogy a Flashnek és a Java-nak csak a megfelelő oldalakon adj futási jogot. A szelektíven osztható jogosultságok területén a legtöbb böngészőnek van hová fejlődnie.
Remek álláspont. Nem rég küldtem egy kérést az Applenek, hogy tegyék lehetővé, hogy szelektíven adhassam meg a megosztási szabályokat a notebookomon. Ha otthon vagyok, jó, ha meg vannak osztva a fájljaim, de utálom, hogy amikor egy kávézóban vagy más nyilvános hozzáférési pontnál ülök, kénytelen vagyok kézzel kikapcsolni a fájlmegosztást.
Szeretem az Apple "Hálózati helyek" nevű lehetőségét a hálózai beállításoknál, és én is szívesen összekötném ezt a hálózati biztonsági beállításaimmal. A Windows Vistának egyébként egész jó rendszere van erre, a hálózatok itt ugyanis megjelölhetők "Nyilvános", "Privát", vagy "Munkahelyi" biztonsági szinttel.
Korábban Steve Ballmer beszélt a Microsoft Webkites tanulmányairól, és a Trident végső ejtéséről. A webfejlesztők biztos örülnének a konzisztensebb renderelő motoroknak, de biztonsági szemszögből van jelentősége annak, hogy egy fajta kódot szabványosítunk?
Tavaly pl. az egyik MacOS és az egyik iPhone exploit is ugyanannak az alapszintű JavaScript kódnak a következményei voltak.Mivel az IE8, a Firefox, a Chrome és a Safari különböző Javascript motorokat használnak, egy egyszerű exploit nem tudná célbavenni az összes böngészőt. Vagy úgy gondolod, hogy a szabványosodás a jobb, hiszen így egy helyre lehet koncentrálni a biztonságos kód fejlesztését célzó erőforrásokat?
Míg a szabványosodás segít egy biztonságos sztenderd létrehozásában, ennek minden gyengesége jól kihasználható lesz az internetes rendszerek nagy részén. Úgy hiszem, hogy a számítógéprendszerek diverzitása segít megerősíteni az ökoszisztémát a támadásokkal szemben. A sok különböző rendszer lejjebb tolja a malwareek által generált hasznot, és még ha valakinek meg is éri kifejleszteni ilyen szoftvereket, várhatóan sokkal kevesebb lesz belőlük.
Ha választanod kellene: Mac, PC vagy Linux [wtf?! a PC gondolom Windows akar lenni...]? Vagy esetleg egyformán (nem) biztonságosnak tartod őket?
A legtöbb ügyfélnek és otthoni felhasználónak a Mac-et ajánlom, mivel azt manapság kevésbé célozzák a webes kártevők. Ezeket a rendszereket könnyebb is használni, így kevesebb support hívást kapok. Ha egy ügyfél kicsit hozzáértőbb vagy kalandvágyóbb, azt ajánlom neki, hogy tegyen egy próbát az Ubuntu Linux-szal. Céges használatra a Vistát ajánlom, mivel ez egy biztonságosabb operációs rendszer és jobban ki van képezve a céges környezetben felmerülő menedzsment feladatokra.
Valami különösebb ok az Ubuntura? (Én Fedorát használok a linuxos munkaállomásaimon)
Az Ubuntut felhasználóbarátabbnak tartom, és egyébként a Debian alapú rendszereket részesítem előnyben. Egyébként nem akarok belemenni vallásháborúkba.
A Windowst használó olvasóink számára milyen tippekkel tudsz szolgálnia rendszer biztonságosabb tétele tekintetében? Mi a helyzet a Linux-szal és a Mac-kel?
A PC-s [valójában persze Windows-is] felhasználóknak át kell térniük Vistára vagy Windows 7-re amilyen hamar csak lehet, hogy kihasználhassák ezek biztonsági lehetőségeit. A Mac-esekre ugyanez igaz Snow Leoparddal. A Linux felhasználók már így is elég jól el vannak látva a vezető disztrókon keresztül, tehát nekik nem igazán kell tenniük semmilyen elővigyázatossági lépést. Ezen operációs rendszerek mindegyikéhez a NSA és a SNAC ingyenes, részletekbe menű konfigurációs útmutatókat bocsát rendelkezésre, melyeket jól lehet használni a további hardeninghez.
Ajánlanád a Chrome-ot Windows7 vagy Vista felhasználók számára?
Ha a biztonság élvezi az elsődleges prioritást, minden olyan felhasználónak a Chrome-ot ajánlanám, aki támogatott platformot használ. A Chrome a többfolymatos sandbox modelljével lekörözte a többi böngészőt biztonság tekintetében. A Chrome Vistán és Windows 7-en még biztonságosabb.
Milyen böngészőt ajánlanál Linuxra és Mac-re?
Ha a biztonság az első, lynx-et.
Ez nem hangzik tól jól... Te mit használsz a Mac-eden?
Attól függ melyiken. Safarit, Firefoxot és Chrome-ot futtatok egy 64 bites Vista virtuális gépen, VMware Fusion-nel. Szeretem a Safari letisztult, csilivili felületét, ezért ezt használom az általános böngészéshez, mivel kevésbé zavar, ha egy támadó hozzáfér a Twitter és Facebook fiókjaimhoz, mintha más személyes adatommal tenné ugyanezt. Firefoxot használok az érzékenyebb területeken, pl. pénzügyi odlalakon. A biztonsági fejlesztő gépemen Chrome-ot használok a fent leírt virtuális gépen. A jó adatszétválasztás kis munkával jár, de nem annyival, hogy ne lehessen ajánlani, hogy a pénzügyi tranzakciókat ne arróla gépről intézzük, amin a gyerek webes játékokat játszik.
Ezért azt ajánlanám, hogy a felhasználók tartsanak egy régi gépet egy tiszta oprendszer telepítéssel, amit csak szükség esetén kapcsolnak be, és rendesen megfoltozzák, mielőtt elkezdik a webet böngészni.
Nagyszerű tipp! Az utolsó kérdés: 1998-ban a L0pht tagjai azt állították az Egyesült Államok Kongresszusa előtt, hogy hackerek egy elszánt csoportja 30 perc alatt össze tudná dönteni az Internetet. Azóta a biztonság kétség kívül fejlődött és az Internet is nyilvánvalóan nagyobb lett, de a támadók is sokkal kifinomultabbá báltak. Gondolod, hogy az állítás ma is megállja a helyét?
Igen, és ennél valószínűleg nem is kellene többet mondanom. Sajnos az Internet törékenyebb, mint azt hinni szeretnénk, és alapvető protokolljainak jelentős része a biztonságot észben tartó újratervezést igényelne.
Elnézést kérek a néha rövid és szűszavú válaszok miatt, de ez a terület sokszor nagyfokú diszkréciót kíván a kliensek és felhasználók védelmének érdekében.
Teljes mértékben megértem. Köszönöm a ránk szánt időt, egy élmény volt!
synapse · http://www.synsecblog.com 2009.04.10. 14:05:17
Mivel az internet egy autonom decentralizalt halozat igy eleg erosen ketlem hogy az "internet osszedontese" lehetseges lenne. Az, hogy amerikat lelokjuk viszont nem para, gondoljunk csak a bgpre :)
synapse