"As a matter of fact, these bugs were only exploitable because we are open source"

Aki követi az eseményeket, az tudhatja, hogy a reddit-et pár napja csúnyán megszívatták azzal, hogy egy XSS sebezhetőség révén lényegében szét spammelték az egész hóbelebancot.. Most a Redit publikált a blogjában egy kisebb közleményt, amelyben a topic-ban is említett bejegyzés található:
http://blog.reddit.com/2009/09/we-had-some-bugs-and-it-hurt-us.html

Nem írom le, hogy nekem most erről mi a véleményem, viszont kíváncsi vagyok a tiétekre: szerintetek az open source security szempontból előny, avagy sem, ennek az esetnek a fényében?

Hozzászólások

ha vannak olyan contributorok, akik auditalnak, akkor elony. amugy meg tokmindegy, security szempontbol, hogy nyilt v zart a forraskod.

Szerintem nagyon nem mindegy. Az egyik esetben megnezheted a forraskodot, es konnyen talalhatsz hibat, meg a masiknal nincs ennyire konnyu dolgod. Mindennek van elonye is es hatranya is. Szerintem a biztonsag szempontjabol a nyilt forraskod hatrany, ellenben abbol a szempontbol pedig, hogy tobb bug kerul javitasra masok altal elony.

:)) jaja. azert odajohettel volna koszonni vagy valami :P

nade, akkor normalis hangnemben: van egy opensource projekt. ha a projekt szemszogebol nezzuk a securityt, es az opensource-nemopensource kerdest, akkor fennall, amit irtam: ha nincs olyan committer/contributor/programozo-aki-koveti-a-kodot, aki auditalna azt, tehat security szempontbol elemezne, akkor a projekt szempontjabol teljesen mindegy, hogy opensource-e, vagy sem. legalabbis pozitiv iranyba.

negativ iranyba ha nezzuk, akkor egy rosszindulatu programozonak konnyebb egy opensource kodban keresnie kihasznalhato hibakat.

en mindossze ezt irtam feljebb, es szerintem ez teljesen helytallo, de cafoljatok meg ha nincs igazam, birom en a kritikat ;)

> a "megnezheted a forraskodot" ugyanis olyan igeny, amire sok leenugzfanboi elvez

Tegyük fel, hogy egy általad használt programnál, web-es szolgáltatásnál te döntheted el, hogy megnézheted-e a forráskódot, vagy nem nézheted meg. Te melyiket tartanád a számodra kedvezőbbnek? (Nyilván azt, hogy jobb, ha nem nézheted meg, mert ellenkező esetben be kéne állnod az említett leenugzfanboiok közé. Hehehe.)

> viszont gyakorlati relevanciaja kicsi (pozitiv) secu szempontbol..

Akkor a topiknyitó kérdésre válaszolva: előny.

"Tegyük fel, hogy egy általad használt programnál, web-es szolgáltatásnál te döntheted el, hogy megnézheted-e a forráskódot, vagy nem nézheted meg. Te melyiket tartanád a számodra kedvezőbbnek? (Nyilván azt, hogy jobb, ha nem nézheted meg, mert ellenkező esetben be kéne állnod az említett leenugzfanboiok közé. Hehehe.)"
Nem erdekel, h nyiltforrasu vagy nem. Mukodjon, ez fontosabb. Es ha nagyon jo fejek akarnak lenni, legyen ingyenes.

Bocsass meg, tenyleg felreertettem. Ha en donthetem el, hogy meg szeretnem-e nezni, akkor egyszeru a dolog: ha bele akarok nezni vmi miatt (erdekel az implementacioja bizonyos feature-nek, mert en is hasonlo szoftvert fejlesztek,stb.), akkor bele fogok nezni. De ha csak mint r=1 user szeretnem hasznalni, ott edesmindegy szamomra, hogy belenezhetek-e vagy nem. Lehet, hogy van olyan ember, akinek hobbi az, hogy forraskodokat nezeget, mert milyen szep szines a szintakszis-kiemeles, de en ennel el tudok kepzelni jobb idotoltest is. Kulonben is, a legtobb ember szamara az a szo, hogy forraskod, sokszor nem jelent semmit, sokszor meg konyvelesi dolgot.

Egy masik ertelemben meg ertelmetlen a kerdes, ugyanis csak akkor lehetek jogosult annak szabalyozasara, hogy jogosult vagyok-e megtekinteni a kodot, ha a kod felett szerzoi jogaimat amugy is ervenyesithetem. Ez meg tipikusan az a kategoria, amikor en vagyok a fejleszto. Ilyenkor nincs kedvezo/nem kedvezo helyzet, van egy teny, hogy en megtekinthetem, es ezt onmagam nem is tudom megvaltoztatni, mert en rendelkezem a szerzoi joggal.

Kontextusfuggo. En peldaul baromira nem vagyok kivancsi egy ZIP-tomorito kodjara. Vagy egy JS runtime kodjara, vagy egy SSH implementacio kodjara. De egy Eclipse GEF alapu szerkeszto kodjara igen, mert ilyen alkalmazast fejlesztek en is. De mint felhasznalo, egyik szoftver kodja sem erdekel es nem is szeretnem megnezni.

negativ iranyba ha nezzuk, akkor egy rosszindulatu programozonak konnyebb egy opensource kodban keresnie kihasznalhato hibakat.
Talán azt mondanám, hogy ha a kód nyilvánvalóan látványosan lyukas, mert a fejlesztők nagy ívben tesznek a secure szoftverfejlesztési gyakorlatra (totálisan hiányzó bemenet ellenőrzés, puffertúlcsordulás stb.), akkor azt opensource esetben könnyebb kevesebb effort észrevenni. Különösen amatőr, wannabe crackerek számára.

Ha a hiba nem nyilványvaló fajta (tipikusan versenyhelyzetek, finomabb lockolási problémák, elosztott protokollokban figyelembe nem vett, nehezen triggerelhető lefutási utak), akkor úgyis akkora elméleti és gyakrolati felkészültséget valamint befektetett munkát igényel a bug megtalálása, hogy az amatőrök (akiknél van bármi jelentőssége, hogy szabadon elérhető-e a forráskód) eleve esélytelenek. Vagy másképp fogalmazva, a rafináltabb bugonál, amiket forráskódot nézve sem könnyebb kiszúrni, teljesen mindegy, hogy nyílt-e a forrás.
---
Internet Memetikai Tanszék

Az egyik esetben megnezheted a forraskodot, es konnyen talalhatsz hibat, meg a masiknal nincs ennyire konnyu dolgod.

Szeretnem megerni azt az idot, amikor egy atlagos kepessegunek szamito programozo meg fogja erteni a kodot maga elott, es megtalalni benne a hibat, csak ugy, ranezesre, kodolvasgatas alapjan... Egyreszt. Masreszt akik a biztonsagi hibakat megtalaljak, altalaban nagy rutinnal olvasnak visszafejtett forrast. Assemblyt is, arrol nem is beszelve, hogy manapsag mar olyan eszkozok is vannak, amik pl. C/C++-ba fejtik vissza a kodot... Sokszor jobb minosegben, mint az eredeti volt... :P Szoval zart forras mint biztonsagi tenyezo? Bruhaha.

Szerintem a biztonsag szempontjabol a nyilt forraskod hatrany, ellenben abbol a szempontbol pedig, hogy tobb bug kerul javitasra masok altal elony.

Ez a nyilt forras jo nevu urban legend elso szamu oszlopa. :) Es persze ugy marhasag, ahogy van. Egy kod nem attol lesz jo, rossz, biztonsagos vagy ementali, hogy nyilt vagy zart forrasu. Attol fugg, hogy jo programozok irjak-e, jo modszerekkel, jo eszkozokkel, akik tudjak hogy mit es miert csinalnak, vagy egy rakas feldilettans kokanyol valamit, amit aztan elneveznek technologianak es fejlesztesnek.

(Es itt hozzafuznem, hogy igen, meg a legjobbak is hibaznak neha, szoval bugok mindenben vannak, most csak az atlagos kodminoseg/biztonsag es a fejlesztes mikentjei kozotti osszefuggesre probaltam utalni a fentivel.)

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

http://hup.hu/node/76740#comment-854736

Elmondom mi jellemzo ratok (mivel nem csak rad vonatkozik). Felmerul egy tema, egy kerdessel. Zold alma, vagy piros... Jon egy valasz, hogy ha zold, akkor szerintem ilyen ize van, ha piros, akkor szerintem olyan ize van. Erre jossz "te", es mondod, hogy marpedig a zold almaban lehet kukac, a piros meg megrohadhat. Semmi ertelme. Lassan mar kedvem sincs hozzaszolni. Vannak egyedek, akik egyszeruen beledoglenenek, ha nem szolhatnanak hozza valamihez.

Orulok, hogy nem ertetted a hozzaszolasom lenyeget. :) (Mellesleg az izes hasonlat nem stimmel, mert az szubjektiv. Viszont amirol tarsalgunk az objektiv szempontok alapjan ertekelheto.)

De egyebkent ez a hozzaszolas csak azert szuletett, mert beledoglenek, ha nem szolhatnek hozza.

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

> Ez a nyilt forras jo nevu urban legend elso szamu oszlopa.

[OFF]Magyarul: városi legenda. Gondolom tudtad, csak nem jutott eszedbe. A feledékenység valami nagyobb agybaj előjele is lehet, szerintem jobb lenne szakemberhez fordulnod.[/OFF]

Nem legenda, hiszen a a nyílt forrásnak "köszönhetően" befoltozták a kódot. :-)))

Valaki nálunk úgy gondolta, felrak egy drupalt a közös szerverre. Azóta nekem kell frissíteni, hogy ne másszanak be valami ismert sebezhetőség miatt.

Drush modulfrissítésre (core-t _még_ nem tud), tar -xzf core frissítésre, esetleg Aegir, ha sok site-od van.

Amúgy zárt forrású cuccal sem járnál jobban, mert ha abban a gonosz krekker hibát talál azt onnan tudod, hogy már nem a te szervered a szerver, vagy éppen egy nagy család (botnet) tagja lettél :)

On: közepesen biztonságos rendszer nincs. Egy rendszer vagy eredetileg biztonságosra van tervezve (-> van security audit pl), és akkor ember a talpán, aki sechole-t talál benne, vagy szó sincs biztonságos tervezésről, és akkor csak egy unatkozó ember kell, máris bent van. Ehhez semmi köze a forráskód nyílt vagy zárt mivoltának.

Indukciós példa: Drupalt nyúzok egész nap, de alap core-t még nem sikerült még törnöm (pedig ott a kód). Ellenben nem egy híres, nagy magyar site-on találtam olyan sebezhetőséget, hogy egy oldalletöltésnyire voltam egy "drop table user" vagy hasonló SQL parancs futtatásától (hint: hidden form fieldet nagyon kevesen ellenőriznek, illetve best practice, hogy ha a ?oldal=foobar&lap=15 url-ből bejövő adatokat SQL utasítással való konkatenálás előtt nem escape-elik, akkor majd a "?v=".base64_encode(serialize($url_params)) formula biztonságos lesz)

> szerintetek az open source security szempontból előny, avagy sem, ennek az esetnek a fényében?

Gondolom a reddit-en felül jó páran tanultak az esetből valamit. Ez nekik hosszútávon előny. A plusz meló, amit a lyuk kihasználása kiváltott, az a reddit-nek rövid távon hátrány.

<poén>Ha esetleg majd egyszer ne adj isten ilyen előfordul a HUP-pal, akkor majd azt mondjuk, hogy azért történt mert a forrás nyílt.</poén>

BTW: ők ezt nem szemrehányásként írták. Érdemes az egészet idézni:

"As a matter of fact, these bugs were only exploitable because we are open source. [...] We cannot hide behind security though obscurity, and we like it that way. We also rely on our users reporting security bugs in a responsible manner."

--
trey @ gépház

szerintetek az open source security szempontból előny, avagy sem, ennek az esetnek a fényében?

Ha aktivan foltozzak, akkor igen.

SPAMtelenul - POP3 spamszuro szolgaltatas

"As a matter of fact, these bugs were only exploitable because we are open source"

Ez hulyeseg, a hibak ott voltak, tehat kihasznalhatoak voltak. Hogy kihasznaltak, _az_ koszonheto a forras ismeretenek.

Es azt ki tudja hany hibat hasznaltak volna ki ha zart forrasu lenne (ezt mondjuk nem, de hany masikat)?

Sem nem elony, sem nem hatrany. Nem biztos, hogy a forraskodelemzes hatekony egy oldal feltoresenel, ha az egyebkent serulekeny mondjuk SQL injection-ra. En arra tippelek, hogy az oldalakat feltorok eloszor vegigprobaljak a standard metodusokat, es ha nagyon semmivel sem boldogulnak, akkor vetemednek forraselemzesre.
Ennek az az oka, hogy
- a forraselemzes nem rovid ido
- ismerni kell az adott webapp pontos verzioszamat - ezt az infot tehat mindenkepp meg kell szerezni
- nem tudhato, a website tulajdonosa modositotta-e a kodot (kiveve, ha ez a verzioszambol kiderul), es ha igen, hol es hogyan

Ja. Forraselemzesen en az adott oldal valodi kodjanak elemzeset ertem, nyilvan a kigeneralt HTML/JS/CSS elemzese egy weboldal feltoresenek elengedhetetlen resze.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.