abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 13:47 | Pozvánky
Konference OpenAlt 2014 (dříve LinuxAlt) proběhne již zítra a pozítří na FIT VUT v Brně. Připravena je řada přednášek a workshopů. Zahřívací párty dnes ve 20:00.
Ladislav Hagara | Komentářů: 3
včera 09:28 | Pozvánky
GUG.cz ve spolupráci s českou pobočkou Google pořádá v sobotu 22. listopadu 2014 v prostorách Fakulty stavební ČVUT podzimní vývojářský festival DevFest Praha 2014. Těšit se můžete na den plný technologií, přednášek, kódů, zážitků i známých tváří, na den od vývojářů, pro vývojáře. Téma tohoto ročníku: Stavět, budovat, tvořit. Registrace je povinná, ale zdarma.
Pavel GUG | Komentářů: 2
30.10. 20:59 | Zajímavý software
Projekt cwrap.org vydal nový přírůstek do své rodiny wrapperů. Tentokrát se jedná o nástroj resolv_wrapper, který je možné v unit testu použít k přesměrování DNS dotazů na vlastní testovací server nebo aplikaci vracet výsledky DNS dotazů z připraveného souboru. O resolv_wrapperu, stejně jako o ostatních knihovnách cwrap.org se můžete dozvědět více přímo na stránkách projektu cwrap.org.
jakubh | Komentářů: 3
30.10. 16:08 | Zajímavý projekt
Dlouhodbou absenci kvalitního IPC pro GNU/Linux řeší projekt kdbus Grega Kroah-Hartmana. Doposud nezávislý vývoj dospěl do stadia zařazení do hlavní větve jádra, s čímž se počítá pro verzi 3.19.
Petr Ježek | Komentářů: 92
29.10. 18:09 | Bezpečnostní upozornění
Byl vydán GNU Wget 1.16. Nejnovější verze tohoto programu pro stahování souborů pomocí protokolů HTTP, HTTPS a FTP řeší také bezpečnostní problém CVE-2014-4877. Rekurzivní stahování z FTP serveru ovládaného útočníkem může vést k vytváření libovolných souborů, adresářů a symbolických odkazů na lokálním souborovém systému (R7-2014-15).
Ladislav Hagara | Komentářů: 9
29.10. 17:26 | IT novinky
Organizace W3C včera vydala doporučení k používání HTML5 a označila tím tento webový standard za hotový. HTML5 je již delší dobu široce využívaným standardem ve vývoji webových aplikací a v mnoha případech se mu daří vytlačovat z webu proprietární řešení.
Pavel Půlpán | Komentářů: 8
29.10. 11:11 | Zajímavý projekt
Byl spuštěn třináctý Humble Indie Bundle. Do 11. listopadu lze koupit za vlastní cenu multiplatformní hry OlliOlli, Insanely Twisted Shadow Planet, Tower of Guns a při nadprůměrné platbě také Amnesia: A Machine for Pigs, Jazzpunk, Risk of Rain (plus 3 kopie k darování) a další zatím neznámé hry. Při platbě 12 a více dolarů přibude Shadowrun Returns a při platbě 65 a více dolarů také mikina, sběratelské karty a audiokazeta. V rámci Humble Bundle… více »
Ladislav Hagara | Komentářů: 6
28.10. 14:30 | Nová verze
Lwn.net informuje, že v rámci rc vydání linuxového jádra 3.18-rc2 byl (konečně) začleněn souborový systém overlayfs. Jde o tz. sjednocující souborový systém, který umožňuje zkombinovat několik souborových systémů do jednoho.
Martin B. | Komentářů: 35
28.10. 00:23 | IT novinky
Přibližně deset tisíc lidí se účastnilo protestů proti dani z internetu, kterou se snaží prosadit premiér Viktor Orbán. Video z demonstrace zachycuje rozzuřené lidi házející do vládní budovy monitory, klávesnice a kusy betonu. … více »
Bystroushaak | Komentářů: 291
26.10. 22:29 | Nová verze

Barry Kauler vydal novú verziu svojho minimalistického distra postaveného na deb balíčkoch z Ubuntu. Ako iste môžete tušiť, je použitý Utopic Unicorn. Výhodou pre tých, čo siahnú po Quirky, môže pre niekoho byť, že sa jedná o zostavenie bez systemd, ktoré obsahuje najnovšie jadro 3.16.6 a FreeOffice na 202MB xz archíve. Viac info.

skywaker | Komentářů: 8
Disketu jsem naposledy použil během
 (34%)
 (2%)
 (16%)
 (47%)
 (1%)
Celkem 353 hlasů
 Komentářů: 21, poslední včera 22:04
Rozcestník
Reklama
Autoškola testy online Levný benzín

Narušení bezpečnosti GitHub a Ruby on Rails

Bezpečnost GitHub a projektů postavených nad Ruby on Rails byla narušena. Egor Homakov upozornil na vážné bezpečnostní problémy Ruby on Rails. Chyby prezentoval na projektu GitHub. Dělal si co se mu zachtělo. Zahlásil chybu z roku 3012 (I'm Bender from Future), dokázal smazat libovolný příspěvek, provádět změny v hlavní větvi, smazat celou historii projektu nebo přiřadit svůj veřejný klíč k libovolnému projektu. Více například na Posterous (také má problém). Vyjádření GitHub v oficiálním blogu.

5.3.2012 15:37 | Ladislav Hagara | Bezpečnostní upozornění


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

Max avatar 5.3.2012 16:11 Max | skóre: 62 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Na rootu o tom vyšlo pěkné psaní : Aktuálně: Tak nám hackli GitHub...
Zdar Max
Měl jsem sen ... :(
5.3.2012 16:15 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Myslím, že dělal si co se mu zachtělo zdaleka není adekvátní popis (a nic takového jako smazat celou historii projektu se nestalo). Ano, kdyby chtěl, mohl, ale nic fatálního neudělal.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
5.3.2012 16:31 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ano, kdyby chtěl, mohl
Hmmm, a wo to tady asi go, že... :-(
5.3.2012 16:45 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
To asi těžko. Nešlo o útočníka, který se chtěl zmocnit GitHubu, ale o vývojáře, jehož námitky vůči výchozí politice Railsů nikdo nebral vážně. Teď už je vážně berou, naštěstí.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
5.3.2012 16:57 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Co asi těžko? Kdyby někdo chtěl, tak si skutečně mohl dělat, co uzná za vhodné. A mimochodem, nemyslím si, že by změna defaultních nastavení fakticky něco opravila.
xkucf03 avatar 5.3.2012 18:52 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
To přece není chyba Railsů, ale té aplikace, ne?
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 18:57 sidik
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Jo, "not a rails problem" byla přesně reakce Rails devs. No a nakonec se ukázalo, že to je problém Rails.
xkucf03 avatar 5.3.2012 19:29 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Viz co jsem psal na Rootu: 1, 2. Že nakonec ustoupili a opravili/upravili to, ještě neznamená, že to před tím nebyla chyba programátorů aplikace. Chovala se ta funkce podle dokumentace nebo ne?
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 19:43 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Kdepak, je to marný, marný, marný. I vývojáři pochopili až poté, co jim dotyčný, který se opakovaně snažil marně vysvětlit, jak špatné jsou defaultní hodnoty, prostě předvedl tu jejich nádheru v praxi.
xkucf03 avatar 5.3.2012 19:51 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Možná jsem něco špatně pochopil, v tom případě budu rád, když mne někdo opraví, ale: K čemu bude dobré, když whitelist/blacklist bude výchozí chování?

IMHO více méně k ničemu, protože tím akorát omezím aktualizace atributů, které se nikdy nemění – např. primárního klíče nebo okamžiku vytvoření entity. Ale co všechny ty ostatní atributy? U nich totiž nemůžeme zakázat aktualizace, protože někdy je upravovat potřebujeme – např. administrátor může měnit role jiných uživatelů a jejich e-maily, běžný uživatel může měnit svůj e-mail ale ne jiných uživatelů atd.

Může ten whitelist/blacklist být vázaný (alespoň) na role aktuálně přihlášeného uživatele? Pokud ne, tak je to na nic. Ne, tohle není řešení a stejně tam musí někde ta logika (kdo co může) být zapsaná.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 20:01 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
K čemu bude dobré, když whitelist/blacklist bude výchozí chování?
Třeba to pochopíte tady.
xkucf03 avatar 5.3.2012 20:17 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ano, to jsem četl, ale neodpovídá to na moji otázku.

Tak tedy znovu: když dám např. atribut uživatelská_role na blacklist (resp. nedám na whitelist), tak ani administrátor nebude moci měnit role uživatelů, což právě potřebujeme. A když tenhle atribut na blacklist nedáme (resp. dáme na whitelist), bude moci administrátor moci měnit role, ale uživatel taky (za předpokladu, že může měnit tu entitu jako takovou – což předpokládám že může, protože si např. může změnit jméno, příjmení, e-mail atd.).
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 20:24 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Kdyby ses podíval na dokumentaci, zjistil bys, že právě podle role to omezit jde.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
xkucf03 avatar 5.3.2012 20:43 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails

OK, tak to je fajn :-) Nicméně stejně je to málo

  1. Role nejsou všechno, může záležet na hodnotách jiných atributů, vztahu mezi uživatelem a entitou (např. vlastnictví), ročním období, úplňku atd.
  2. „Mass-assignment will only set attributes in this list, to assign to the rest of attributes you can use direct writer methods.“ – takže taková definice oprávnění stejně není neprůstřelná – když už, tak by se mi líbilo, aby to fungovalo jako v SQL databázích – když nemá uživatel příslušný GRANT, tak tabulku prostě nezmění, ani kdyby se stavěl na hlavu. Na jednu stranu ty a ostatní chcete, aby framework bránil programátorovi dělat chyby, ale on mu stejně nebrání – přitom by to bylo celkem fajn, kdyby šlo takhle deklarativně stanovit, kdo co může a tahle pravidla nešla překročit (ani tím, že programátor třeba poplete nějaké podmínky v ifu a zavolá omylem nějaký setter). Přijde mi to jako polovičaté řešení.
  3. Stále to nic nemění na tom, že programátor zavolal funkci „nastav všechny atributy podle POST parametrů“ a pak se diví, že framework skutečně nastavil všechny hodnoty podle POST parametrů – přestože v dokumentaci je to chování popsané a o této vlastnosti (něříkal bych tomu chyba) se ví zhruba od 2007/2008.
  4. Přijde mi to, jako kdyby autor aplikace napsal SQL: DELETE FROM tabulka; a pak se divil, že databázový systém skutečně smazal všechny záznamy v dané tabulce.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 20:57 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
The perfect is the enemy of the good.

Jinak, předpokládám, že takový megaprojekt, jako je GitHub, asi nepíše a neadminuje banda amatérů. Pokud se tohle stane jim, jakpak "bezpečné" jsou asi další projekty postavené na RoR? "Favoring convention over configuration" - fakt? Asi to chce nad těmi defaultními nastaveními v generovaném kódu příště trochu víc přemýšlet.
5.3.2012 20:58 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Je to obecně vzato málo, ale ve spoustě případů je to dost. Já souhlasím, že The ACL is dead a deklarativní programování je pitomost, na druhou stranu výchozí chování musí být rozumné, tedy musí brát ohled na reálný svět. Mimochodem, před pár lety byla podobná aféra kolem Spring MVC :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
xkucf03 avatar 5.3.2012 21:47 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Takže abych to shrnul. Ve Springu bezpečnostní chyba není (alespoň co je mi známo). Chyba ale může vzniknout při jeho neopatrném používání. Doufám že se zítra nedočtu, že je závažná chyba v Oraclu. Doslechl jsem se, že umožňuje zavolat DROP SCHEMA a to může mít závažné následky na integritu dat.
Souhlas :-)
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 22:05 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ta srovnání s SQL jsou nesmyslná. Kdyby nějaký databázový framework ve výchozím nastavení prováděl DROP SCHEMA někde pod třemi vrstvami abstrakce, byl by to průser. Když si to uživatel zavolá sám, je to úplně něco jiného.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
5.3.2012 22:55 Tom
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Existuje o tom, že ACL is dead, někde něco psaného na netu (ne video)?
5.3.2012 23:08 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
To nic, to je jenom Zed So Fucking Awesome Shaw, nic důležitýho :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
5.3.2012 20:11 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Že ve výchozím stavu generují nebezpečný kód a vymlouvají se na komplikace pro začátečníky je chyba Railsů a nikoho jiného.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
5.3.2012 17:14 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
projektů postavených nad Ruby on Rails byla narušena.
Chybí mi tam některých projektů.

Kdejaký tutorial k Rails popisuje, že v definici modelu má být nastaveno attr_accessible, jinak hrozí přesně to, na co upozornil Homakov. Tzn. pokud ty "projekty" píše někdo, kdo si přečetl a pochopil aspoň nějaký tutorial (zjevně není případ programátorů GitHubu), tak se ho tahle záležitost vůbec netýká.

Quando omni flunkus moritati
5.3.2012 17:23 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Hmm, a opravdu se domníváš, že defaultní nastavení by měla fungovat tak, že si tak každý bude dělat, co chce? Jinými slovy, např. když nainstaluješ defaultní Apache, tak by každý hejhula měl přes internet optimálně dostat práva roota? :-)
5.3.2012 17:45 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Špatný příklad (překvapivě).

Defaultní Rails aplikace není nastavená tak, že si tam může každý dělat co chce. Do takového stavu to dostanou až špatní programátoři, kteří nevědí, co dělají.
Quando omni flunkus moritati
5.3.2012 18:03 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Pokud něco nenastavím, tak předpokládám, že defaultní hodnota je tzv. "sane". Takže ano, defaultně je nastavená tak, že to potom dopadne takhle.

PHP si tím prošlo holt dřív, ale vývojáři Ruby si toho asi nevšimli, takže tu katastrofu bylo nutné zopakovat.

https://github.com/rails/rails/issues/3453 https://github.com/rails/rails/pull/3952 https://github.com/rails/rails/pull/4062 https://github.com/rails/rails/issues/5228

A propos, ta zoufalost je známa od roku 2007.
6.3.2012 10:19 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Pokud něco nenastavím, tak předpokládám
No a to je ten problém. Dokud předpokládáš, nemůžeš se divit, když něco uděláš blbě. Pokud chceš pracovat s nějakým frameworkem, měl bys vědět
Quando omni flunkus moritati
6.3.2012 10:27 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ufff. Jistě. Takže když bude nějaký firewall defaultně mít ACCEPT na všechny příchozí pakety, tak to taky bude čupr bezva featura, a každý, kdo předpokládá opak, je totální blbec.
xkucf03 avatar 6.3.2012 10:41 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ale vždyť takhle to je. Ve výchozím stavu se přijímají všechna spojení a to i když máš v systému iptables – až když si nastavíš příslušná pravidla (typicky: zahazovat všechno a přijímat jen vybrané), tak to začne fungovat. Ale hlavně: když programátor řekne: „naplň všechny atributy objektu“ tak co to proboha má udělat jiného než naplnit všechny atributy objektu??
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
6.3.2012 11:03 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ve výchozím stavu se přijímají všechna spojení a to i když máš v systému iptables – až když si nastavíš příslušná pravidla
Ne, to je fakt marné. Víte, v normální distribuci jsou nastavená rozumná defaultní pravidla pro ten firewall, ať už se k tomu používá ufw, shorewall, firestarter nebo cokoliv dalšího. Ano, samotné iptables nedělají nic, to by opravdu blbej neřek.
Ale hlavně: když programátor řekne: „naplň všechny atributy objektu“ tak co to proboha má udělat jiného než naplnit všechny atributy objektu??
Ale hlavně vidím, že jste ani po celodenní debatě nepochopil podstatu problému, on programátor nic takového neříká, on si to dokonce ani většinou nepřeje. Akorát to holt bylo defaultně debilně nastaveno a nic ho nenutilo to nastavovat jinak.
xkucf03 avatar 6.3.2012 11:38 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ne, pořád jsem to nepochopil. Když programátor v RoR napíše:
nějakýObjekt.update_attributes(…)
tak co od toho čeká? Že to nastaví všechny atributy objektu nebo jen některé?
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
6.3.2012 11:40 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Když programátor v RoR napíše
A když scaffold generátor v RoR napíše?
Ještě na tom nejsem tak špatně, abych četl Viewegha.
xkucf03 avatar 6.3.2012 12:33 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Hmm, tak jsem si RoR nainstaloval :-) ještě jsem se tím neprokousal, tak zatím jen teoreticky: vytvořím si nějaký model a generátor mi k tomu udělá formuláře a kód pro zpracování odpovědí z těchto formulářů. V této fázi jsou ve formuláři všechny atributy a všechny může uživatel měnit, je to tak?

Pokud ano, tak v další fázi si třeba programátor řekne, že některé atributy měnit nepůjdou a smaže je z HTML formuláře. Vážně si někdo myslí, že když ve formuláři to pole nebude, že nepůjde poslat ten původní POST, ve kterém bylo?
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
Heron avatar 6.3.2012 11:32 Heron | skóre: 49 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Jsem na tom podobně jako Franta. :-) Podotýkám, že nejsem programátor v ROR, ale jestliže programátor opravdu použil fci na předání všech parametrů, tak se potom opravdu nemůže divit, že to předalo všechny parametry. A jestli je to zabezpečení dokonce i v tutoriálu, tak už je to jednoznačně chyba na straně programátorů. Nebo ta fce dle dokumentace nemá předávat všechny parametry?

K tomu FW. Tohle má každá krabička jinak (například RouterOS má default policy na ACCEPT a ve výchozím nastavení, nebo při prázdné konfiguraci filtru to opravdu vše propustí). Je věcí administrátora, aby to nastavil. K těm "rozumným defaultním pravidlům" v distribucích. Ehm, pokaždé se do nich musí sáhnout. Pokaždé. Abych to shrnul, do každé krabičky a do každého fw se musí sáhnout bez ohledu na jeho výchozí nastavení a to konečné nastavení je tak zcela v režii administrátora.

Nevím, jak předchozí odstavec pasuje na ruby, možná by to chtělo výchozí hodnoty nastavit tak, aby (pokud je to opravdu takový problém a ani tutorial nestačí) do toho musel pokaždé (tj při každém použití té fce explicitně definovat co předat) programátor sáhnout.
xkucf03 avatar 6.3.2012 11:49 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Nevím, jak předchozí odstavec pasuje na ruby, možná by to chtělo výchozí hodnoty nastavit tak, aby (pokud je to opravdu takový problém a ani tutorial nestačí) do toho musel pokaždé (tj při každém použití té fce explicitně definovat co předat) programátor sáhnout.

Pokud chce nastavit jen něco, tak může napsat kód ve smyslu:
nějakýObjekt.setA(požadavek.getParameter("A"));
nějakýObjekt.setB(požadavek.getParameter("B"));
nějakýObjekt.setC(požadavek.getParameter("C"));
Nebo použít nějaký filtr na původní sadu parametrů a filtrovaný výsledek nastavit hromadnou funkcí. Nebo použít whitelist/blacklist na úrovni objektu. Ale když nic z toho neudělá, tak mi přijde celkem přirozené, že se nastaví vše, kde se podaří spárovat jména atributů a parametrů.

Už na začátku jsem se ptal, jestli programátor definuje ve frameworku formulář a framework všechno ostatní vygeneruje, nebo jestli si to píše ručně (tudíž tu není nějaká pevná vazba mezi formulářem a kódem, který ho přijímá a framework tudíž nemůže vědět, jaké parametry tam programátor chtěl a jaké ne) a nějaký rubista mi na to napsal, že je to ta druhá varianta. Kdyby to byla ta první, tak ano, to bych bral jako chybu frameworku, protože ten mohl vědět, která políčka jsou ve formuláři a ostatní POST parametry (podstrčené útočníkem) zahodit.
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
Heron avatar 6.3.2012 12:28 Heron | skóre: 49 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
může napsat kód ve smyslu

Tak to je jasné a o tom tamhle debata asi není. Jak tak čtu ostatní komentáře, tak mi to tak trochu připadá jako kdyby programátor chtěl použít jednořádkovou (protože je líný to vyjmenovávat, stejně jako klasická SQL "chyba" SELECT *) fci: "naplň všechno co můžeš, ale udělej to v dané situaci rozumně a bezpečně". :-D Což je už požadavek na umělou inteligenci.

6.3.2012 12:24 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Každý, kdo o firewallu předpokládá cokoliv místo toho, aby se podíval (ať už na ten firewall nebo do dokumentace), je totální blbec. A totéž platí o dalších podobných předpokladech.
Quando omni flunkus moritati
little.owl avatar 6.3.2012 15:35 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Nesmysl.

Chcete mi treba rici ze si mam nastudovat default SELinux policy a pak si napsat vlastni?

Vy popirate princip restrictive-by-default a to je u systemu pracujicich v nebezpecnem prostredi pristup, ktery se vymsti.

Cilem podobnych frameworku je moznost jednoduse napsat aplikaci s nutnosti minimalniho kodovani s ohledem na vyzadovanou funkcionalitu a zaroven abstrahovat nektere komplexni technologie. Pokud bude uzivatel nucen opakovane pridavat zbytecny kod v pripade nejcasteji uzivaneho scenare a studovat detaily implementace, aby neudelal snadno kritickou chybu, stoji framework za velke kulovi, protoze tu chybu v realnem svete drice ci pozdeji nekdo udela.
7.3.2012 11:18 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Jestli se spoléháš na to, že máš zabezpečený systém, protože někdo někde udělal nějaký default, tak si koleduješ o malér.
protoze tu chybu v realnem svete drice ci pozdeji nekdo udela.
... a bude to jenom jeho chyba
Quando omni flunkus moritati
little.owl avatar 5.3.2012 21:00 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Nesmysl. Defaultni nastaveni musi maximalne restriktivni. Pokud toto zasadni pravidlo bezpecnosti systemu v Rails nerespektuji, je treba se jich vyvarovat, protoze drive ci pozdeji se i zkuseny developer popali - malokdo muze sledovat vsechny implementacni detaily stale meniciho se frameworku.
5.3.2012 21:04 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Nesmysl. Defaultni nastaveni musi maximalne restriktivni. Pokud toto zasadni pravidlo bezpecnosti systemu v Rails nerespektuji, je treba se jich vyvarovat
Bohužel, asi bude lépe se jim skutečně vyhnout. Toto je totiž jejich představě o opravě toho průseru. Whitelist all attribute assignment by default. Juch! :-(
xkucf03 avatar 5.3.2012 21:56 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
V tom případě bych doporučoval se vyhnout všem programovacím jazykům – např. v Javě můžeš udělat:
Collections.copy(cíl, zdroj);
A ti sprosťáci dokonce do dokumentace napsali:
Copies all of the elements from one list into another.
Přitom by jeden čekal, že ta metoda zkopíruje jen některé položky, nebo spadne, že?

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 22:03 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Před Javou netřeba varovat, vyhýbám se jako upír česneku a stříbrným kulkám. :-D :-) :-D

Jinak, komentoval jsem o kus níž (viz :without_protection), tohle se tam IIRC obojí dostalo současně ve verzi 3.1, přijde mi to tak nějak jako "uff, furt nás někdo prudí z bezpečností, tak tam dáme config.active_record.whitelist_attributes, no ale radši to defaultně zakomentujeme a kdyby to snad někdy někdo nedejbože odkomentoval, tak tam přihodíme :without_protection, aby to ten BFU nemusel moc studovat a moh to rychle vypnout. Hmmmm.
little.owl avatar 5.3.2012 22:29 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Tady se nebavime o programovacim jazyku a jeho standardnich knihovnach, to je uplne jina rovina a Ruby je zde vicemene OK.

Tady jde o high level framework, ktery muze byt komplexnejsi nez jazyk sam a ktery je cilene designovan pro vyvoj webovych stranek bez nutnosti znat vsechny implementacni detaily a technologie pouzite uvnitr frameworku.
5.3.2012 22:03 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
No, je to o dost lepší, to whitelistování je aspoň ve výchozím stavu zapnuté, a když to člověk v té třídě uvidí (a vlézt do ní musí, bez editace toho "modelu" se nedá udělat ani obligátní blog v 15 minutách), tak ho to aspoň trkne. Kompletně tu hromadnou aktualizaci vypnout snad nechce nikdo :-)
Ještě na tom nejsem tak špatně, abych četl Viewegha.
5.3.2012 22:13 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Ale tak jistě lepší, než drátem do voka :-D Jen fakt nevím, jestli nutně potřebujeme, aby tady bylo něco, v čem každej BFU udělá "blog za 15 minut". Hmmmm :-)
Jendа avatar 5.3.2012 20:28 Jendа | skóre: 68 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
S Rails jsem nikdy nedělal, ale nešlo by to připodobnit SQL injection v PHP? To je taky „defaultní chování“, které to nějak „magicky“ neošetřilo.
5.3.2012 21:22 l4m4
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Chování PHP při použití parameterizovaných dotazů, což je dnes normou, je v pořádku. Toto není hodnocení PHP, ale pouze toho přirovnání...
little.owl avatar 5.3.2012 20:50 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
To ze jsou v SW chyby je celkem normalni, ale reakce vyvojaru je naprosto zoufala. Ta chyba - zde bez diskuze - je znama pet let, za tenhle back door je snad neko platil, jinak to nelze ani rozumne vysvetlit. Lepsi se drzet od Rails dale.
5.3.2012 21:16 HFechs
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Nejsem na railsy žádný odborník, napsal jsem v nich pár webů, ale už s prvním sem se pídil po tom, jak tam ten blacklist udělat. Takže je to chyba převážně vývojářů. Že mohl být backlist defaultní je jiná věc (já jsem pro) - zabránilo by to lamerům programovat, ale tohle není nějaká ukrytá zrada (prostě nějaké přetečení zásobníku, nějaké neošetřeňí či podobná klasická díra), ale dokumentovaná vlastnost a programator, kteremu není divné, že se do formuláře uloží všechno, i když nezadal které sloupečky, nebo že mu nedocvakne, že si do POSTu jde sloupeček přidat je minimálně dost nedůvtipný.
5.3.2012 21:18 HFechs
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
A v méně "inteligetních" řešeních si to přece všechno musí ošetrit sám - to je pak ten systém taky "zabugovaný"? :-D Jó pokud někdo moc spolehá na framework, tak si nabije tlamu....
little.owl avatar 5.3.2012 21:33 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
zabránilo by to lamerům programovat,
Kazdy dela chyby, clovek se zkusenostma mene (nebot jich uz ma za sebou plno).

Tady jde o to, ze tvurci Rails nerespektuji princip restrive-by-default a to je z hlediska bezpecnosti cesta do pekla.
little.owl avatar 5.3.2012 21:35 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
restrictive-by-default
5.3.2012 21:48 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Já jim fakt nerozumím. Viz ten whitelist patch, který jsem komentoval nahoře. Vidím přesně, jak to dopadne.

> Heleee, Frantooo, vono to s tou patchnutou verzí nějak nefunguje, co s tím?

>> Ahaa, ukáž... hmmm, divný, no zkus to takhle:
Model.new(params[:model], :without_protection => true)
> Jeeee, supeeer, už to fičí, dík!

Proč tam někdo takovéhle pakárny implementuje, jde fakt mimo mě. Opravdu by byl takový problém, kdyby programátor musel "zvednout zadek" a udělat tohle?
class Model < ActiveRecord::Base
  attr_accessible :foo, :bar, :baz, :as => :admin
  attr_accessible :foo, :as => :bfu
end

...

Model.new(params[:model], :as => :bfu)
little.owl avatar 5.3.2012 22:01 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Nevim, muze je palit otazka zpetne kompatibility a proto nechteji byt radikalni, ale nedokazi to posoudit neb Rails nepouzivam.
5.3.2012 22:16 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Já už taky moc ne. A vůbec, už mi tak nějak všechny ty webové aplikace lezou krkem. Je tady vůbec něco rozumného, v čem se to dá dělat? PHP už nemůžu ani vidět, Ruby teda taky nic moc, na Javu ani s třímetrovou tyčí, hmmm, babo raď.
Marek Stopka avatar 5.3.2012 22:24 Marek Stopka | skóre: 57 | blog: Paranoidní blog | London, United Kingdom
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Perl :D
5.3.2012 22:30 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Dík!
$ perl -le'/(??{s!!!})/'
Neoprávněný přístup do paměti (SIGSEGV)
:-D :-)
little.owl avatar 5.3.2012 22:42 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
perl -le'/(??{s!!!})/'
Segmentation fault (core dumped)
Tak, tak, to je zname! :-D :-D
5.3.2012 23:34 petr_p | skóre: 58 | blog: pb
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails

Ano, je to známé:

Because perl's regex engine is not currently re-entrant, delayed code may not invoke the regex engine either directly with "m//" or "s///"), or indirectly with functions such as "split".
little.owl avatar 5.3.2012 22:41 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Webarinu nedelam, pracuji na RTOS a embedded systemech, ale obcas neco ulipu v Djangu - treba rozhrani pro SAT-based testovani - nastesti to neni vystavene ven.
5.3.2012 22:46 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
nastesti to neni vystavene ven.
:-D :-) Potřebuju nějakej monitor se stěračem, dnes už utírám potřetí! :-D :-)
little.owl avatar 5.3.2012 22:53 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Budiz vam prano.

;-)
5.3.2012 23:04 Radek Miček | skóre: 20 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Co třeba Ocsigen nebo Yesod?
5.3.2012 23:09 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
To už radši Opa.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
6.3.2012 00:18 Radek Miček | skóre: 20 | blog: radekm_blog
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Osobně preferuji OCaml, neboť má lepší systém modulů a lze tam používat camlp4.
little.owl avatar 6.3.2012 00:47 little.owl | skóre: 20 | Brighton
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
+1
6.3.2012 10:32 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Osobně preferuji méně obskurní jazyky, mimo jiné i proto, že chybová hlášení z programů psaných programy, které jsou napsané jinými programy, jsou zoufale nepoužitelná.
Ještě na tom nejsem tak špatně, abych četl Viewegha.
xkucf03 avatar 6.3.2012 10:44 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
Náhodou, takové pěkné chyby, člověk si i počte :-)
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.http$colon$$slash$$slash$www$dot$w3$dot$org$slash$1999$slash$xhtml$colon$template$dot$11()
        at GregorSamsa.applyTemplates()
        at GregorSamsa.applyTemplates()
|#]
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
5.3.2012 23:19 Lol Phirae | skóre: 21
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
To vypadá opravdu drsně. :-) To je asi nadlouho, anžto ani jeden z jazyků mi nic neříká, nicméně ten ocsigen server určitě někde pokusně zkusím zprovoznit, koukám, že v Debianu je balíček, tak by snad pod Mintem neměl být problém. ;-)
xkucf03 avatar 5.3.2012 22:02 xkucf03 | skóre: 44 | blog: xkucf03
Rozbalit Rozbalit vše Re: Narušení bezpečnosti GitHub a Ruby on Rails
To mi přijde ještě víc matoucí – jestliže vývojář v tomto jazyce/frameworku nečte* dokumentaci, tak se koukne na tenhle kód a má pocit, že je to zabezpečené – a pak někde nastaví nějaké atributy individuálně, bude si myslet, že se to neprovede (vždyť přece definoval, že daná role nemá práva měnit tenhle atribut) nebo že to vyhodí bezpečnostní výjimku, ale nic z toho se nestane a projde to, protože tahle oprávnění fungují jen při hromadném nastavování. Prostě falešný pocit bezpečí.

*) kdyby ji četl, tak by věděl, aplikace touhle chybou netrpěly a celé tahle aféra by se nekonala
Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net

Založit nové vláknoNahoru


ISSN 1214-1267   Powered by Hosting 90 Server hosting
© 1999-2013 Argonit s. r. o. Všechna práva vyhrazena.