image

Verkeer Fortigate DPI-apparaten af te luisteren

maandag 5 november 2012, 09:25 door Redactie, 12 reacties

De netwerkapparatuur van beveiligingsbedrijf Fortinet, waarmee bedrijven hun netwerkverkeer kunnen monitoren, bevat op elk apparaat hetzelfde certificaat en sleutels, waardoor aanvallers al het verkeer kunnen afluisteren. Het gaat om de Fortigate Deep Pack Inspection apparaten van Fortinet. Die beschikken allemaal over een zelfgesigneerd Fortigate CA certificaat en bijbehorende privésleutel, die nu is gecompromitteerd.

Daardoor kunnen aanvallers nu zelf certificaten met de Fortigate CA signeren. Bedrijven die deze apparaten gebruiken hebben het Fortigate CA-certificaat waarschijnlijk op de browsers van de endpoints geïnstalleerd. Daardoor krijgen werknemers geen certificaatwaarschuwingen te zien en kan het bedrijf toch al het versleutelde verkeer bekijken.

Een aanvaller die een man-in-the-middle positie in het netwerk kan innemen, kan zo het gedrag van de Fortigate appliance nabootsen en al het versleutelde verkeer afluisteren of websites spoofen. Ook zou de malware kwaadaardige software kunnen signeren met de identiteit van de uitgever.

Advies
Fortinet adviseert systeembeheerders om een CA-certificaat te maken of verkrijgen waarvoor alleen zij de privésleutel hebben. Een soortgelijk probleem werd eerder bij een andere DPI-leverancier ontdekt, genaamd Cyberoam. Een paar dagen later rapporteerde Security.nl-lezer Bitwiper op het forum dat mogelijk ook Fortinet kwetsbaar was.

Het Amerikaanse Computer Emergency Readiness Team (US-CERT) heeft het probleem bevestigd en bedankt Bitwiper in de advisory.

Reacties (12)
05-11-2012, 09:34 door KorhalDragonir
Het advies om een eigen CA te maken/verkrijgen is correct. Dit wordt ook geadviseerd en geleerd tijdens de cursus van FortiNet. En het stond ook in een aantal Manuals.

Al met al als je de aangeleverde certificaten in een Security Device laat staan ben je sowieso geen goede Security Engineer. Dit is nooit een wijze beslissing vanuit beveiligingsoogpunt.

Het klopt dus wat er in dit artikel staat. Het voordeel van een Fortinet is, dat het relatief simpel is om een nieuw certificaat in te laden.
05-11-2012, 09:41 door Anoniem
Door KorhalDragonir:
Al met al als je de aangeleverde certificaten in een Security Device laat staan ben je sowieso geen goede Security Engineer. Dit is nooit een wijze beslissing vanuit beveiligingsoogpunt.

Tja - kan wel zijn dat je geen goede security engineer bent als je de default meegeleverde certificaten laat staan - maar waarom levert Fortigate dan niet default goede certificaten? Door certificaten mee te leveren vertrouwen mensen erop dat ze deze ook kunnen gebruiken. Als dat niet zo is - zet ze er dan niet in! Laat de gebruiker dan tijdens de installatie verplicht z'n eigen certificaat inzetten, dan krijg je dit gerommel achteraf ook niet...
05-11-2012, 10:03 door Anoniem
Waarom levert men standaard certificaten mee als dat onveilig is?
Een voorbeeld om mensen snel op gang te helpen lijkt me niet slim. Het zijn dan juist de ondeskundigen
die in de problemen komen. Maak er dan een knop in die voor de beginner een nieuw certificaat aanmaakt.
05-11-2012, 10:35 door Anoniem
Erger is eigenlijk dat er dus bedrijven zijn die die CA als trusted CA opgenomen hebben in de certificate store van Windows en hackers dus een certificaat kunnen maken dat door de clients als trusted gezien wordt.
05-11-2012, 11:53 door sjonniev
Zoals Bitwiper al eerder uitlegde: het meeleveren van voorgebakken sleutelparen en certificaten is een vette ontwerp- en denkfout. Helemaal voor een securitybedrijf. Laat staan identieke. Bij een goeie UTM worden ze tijdens de installatie aangemaakt.
05-11-2012, 11:56 door Bitwiper
Het grootste probleem is m.i. dat veel gebruikers het gecompromitteerde CA certificaat in de certificate store van hun webbrowser (of besturingssysteem) hebben geïmporteerd.

Als het daarbij om portable devices gaat zijn deze gebruikers ook buiten het bedrijf met de Fortigate UTM kwetsbaar, met name als zij via open WiFi hotspots htpps verbindingen opzetten. Ook zouden e-mails en software digitaal kunnen worden ondertekend met vervalste uitgever-gegevens.

Cyberroam heeft destijds voor een firmwareupdate gezorgd, maar nagelaten om kaar klanten te waarschuwen voor het risico dat eindgebruikers lopen met een gecompromitteerd CA certificaat in hun PC's. Hopelijk pakt Fortinet nu beide issues aan.

Door KorhalDragonir: Het advies om een eigen CA te maken/verkrijgen is correct. Dit wordt ook geadviseerd en geleerd tijdens de cursus van FortiNet. En het stond ook in een aantal Manuals.
Ik heb dit niet kunnen vinden in de manuals; heb je een verwijzing voor mij?

Bovendien kun je, als ik het goed begrijp, met de Fortigate zelf geen CA certificaat t.b.v. SSL inspection genereren; dat zul je bijv. met OpenSSL op de commandline moeten doen.

De praktijk is dat ik meerdere sites op internet kan vinden waarin eindgebruikers wordt gevraagd om het gecompromitteerde standaard CA certificaat (Fortinet_CA_SSLProxy.cer) te importeren in hun webbrowser. Fortinet vindt het kennelijk niet nodig om deze gebruikers te beschermen of te waarschuwen. In plaats daarvan blijft ze een gecompromitteerd CA certificaat uitleveren, waar concullega Cyberroam onder exact dezelfde omstandigheden hun fout heeft ingezien.
05-11-2012, 13:23 door AdVratPatat
Door Bitwiper: Het grootste probleem is m.i. dat veel gebruikers het gecompromitteerde CA certificaat in de certificate store van hun webbrowser (of besturingssysteem) hebben geïmporteerd.

Als het daarbij om portable devices gaat zijn deze gebruikers ook buiten het bedrijf met de Fortigate UTM kwetsbaar, met name als zij via open WiFi hotspots htpps verbindingen opzetten. Ook zouden e-mails en software digitaal kunnen worden ondertekend met vervalste uitgever-gegevens.

Cyberroam heeft destijds voor een firmwareupdate gezorgd, maar nagelaten om kaar klanten te waarschuwen voor het risico dat eindgebruikers lopen met een gecompromitteerd CA certificaat in hun PC's. Hopelijk pakt Fortinet nu beide issues aan.
Zeker als je dus bedenkt hoe deze kwetsbaarheid zich ongemerkt heeft verspreid als een inktvlek, vind ik dit echt een fantastisch stukje werk van je Bitwiper, die credits en internationale aandacht voor het probleem zijn meer dan terecht.

Chapeau!
05-11-2012, 14:16 door Anoniem
het bedrijf is Fortinet, de firewall appliance is Fortigate.
05-11-2012, 14:36 door Anoniem
In dit document staat anders duidelijk hoe FortiNet het bedoeld heeft.

http://docs.fortinet.com/cb/html/index.html#page/FOS_Cookbook/Authentication/cb_certs_untrusted.html

With FortiGate units, this message occurs for two reasons because the default certificate used by the FortiGate unit is a self-signed certificate, and because the certificate is valid only for the FortiGate unit. To be trusted, a certificate must be signed by a known certificate authority (CA) that the web browser can verify.

Ik vind dit dus geen geweldige bevinding.
Je browser waarschuwt meteen dat het om een untrusted connection gaat, en ook FortiNet geeft aan dat je een certificaat moet laten genereren door een trusted CA.

Het is ook zo dat de melding "this connection is untrusted" meteen bellen moet doen rinkelen bij een netwerkbeheerder.
Die melding komt namelijk omdat de browser ziet dat het geen trusted CA is (je browser heeft een lijst met trusted CA's).
Eigenlijk waarschuwt de browser je dus al dat je hier iets aan moet doen.
Inderdaad als je van de melding afwilt kun je het certificaat installeren, maar die waarschuwing staat daar niet voor niets.

@ redactie:

[admin] Bedankt! fixed [/admin]

Het advies van FortiNet wordt ook uit een bron gehaald neem ik aan? Ik kan over dit artikel geen offici?le reactie terugvinden. Of komt dit ook uit een doc?

[admin] Advies staat in advisory [/admin]
05-11-2012, 15:25 door sjonniev
In http://docs.fortinet.com/cb/html/index.html#page/FOS_Cookbook/Authentication/cb_certs_untrusted.html staat o.a. "Contact your ISP or other online services provider to get a trusted intermediate CA certificate for your FortiGate unit.", waaruit ook al blijkt dat ze het bij Fortigate niet helemaal begrepen hebben. Apparaten die SSL-verkeer moeten kunnen scannen spelen MITM, en die mogen niet per default vertrouwd worden. Een bedrijf dat dit soort apparaten toepast zal dus er zelf voor moeten zorgen dat dit op hun apparaten gebeurt.

Een voorbeeld: ik surf naar https://secure.security.nl, en normaal zie ik dan het certificaat getekend door Thawte. Doe ik hetzelfde via onze proxy zie ik dit certificaat getekend door de CA van onze proxy. Dit kan een subCA zijn van (een subCA van) onze bedrijfs-rootCA, maar nooit van een ISP. Dat zou veel te makkelijk zijn voor het Syrische of Iraanse regime, trouwens. Op een PC van ons bedrijf is dit CA certificaat bekend en vertrouwd, en krijg ik dus geen melding, op iedere andere PC is dit certificaat onbekend, en krijg ik een waarschuwing. Met behulp van de private key en certificaat van Fortinet kan ik een certificaat bakken dat op alle systemen vertrouwd wordt waar de Fortinet CA SSLProxy vertrouwd wordt. Dus waarschijnlijk heel veel gebruikers van zo'n apparaat.

Dus in plaats van "hoe distribueer ik het Fortinet_CA_SSLProxy certificaat" zou de vraag moeten zijn: hoe krijg ik dit stinkende lijk uit al mijn apparaten en vervangen door een betrouwbaar, eigen certificaat.
05-11-2012, 16:41 door Bitwiper
Helemaal eens met sjonniev. Geen enkele CSP (Certificate Service Provider) zal jou een sub-CA certificaat willen verkopen, want A) dat is in strijd met de afspraken zie zij met fabrikanten van webbrowsers hebben en B) je kunt dan hun broodwinning overnemen.

Door Anoniem om 14:36: Die melding komt namelijk omdat de browser ziet dat het geen trusted CA is (je browser heeft een lijst met trusted CA's).
Eigenlijk waarschuwt de browser je dus al dat je hier iets aan moet doen.
Inderdaad als je van de melding afwilt kun je het certificaat installeren, maar die waarschuwing staat daar niet voor niets.
Klopt. Echter, wat je als eigenaar van die Fortigate niet moet doen is gebruikers vragen om een CA certificaat te importeren dat in alle UTM's identiek is, en waarbij je er dus op kunt wachten tot de bijbehorende private key op internet wordt gepubliceerd. Hetgeen ondertussen dan ook is gebeurd.

Voorbeelden van organisaties waarbij gebruikers gevraagd wordt het gecompromitteerde CA certificaat te importeren zijn de Christian Academy of Knoxville (USA), Anand Agricultural University (India) en de Songshan High School of Agriculture and Industry (Taiwan), maar er zijn er meer.

In bijv. http://kb.fortinet.com/kb/viewContent.do?externalId=FD32404 lees ik NIETS over de risico's van het gebruiken van een CA certificaat waarvan de private key in vele Fortigate units is verspreid.
05-11-2012, 18:32 door Anoniem
Door sjonniev:
Een voorbeeld: ik surf naar https://secure.security.nl, en normaal zie ik dan het certificaat getekend door Thawte. Doe ik hetzelfde via onze proxy zie ik dit certificaat getekend door de CA van onze proxy. Dit kan een subCA zijn van (een subCA van) onze bedrijfs-rootCA, maar nooit van een ISP. Dat zou veel te makkelijk zijn voor het Syrische of Iraanse regime, trouwens.

Hier raak je een teer punt, want er zijn diverse regimes die een dergelijk certificaat in de lijst van vertrouwde certificaten
in de browsers hebben, en die dit dus kunnen gebruiken om mee te kijken met SSL verkeer terwijl de meeste mensen niks merken.
(o.a. het land met de meeste taps per hoofd van de bevolking)
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.