Programmering

VeraCrypt løser fejl, der er afdækket i sikkerhedsrevision

Sikkerhedsforskere har afsluttet Open Source Technology Improvement Fund-støttet revision af krypteringsplatformen VeraCrypt og fundet otte kritiske, tre mellemstore og 15 sværhedsgrader med lav sværhedsgrad. Holdet bag det populære værktøj behandlede revisionsresultaterne i VeraCrypt 1.19. Sådan skal sikkerhedsrevisioner fungere.

OSTIF sagde, at VeraCrypt 1.9 er sikkert, fordi de fleste af manglerne er blevet løst. Nogle sårbarheder blev ikke behandlet i denne version på grund af den "høje kompleksitet for de foreslåede rettelser", men der findes løsninger på dem.

"Så længe du følger dokumentationen for kendte problemer og bruger den som anbefalet, tror jeg [VeraCrypt 1.9] er et af de bedste FDE [fuld-disk kryptering] systemer derude," sagde Derek Zimmer, OSTIF CEO og præsident, i en Ask-Me-Anything Q&A på Reddit. Zimmer er også en partner med den virtuelle private netværkstjenesteudbyder VikingVPN.

OSTIF hyrede Quarkslab senior sikkerhedsforsker Jean-Baptiste Bédrune og senior kryptograf Marion Videau til at kontrollere VeraCrypt codebase med fokus på version 1.18 og DCS EFI Bootloader. Revisionen fokuserede på nye sikkerhedsfunktioner, der blev introduceret i VeraCrypt efter sikkerhedsrevisionen af ​​TrueCrypt i april 2015. VeraCrypt er gaffelen i det nu forladte krypteringsværktøj og er bagudkompatibel.

Fire problemer i bootloaderen - tastetryk, der ikke slettes efter godkendelse, følsomme data, der ikke er slettet korrekt, hukommelseskorruption og nul / dårlige markørreferencer - blev fundet i revisionen og fikset i version 1.19.

En fejl med opstartsadgangskode med lav sværhedsgrad, hvor adgangskodelængden kunne bestemmes, blev også behandlet. Selvom selve informationslækagen ikke er kritisk, da systemet skal startes, og der kræves privilegeret adgang til at læse BIOS-hukommelse, skal sårbarheden løses, fordi en angriber, der kender længden af ​​adgangskoden, vil fremskynde den tid, der kræves til brutal styrke angreb, sagde revisionen.

VeraCrypt var afhængig af kompressionsfunktioner til at dekomprimere bootloaderen, når harddisken er krypteret, for at oprette og kontrollere gendannelsesdiskene, hvis systemet er krypteret og bruger UEFI og under installationen. Revisionen viste, at alle kompressionsfunktioner havde problemer.

VeraCrypt brugte XZip og XUnzip, som havde kendte sårbarheder og var forældede. "Vi anbefaler kraftigt at enten omskrive dette bibliotek og bruge en opdateret version af zlib eller helst bruge en anden komponent til at håndtere Zip-filer," sagde revisorerne. VeraCrypt 1.19 erstattede de sårbare biblioteker med libzip, et moderne og mere sikkert zip-bibliotek.

UEFI er en af ​​de vigtigste - og nyeste - funktioner, der er føjet til VeraCrypt, så revisorerne lægger ekstra vægt på denne del af koden. Al kode, der er specifik for UEFI, findes i VeraCrypt-DCS-arkivet og blev "betragtet som meget mindre moden end resten af ​​projektet" af VeraCrypt's hovedudvikler, skrev forskerne i revisionsrapporten. "Nogle dele er ufuldstændige eller slet ikke ufuldstændige."

I revisionsoversigten skrev OSTIF, at "VeraCrypt er meget sikrere efter denne revision, og de rettelser, der er anvendt på softwaren, betyder, at verden er mere sikker, når man bruger denne software."

Som et resultat af revisionen dumpede VeraCrypt GOST 28147-89 symmetrisk blokciffer, oprindeligt tilføjet i VeraCrypt 1.17 på grund af fejl i, hvordan den blev implementeret. GOST 28147-89 kryptering var et sovjetisk udviklet alternativ til DES designet til at styrke algoritmen. Revisionen fandt, at alle komprimeringsbiblioteker blev betragtet som forældede eller dårligt skrevet. Implementeringen "kom ikke til kort", sagde Zimmer i Reddit AMA.

I version 1.9 kan brugere dekryptere eksisterende diskenheder, der brugte chifferet, men kan ikke oprette nye forekomster.

Brugere, der brugte GOST-chiffer, der blev fjernet som en del af revisionen, skulle kryptere gamle partitioner ved hjælp af den nyeste version. Brugere skal også kryptere på alle krypteringssystemer med fuld disk, da en række problemer med bootloaderen er løst. Enhver, der brugte versioner før 1.18, skal kryptere partitioner igen på grund af fejlen relateret til opdagelsen af ​​skjulte partitioner.

VeraCrypt er en fork af TrueCrypt, som udviklere pludselig lukkede ned i maj 2014 og antydede uspecificerede sikkerhedsproblemer. Der var bekymring for, at platformen havde en bagdør eller en anden fejl, der kompromitterede værktøjet. Revisionen var nødvendig for at vurdere platformens samlede sikkerhed.

OSTIF sagde, at TrueCrypt 7.1a ikke længere skulle betragtes som sikkert, fordi det ikke længere er under aktiv vedligeholdelse, og det er påvirket af bootloader-spørgsmål, der er afsløret i revisionen. Revisionsrapporten foreslog imidlertid også, at svaghederne i TrueCrypt 7.1a ikke påvirker sikkerheden for containere og ikke-systemdrev.

Det er let at afvise VeraCrypt som værende usikker på grund af de afdækkede problemer, men det ignorerer hele værdien af ​​at have en revision. Hvis revisionen havde afdækket problemer, og holdet havde nægtet at løse problemerne eller ikke reagerede på anmodninger fra revisorerne, ville det give anledning til bekymring. I dette tilfælde afsluttede Quarkslab revisionen på en måned, og vedligeholdere løste et betydeligt antal af problemerne og dokumenterede detaljeret, hvordan de skulle håndtere de andre problemer, der ikke var blevet behandlet. Ja, revisorerne fandt nogle tvivlsomme beslutninger og fejl, der ikke skulle have været taget i første omgang, men der var ingen problematiske bagdøre eller sårbarheder, der kompromitterer integriteten af ​​krypteringsværktøjet til fuld disk.

Arten af ​​open source-udvikling betyder, at kildekoden er tilgængelig for alle, der kan undersøge dem. Men som det gentagne gange er blevet vist i de sidste par år, er det meget få udviklere, der aktivt leder efter sikkerhedsfejl. Dette er grunden til, på trods af "mange øjenkugler" -tilgang, hængte Heartbleed og Shellshock og andre kritiske sårbarheder i OpenSSL i årevis, før de blev opdaget.

Med en revision undersøger fagfolk hver linje i open source-softwarens kildekode for at verificere kodens integritet, afdække sikkerhedsfejl og bagdøre og arbejde sammen med projektet for at løse så mange problemer som muligt. Revisionen er typisk dyr - den private søgemaskine DuckDuckGo og den virtuelle private netværkstjeneste Viking VPN var de primære donorer til OSTIF til denne revision - hvorfor revisioner ikke er mere almindelige. Da mange kommercielle produkter og andre open source-projekter er stærkt afhængige af en håndfuld open source-projekter, bliver revisioner i stigende grad vigtige.

Når VeraCrypt-revisionen er afsluttet, ser OSTIF fremad til revisioner af OpenVPN 2.4. GnuPG, Off-the-Record og OpenSSL er også på køreplanen. Linux Foundation's Core Infrastructure Initiative havde udtalt planer for en offentlig revision af OpenSSL med NCC Group, men status for dette projekt er i øjeblikket uklar.

"Jeg ville ønske, at vi bare kunne ramme hvert projekt, som alle kan lide, og min liste ville være enorm, men vi har begrænsede ressourcer at arbejde med, og det er langt størstedelen af ​​vores arbejde at sikre finansiering lige nu," skrev Zimmer og bemærkede, at OSTIF fokuserer. på et "lovende" projekt inden for hvert kryptografiområde.