Python är nu en topp-tre-programmering language – och Julia är på uppgång
MIT-skapat Julia programmeringsspråk fortsätter sin uppstigning i-utvecklare popularitet.
Från topp till botten, teknik är full med säkerhet fel. På den lägsta nivån, vi har hårdvaru fel, till exempel Intels Härdsmälta och Spectre fel. Strax ovanför dem, vi har programmeringsspråk säkerhetshål, och boy, vi har en hel del av dessa!
WhiteSource, ett open-source-säkerhetsföretag, gjorde nyligen en undersökning av open source säkerhetsproblem i de sju mest använda språk under det senaste decenniet. För att hitta buggar, företag används det språk security-databasen. Denna innehåller uppgifter om öppen källkod sårbarheter från flera källor som National Vulnerability Database (NVD), säkerhetsbulletiner, GitHub fråga trackers, och open-source-projekt frågan trackers.
Här är vad företaget finns i: språken är C, Java, JavaScript, Python, Ruby, PHP och C++. Det finns inga överraskningar.
Det är heller ingen överraskning att vilket språk hade de flesta säkerhetsfel. Det är C, med bred marginal. Nästan 50 procent av alla rapporterade sårbarheter i C.
Som Kees “Fall” Laga mat, Linux-kärnan säkerhet ingenjör, sade nyligen: “C är ett fint assembler. Det är nästan maskinkod.” Dessutom, “C kommer med några oroande bagage, odefinierat beteenden, och andra brister som kan leda till att säkerheten brister och sårbar infrastruktur.”
Men, WhiteSource hävdat att “Detta är inte att säga att C är mindre säker än den andra språk. Det höga antalet av öppen källkod sårbarheter i C kan förklaras av flera faktorer. Till att börja med, C har varit i bruk under längre tid än någon av de andra språk som vi forskat och har högsta volym skriven kod. Det är också ett av de språk som ligger bakom de stora infrastruktur som OpenSSL-och Linux-kärnan. Denna vinnande kombination av volym och centralitet förklarar det höga antalet av kända open-source sårbarheter i C.”
De har en poäng. Men efter att ha programmerat och kämpade med C i årtionden nu, det är verkligen alldeles för lätt att göra fruktansvärda säkerhet misstag i C. exempel: C innehåller en hel del odefinierat beteende, som lämnar alla typer av elaka möjligheter öppna.
C++, dock har den “äran” av att ha de mest höga svårighetsgrad sårbarheter under de senaste fem åren. Buffert fel, som länge har plågat C, är också nu upptäcks ofta i C++.

Siffrorna berättar inte hela historien när det gäller vilket språk som är minst eller mest säkra.
(Bild: WhiteSource)
×
language-security-bugs.jpg
Som sagt, JavaScript, kanske det mest populära språket är också den enda som såg en “kontinuerlig ökning i antalet sårbarheter under de senaste 10 åren.”
Innan man kan göra mycket kul av JavaScript, dessa resultat, WhiteSource påpekar, är vilseledande. De flesta av JavaScript Gemensamma Svaghet Uppräkning (CWE)s är på Väg Igenom och crypto säkerhetshål från JavaScript-paket, som knappt används, underhålls, eller stöds.
Så, varför är de — och andra språkliga problem-visar upp? Nya automatiserade program, såsom Källkod Verktyg för Analys, är att upptäcka sårbarheter, som annars skulle ha varit förbisedd.
Ett språk, som har visat sig bra på att hitta säkerhetsluckor, är-trumvirvel, vänligen — Python. Ja, gamla goda-ofta gjorde narr av — Python.
Nästan alla språk dela några CWEs. Två CWEs härskade och med bland de tre vanligaste 70 procent av språk: Cross-Site-Scripting (XSS), aka CWE-79 och Validering av Indata, annars känd som CWE-20.
Andra CWEs att visa upp en hel del är: Läckage av Information/ Upplysningar (CWE-200), Vägen Igenom (CWE-22), och CWE-264 Tillstånd, Behörigheter, åtkomstkontroll. Den sista är att vara fördrivna nyligen med sin mer specifika, nära släkting — Otillbörlig Access Control (CWE-284).
Men är C verkligen sämre och Python en av de bästa? WhiteSource tror att det är en alltför enkel slutsats: “Även om spelet” mitt programmeringsspråk är säkrare än din’ är verkligen ett roligt sätt att fördriva tid … att hitta svaret kommer förmodligen inte att hjälpa dig att skapa den mest innovativa eller säker programvara som finns där ute.”
Nej, istället bör du spendera din tid “att stanna på toppen av kända open-source-sårbarheter och förstå de starka och svaga punkterna i det programspråk du och ditt team använder.”
I slutet, säkerhet handlar inte om språk, men hur du använder dem.
Relaterade Artiklar:
Microsoft: 70 procent av alla säkerhetsrelaterade buggar minne säkerhet issuesGoogle öppna källor för sandbox C/C++ – bibliotek på LinuxGitHub: Vårt beroende scan har hittat fyra miljoner säkerheten brister i offentliga repor
Relaterade Ämnen:
Öppen Källkod
Säkerhet-TV
Hantering Av Data
CXO
Datacenter