"A GitHub biztonsági incidens rávilágít a Ruby on Rails problémáira"

Biztonsági incidens történt tegnap a GitHub-on. Egor Homakov állítólag egy régóta ismert Ruby on Rails problémát (mass-assignment vulnerability) használt ki. A H Open cikke szerint Homakov-nak lehetősége nyílt egyebek mellett változtatásokat push-olni tetszőleges GitHub projektbe.

Részletek itt.

Hozzászólások

Miert is koltozott at a GitHub-ra a linux kernel.....?

Amennyire én tudom a gitet Linus úgy alkotta meg, hogy az upstream szerver igazából csak egy biztonsági mentés (na jó egy kicsit több) a kódról. Mindenkinél megvan a teljes történet, és kód. A fejlesztő meg eldöntheti, hogy az érkező patch-eket elfogadja az upstream-től vagy nem...

Én ezt olvastam:

"Two days ago he responsibly disclosed a security vulnerability to us and we worked with him to fix it in a timely fashion. Today, he found and exploited the public key form update vulnerability without responsible disclosure."

Ez nem igaz? Ha igaz, akkor ez egy kicsit árnyalja a képet...

--
trey @ gépház

Talált egy RoR feature-t, amit lejelentett. RoR team was not in charge. Erre beszélt a GH-nak is, hogy van egy adott típusú probléma, ami pl adott helyen adott módon jön elő. Aztán mivel a GH staff ennyivel elintézte a dolgot, és a RoR még mindig nem érezte magát in charge, prezentálta nekik, hogy ha szerintük csak a kretének hagyják nyitva ezt a "feature-t", akkor a GH stuff kreténekből áll...

Én a helyébe szartam volna mindegyik fejére, és elmentem volna kihívást keresni máshol. Ő meg írt egy bejegyzést a jövőből, és azóta röhög mindenki a transparency-n.

link

Nézd, én pont ilyenekkel foglalkozom napközben. Kapunk egy típushibára vonatkozó bejelentést, és végignyálazzuk az egész rendszert, mert elveszítjük az ügyfeleinket, akik nem kevés pénzt fizetnek. Akik itt a "jófiúk", azokat egy nagy szívlapáttal kéne megegyengetni, amiért ennyire passzívak. Az a minimum, hogy végignézik az egészet hátha alapon. A btk-s történettel kapcsolatban meg a trafi-zavaró mellett még eszembe jutott valami. Egy ismerősömet fegyverrel megfenyegették. Aki fenyegetett -- nem akart egy megrendelést rendezni -- annak volt engedélye, persze nem erre. Az emberünk rövid úton hatástalanította a fenyegetőt, majd elvette a stukit, kivette a lőszert, és bement az őrsre vele feljelentést tenni. Őellene indítottak eljárást lőszerrel való visszaélés miatt.

Csak költői kérdés: ha te egy típushibát jelentesz, leszarnak, majd egy konkrét oldallal kapcsolatban teszed, azt (de csak azt) javítják, és megtalálod a másik oldalban is, akkor szépen ingyen végigteszteled ezeknek a nyomorultaknak egyenként szorgalasan...?

Egyrészt nem egy nagy nyelvi szakértő, másrészt meg én is kérnék azért pénzt, ha mások helyett végezném el a munkát :)
Amúgy én olyan kontextusban olvastam erről, hogy mások emlegették, hogy a GH-nak fel kéne bérelnie, vagy egyenesen fizetnie kéne neki, hogy ezt a szívességet is megtette h csak kisebb bejegyzéseken demózott, ahelyett h szétbarmolta volna a fenébe. De azt is lehet látni, hogy a srác az elejétől kezdve nyíltan beszélt, nem csinált belőle titkot, hogy mi ez az egész, úgy meg nehéz pénzt kicsikarni bárkitől is, hogy kiteregeted a lapokat. Simán át tudom érezni, hogy mennyire felhúzta magát ezen az egészen.

Nemá bazz. Nem rabolta ki, nem csinált kárt, senkit nem sodort veszélybe, nem erőszakoskodott, csak keltett egy kis felhajtást. Ha nagyon hasonlatot akarsz keresni, akkor már inkább egy segítőkész "zsebes", aki odaadja, amit elemelt, és másodjára megmondja, hogy miért voltál figyelmetlen. Nem tudom h miért nem lehet különbséget tenni a kettő közt. Mindenki a vérmérséklete szerint teszi, amit tesz, de ha ennyi sem fér bele, hogy odakoppint egyet az orrukra, akkor marha nagy problémák vannak a fejekkel.

Az a birtokháborítás jó lesz betörésnek is. Nem gondolod, hogy egy bank páncélszekrényébe belenyúlsz, azt neked birtokháborításként mázsálják meg?

Ha zárás után, akkor betörés, ha nyitvatartási időben próbálkozol ilyennel, az meg 100%, hogy rablás lesz.

--
trey @ gépház

Aha. Tehát szólok a bankbiztonságnak, hogy jövő héten hétfőn munkaidő közepén észrevétlenül beteszek a mackóba egy cetlit, majd amikor jövő héten megteszem és észrevétlenül kisétálok, az rablás és/vagy betörés? Ha ez rablás és/vagy betörés, akkor egy hétvégi teleknél a telek közepén lévő szerszámos kuckó ajtajára tűzött cetli is rablás és/vagy betörés kell legyen, mert jogi értelemben nincs különbség a két eset között.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Nyilván lehetett volna jobban is, de a vita ebben a szálban -- szerintem -- azon van, hogy ez nem betörés volt, továbbá jog megkülönbözteti a jóhiszemű és a rosszhiszemű jogsértést is, erre a jelenlegi információk alapján nehezen lehet rámondani, hogy rosszhiszemű cselekmény volt (hacsak ki nem derül az ellenkezője).
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Ugye milyen furcsán hangzik? Hát még az, hogy ilyenkor beéred egy "Több helyen erről írnak. Cáfolatot nem igen láttam." hozzászólással, míg a linus coverup témában arra hivatkozva nem írtál cikket, mert állítólag első kézből származó információt nem találtál... ;)

Hiszen a kedvenc oldalad írta. Azt hittem, hogy megint te voltál az infóforrás :D

Egyébként a szál szülőjében valaki által belinkelt nagy leleplező cikk hozzászólásában írja "kikito":

http://chrisacky.posterous.com/github-you-have-let-us-all-down

He was not "continually ignored". He got an (appropiate) answer from Rails, and another (appropiate) one from Github.

Not only that - he was not trying to help, he was trying to get money.

They *did* detect an issue because homakov didn't "inform" them about it; he hacked their face off. That's not "informing". Informing is opening a ticket, like he did on Rails, and where he got a response. He could have done the same on Github, and he would have gotten another response.

The less he deserves is a ban.

--
trey @ gépház

Én elolvastam az eredeti angol szöveget és a feltételes módban feltett szarkasztikus kérdését nem "Homakovban a pénzhez jutás dolgozott" módon értelmeztem.... Persze nyilván aki első kézből származó információk alapján ír csak kizárólag cikket annak ez szintén nem lehetne probléma. ;)

na de tray, mar megint ezek a masodkezbol beidezett dolgok, hol van itt az oknyomozas!!!!!111! tukon ulve varja a HUP, hogy fenyt derits az IGAZI TORTENETRE.

kozben fogadott itt a branch, hogy a linux biztonsagi hibak coverup-jarol vagy errol sikerul eloszor lerantanod a leplet, de en okosan arra tettem, hogy egyikrol se, ne hagyj vesziteni!!111!!!

ps: mostanaban a malnaszorpot csipazom!


wow how come I commit in master? O_o
+another showcase of rails apps vunlerability.
+Github pwned. again :(
+will you pay me for security audit?

Nem gond, ha nem tudod lefordítani magyarra és ezáltal nem látod Homakov szarkazmusát, csak legközelebb inkább kérj meg valakit, hogy segítsen neked az ilyen bonyolult dolgokban. ;)

Azért szoktunk az interneten és írásban hangulatjeleket és egyéb jelzéseket (pl. <sarcasm></sarcasm>) használni, hogy egyértelmű legyen a mondanivalónk és ne kelljen egy Hunger az (félre)értelmezéséhez. Én itt semmit sem látok. De szerencsére te megfejtetted.

--
trey @ gépház

Mondjuk nem hiszem hogy ezt beirta volna valaki egy epp feltort open source (megha cegesen tamogatott is) repoba, ha szo szerint gondolna.

Szerintem fiatal meg a srac, feltunest akart, elismerest. Lehet a penz se jonne neki rosszul, es lehet remeli, ebbol most paran azt halljak ki, o mekkora nagy whitehat l33t h4xx0r, es tenyleg felberlik.

Hulye volt, de nem kene temetni. A githubosok is sarosak, meg a rails-nel is picit tobb volt az ignorancia a kelletenel.

Pontosítanék:

Azért szoktunk az interneten és írásban hangulatjeleket és egyéb jelzéseket (pl. <sarcasm> </sarcasm>) használni, hogy egyértelmű legyen a mondanivalónk ++mindazoknak, akiknek kimaradt teljesen az általános és középiskolai alapvető irodalom oktatás és képtelen egy olvasott szövegben ilyet észrevenni. és ne kelljen egy Hunger az (félre)értelmezéséhez. Én itt semmit sem látok. De szerencsére te megfejtetted.

----------------
Lvl86 Troll

Én meg rajtad, hogy 10+ éve képes vagyok szórakoztatni a kis kompániádat. Annyira szánalmasan beszélsz mellé sokszor, hogy az ember szinte megsajnál.

Nem röhögni jársz te ide, mert sokszor úgy felbaszod magad, amikor nincs igazad, hogy csak fröcsögsz. Rossz duma és már avas is. 7 éves is unalmas volt.

--
trey @ gépház

"megsertette a TOS-t, es? "

Semmi. Ezért ban jár. Mi nem érthető?

"en nem lattam, hol kert penzt (Te igen?),"

Több helyen erről írnak. Cáfolatot nem igen láttam.

"de ha igy is lenne, a github tudtommal ugyfelekkel is rendelkezik, akik fizetnek a szolgaltatasert, tehat nem latok problemat."

Nincs is ezzel semmi baj, csak ha ez így van, akkor ne öltöztessük az illetőt a nagy segíteni akaró jótevő szerepébe, hanem mondjuk ki nyíltan, hogy lóvét akart.

--
trey @ gépház

Ezt a pénzes dolgot szerintem hagyjuk, mert nekem eléggé vakvágánynak tűnik. Nem is onnét indult a dolog, és a GH-ot is csak megtalálta magának, mert a RoR-osoknak akart egy kicsit alakítani a világnézetén.

Én inkább azt nem értem, hogy miért nem hangsúlyozza senki sem, hogy a GH kódja mennyire tré módon van karbantartva, és sokan emiatt nem kevés pénzt fizettek. Lobog a zászló, meg ünnep, aztán a szolgáltatáson/supporton meg tökfejek ülnek.

Senki sem vitatja, hogy fel kellett volna hívni a figyelmet a hiányosságra. A módszer az, ami szerintem inkább magamutogatás, mintsem segíteni akarás. A sebezhetőségről írhatott volna egy szakszerű blogbejegyzést, amit beküldött volna a nagy híroldalakra. A hatás ugyanaz.

--
trey @ gépház

Többször is felhívta a figyelmet rá. De az általad vázolt szitu is volt már terítéken, amikor a guglis csákó tette közzé az exploder hiányosságát dummy's guide-al mellékelve. Akkor is mindenki meg volt rajta borulva, hogy húdenagy felelőtlenség, pedig ugyanaz a jelenség egy másik kivitelezésben.

Nem, éppen azt mondom, hogy a zemberünk épp az általad favorizált módszert választotta, és mégis leszedték a fejét. A másikra meg még mindig az a véleményem, hogy nem vették elég komolyan, amíg nem csinált egy brutálisan durva 3012-re datált bejegyzést, ami miatt lebénult a fél világ... ja nem.

De akkor hadd mondjam el még egyszer, bár meggyőzni úgysem foglak. Ha egy rendszert üzemeltetsz komoly ügyfeleknek, és félvállról veszed a biztonsági figyelmeztetőt egy angolul félig beszélő, csökött tekintetű orosz tenoristától, akkor mi lenne az a pont, amikor kezdenél komolyan elgondolkodni, hogy igaza volt, és nagy szarban van a rendszered? Lehet-e egy büdös szavad is, ha ez az ember emiatt egy invalid adatot helyez el az egyik ügyfeled homokozójában a meggyőzésedre? Persze égnél, mint a máglya, de nem másokat kéne okolni a saját trehányságod miatt.
A másik meg az, h szvsz erre az esetre sor sem került volna, ha a GH gárdája teszi a dolgát. Ilyen alapon tökmindegy h mibe nyúlt bele. Senki nem avatja hőssé, de nem kéne kriminalizálni.

A rails projektben létrehozott egy hacked nevű file-t és ezt írta bele

another showcase of rails apps vunlerability.
Github pwned. again :(
will you pay me for security audit?

Link
Szerintem még kellő iróniája is van a dolognak, hogy épp a rails-be oltott bele egyet. Ahogy az egyik kommentelő meg is jegyezte: "Since you can commit to master, you could just fix the vulnerability :)"

Igazad van, a commit kimaradt, de az is nagyjából ugyanolyan szintű, mint a bender from the future. Plusz egy kis fricska azoknak, akik nem érezték magukat in charge.

Nemtom, szerintem kár ezen tovább rágódni, mert én nem tudom elítélni ezért, te meg lassan egy rablógyilkossággal egy szinten kezeled. Ez van. Úgy nézem h a GH staff is észbe kapott -- talán a népakarat előtt hajlik -- és visszaadták az accountját.

Nem pont. Onnantól kezdve, hogy publikálja, elveszti a kontrollt felette, és fél nap múlva nem ő fogja feltörni, megmutatva, hogy "Na ezért vagytok hülyék kisköcsögök!", hanem valaki, akinek a neve soha nem került volna nyilvánosságra, sőtt, mire kiderül már a GH-os projektek felébe elrakta volna a saját kis backdoorjait...

Nyitott volt a rendszer mások számára is. Mások kárt is okozhattak volna, ő nem tette. De tényleg, mi ez a szerecsenmosdatás a GH staffot illetően? Úgy kéne valagon rúgni őket, mint a huzat, és most azon vitázunk, hogy egy (jó kettő) ártalmatlan módosítás miatt ez a nyomorult a hunyó.

"mi ez a szerecsenmosdatás a GH staffot illetően?"

Ki a faszt érdekel a GH staff? Nem vagyok velük kapcsolatban, nem használom a szolgáltatásukat, nem is jártam még sose az oldalukon. Én általánosságban beszélek arról, amit az ember elkövetett.

"Úgy kéne valagon rúgni őket, mint a huzat, és most azon vitázunk, hogy egy (jó kettő) ártalmatlan módosítás miatt ez a nyomorult a hunyó."

Azon vitázunk, hogy van-e ártatlan módosítás vagy sem. Szerintem nincs, szerinted van. Illetve arról, hogy hőst csinálnak egyesek belőle, pedig szerintem nem az.

--
trey @ gépház

"Ki a faszt érdekel a GH staff? "

Mondjuk mindenkit, aki használja a Github szolgáltatásait illetve közvetve érinti még azokat, akik olyan szoftvert használnak, amelyek a Githubon van hostolva.

Az, hogy te megint felveszed a "leszarom" hozzáállást, az a te dolgod. Csak attól még nem kellene bizonyos dolgokon meglepődni, pl. hogy más nem szarja le.

----------------
Lvl86 Troll

Odáig egyetértünk, hogy "ki a faszt érdekel"
Amit csinált, azt nem kezelheted külön az előzményektől, mert az élet már csak olyan, hogy vannak körülmények, előzmények, ok-okozati összefüggések, és következmény is. Ha már csak a következményeket nézed, mire jutott? Van egy invalid komment, meg egy hacked file, hogy "hülyék vagytok vaze", de még abból is a PC változat... nagyjából mint a retkes autón a "mosd le" felirat aláírással. Általánosságban hogyan beszélsz erről? Ami kár keletkezett, az arculatbeli, de arról meg a GH/RoR csapata inkább tehet.

Szerintem valóban van ártatlan módosítás, többek közt mivel kifejezetten építő célzata volt. Nem hős, egyszerűen csak nem ejtették a fejére, amikor látta h értetlenkednek/hülyének nézik.

De szerintem én itt befejezem, mert megrekedtünk.

Egyetértek veled. Annyit kérdeznék, hogy van-e a RoR-nak (illetve a Github-nak) Vulnerability Disclosure Policy-ja?
Ha ilyen dokumentumuk nincs, akkor ha az ember egyszer szólt, és nem kezdtek azonnal élénk kommunikációba, akkor kuss van nekik. Ha van nekik ilyen dokumentum, annak kötelező eleme egy türelmi idő. Ha ez benne van, és a türelmi idő lejárta előtt akciózott, akkor megsértette a Policy-t. Ha a türelmi idő lejárta után akciózott, akkor megint csak kuss van.
Azért különösen érdekes ez a kérdés, mert vannak a githubnak fizetős ügyfelei is, akik ha kicsit is felelősségteljesek, akkor most kénytelenek átnézni a teljes kódjukat esetlegesen injektált falovak után.
Ami adott esetben nem két forint kár...

--
Gábriel Ákos

BTK 300-ban és konkrétan ilyen szitura nincs, de szolgáltatás minőségével kapcsolatban szerintem lehetne találni valami általánosabbat, ami alkalmazható erre az esetre, de most lusta vagyok törvények után kutatni.

Na meg létezik ügyvéd is, aki azért szedi a nagy pénzeket, mert ezeket elolvasta.

----------------
Lvl86 Troll

Neccesnek inkább azt érzem, hogy a probléma már 2008-ban is létezett. Miért és hogyan maradt bent?

Mar tobb eve felhivtak a figyelmet, hogy bizonyos esetekben ovatosan tessek hasznalni, kesobb korlatoztak is hasznalatat (id-t felulirhattal, jelenleg id-t mar nem ir felul). Ez vilagit ra a Rails problemaira? OMG. Akkor a C/C++ is problemas, mert lehet nullaval osztani, amire a kis sunyi meg is pusztul...

Az a baj, hogy én tudom, hogy mit akarok, és azt is, hogy mit kap(hat)ok, de nem vagyok meggyőződve arról, hogy ezzel minden kollégám így van. A C/C++ tényleg olyan, hogy érteni kell hozzá, nem kicsit, hanem nagyon :-)
Ezért szoktam mondani a volt tanáraimnak, hogy nehogy azt a téves gondolatot ültessék el a hallgatók tudatában, hogy tudnak programozni...

Fuszenecker_Róbert

C/C++ alapvelvek között van a zero overhead (amit persze az RTTI és az exceptionök felrúgnak, de azok is kivehetőek). Aki az alapvekkel sincs tisztában, az nem mondható a nyelv értőjének, tehát ne programozzon ipari területen abban. Szerintem a kettes komplemensű számábrázolás és a sizeof() elég alap dolgok.
----
Hülye pelikán

HWSW> "Botrányos hiba a Rails jogosultságkezelésében, [...] Rendkívül súlyos hiba található a Ruby on Rails keretrendszerben, amelyet kihasználva a támadó gyakorlatilag teljesen átveheti a hatalmat a rendszert használó szolgáltatás felett, tetszőleges jogosultsággal látva el magát."

F@szkorbács! Erre a cikkre egyedül a hozzá nem értést fogadnám el mentségként, annak ellenére, hogy a támadóval értek egyet, azaz a Railsnek védenie kellene mindent by default. Ilyen szinten csúsztatni pofátlanság.

Csak hogy arnyalt legyen a kep:

- Konkretan errol az issue-rol van szo, amit ebben a commitban javitottak, illetve nehany ez utani commit rendberakja mogotte a rails kodfat is.
- A GitHub ugyan valoban suspendelte @homakov hozzafereset a ToS megsertese miatt, ez azonban egy automatikus dontes volt, a kesobbi nyomozas soran kiderult, hogy nem tett komoly kart sehol, ez egy fake tamadas volt, igy az accountjat visszaengedelyeztek, es @homakov azota is aktiv tagja a GitHub kozossegenek. A GitHub nezopontja @homakov hozzaferesevel kapcsolatban itt olvashato.
- A GitHub kozosseg sem teljesen egyertelmu. Sokak szerint @homakov tulreagalta a dolgot, bar abban mindenki egyetert, hogy a Rails csapata meglehetosen bunko modon bant el egy igen komoly biztonsagi fenyegetest bejelento hibaval kapcsolatban. Az en szemelyes velemenyem szerint - az adott korulmenyek kozott - jol dontott, bar az teny, hogy a security@ -on jelezhette volna a GH uzemeltetoi fele az oldal serulekenyseget. Tekintve, hogy ez egy dedikaltan for-profit vallalat, igen komoly nagyvallalati ugyfelkorrel, ugy gondolom, a hiba elsodleges prioritast kapott volna. Mindazonaltal, @homakov (az en velemenyem szerint) nem kimondottan a GitHub ellen akart tamadast intezni, csak ezzel tudta a legnagyobb figyelmet elerni. Arrol nem is beszelve, hogy a Posterous-t is megtamadta - az is serulekeny volt erre a hibara - megis, az sokkal kisebb sajtovisszhangot kapott. Ez nagyon elesen ramutat arra, hogy jol dontott, amikor a GitHub-ot valasztotta alanyul - igy mindenki felfigyelt a problemara.

Felhivom a figyelmet, hogy az utolso pont az en szemelyes velemenymet tukrozi. Fenntartom a tevedes lehetoseget.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Egyetértek veled. Nem is értem és nincs is türelmem a fenti hosszú threadeket és trollkodást elolvasnom.

Van 2-3 link ami napokkal ezelőtt jönn twitteren ami alapján mindenki eldöntheti mi is volt, hogy volt.
(ha mind volt már hát sorry...)

https://github.com/rails/rails/commit/b83965785db1eec019edf1fc272b1aa39…
https://github.com/blog/1068-public-key-security-vulnerability-and-miti…
https://github.com/blog/1069-responsible-disclosure-policy