Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia Tuesday TopDrive KupDnes Navrcholu Bomba NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Oprava dlouholetého bezpečnostního problému v jádře 2.6.27

Jednou ze změn v jádře 2.6.27 bude nová sada POSIX file descriptorů, která obchází dlouho známý bezpečnostní problém. Více informací najdete na blogu Ulricha Dreppera. Ten jako příklad uvádí prohlížeč, kde má uživatel otevřené dva taby. Jeden z nich je do banky a druhý na nějakou náhodnou stránku. Pokud náhodná stránka má nějaký obsah, který vyžaduje, aby byl zaveden jako plugin (například flash), tak tento plugin má po zavedení přístup k file descriptoru, který používá spojení k bance.

Dále čtěte…         

Předchozí zprávička Následující zprávička        
jose
jose (neregistrovaný)
5. 8. 2008 11:16 Nový

preklep

celé vlákno
bezpečností..
Adam Štrauch aura:99
5. 8. 2008 11:24 Nový

Re: preklep

celé vlákno
Opraveno
NiK
NiK (neregistrovaný)
5. 8. 2008 11:38 Nový

Re: preklep

celé vlákno
myslim ze ne ;-) "známý bezpečností problém"
Adam Štrauch aura:99
5. 8. 2008 11:47 Nový

Re: preklep

celé vlákno
Teď už to snad bude dobrý. Nevím jak se mi to povedlo :)
Ped7
Ped7 (neregistrovaný)
5. 8. 2008 11:52 Nový

Re: preklep

celé vlákno
spellchecker tohle nehlasi? :D
Adam Štrauch aura:99
5. 8. 2008 12:49 Nový

Re: preklep

celé vlákno
V textu bylo "bezpečností" a to existuje a v titulku sice "bezpečnostího",ale tam checker nefunguje :)
Tomáš Janoušek aura:100
5. 8. 2008 14:24 Nový

Příklad s flashem

celé vlákno
Ten příklad s flashem máte odkud? Flash v mozille běží pod stejným procesem, takže k tomu bude mít přístup tak jako jak.
Ondřej Surý aura:76
5. 8. 2008 15:30 Nový

Re: Příklad s flashem

celé vlákno
A proč si proboha nepřečtete tu původní zprávu:

A web browser has two windows or tabs open, both loading a new page (maybe triggered through Javascript). One connection is to your bank, the other some random Internet site. The latter contains some random object which must be handled by a plug-in. The plug-in could be an external program processing some scripting language. The external program will be started through a fork() and exec sequence, inheriting all the file descriptors open and not marked with close-on-exec from the web browser process.

(poslední věta je ta důležitá)
Tomáš Janoušek aura:100
5. 8. 2008 15:32 Nový

Re: Příklad s flashem

celé vlákno
Aha. A kde se tam zmiňujou o Flashi? Pro Flash to totiž fakt _neplatí_.
Ondřej Surý aura:76
5. 8. 2008 15:40 Nový

Re: Příklad s flashem

celé vlákno
Proč mě týráte a tu zprávu U.D. si nepřečtete sám? Nečekáte, že vám tady postupně nakopíruji všechny relevantní části původního textu, že?
Tomáš Janoušek aura:100
5. 8. 2008 15:44 Nový

Re: Příklad s flashem

celé vlákno
Ách jo. Já tu zprávu celou četl už v sobotu. Pravda, mohl bych tam Ullrichovi napsat, že Flash je blbej příklad, ale on by mě smetl tím, že když nepoužívám 64-bit Firefox a nspluginwrapper, jsem idiot a žiju v jiné době. Vy ale doufám chápete, že ještě dnes dost lidí běhá Flash plugin tak, jak Adobe zamýšlí, a zprávičku upravíte, abyste nemátl lidi. Nebo jsem i podle vás idiot, co žije v jiné době?
Ondřej Surý aura:76
5. 8. 2008 15:50 Nový

Re: Příklad s flashem

celé vlákno
Podle mě byste měl akorát psát příspěvky tímhle stylem už od začátku a vyhnuli bychom se této debatě.

Nicméně ta zprávička je taková typická popularizační rootovina. Správně by to mělo být zmíněno, že opravuje problém, kdy child proces vytvořený forkem již nebude mít přístup k tolika deskriptorům, které byly vytvořeny parent procesem. (A pak už je jedno jestli se jedná o flash nebo nejedná...)

Například (kopírováno z ABCLinuxu):

"Do Linuxu 2.6.27 se dostane sada nových vlastností pro práci se souborovými deskriptory. Jde o řešení bezpečnostního problému, kdy za jistých okolností mohou otevřené deskriptory být použity v podprocesu, ačkoliv to není umožněno záměrně. Mnoho funkcí tak bude mít dodatečný příznak close-on-exec. Více v blogu."
Tomáš Janoušek aura:100
5. 8. 2008 15:54 Nový

Re: Příklad s flashem

celé vlákno
Tu narážku na psaní příspěvků tímhle stylem od začátku jsem nějak nepochopil. Snažíte se naznačit, že jsem arogantní a že by se se mnou nikdo nebavil, anebo že jsem relevantní informace dodal až teď?

(Každopádně se ale omlouvám za to, že jsem si omylem myslel, že vy jste ten, kdo zprávičku napsal a může ji upravit.)
Ondřej Surý aura:76
5. 8. 2008 16:04 Nový

Re: Příklad s flashem

celé vlákno
Tím se snažím naznačit, že kdybyste relevantní informace nepouštěl sepsal trochu hutněji, tak by to bylo více přínosné...

(P.S.: Kdybych zprávičku psal já, tak by to nebyl takový blábol ;). Tím se omlouvám redakci, ale on to opravdu blábol je...).
Tomáš Janoušek aura:100
5. 8. 2008 16:06 Nový

Re: Příklad s flashem

celé vlákno
Ah, ok, chápu, díky. :)
BLEK.
BLEK. (neregistrovaný)
5. 8. 2008 18:11 Nový

přepisování knihoven

celé vlákno
Hmm, jen nevím, kdo bude všechny knihovny a pluginy, co Mozilla používá, měnit, aby ten nový flag použily.

Možná by bylo bývalo lepší udělat per-thread flag, který říká, že všechny file-descriptory vytvořené threadem mají nastaven close-on-exec. Pak by ho Mozilla mohla nastavit a knihovny a pluginy by vytvářely soubory s close-on-exec automaticky aniž by o tom věděly.
Milan Jurik
Milan Jurik (neregistrovaný)
5. 8. 2008 21:12 Nový

Re: přepisování knihoven

celé vlákno
A co kdyz na te vlastnosti nektery plugin bude zaviset? Tak mu zariznete file descriptory jen tak? Vcetne prvnich tri?
BLEK.
BLEK. (neregistrovaný)
6. 8. 2008 0:09 Nový

Re: přepisování knihoven

celé vlákno
Plugin, vzhledem k tomu, že běží v procesu Mozilly a musí se snášet s ostatními pluginy, nesmí modifikovat první tři file-deskriptory. Pak by celá Mozilla nemohla nic psát na terminál. Navíc pak hrozí, že se různé pluginy o ty deskriptory 0, 1 a 2 poperou.

Co se týče možnosti, že plugin vytvoří filedeskriptor s náhodným číslem, pak udělá fork(), exec() a execnutému procesu chce tento nový file deskriptor předat --- ano, to by tato změna zablokovala, otázka je, proč by plugin nějakému procesu takhle chtěl předávat file deskriptory s náhodným číslem a který program vlastně je schopen akceptovat jiné deskriptory než 0, 1, 2.
Milan Jurik
Milan Jurik (neregistrovaný)
6. 8. 2008 11:42 Nový

Re: přepisování knihoven

celé vlákno
Proc by to mel byt nejaky nahodny filedescriptor? Neni problem si ho pripadne nejak predat.

Celkove, mnohem rozumnejsi mi prijde, ze si aplikace sama pred execem uklidi senzitivni kanaly na zaklade vlastnich znalosti a ne, ze se nejakym zpusobem globalne vnuti takove chovani.
milank
milank (neregistrovaný)
5. 8. 2008 23:29 Nový

Re: přepisování knihoven

celé vlákno
Zrovna tak by mohl "forknutý" proces na začátku zavřít všechny nepotřebný deskriptory, ještě než zavolá exec() nějakého nebezpečného procesu. Je to jednodušší, než rešit ten race-condition, co popisuje UD, a je to IMHO i jednodušší, než přepsat všechny open() & spol. v celý Mozille.
BLEK.
BLEK. (neregistrovaný)
6. 8. 2008 0:11 Nový

Re: přepisování knihoven

celé vlákno
Jo, takhle to dost programů taky dělá.
Zasílat nově přidané příspěvky e-mailem        

Přehled názorů

preklep
jose 5. 8. 2008 11:16
└ 
Re: preklep
Adam Štrauch 5. 8. 2008 11:24
 
└ 
Re: preklep
NiK 5. 8. 2008 11:38
 
 
└ 
Re: preklep
Adam Štrauch 5. 8. 2008 11:47
 
 
 
└ 
Re: preklep
Ped7 5. 8. 2008 11:52
 
 
 
 
└ 
Re: preklep
Adam Štrauch 5. 8. 2008 12:49
Příklad s flashem
Tomáš Janoušek 5. 8. 2008 14:24
└ 
Re: Příklad s flashem
Ondřej Surý 5. 8. 2008 15:30
 
└ 
Re: Příklad s flashem
Tomáš Janoušek 5. 8. 2008 15:32
 
 
└ 
Re: Příklad s flashem
Ondřej Surý 5. 8. 2008 15:40
 
 
 
└ 
Re: Příklad s flashem
Tomáš Janoušek 5. 8. 2008 15:44
 
 
 
 
└ 
Re: Příklad s flashem
Ondřej Surý 5. 8. 2008 15:50
 
 
 
 
 
└ 
Re: Příklad s flashem
Tomáš Janoušek 5. 8. 2008 15:54
 
 
 
 
 
 
└ 
Re: Příklad s flashem
Ondřej Surý 5. 8. 2008 16:04
 
 
 
 
 
 
 
└ 
Re: Příklad s flashem
Tomáš Janoušek 5. 8. 2008 16:06
přepisování knihoven
BLEK. 5. 8. 2008 18:11
├ 
Re: přepisování knihoven
Milan Jurik 5. 8. 2008 21:12
│
└ 
Re: přepisování knihoven
BLEK. 6. 8. 2008 00:09
│
 
└ 
Re: přepisování knihoven
Milan Jurik 6. 8. 2008 11:42
└ 
Re: přepisování knihoven
milank 5. 8. 2008 23:29
 
└ 
Re: přepisování knihoven
BLEK. 6. 8. 2008 00:11