Taggat med: IT-säkerhetsgranskning

NSA rekommenderar minnes-säkra programspråk

NSA rekommenderar minnes-säkra programspråk

Den amerikanska säkerhetsmyndigheten NSA har gått ut och varnat för programspråk som ej är minnes-säkra såsom C och rekommenderar en övergång till språk såsom C#, Go, Java, Ruby, Rust och Swift. Men bara för att man väljer ett programspråk som är minnes-säkert så betyder det inte per automatik att säkerhetsbrister inte kan uppstå, vilket också NSA framhäver. Även så kan språk såsom listade ovan anropa bibliotek som ej är minnes-säkra.

Även kan dessa programspråk leda till sämre prestanda på grund av funktioner såsom garbage collection (GC).

NSA rekommenderar att använda flertalet verktyg som utför SAST och DAST, dvs statisk och dynamisk applikationssäkerhetstestning. För att fånga upp bl.a. säkerhetsbrister och minnesproblem. En annan sak som framgår är även betydelsen av att använda anti-exploitfunktioner såsom Control Flow Guard (CFG), Address Space Layout Randomization (ASLR) och Data Execution Prevention (DEP).

Att just NSA går ut med dessa rekommendationer kommer inte direkt som någon nyhet eftersom säkerhetskritiska projekt såsom Tor har valt att bygga en ny implementation (Arti) helt i Rust. Programspråket C var ett givet val 2001 när utvecklingen av Tor påbörjades.

Genom att använda programspråk som C#, Go, Java, Ruby eller Rust så kan nästan hela buggklasser elimineras. Matt Miller på Microsoft berättade vid BlueHat-konferensen 2019 att mellan åren 2006 till 2018 berodde 70% av deras sårbarheter på minnessäkerhetsproblem. Google hittade också en liknande procentandel av minnessäkerhetssårbarheter under flera år i Chrome.

Bild från Microsofts presentation (länkad ovan)

% of memory safety vs. non
memory safety CVEs by patch year

Det ska vara kostsamt för angripare att identifiera och utnyttja säkerhetsbrister. För utvecklare ska det vara enkelt att göra rätt och verktyg ska finnas för att varna eller göra det omöjligt att göra säkerhetsfel.

Här kan du ladda hem PDF:en från NSA:

NSA - Software Memory Safety.png

Cure53 granskar cURL

curlTyska IT-säkerhetsföretaget Cure53 har nu släppt en rapport gällande granskning av cURL. Granskningen sponsrades av Mozillas Secure Open Source och identifierade 23 säkerhetsrelaterade problem i källkoden.

Koden granskades av fem personer under 20 dagar samt så var fokus på cURL version 7.50.1. Av dessa 23 identifierade problem så var 9 st klassade som sårbarheter och 14 st som generella svagheter.

Fyra sårbarheter kan troligtvis leda till RCE (Remote Code Execution). Men du kan dock vara lugn för samtliga dessa rapporterade brister har åtgärdats den 2:a November och en uppgradering 7.71.0 löser problemen.

För mer information se curls säkerhetssida här:

Eller loggen för åtgärder som finnes på Google Docs.

Samt så kan du ladda hem Cure53:s rapport som PDF i sin helhet här nedan. Som vanligt så är det alltid intressant att läsa andras granskningar och således själv lära och bli en bättre granskare.

Cure53 granskning av cURL