I dag lever vi i en verden af usikkerhed og mangel på privatliv. Fra selve operativsystemerne og til de programmer, vi bruger hver dag, er det meget almindeligt at finde alle slags sårbarheder, der kan bringe vores sikkerhed i fare. Men hvis skyld er det, at der er sikkerhedsfejl? Fra udviklerne? Af programmeringssprog? Er der sikre og usikre programmeringssprog? Eller er begge parter virkelig skylden?
Dagens operativsystemer og programmer er virkelig komplekse projekter. Den mindste fejl eller fejl i et af de hundreder af biblioteker kan få vores program til at sætte brugerne i fare. Alle programmeringssprog er som standard sikre. Hvis vi bruger dem godt, behøver de ikke at sætte brugere i fare. Selvom der nu er der sprog meget mere tilbøjelige til fejl (på grund af uheld, kompleksitet eller mangel på sikkerhedsforanstaltninger), der kan føre til sårbarheder af alle slags.
Sikkerere programmeringssprog
Af alle de mest anvendte programmeringssprog er det med mindst sårbarheder Rubin. Dette programmeringssprog er kun påvirket af 5% af sårbarhederne. Derudover er det stort set et af de mest sikre og robuste sprog, da selv om der er rapporteret flere sårbarheder i det, er det eneste, der virkelig er bekymrende, muligheden for at udføre XSS-angreb. Hvis sikreste programmeringssprog skulle anbefales, ville dette være den ideelle til titlen.
C ++ er et andet af de programmeringssprog, der har færrest sårbarheder, som vi kan finde, med kun 6% af den sårbare kode. Det er dog ikke nøjagtigt en af de mest fejlrettede, da det har et stort antal hukommelseskorruptionsproblemer og pufferfejl, der kan føre til mere komplekse computerangreb.
Fortsætter listen med sikre programmeringssprog med færre sårbarheder, vi kommer til Python. Tidligere var dette sprog et af de værste med hensyn til sikkerhed. I de senere år har han dog forbedret sig meget og har løst de fleste af de problemer, der har påvirket ham i fortiden. Selvfølgelig har det stadig de mest kritiske sårbarheder, som vi kan finde i dag, såsom mangel på indtastningsvalidering, privilegering eskalering, informationslækage og XSS. Hvis vi ved, hvordan man programmerer i Python, kan vi have et robust program. Men hvis vi programmerer forkert, vil vi bogstaveligt talt en sil.
Og det har også særlige JavaScript nævne . Dette er også meget brugt i webudvikling og skjuler kun 11% af sårbarheder. Blandt dens vigtigste svagheder er kryptografiske problemer, som tvinger os til at bruge tredjeparts API'er til at løse dem.
Sprog med flere sårbarheder
På den anden side blandt de mest sårbare programmeringssprog er det første, vi vil finde, C. Og dette er indlysende, da det er et af de programmeringssprog, hvor der er mere skrevet kode (især gammel kode), så sandsynligheden for, at sårbarheder opdages i denne kode, er meget stor. Af de samlede fundne sårbarheder er 47% i en kode, der er skrevet på dette programmeringssprog. Der er dog kun fundet to bugs som sådan, der er specifikke for sproget, en bufferfejl og forskellige valideringsproblemer.
PHP er et af de mest anvendte sprog i webprogrammering (backend), og derfor et af de mest slående for hackere. Dette er det andet programmeringssprog med flest sårbarheder (17% af det samlede antal), og det, der er mest slående, er, at dette sprog er det eneste, der har kritiske sårbarheder såsom SQL Injection, og som også kan udnyttes gennem fra XSS. To stærkt udnyttede sårbarheder på tværs af netværket og vanskelige at udrydde.
Og selvfølgelig kunne vi ikke afslutte uden at tale om Java. Programmeringssproget til multiplatform, der blev brugt for et par år siden, er også en af de mest skjulte sårbarheder indeni på grund af dets kompleksitet. 12% af sårbarhederne findes i dette programmeringssprog, som, selvom det har mistet en hel del popularitet på det seneste, stadig er en af de grundlæggende søjler i Android.
Genbrugskode: fordel eller risiko?
I øjeblikket er det muligt at finde en stor mængde open source på platforme som GitHub. Afhængig af den licens, du har, kan denne kode frit genbruges i andre typer projekter, hvilket kan spare os meget tid, når vi udformer vores programmer. Imidlertid skjuler genanvendelse af kode en af OpenSource s største problemer : sårbarheder.
Det er meget almindeligt for alle slags udviklere, herunder store virksomheder som microsoft eller Google, for at drage fordel af åbne biblioteker for at bringe bestemte funktioner og funktioner til brugerne. Indtil videre så godt, da det desuden giver en smule gennemsigtighed for de uigennemsigtige projekter, som disse virksomheder normalt skaber. Vi skal dog huske på et meget vigtigt handicap: en sårbarhed i et open source-bibliotek vil automatisk bringe alle projekter, der bruger det i fare.
Vi har allerede set største sårbarheder (som OpenSSL), der har sat sikkerheden for tusinder af programmer og platforme over hele verden i skak. Når der opdages en sårbarhed af denne type, er det endvidere nødvendigt på den ene side, at udvikleren af det originale projekt opdaterer deres bibliotek, og på den anden side for udviklerne af de sårbare programmer at inkludere den nye version i deres program gennem en opdatering.
Genbrug af kode er en af egenskaberne ved moderne programmer og systemer. Men vi skulle aldrig have tillid til os selv, da sandsynligheden for, at en sårbarhed vises i den kode, vi har brugt, er meget højere, end hvis vi selv havde oprettet koden.