Spring til indhold

OpenSSL

Fra Wikipedia, den frie encyklopædi
OpenSSL
Udvikler(e)The OpenSSL Project
Stabil version3.3.2 (2024-09-03)
Skrevet iC, assembler
OperativsystemMulti-platform
PlatformMulti-platform
TypeSikkerhedsprogrambibliotek
LicensApache-licens 1.0 og 4-klausulers BSD-licens
Hjemmesidehttps://www.openssl.org

OpenSSL er en open-source implementering af SSL- og TLS-protokollerne. Kernefunktionaliteten er skrevet i C, og implementerer basale kryptografiske funktioner og stiller forskellige hjælpefunktioner til rådighed. Der eksisterer "wrappere" der muliggør brug af OpenSSL, i et hav af andre programmeringssprog.

Der findes versioner til de fleste Unix-lignende operativsystemer (herunder Solaris, Linux, Mac OS X og de forskellige open source BSD operativsystemer), OpenVMS og Microsoft Windows. IBM leverer en porteret version til System i (OS/400). OpenSSL er baseret på SSLeay af Eric A. Young og Tim Hudson, udviklingen af denne stoppede officielt omkring december 1998, da Young og Hudson begge begyndte at arbejde for RSA Security.

OpenSSL har en "dobbelt-licens", under OpenSSL-licens og SSLeay-licens.[1] OpenSSL-licensen er en Apache-licens 1.0 og SSLeay-licensen er en 4-klausuls BSD-licens. Den normale betydning af betegnelsen dobbelt-licens er at brugeren frit kan vælge den licens han ønsker at anvende. Men OpenSSL dokumentationen bruger betegnelsen dobbelt-licens i betydningen at begge licenser gælder.

Da OpenSSL-licensen er en Apache-licens 1.0, og ikke en Apache-licens 2.0, kræver den at sætningen 'This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/) (Webside ikke længere tilgængelig) optræder i marketingmateriale og i enhver distribution (Afsnit 3 og 6 i OpenSSL-licensen). Pga. denne begrænsning, er OpenSSL-licensen og Apache-licensen inkompatible med GPLen.[2] Nogle GPL udviklere har tilføjet en OpenSSL undtagelse til deres licenser alene for at tillade at OpenSSL kan blive brugt med deres system. GNU Wget og climm bruger begge sådanne undtagelser.[3][4] Nogle pakker (som Deluge) har specifikt modificeret GPL-licensen ved at tilføje et ekstra afsnit i starten af licensen der dokumenterer undtagelsen.[5] Andre pakker bruger den LGPL licenserede GnuTLS som udfører den samme opgave.

Velkendte sårbarheder

[redigér | rediger kildetekst]

Sårbarhed i Debian implementeringen

[redigér | rediger kildetekst]

For at undgå visning af en fejl i Valgrind analyseværktøjet havde en vedligeholder af Debian distributionen anvendt en patch i Debian implementeringen af OpenSSL pakken, som utilsigtet kom til at bryde dens tilfældighedsgenerator. Den defekte version blev inkluderet i Debian udgaven fra 17. september 2006 (version 0.9.8c-1). Enhver nøgle dannet med den defekte tilfældighedsgenerator, og data krypteret med sådan en nøgle, blev kompromitteret. Fejlen blev rapporteret af Debian den 13. maj 2008.[6]

I Debian 4.0 distributionen (etch), blev disse problemer løst i version 0.9.8c-4etch3 og for Debian 5.0 distributionen (lenny), blev disse problemer læst i version 0.9.8g-9.[6]

Heartbleed-bug

[redigér | rediger kildetekst]
Hovedartikel: Heartbleed-bug.
Logo for Heartbleed fejlen

Den 7. april 2014, blev det annonceret at OpenSSL 1.0.2-beta samt alle versioner af OpenSSL i 1.0.1 serien, bortset fra 1.0.1g, havde en alvorlig hukommelseshåndteringsfejl i deres implementering af TLS Heartbeat udvidelsen.[7] Denne defekt kunne blive brugt til at afsløre op til 64 kilobyte af applikationshukommelsen med hvert eneste heartbeat.[8] Dens CVE nummer er CVE-2014-0160.[9]

Sårbarheden har eksisteret siden 31. december 2011, og den sårbare kode er blevet meget udbredt med udgivelsen af OpenSSL version 1.0.1 den 14. marts 2012.[10][11] Ved at læse hukommelsen på webserveren, kan angribere få adgang til følsomme data, og dermed kompromittere serverens og dens brugeres sikkerhed. Potentielt sårbare sikre data omfatter serverens private master key,[10] hvilket gør det muligt for angribere at bryde krypteringen af tidligere aflyttet kommunikation med serveren og dermed implementere et man-in-the-middle angreb.

Sårbarheden kan måske også afsløre ikke-krypterede dele af brugeres følsomme forespørgsler og svar, herunder cookies og kodeord, hvilket måske kan gøre det muligt for angribere at overtage identiten af en anden bruger af tjenesten.[12] Ved afsløringen blev det vurderet at ca. 17% eller en halv million af Internettets sikre webserverere certificeret af certifikatudstedere var følsomme over for angrebet.[13][14][15]

Der er etableret en dedikeret webside The Heartbleed Bug Arkiveret 7. april 2014 hos Wayback Machine der giver et overblik over fejlen samt anvisninger på tiltag.[16] Det danske teknologisite Version2 har også en oversigt.[17]

  1. ^ "OpenSSL: Source, License". openssl.org.
  2. ^ "Licenses – Free Software Foundation". fsf.org.
  3. ^ "WGET 1.10.2 for Windows (win32)". users.ugent.be. Arkiveret fra originalen 2. januar 2008. Hentet 9. april 2014.
  4. ^ "Releases of source and binaries". climm.org. Arkiveret fra originalen 12. februar 2011. Hentet 2010-11-30.
  5. ^ "Deluge LICENSE file". deluge-torrent.org. Hentet 2013-01-24.
  6. ^ a b "DSA-1571-1 openssl – predictable random number generator". Debian. 2008-05-13. Hentet 2012-12-03.
  7. ^ Seggelmann, R.; et al. (februar 2012). "Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension". RFC 6520. Internet Engineering Task Force (IETF). Hentet 2014-04-08. {{cite web}}: Eksplicit brug af et al. i: |author= (hjælp); Ekstern henvisning i |work= (hjælp)
  8. ^ OpenSSL (2014-04-07). "TSL heartbeat read overrun (CVE-2014-0160)". Arkiveret fra originalen 8. april 2014. Hentet 2014-04-08.
  9. ^ CVE - CVE-2014-0160
  10. ^ a b Codenomicon Ltd (2014-04-08). "Heartbleed Bug". Arkiveret fra originalen 7. april 2014. Hentet 2014-04-08.
  11. ^ Goodin, Dan (2014-04-08). "Critical crypto bug in OpenSSL opens two-thirds of the Web to eavesdropping". Ars Technica. Hentet 2014-04-08.
  12. ^ "Why Heartbleed is dangerous? Exploiting CVE-2014-0160". IPSec.pl. 2014. Arkiveret fra originalen 8. april 2014. Hentet 9. april 2014.
  13. ^ Mutton, Paul (2014-04-08). "Half a million widely trusted websites vulnerable to Heartbleed bug". Netcraft Ltd. Hentet 2014-04-08.
  14. ^ Rühne, Frederik Høj (2014-04-10). "Hul i OpenSSL: En halv million hjemmesider er sikkerhedsudsat". Version2. Hentet 2014-04-10.
  15. ^ Møllerhøj, Jakob (2014-04-09). "Ekspert om omfattende SSL-sårbarhed: Derfor skal du skifte alle dine kodeord". Version2. Hentet 2014-04-10.
  16. ^ "The Heartbleed Bug". 2014-04-07. Arkiveret fra originalen 7. april 2014. Hentet 2014-04-09.
  17. ^ Kramshøj, Henrik (2014-04-08). "Opdater OpenSSL - og dit OS nu". Version2. Hentet 2014-04-10.

Eksterne henvisninger

[redigér | rediger kildetekst]
Spire
Denne artikel om software og programmering er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den.