Meerdere onderzoekers, waaronder de Amerikaanse cryptograaf Matthew Green, hebben kwetsbare implementaties ontdekt van een random number generator, Ansi X9.31. Deze komen voor in het FortiOS-besturingssysteem van fabrikant Fortinet.
De onderzoekers presenteren hun bevindingen in een paper en, licht ironisch, in de vorm van een speciale site met eigen logo en naam. Daarnaast heeft Green een eigen blogpost gepubliceerd. Daarin legt hij uit dat rng's in cryptografie worden gebruikt om willekeurige getallen te genereren. In het geval van X9.31, die tot 2016 door de Amerikaanse overheid was goedgekeurd via haar FIPS-programma, wordt daarbij gebruikgemaakt van een veranderende state value en een vaste sleutel. In 1998 bleek al dat dit een kwetsbaarheid is als de aanvaller achter deze sleutel komt.
Door een groot aantal implementaties van de rng door te lichten, kwamen de onderzoekers erachter dat onder meer Fortigate gebruikmaakt van een voorgeprogrammeerde sleutel, oftewel seed key. Een aanvaller kan deze uit de desbetreffende firmware halen en daarmee een aanval uitvoeren op vpn- en tls-verkeer. Zo is decryptie mogelijk voor een passieve aanvaller die het netwerkverkeer kan observeren en een timestamp kan bruteforcen met 224 pogingen. Dat duurt ongeveer vier minuten op een normale pc.
De onderzoekers schatten op basis van een internetscan dat ongeveer 25.000 apparaten van de fabrikant hierdoor getroffen zijn met versies 4.3.0. tot 4.3.18 van FortiOS. De fabrikant kwam in november van vorig jaar met een veiligheidsupdate. Hoewel het volgens de auteurs van de paper om oudere apparaten gaat, blijkt uit de aantallen dat deze alsnog in gebruik zijn.
Doordat de rng sinds 2011 de status deprecated had en in januari van de FIPS-lijst is afgehaald, lijken de gevolgen van de ontdekking te overzien, aangezien veel fabrikanten inmiddels updates hebben uitgebracht. De gepubliceerde aanval, die de naam DUHK heeft gekregen, is volgens de onderzoekers 'het gevolg van het falen van het federale standaardisatieproces voor cryptografie'. Zo benoemt geen van de beschrijvingen van het algoritme dat de seed key niet door de aanvaller te achterhalen mag zijn. Er zouden geen aanwijzingen zijn dat het lek, met kenmerk CVE-2016-8492, actief wordt misbruikt.