» »

Del OpenSSL bo postal LibreSSL

Del OpenSSL bo postal LibreSSL

Napadu pravijo "heartbleed", po SSL razširitvi "heartbeat", ki ga tudi omogoča.

ZDNet - Ekipa, ki razvija operacijski sistem OpenBSD, je začel ločen razvoj razvejitve iz OpenSSL (fork), ki se bo imenoval LibreSSL. Že dlje časa je znano, da je OpenSSL dokaj okoren in da vsebuje precej kode, ki so jo razvijalci že dlje časa nameravali odstraniti, pa tega niso storili. Ranljivost heartbleed, ki so jo nedavno odkrili v OpenSSL, pa je pospešila načrte o temeljiti prenovi. To so razlogi, da dobivamo LibreSSL.

LibreSSL bo tako očiščen, popravljen in bolj vitek OpenSSL, pojasnjuje Theo de Raadt, vodja projektov OpenBSD in OpenSSH (OpenSSL s temi 'open' projekti nima ničesar skupnega, razen imena). Projektu sledi tudi spletna stran OpenSSL Rampage, ki pa je niso postavili pisci LibreSSL niti OpenSSL in s projektom ni neposredno povezana.

V LibreSSL so sicer odstranili že 90.000 vrstic kode C-jevske kode, skupno pa kar 150.000 vrstic vsebine. Cilj je kodo povsem očistiti, odstraniti čim več hroščev, nejasne dodatke entropije in druge slabo dokumentirane ali slabo izvedene funkcije. Odstranili bodo tudi kodo s podporo za storitve, ki jih uporablja zelo malo ljudi (recimo podporo za Windows).

Glavna prednost OpenSSL je certifikat FIPS 140-2, a de Raadt poudarja, da velika večina uporabnikov tega ne potrebuje. Velika večina programov, ki za delovanje potrebujejo OpenSSL, v resnici kliče le njegove knjižnice API. Zato bo imel LibreSSL združljive knjižnice in vse kar potrebuje, je le da se ena velika živina odloči, da bo uporabljala LibreSSL namesto OpenSSL.

16 komentarjev

LightBit ::

PolarSSL ima vse skupaj malo več kot 50000 vrstic kode: http://www.ohloh.net/p/PolarSSL

Ziga Dolhar ::

Če prav razumem - LibreSSL ne bom mogel inštalirat na Windows strežnik?
https://dolhar.si/

pegasus ::

Če imaš WinNT 3.51 strežnik, potem verjetno res ne.

Mesar ::

Zakaj potem zavajanje? Potem takem samo starejše različice Win OSa ne bodo podprte.

>> Windows' POSIX subsystem was removed for Windows XP/2003.

Zdaj če to drži in niso komplet podpore dropnili potem ni taka sila :)
Your turn to burn!

LightBit ::

Z Cygwin bo še vedno delalo. Ne bo pa več "nativno".

kixs ::

90.000 vrstic kode C-jevske kode, skupno pa kar 150.000 znakov vsebine.


To pomeni, da je v eni vrstici povprecno 1.67 znaka ;)

Mavrik ::

Ziga Dolhar je izjavil:

Če prav razumem - LibreSSL ne bom mogel inštalirat na Windows strežnik?


LibreSSL se nikamor ne inštalira ker je knjižnica. Bodo pa morale aplikacije, ki so prevedene za Windows pač namesto OpenSSL zdaj uporabiti nativno Windows SSL knjižnico. OpenSSL se je itak zanašal na določene komponente Windows POSIX sistema in je imel malo preveč Linuxaške predispozicije okoli obnašanja POSIX klicev in so tako OpenSSL algoritmi na Windowsih bili bistveno manj varni.

LightBit je izjavil:

Z Cygwin bo še vedno delalo. Ne bo pa več "nativno".


Tega pa res nočeš za security subsystem.
The truth is rarely pure and never simple.

Zgodovina sprememb…

  • spremenil: Mavrik ()

damjanster ::

Komaj čakam, da vidim članek z naslovom "LibreLinux" v povezavi s SELinux zaščito, katere avtor je NSA. ;-)

LightBit ::

Mavrik je izjavil:

LightBit je izjavil:

Z Cygwin bo še vedno delalo. Ne bo pa več "nativno".


Tega pa res nočeš za security subsystem.


Kakšen specifičen razlog ali samo zaradi dodatne "hack" kode?

LightBit ::

damjanster je izjavil:

Komaj čakam, da vidim članek z naslovom "LibreLinux" v povezavi s SELinux zaščito, katere avtor je NSA. ;-)

Ni potrebe, SELinux se, da izklopiti med pravajanjem (in na večini distribucij tudi je). Obstajajo pa tudi alternative AppArmor, TOMOYO in SMACK.

Mavrik ::

LightBit je izjavil:

Mavrik je izjavil:

LightBit je izjavil:

Z Cygwin bo še vedno delalo. Ne bo pa več "nativno".


Tega pa res nočeš za security subsystem.


Kakšen specifičen razlog ali samo zaradi dodatne "hack" kode?


Varnostne knjižnice kot so OpenSSL delajo predpostavke okoli delovanja jedra in delovanja POSIX podsistema. Windows le-tega nima in Cygwin zna biti tudi liberalen okoli fejkanja stvari - primer: ko OpenSSL dostopa do /dev/random, potem pričakuje, da se bo obnašal po določenih kriptografskih pravilih in bo imel ustrezno entropijo. Windows /dev/random nima, ima pa svoje kriptografske primitive. Če jih Cygwin ne uporablja ampak proba njih pofejkati (ker se npr. WIndows kriptograski primitivi ne obnašajo isto... ali rabijo inicializacijo in jih OpenSSL ne bo inicializiral, ker pričakuje inicializiran /dev/random, ipd.) si potem celotno varnost spodkopal, ker si bil prelen, da bi uporabil ustrezne primitive underlying platforme. Kolikim varnostnih lukenj smo bili priča samo zato ker je bil en race condition med aplikacijami, ki so hotele dostopati do urandom? Ki niso pravilno počakale na urandom entropijo? Ki so dobile iste urandom vrednosti, ker je sistem bil inicializiran z istega začetnega stanja kot keri drugi? In to so vse napake, ki so se zgodile na Linuxu... in ni bilo vmes vmesnika, ki s prekrižanimi prsti poskuša ponarediti to obanšanje na popolnoma drugačno zasnovanem jedru.

Eno je ko imaš cross-platform knjižnico, ki je pisana tako, da ustreza varnosti na vseh platformah. Drugo pa je da porineš med varnostno knjižnico, pisano za UNIXe potem še en vmesnik in upaš, da se bo čudežno držal varnostnih predpostavk UNIX platform, ki jih dela OpenSSL.

To je tudi razlog zakaj je bila podpora za Windows z OpenSSLja odstranjena - avtorji so zaključili, da knjižnica na Windowsih preprosto ne deluje varno in je trenutn preprosto nevarno oglaševati podporo in jo pustiti noter (isto kot razni EGDji in ostalo sranje ko je gladko letelo ven). Če imaš software pač kličeš Windows SSL primitive.

Varnost je področje kjer se s poceni heki ne zajebavaš.
The truth is rarely pure and never simple.

Zgodovina sprememb…

  • spremenil: Mavrik ()

LightBit ::

No, razen /dev/(u)random ne vidim večjih problemov. To bi se dalo rešit.

Mavrik ::

To je pač veliko dela in tveganja za neumno vztrajanje na knjižnici, ko imaš ustrezne klice na voljo v lokalnem OSu.
The truth is rarely pure and never simple.

LightBit ::

To se seveda strinjam, sploh, ker OpenSSL ni ravno biser. Ampak, če je program napisan za OpenSSL to ni tako preprosto.

BTW: glede /dev/(u)random: http://www.linuxquestions.org/questions...
Če bi bil urandom enak kot random, bi bilo že kar v redu.

Afo ::

kixs je izjavil:

90.000 vrstic kode C-jevske kode, skupno pa kar 150.000 znakov vsebine.


To pomeni, da je v eni vrstici povprecno 1.67 znaka ;)

Od tega je v povprečju za 1 znak komentarja in 0.67 znaka za kodo :))
Bolje biti mlad in neumen, kot samo neumen!

LightBit ::

Prej obratno. Pa koda so sami makroti.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Začenja se revizija kode OpenSSL

Oddelek: Novice / Varnost
3312272 (8233) Poldi112
»

LibreSSL za zdaj še nevaren

Oddelek: Novice / Varnost
177027 (5641) AndrejO
»

Iz OpenSSL tudi BoringSSL

Oddelek: Novice / Varnost
156748 (5071) Looooooka
»

Dodatni razvijalci in pregled kode OpenSSL-a

Oddelek: Novice / Varnost
3013443 (11205) MrStein
»

Del OpenSSL bo postal LibreSSL

Oddelek: Novice / Varnost
168792 (7349) LightBit

Več podobnih tem