GoDaddy[ref]GoDaddy – Companie de găzduire și înregitrare domenii. În ianuarie 2016 a a avut mai mult de 61 de milioane de nume de domenii aflate în administrare, ceea ce îl face cel mai mare registrator acreditat de ICANN din lume. [/ref] a revocat aproape 9.000 de certificate SSL în această săptămână care tocmai s-a terminat după ce a aflat că sistemul său de validare domeniu a avut un bug serios pentru ultimele cinci luni.
Bug-ul a fost rezultatul unui change[ref]Change – Schimbare într-un mediu care afectează la o scară largă mai multe medii (uman, informatic, financiar, etc.)[/ref] a codului făcut la data de 29 iulie în sistemul utilizat pentru validarea proprietății asupra domeniului înainte de a se emite un certificat. Ca rezultat al acestui change eșuat, sistemul ar fi validat anumite domenii în situația în care nu ar fi trebuit s-o facă.
Normele industriei cer ca Autoritatea de Certificare (CA)[ref]CA – În criptografie, o autoritate de certificare este o entitate care emite certificate digitale. Un certificat digital certifică dreptul de proprietate al unei chei publice de către subiectul numit al certificatului.[/ref] să verifice faptul că persoana care cere un certifical SSL are și acces la domeniul pentru care dorește acest certificat.
Această validare se face automat prin mai multe metode. În cazul GoDaddy, compania a cerut solicitanților să plaseze un fișier alfanumeric aleator unic de tip *.html în directorul rădăcină al serverului web (/public-html/).
Cum funcționează validarea certificatului SSL de la GoDaddy?
Până la momentul change-ului care a cauzat vulnerabilitatea, validarea se făcea în mod automat prin acel fișier *.html accesând site-ul fie prin HTTP sau HTTPS. În cazul în care serverul de răspundea cu codul de status HTTP 200 (succes), validarea se făcea prin codul din body-ul fișierului.
Descrierea și impactul bug-ului
Bug-ul forța sistemul să ignore codul de status HTTP, deoarece multe servere web sunt configurate pentru a returna URL-ul cerut inițial în interiorul unui template de tip Error 404 iar apoi valida certificatul chiar dacă codul din body-ul documentului *.html era greșit, sau, fișierul lipsea cu desăvârșire.
Acest bug a impact aproape 2% din clienții GoDaddy și anume un număr de 6100 de clienți. Ca și remediere a situației, cei de la GoDaddy au revocat un număr de 8951 de certificate pentru care re-validarea nu a putut fi posibilă. Clienții vor fi primi un alt certificat SSL, gratuit, dezavantajul fiind ca fiecare dintre ei vor trebui să re-inițieze procesul de validare al certificatului SSL.
Situația a fost inițial raportată celor de la GoDaddy de către Microsoft, unul dintre distribuitorii săi, care au aflat despre ea de la unul dintre proprii săi clienți.
Chiar și dacă acest bug nu s-ar fi întâmplat, modul de validare al certificatelor SSL al celor de la GoDaddy nu era cel mai bun, deoarece unele domenii sunt setate să trimită codul de status HTTP 200 (succes) și pentru adresele inexistente ale acelui site. Miercuri cei de la GoDaddy au decis să anuleze această metodă de validare a certificatului HTTPS; rămâne totuși întrebarea câti alți Autorități de Certificare (CA) folosesc aceeași metodă de validare.