Simovits

Häftiga säkerhetsfunktioner och tråkig bokföring

I förra veckan blev ett antal hemsidor knutna till brittiska statsapparaten otillgängliga för användare av Internet Explorer och Microsoft Edge. Exempel på drabbade sidor var intranät samt hemsidor för mindre orter, som exempelvis de officiella hemsidorna för städerna Doncaster och Reading.  Gemensamt för alla de drabbade sidorna var att de använde sig av de okrypterade protokollet http. Otillgängligheten berodde dock inte på ett externt IT-angrepp utan på en uppdatering från Microsoft, [1].

En del i Microsofts uppdatering var att gov.uk och alla dess underdomäner lagts till i den så kallade Preload-listan för HSTS i Internet Explorer och Microsoft Edge. För den oinvigde innebär detta att alla sidor på formen hemsida.gov.uk blev nåbara enbart över protokollet https. Allmänt är detta en stor fördel säkerhetsmässigt eftersom det förhindrar att potentiellt känslig data skickas okrypterat över nätverk till följd av till exempel nedgraderingsangrepp, som SLL Strip, [3]. Aktiverar man inställningen för sidor som enbart nås via http blir dock istället funktionen ett mycket effektivt denial-of-service-angrepp på samma sidor. 

En tänkbar förklaring för vad som hände de brittiska sidorna är att man aktiverat vad som allmänt rekommenderas, utan hänsyn till om verksamheten har förutsättningarna att leva upp till detta. För HSTS är rekommendationen från OWASP att konfigurera följande header på sina webbservrar, [4]:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Innebörden i de tre värdena i headern är följande:

För att värdet preload ska fungera som avsetts behöver dock domänen registreras på https://hstspreload.org. Därefter läggs den till i de inbyggda listor i de stora webbläsarna som inkluderas i installationen av dessa.  För exempelvis Safari i macOS är denna lista ~/Library/Cookies/HSTS.plist, vars första rader syns nedan.

HSTS-lista för Safari

Om användaren försöker besöka en http-version av någon av sidorna på listan ovan, ändras förfrågan automatiskt av webbläsaren till sin https motsvarighet. Detta illustreras i bilden nedan där ett anrop till http://accounts.google.comi firefox ändras till https://accounts.google.com (vilket syns i den transparenta proxyn OWASP ZAP, [5]).

Firefox ändrar http till https för HSTS sidor.

Önskar man registrera hela sin domän på Preload-listan är följande nödvändiga steg om man vill undvika verksamhetspåverkan:

  1. Inventera alla webbapplikationer exponerade internt och externt inom organisationen.
  2. Säkerställ att all funktionalitet för alla webbapplikationer från punkt 1 är nåbara över https.
  3. Registrera domänen på preload-listan. 

Vad som hände de brittiska sidorna var sannolikt att man slarvade med förarbetet i punkterna 1 och 2 ovan och direkt gick till punkt 3. Att lägga tid och resurser på kontroll över sina tillgångar får i praktiken ofta stå tillbaka för investeringar i häftiga säkerhetsfunktioner. Ett problem med det angreppsättet är det i allmänhet ofta är svårt att skydda något om man inte veta vad det är.  

Referenser 

  1. Bleeping Computer Some GOV.UK Sites Unreachable Due to HSTS Changes in Windows Updates, https://www.bleepingcomputer.com/news/microsoft/some-govuk-sites-unreachable-due-to-hsts-changes-in-windows-updates/
  2. Google HSTS Preload listhttps://hstspreload.org
  3. Moxie Marlinnspike, SSLStriphttps://github.com/moxie0/sslstrip
  4. OWASP HTTP Strict Transport Security Cheat Sheethttps://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.md
  5. Simovits Consulting Det Kompletta kittet för webbapptester, https://simovits.com/det-kompletta-kittet-for-webbapptester/