En kul detalj runt SSLeay som ju blev OpenSSL resp. RSA

2/16/2010

Det här är det nog ett försvinnande litet antal personer i världen som kommer ihåg. Dock innan 1998 - 1999 tror jag hade vi i öppenkällkod SSLeay för implementation av SSL. Den köptes dock av RSA. Givet att SSLeay var öppelkällkod fortgick projektet som nuvarande OpenSSL. Både SSLeay och OpenSSL hör det till det i särklass mest osmakliga man kan tänka sig i C - fullt ut med hundratals define, goto, labels som aldrig används... Koden går att stega ner 30 - 40 nivåer bara i define.

Saker med dessa förutom direkt SSL är SSL kräver tämligen omfattande stöd för diverse krypteringsalgoritmer, IP och TCP kommunikation o.s.v. o.s.v. Så det för den tiden var ett väldigt potent krypteringsbibliotek om än en direkt vansinnig upplevelse att arbeta med. Den där sörjan har i tidiga versioner har vi hård-kompilerat i allt möjligt varav mycket inte ens är dokumenterat.

Samma problem finns exakt lika för trädet som gick ut från RSA och jag föreställer mig att den förutom kunder som licenserade det (där egentligen bara dokumentation av funktionerna tillfördes) förutom kunder sitter i ett antal RSA produkter liksom senare bibliotek.

Det behöver i sig inte vara något säkerhetsproblem även om de faktiskt finns där då när saker ligger långt inne i annan mjukvara är det inte helt lätt att komma åt dem. Ännu mindre missbruka dem på något sätt som inte flaggar fel som plockas upp eller helt enkelt dödar noden. Har man källkoden blir det dock givetvis bra mycket lättare.

Relaterat:

OpenSSL.org
Bsafe
Google: OpenSSL + NSS och SSL i Chrome + Native Client + Ratproxy 1/13/2009
Appropå C och säkerhet 1/12/2009
Ny & Bättre Google Toolbar för Firefox + Problem i Chrome + Farlig (?) minneshantering i Vista för OpenSSL 2/10/2009

0 kommentarer

Kommentera