Taggat med: LibreSSL

Kommande kritisk sårbarhet i OpenSSL

OpenSSL-teamet har gått ut med förhandsinformation gällande en ny sårbarhet som uppdagats i kryptobiblioteket OpenSSL. Information och en ny version av OpenSSL-biblioteket kommer att släppas den 1:a November någon gång mellan klockan 13 och 17:00 UTC.

Den nya versionen har nummer 3.0.7 och åtgärden klassas som KRITISK. Och enligt OpenSSL-projektets policy så innebär KRITISK att det är en sårbarhet som enkelt kan utnyttjas via internet och kan ge möjlighet att läsa minne eller godtycklig exekvering av kod.

Det är oklart i dagsläget huruvida andra forkar av OpenSSL påverkas såsom LibreSSL och BoringSSL. Viktigt är också att OpenSSL 1.1.x inte är drabbad av denna sårbarhet.

Vi får hoppas att detta inte blir en ny Heartbleed. Men OpenSSL är en viktig del av otroligt många produkter, system osv så oavsett vad som händer på tisdag den 1:a november så kommer det att komma många uppdateringar till diverse system och produkter.

Bugbounties är en av flera metoder att öka säkerheten i opensource-mjukvaror och Google betalar ut pengar till den som hittar buggar i OpenSSL sedan 2013.

Uppdatering: Även om OpenSSL 1.x är den vanligare versionen där ute så finns OpenSSL 3.x på rätt många ställen, bl.a. så skeppar Red Hat Enterprise Linux 9.x och Ubuntu 22.04 med OpenSSL 3.x som är sårbar.

Uppdatering 2: Lista med mjukvara som är berörd av patchen: https://github.com/NCSC-NL/OpenSSL-2022/blob/main/software/README.md

Test av nya OpenBSD 6.1

Ett av världens kanske säkraste operativsystem är nu ute i en ny version. Det handlar så klart om OpenBSD och den nya versionen som har fått versionsnummer 6.1:

We are pleased to announce the official release of OpenBSD 6.1.
This is our 42nd release. We remain proud of OpenBSD’s record of more than twenty years with only two remote holes in the default install.

Denna nya version innehåller ett antal höjdpunkter som är enligt följande:

  • syspatch för enkel binärpatchning av i386 samt amd64-system. Laddar hem och installerar nya säkerhetsfixar.
  • acme-client för den som vill skapa Let’s Encrypt SSL-certifikat.
  • xenodm som är en ny standard display manager
  • Libressl samt OpenSSH som innehåller mängder med förbättringar och säkerhetsuppdateringar.
  • Det är nu möjligt att köra Linux under virtualiseringsmotorn vmm/vmd som följer med som standard i OpenBSD
  • Förbättrat stöd för trådlösa nätverkskort (802.11)

Att ladda hem och installera OpenBSD går snabbt och smidigt. ISO-filen är enbart 200 MB och själva installationen tar max 5 minuter för den som är någorlunda ninja på BSD:

Sedan när systemet är installerat och Chromium installerat så testar jag att surfa in till kryptera.se.

Givetvis fungerar även doas (istället för sudo), figlet, xeyes och xlogo tillfredsställande:

OpenBSD 6.1 skärmdump
OpenBSD 6.1 skärmdump

Jag har även tidigare testat OpenBSD, läs mer här:

Test av supersäkra operativsystemet OpenBSD

OpenBSD 5.9

Skärmdump från OpenBSD 5.9

För några dagar sedan så släpptes en ny version av det säkra operativsystemet OpenBSD. Denna nya 5.9-version har en ett antal intressanta nya säkerhetsfunktioner såsom pledge. Pledge är en ny typ av sandlåde-liknande funktionalitet som begränsar vad enskilda program får och inte får göra.

Pledge är enkelt att implementera i sitt program och följer ett regelverk som berättar om programmet får öppna nätverkskommunikation, skriva/läsa filer osv. Kontrollen sker sedan i kerneln att programmet håller sig inom ramarna.

Viktigt att notera är också att den nya pledge-funktionen inte är någon silverkula som löser alla problem. Men som många andra saker som OpenBSD tar till sig så höjer det säkerheten i det stora hela tillsammans med tekniker såsom W^X, ASLR och ProPolice.

För att demonstrera hur enkelt det är så titta på följande kodrader som begränsar vad kommandot ping får göra:

if (options & F_NUMERIC) {
  if (pledge("stdio inet", NULL) == -1)
     err(1, "pledge");
 } else {
  if (pledge("stdio inet dns", NULL) == -1)
     err(1, "pledge");
 }

Första argumentet till pledge()-anropet är en lista med tillåta anrop, se man-sidan för mer info om dessa:

  • OpenBSD 59 drwxorxstdio – Grundläggande systemanrop (syscalls) tillåts. Såsom close, dup, mmap, pipe osv.
  • inet – Tillåter nätverkskommunikation med anrop såsom socket, listen, bind, getpeername.
  • dns – Tämligen självförklarande. behövs enbart om användaren ej specificerar argumentet -n

Det var väl enkelt? Än så länge använder sig 453 av 707 program pledge, av OpenBSD:s grundinstallerade program. Även så använder sig använder 14 st externa program av pledge såsom mutt, chrome och i3.

Kan även rekommendera följande presentation av Theo de Raadt som förklarar pledge närmare: openbsd.org/papers/hackfest2015-pledge/

Jag testar OpenBSD under VirtualBox och det tar under 10 minuter att ladda hem samt komma igång med operativsystemet. Installationsförfarandet har blivit avsevärt mycket smidigare på senare år med exempelvis automatiskt partitionslayout.

Här kan du ladda hem install59.iso som du bränner ut eller startar upp din virtuella maskin med: ftp.eu.openbsd.org/pub/OpenBSD/5.9/i386/install59.iso

Jag har även skrivit tidigare om att OpenBSD ersatt sudo med doas, läs här.

Andra intressanta funktioner i denna nya 5.9-version är:

  • ESP i IPSec stödjer Chacha20-Poly1305
  • W^X är nu helt forcerat i i386-kerneln
  • Säkerhetsfixar till LibreSSL, OpenSSH och OpenSMTPD
  • Miljövariabeln HOSTALIASES är borttaget från libc som säkerhetsåtgärd
  • Xen domU stöd så att OpenBSD lirar på Amazon EC2

Avslutningsvis så kan följande bild representera OpenBSD-utvecklarnas arbete med pledge (enligt Theo de Raadt själv):

pledge theo de raadt