"MInnessäkra" språk

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

"MInnessäkra" språk

Inlägg av sodjan »

Intressant inlägg från NSA "National Security Agency"

https://media.defense.gov/2022/Nov/10/2 ... SAFETY.PDF

Sammanfattning på slutet:

"Memory issues in software comprise a large portion of the exploitable vulnerabilities in
existence. NSA advises organizations to consider making a strategic shift from
programming languages that provide little or no inherent memory protection, such as
C/C++, to a memory safe language when possible. Some examples of memory safe
languages are C#, Go, Java, Ruby™, and Swift®."
Användarvisningsbild
ojz0r
Inlägg: 244
Blev medlem: 14 september 2007, 19:38:04
Ort: Växjö

Re: "MInnessäkra" språk

Inlägg av ojz0r »

C/C++ för osäkert, Rust för säkert för NSA.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: "MInnessäkra" språk

Inlägg av sodjan »

Varför är Rust *för* säkert? Var nämns det?
Användarvisningsbild
ojz0r
Inlägg: 244
Blev medlem: 14 september 2007, 19:38:04
Ort: Växjö

Re: "MInnessäkra" språk

Inlägg av ojz0r »

Det var halvt sarkasm.
NSA är väl kända för att nyttja sårbarheter för att samla in data så de borde väl inte vara helt intresserade av ohackbara program?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: "MInnessäkra" språk

Inlägg av TomasL »

Jo, för egen del, naturligtvis.
Användarvisningsbild
mankan
EF Sponsor
Inlägg: 905
Blev medlem: 18 juli 2015, 11:23:22
Ort: Linköping

Re: "MInnessäkra" språk

Inlägg av mankan »

C++ har sedan C++11/14/17/20 kammat till sig rejält på den här fronten men mer jobb finns kvar. Herb Sutter tar upp detta(NSAs syn) och visar vad han har gjort de senaste 7 åren för att lösa detta, se tex https://herbsutter.com/tag/cpp2/. Efter ha jobbat en del med mer C de senaste åren så har jag kommit att uppskatta C++s konstruktorer och destruktorer desto mer. Idag finns det få användningsfall av new/delete i C++.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6887
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: "MInnessäkra" språk

Inlägg av Marta »

Var är det stora problemet? Görs en memset före free så är där inget kvarlämnat. Eller är det libs som lämnar kvar saker som andra processer kan komma åt? Hur som, inget som påverkar språkval för hobbybruk.
agehall
Inlägg: 418
Blev medlem: 12 augusti 2020, 19:27:54

Re: "MInnessäkra" språk

Inlägg av agehall »

Problemet är väl att många misslyckas med att hantera allokering och friande av minne korrekt. Jag vet inte varför det är så svårt, men det är det tydligen.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: "MInnessäkra" språk

Inlägg av sodjan »

Vad som är problemet? Det är väl uppenbart med mängden problem med kod senaste 20 åren.
De flesta buggar som har gått att utnyttja för intrång har varit just minnesrelaterade.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6887
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Re: "MInnessäkra" språk

Inlägg av Marta »

Den stora säkerhetsfaran är ständigt nya versioner och automatiska uppdateringar. Mer komplexitet och mer kod att plöja igenom med allt snabbare hårdvara är det som skapar säkerhetshål. Ännu mer invecklade språk leder bara till ännu mer komplexitet. Ännu svårare att se bristerna och att åtgärda dem.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: "MInnessäkra" språk

Inlägg av MiaM »

HOT TAKE, som kidsen säger: Pascal har rätt hyggligt skydd mot t.ex. att skriva eller läsa förbi slutet på strängar osv. :)
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45168
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: "MInnessäkra" språk

Inlägg av TomasL »

Den stora säkerhetsfaran är ständigt nya versioner och automatiska uppdateringar.
Nja, kan inte se hur det är någon större fara.
Snarare är det väl en massa sk gurus, som tar genvägar, istället för att göra jobbet riktigt.

Minnesläckor i Windows är väl i princip ett minne blott, hur där i Linux/MAC vet jag inte, men jag gissar att det är flera magnituder större.
Användarvisningsbild
pi314
Inlägg: 5674
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: "MInnessäkra" språk

Inlägg av pi314 »

Minnesläckor i Windows 10/11
Top 7 Ways to Fix Memory Leak in Windows 11
https://www.guidingtech.com/top-ways-to ... indows-11/
How To Fix Memory Leak Issue On Windows 11
https://geekermag.com/fix-memory-leak-issue-windows-11/
How To Fix File Explorer Memory Leak on Windows 11
https://wethegeek.com/how-to-fix-file-e ... indows-11/
Windows 11 memory leak problem causes File Explorer to eat RAM
https://www.techradar.com/news/windows- ... to-eat-ram

Jag använder Mac OS X dagligen. Jag kan inte minnas att jag sett en minnesläcka på mycket länge. Ett tvåsiffrigt antal år, eller mer. Linux använder jag mer sällan, men har inte haft problem med minnesläckor där heller på länge.

I viss mån beror det säkert på vad man gör och vilka program man använder, men detta är mina erfarenheter.

Mac OS X och Linux startar jag mycket sällan om. Windows startar jag om oftare. En omstart "reparerar" typiskt en minnesläcka.

Sedan är ju strängt taget möjligheten att utnyttja en minnesläcka till att göra något otillåtet något annat.

När det gäller säkerheten ska man kanske särskilja OS, programmeringsspråk och programmerares insatser?

/Pi
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: "MInnessäkra" språk

Inlägg av MiaM »

Angående åtminstone buffer overruns så verkar Linuxkärnan i stort sett köra katt-och-råtta med C-standarden. Eftersom kärnan måste kunna köra sin kod innan sånt som t.ex. filsystem osv är igång så går det inte att ha dynamiskt länkade C-bibliotek, och för att ha koll på vad för kod som kommer in i kärnan så har kärnan sin egen implementation av de funktioner som behövs. Om jag fattat rätt så har kärnan implementerat bufferstorlek-kontrollerande kopiera/jämför/flytta/fixa-dona-funktioner delvis före de blivit del av C-standarden och/eller före de blivit implementerade i C-biblioteken till GCC.
Findecanor
Inlägg: 982
Blev medlem: 2 juli 2010, 23:04:07

Re: "MInnessäkra" språk

Inlägg av Findecanor »

pi314 skrev: 14 november 2022, 09:10:59 Jag använder Mac OS X dagligen. Jag kan inte minnas att jag sett en minnesläcka på mycket länge.
Prioriteringar. Jag har hört att just Apples interna systemutvecklings-metoder ska vara ganska hårda när det gäller minnesläckor, mer än för att hitta andra slags buggar.
Skriv svar