Biztonság: titkolózás vagy nyilvánosságra hozás?

 ( trey | 2004. szeptember 19., vasárnap - 13:18 )

``No security through obscurity''

Mikor szolgálja tulajdonképpen a hibák nyilvánoságra hozása a biztonságot? Amikor a biztonság szóba kerül általában két ellentábor két különböző megközelítésből vizsgálja a problémát. A nyílt forrású közösség a ``nincs biztonság a titkolózással'' nézetet vallja. Ez azt jelenti, hogy szerintük minden hibát azonnal és teljes terjedelemben nyilvánosságra kell hozni. Ennek megfelelően számos full disclosure lista érhető el az Interneten, ahol tájékozódni lehet az éppen aktuális bugokról, hibákról.Ezzel éles ellentétben áll a Második Világháború ismert mondása a ``loose lips sink ships'' (beszédes ajkak hajókat süllyesztenek el). A legtöbb katonai és hírszerzési szakértő szerint a titkosság kritikus eszköz a biztonság megőrzésében.

Peter P. Swire az Ohio State University munkatársa készített egy tanulmányt ``A Model for When Disclosure Helps Security: What is Different About Computer and Network Security?'' címmel. Ebben a munkában a szerző arra keresi a választ, hogy vajon melyik megközelítés áll legközelebb a valósághoz. A munka megvizsgálja, hogy mi az hátránya és mi az előnye a teljes közlésnek.

A munkát megtalálod itt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

(Eloljaroban: A tanulmanyt meg nem olvastam)

Szereny velemenyem szerint valahol a ketto kozott van az idealis megoldas. Illik kis idot hagyni a szoftver irojanak, hogy a biztonsagi hibat javitsa, es kiadja a javitast, igy a felhasznalok nem lesznek annak kiteve, hogy van egy ismert hiba, esetleg exploitokkal, es nincs hozza patch. Epp ezert en azt tartom jonak, amikor a hiba felfedezoje megkeresi a szoftver fejlesztoit (nem levlistan, hanem privatban), es eloszor nekik szol, kis idot hagyva a hiba kijavitasara. A legtobb szabad szoftver fejlesztoje, fejlesztoi rovid idon belul eloallnak a javitassal, es csak 1-2 napig kell visszatartani az advisoryt. Igy jol jarnak a fejlesztok is, mert amikor nyilvanossagra kerul a sebezhetoseg, mar a javitas is ott van, a felhasznalok is, ugyanebbol az okbol. Es szerintem meg a hibat megtalalo egyen, egyenek is, mert igy az a kep alakul ki roluk, hogy egyutt lehet veluk mukodni. Es ez hasznos, ha esetleg palyakezdok, es e teren kivannak elhelyezkedni. Senki nem alkalmazna olyan biztonsagi szakembert, aki elobb bugtraq@-ra szalad ha security hibat talal, aztan kozli csak a ceg fejlesztoivel :P

A felhasználók jelentős része egy disztribúció csomagjait használja. Ezen belül is nagyon sokan nem egy folytonosan változó disztribúció (pl. Debian unstable) csomagjait, hanem egy egyszer kiadott, valahogyan beállított disztribúciót, és csak a hozzá kiadott security patcheket rakják fel. Ezt teszi szerintem mindneki, aki *BSD-t, Debian Woody-t, RedHat-et, Fedorát, Mandrake-et, SUSE-t stb., esetleg UHU-t :-) használ.

Azt a lépést értem, hogy a hiba megtalálója privátban jelez a program karbantartójának, aki jobb esetben azt rövid időn belül javítja. Azt a lépést viszont nem látom, hogy a fent felvázolt felhasználói táborhoz ez a javítás miként jutna el hamarabb, mint a hiba nyilvánosságra hozatala. Miként értesülnének a disztribúció készítői (vagyis világszerte többszáz jóindulatú ember) hamarabb a hibáról és javításának módjáról, mind a rosszindulatú emberek?

Félreértés ne essék: teljesen egyetértek a hozzászólásod elején írt gondolattal, csak később amikor részletezed a kivitelezés mikéntjét, azt nem tartom működőképesnek, vagy legalábbis még bőven kevés. Valami még kellene. Sajnos nem tudom hogy mi.

A hibak nagy reszet mar azelott joval ismerik mielott bugtraqra kuldenenek advisorykat. Igy is keson kuldik akkor minek varjanak meg 1-2 napot? Kell a kenyer a script-kiddieknek.

Azt szoktak volt csinalni - legalabbis tapasztaltaim szerint - hogy az upstream fejlesztok tudjak, hogy az egyes nagyobb disztribekbe ki csinalja a programjukhoz a csomagot, vagy ha ezt nem, ismerik a cimet ahova a security reportokat lehet kuldeni, es nem publikus levelezolista az (security@debian.org pl egy ilyen cim). Ok megkapjak a hibajelentest, javitjak a bugot, es szolnak a disztribucioknak, hogy hohaho, frissitsetek, mert bug van (ezert jo pl az, amikor egy csomag $DISTRO-beli maintainere joban van upstreammel, mert akkor ilyenekrol idoben ertesul). Es mielott meg public announce lenne az uj verziorol, a disztribuciok mar meg is csinalhatjak a csomagot, vagy legalabbis elkezdhetik.

Nyilvan nem minden disztribucio, de a nagyobbak (Debian, RH/Fedora, SuSE, Mandrake, meg a BSDk). Akiknek meg nem szoltak, azok meg utolag a patch megjelenese utan kell osszekapjak magukat. Viszont meg mindig jobb igy, mintha patch sem lenne, es akkor mindenki ott allna es nezne hogy jajjmostakkormivan. Ha elore szolnak upstreamnek, akkor o mar tud patchel szolgalni, igy azok a disztribuciok, akik nem lettek a publikus bejelentes elott ertesitve, hamarabb tudnak javitott csomagot szolgaltatni a felhasznaloiknak, mintha nekik kene osszehozniuk a javitast is.

Nem az a cel, hogy minden felhasznalohoz eljusson a frissites mielott az exploit kikerul a szabadba, mert az lehetetlen. Az a cel, hogy amikor megjelenik, ismert legyen a javitas. Innentol kezdve a disztribuciok mar sokkal de sokkal gyorsabban tudjak a javitast eljuttatni a felhasznaloikhoz.

Nem hiszem, hogy ez az iras a script-kiddieknek szolna :]
Ha meg bugtraq elott ismerik, joval, akkor boven van ido megvarni mig a fejlesztok csinalnak patchet. Ha meg nem szolnak nekik, akkor dogoljenek meg :P

Azt el tudom képzelni, hogy a fejlesztők egy része (korántsem mindegyik) küld levelet kedvenc disztribjének, talán 2-nek, de hogy 5-nek, azt már nem. Persze a központibb projektek esetén más a helyzet, de ott is reménytelen eljuttatni párszáz kisebb-nagyobb disztribhez.

Ha nem kuld, meg mindig ott van, hogy az advisory mellett ott van a patch is, es ha nem kell ~12 architekturara megcsinalni a csomagot, akkor kb 1 oran belul le tudja reagalni a disztro, es 1.5 oran belul mar a usernel is van a frissites. Mig ha neki kene kitalalni a patchet is, akkor az plusz par nap.

Mondom, nem azt tartom optimalisnak, hogy minden disztrot elore ertesiteni, mert az keptelenseg. Hanem azt, hogy az advisory mellett ott legyen a patch. Ha mellette meg a nagyobbakat is ertesitik, az kulon bonusz, hurra, orulunk neki.

Hmmm, 1-1.5 órát adsz arra egy disztrónak (méretétől, fejlesztői létszámától függetlenül), hogy bármely napon, bármely napszakban szakember értesüljön a hibáról, javítsa, újrafordítsa, esetleg talán még tesztelje is a javított csomagot, kirakja ftp-re, és a mirrorok azt lemirrorozzák. Nem túl gáláns...

Egy nagyobb disztronak meg kellene tudni csinalni hogy par ora alatt kint legyen a frissites, imho.. (az mas kerdes hogy ezzel a gyakorlat sajnos meg nem egyezik). Lemirrorozni ennyi ido alatt nem kell, a fo siterol pont eleg ha letoltheto.

De mindegy, mondom, a lenyeg az hogy az advisory mellett ott legyen a patch, es akkor mindenki happy. A tobbi az mar csak hab a tortan, es az en egyeni szoc. velemenyem, ami valoszinuleg sok pontot nem egyezik a gyakorlattal :P

Én viszont úgy vélem, hogy egy felhasználó akkor happy, ha a javító csomag kényelmesen jópár nappal az advisory előtt elérhető. Azt viszont nem tudom, hogy ezt hogyan lehetne megvalósítani.

Nyilvan akkor lenne a leghappyb, de az sajnos nem megoldhato. (Elvileg persze megoldhato, csak gyakorlatilag nem)

A legjobb amit el lehet erni - szerintem - hogy az advisoryval egyutt megjelenik a patch, es jo esetben a nagyobb disztribeknek elore szolnak, es kozel az advisoryval egyidoben ok is kijonnek a friss csomaggal.

Van egy zárt lista amelyre a projectek "security team" -je feliratkozhat és oda általában hamarabb és normálisabb formában küldik el a cuccokat. Igy egy projectnek nem kell 50 helyre elkuldeni a dolgokat csak egyre. Pl en rohadtul nem kuldenek el senkinek semmit. Az a project dolga, hogy jo helyeken keresgeljen és figyeljen a dolgokra.