Aanvallers kaapten DNS van drie landendomeinen en haalden geldige certificaten op voor Google-domeinen
Aanvallers hebben de DNS-records van landendomeinen van Ghana, Amerikaans-Samoa en Sierra Leone gemanipuleerd en daarmee geldige HTTPS-certificaten bemachtigd voor domeinen die ze niet bezitten — waaronder een aantal van Google. Dat meldt BleepingComputer op basis van een verklaring van Google; The Register bericht onafhankelijk over dezelfde zaak.
Via de registry, niet via Google
De aanvallers kwamen binnen bij externe partijen die de registry's voor .gh, .as en .sl bedienen, en pasten daar de autoritatieve DNS-records aan. Google benadrukt dat zijn eigen systemen op geen enkele manier zijn geraakt, en dat in dezelfde landendomeinen ook domeinen van andere organisaties zijn gekaapt.
Waarom DNS-controle genoeg is om een certificaat te krijgen, zit in de manier waarop certificaatautoriteiten eigendom vaststellen. Die controle verloopt doorgaans via een TXT-record: de CA geeft een willekeurige waarde, de aanvrager zet die in het DNS van het domein, en wie dat kan is volgens de CA de eigenaar. Wie de autoritatieve records beheert, slaagt dus voor die test. De aanvallers lieten de gekaapte domeinen naar hun eigen infrastructuur wijzen, haalden er geldige TLS-certificaten bij op en konden zo bekende merken nabootsen met een slotje in de adresbalk.
Google ziet geen aanwijzing dat de betrokken certificaatautoriteiten verkeerd hebben gehandeld. Ze deden precies wat het protocol voorschrijft — op basis van een DNS dat niet meer van de eigenaar was.
Chrome kreeg een noodrem, andere browsers niet
Google blokkeerde de ongeautoriseerde certificaten voor zijn eigen domeinen in Chrome via CRLSets, het noodmechanisme waarmee het bedrijf snel individuele certificaten kan intrekken, en werkte met de uitgevende CA's aan revocatie. Daarna zocht Google in de Certificate Transparency-logs naar meer. Dat leverde volgens het bedrijf extra getroffen organisaties op, "waaronder enkele toonaangevende wereldwijde merken en veelgebruikte onlinediensten". Ook die certificaten zijn in Chrome geblokkeerd, en getroffen organisaties zijn waar mogelijk geïnformeerd.
Twee waarschuwingen horen daarbij. Google zegt zelf dat het door de complexiteit van DNS-kapingen niet kan garanderen dat de analyse elk getroffen domein heeft gevonden. En CRLSets werkt alleen in Chrome: gebruikers van andere browsers zijn niet automatisch beschermd. Chrome-gebruikers hoeven zelf niets te doen.
Wat domeineigenaren wél kunnen doen
Google geeft twee concrete adviezen aan organisaties die domeinen beheren.
Het eerste is de Certificate Transparency-logs in de gaten houden voor de hele domeinportfolio — expliciet inclusief geparkeerde domeinen. Dat zijn precies de domeinen waar niemand naar kijkt en waarvan een uitgegeven certificaat dus maanden onopgemerkt kan blijven.
Het tweede is restrictieve CAA-records publiceren, die vastleggen welke certificaatautoriteiten voor een domein mogen uitgeven, en desgewenst welke ACME-accounts en validatiemethoden. Google is eerlijk over de beperking: een CAA-record houdt uitgifte tijdens een actieve DNS-kaping niet tegen, want de aanvaller beheert op dat moment ook de CAA-records zelf. Het nut zit erna. Zodra de rechtmatige eigenaar het DNS terugheeft, voorkomt een CAA-record dat de aanvaller met gecachte domeinvalidatie alsnog nieuwe certificaten blijft ophalen.
Wie de aanvallers waren en hoeveel certificaten ze precies hebben verkregen, maakt Google niet bekend.