Mange CMS, plugins, er at deaktivere TLS-certifikat validering… og det er meget slemt

0
125

Nul

decrypted-lock.png Dennis Nicolai Andersen, ZDNet [yderligere redigeringer]

En absurd række af CMS, plugins og PHP biblioteker er deaktivering af SSL/TLS-certifikat validering på formål, og ved at gøre det, de er i færd med at millioner af internet-brugere i stor fare.

For at gøre tingene værre, at mange af disse plugins og biblioteker brugt til at oprette forbindelser til betaling udbyder servere, forbindelser, som gennem de senere sender følsomme brugerdata eller håndtere finansielle transaktioner.

Dette vigtige, men mindre kendt sikkerhedsproblem, der blev opdaget og bragt til ZDNet ‘ s opmærksomhed af Scott Arciszewski, Chief Development Officer ved Paragon Initiativ Virksomheden.

Spørgsmålet er bosat i, hvordan forfattere af CMS, plugins og PHP biblioteker er ved at konfigurere deres kode, og specielt nogle krøller valg.

cURL er en kommando-linje værktøj, der findes på alle web-hosting-servere, der bruges til at overføre data til og fra eksterne servere. cURL ‘ s brug er allestedsnærværende i web-udvikling samfund, og mange CMS, plugins og PHP biblioteker bruge det til at downloade, sende, og upload af data til eksterne servere via serverens underliggende konsol, i stedet for at åbne faktiske browser sessioner for hver forbindelse.

cURL understøtter en flok af protokoller, såsom åbning af forbindelser via HTTP, FTP, SMTP, POP3, LDAP, og meget mere.

For eksempel, når en WordPress plugin, der håndterer finansielle transaktioner “i betalingsprocessen #46,” det bruger cURL forbindelser i baggrunden til rent faktisk at uploade dine følsomme kreditkortoplysninger til betaling udbyderens servere. Dette sker som regel via cURL konfigureret en forbindelse via HTTPS, for der cURL også håndterer SSL/TLS-certifikat validering, er et afgørende skridt i at sikre, at du taler med en legitim HTTPS-server.

Men Arciszewski har for nylig opdaget, at udviklerne af mange CMS, plugins og PHP biblioteker er deaktivering cURL sikkerhed har for, når cURL bruges til at hente eller sende data via HTTPS-forbindelser, som dem ovenfor.

Dette er et stort problem, især i de tilfælde, hvor cURL er vant til at håndtere finansielle transaktioner og følsomme brugerdata.

Med disse forbindelser, der forhandles via svækket HTTPS-forbindelser er en katastrofe der venter på at ske, da det kan gøre det muligt for angribere at nemt trick hjemmesider til at downloade eller sende legitime data til skadelige servere. Fordi de to funktioner er slået fra, vises det oprindelige website, ikke udløse nogen indberetninger til enten brugere eller sites’ ejere.

De fleste udviklere er deaktivering af to vigtige cURL sikkerhedsindstillinger

Ifølge Arciszewski, dette sker på grund af to cURL indstillinger, som udviklere af CMS, plugins og PHP biblioteker deaktivere på formål.

Den første er “CURLOPT_SSL_VERIFYHOST”, som mange plugins og biblioteker sat til “false” i stedet for “sandt”.

Denne indstilling betyder, at krølle vil ikke bekræfte værten URL, som den opretter forbindelse til at hente eller overføre data. Så længe den eksterne server, der har et gyldigt certifikat, underskrevet af nogen tilfældig Certifikat Myndighed, såsom Lad os Kryptere eller Comodo, serverens URL-adresse kan være legitimate-site.com eller malicious-site.com og den hjemmeside, hvorfra den krølle anmodning stammer ikke pleje.

Den anden krølle indstilling, at mange udviklere deaktivering er “CURLOPT_SSL_VERIFYPEER”, som mange devs indstilling til “0” i stedet for den mere sikker “2” værdi.

Denne indstilling betyder, at websteder vil acceptere forbindelser til enhver tilfældig HTTPS-server, selv til dem, der bruger selvsignerede certifikater.

“Dette udsætter dig for meget trivielle man-in-the-middle-angreb,” Arciszewski sagde i en rapport offentliggjort i sidste uge.

Det er ingen lille problem, der kan ignoreres. Problemet er særdeles udbredt i PHP samfund, især.

En overfladisk GitHub søge efter den første og anden indstillinger afslører tusindvis af projekter, hvor udviklere er at deaktivere rulning i validering af certifikat, herunder i hundredvis af WordPress plugins.

En simpel løsning er nu tilgængelig

Men Arciszewski er ikke din typiske sikkerhed ekspert, der blot påpeger problemer, at fearmonger hans vej ind i en omdømme. Han tilbyder også en enkel løsning.

Som Arciszewski har påpeget i en nylig rapport, og som PHP samfund har bekræftet i Reddit diskussioner i denne uge, den vigtigste grund hvorfor så mange projekter er at deaktivere disse to cURL funktioner er fordi aktiveret, når de har tendens til at generere skræmmende sikkerheds-relaterede fejl på kundernes servere. For at undgå alarmerende deres kunder, har de fleste udviklere vælger at slå de to funktioner, mens uforvarende at vide, hvad de egentlig laver.

Årsagen til disse fejl, som Arciszewski forklarer, er at krølle behov for at kontrollere certifikater af fjernbetjeningen HTTPS-servere, mod en liste over kendte og gyldigt SSL – /TLS-certifikater.

Denne liste af autentisk Certifikat Myndigheder –organisationer har ret til at udstede SSL/TLS-cert-er til rådighed for download i mange steder.

Desværre, nogle web-hosting-tjenester må ikke gemme denne liste på alle, mens mange gemme det i forskellige server steder, hvilket gør det umuligt at konfigurere cURL indstillinger for CMS, plugins og PHP biblioteker i en universel måde, der arbejder problemfrit på alle servere.

For at løse dette problem, Arciszewski har oprettet en brugerdefineret PHP bibliotek navngivet Sikkerhed for, at downloade denne fil (cacert.pem) fra cURL hjemmeside med jævne mellemrum, og være vært for det lokalt, sikre websites altid have en up-to-date liste af gyldigt Certifikat Myndigheder.

CMS plugin, og PHP bibliotek ejere kan inkludere denne pakke i deres projekter, og aktivér derefter de to cURL indstillinger i deres projekter, uden at skulle bekymre sig om at udløse skræmme sikkerhedsadvarsler bagefter.

Sikker, en usikker indstilling inde i et bibliotek inde i et andet bibliotek, kan lyde som en ubetydelig sag, men når det usikker indstilling er brugt i hundredvis af tusindvis af projekter, der ubetydelig sag bliver en internet-problem, og fastsættelse det kræver måske noget så simpelt som at frigive bedre værktøjer.

Arciszewski, og hans selskab, Paragonie, har været kendt for at frigive en sådan “bedre værktøjer” i de seneste år, har alle open source og findes på selskabets GitHub konto.

RELATEREDE DÆKNING:

Omkring 62% af alle websteder på Internettet vil køre en ikke-understøttet version af PHP i 10 ugerGoogle lancerer reCAPTCHA v3, der registrerer dårlig trafik uden interaktion fra brugerenIETF godkender nye internet-standarder til sikker godkendelse tokensTolv ondsindede Python-biblioteker fundet og fjernet fra PyPIApple til at være vært for 2.000 gratis kodning undervisning i Europæiske butikker CNET, Hvorfor Kotlin er eksploderet i popularitet blandt de unge udviklere TechRepublicWeb-hosting-udbydere tager tre dage i gennemsnit at svare til rapporter om misbrugEfter to årtier med PHP, steder stadig afsløre følsomme oplysninger via debug modeStørstedelen af amtet valg hjemmesider i de 20 vigtigste svingstater brug non-.gov domæner

Relaterede Emner:

Open Source

Sikkerhed-TV

Data Management

CXO

Datacentre

0