Ach, de bij Office365 nog gebruikte prod.msocdn.com (wildcard cert *.msocdn.com [1]) ondersteunt, naast
RC4, zelfs nog de
56bit sterke DES encryptie (ze hebben de eeuwwisseling daar gemist vermoed ik) en gebruikt een
SHA1 certificaat (met intermediate cert "Verizon Akamai SureServer CA G14-SHA1", ook met SHA1, en zelfs nog geldig tot 2021-04-02).
Na openen van [1] (voor IPv6 sites zie [2]) word je doorgestuurd naar "login.microsoftonline.com" welke
geen EV certificaat gebruikt, en met die naam moet je maar gokken dat dit een site is van Microsoft.com.
Inloggen kan via [3] waarbij, in die inlogpagina dus, verbinding gemaakt wordt met bovengenoemde prod.msocdn.com (er worden, zo te zien, o.a. fonts en plaatjes vandaan gedownload - maar als een aanvaller die kan manipuleren, kan deze gebruikers natuurlijk volledig op het verkeerde been zetten).
Ook [3] gebruikt
geen EV certificaat (waardoor een gemiddelde gebruiker geen onderscheid kan maken tussen zo'n certificaat en DV speelgoedcertificaten waaronder die van Let's Encrypt - met als gevolg dat relatief eenvoudig MitM aanvallen mogelijk zijn op dit soort cloudsites).
Dat certificaat
kan ook geen EV cert zijn, want het is geldig voor een hele berg sites [a] - waaronder bovengenoemde prod.msocdn.com (waarom de werkelijke site
zelf dan nog een SHA1 cert gebruikt mag Joost (of de baas van Akamai) weten). Dit betekent dat de bijbehorende private key, het feitelijke identiteitsbewijs van deze servers, zich op veel verschillende plaatsen bevindt (ik hoop niet rondslingert). Wat de kans op lekken daarvan alleen maar vergroot natuurlijk; zo'n private key is, op de zwarte markt, vermoedelijk heel wat geld waard. En je hebt maar 1 foute medewerker nodig, niet alleen bij Microsoft maar bijv. ook bij de betrokken CDN provider(s).
Ah,
outlook.office365.com ondersteunt ook nog RC4 [4]. Het was, notabene de heer
A. Popov, een Microsoft medewerker, die RC4 heeft geprullebakkeerd [5] in februari 2015, waarbij de eerste aanvraag daarvoor bijna 3 jaar geleden, op 21 augustus 2013, werd ingediend [6].
Een deel van de vele sites waarmee verbinding wordt gemaakt (als je Outlook365 gebruikt), ondersteunt HSTS, maar een ander deel weer niet (zoals clientlog.portal.office.com, xsi.outlook.com, r1.res.office365.com en appsforoffice.microsoft.com). Nog even verder kijkend, [7] geeft momenteel een onjuiste HSTS header (doordat deze dubbel is):
Strict-Transport-Security: max-age=31536000; includeSubDomains, max-age=31536000; includeSubDomains
In elk geval Firefox keurt die header af. Of daarmee "outlook.office365.com" geheel uit de HSTS database geknikkerd wordt, weet ik niet. Iemand?
Tip voor Microsoft: openen van [8] geeft
helemaal geen HSTS header. Dat is op zich niet onveilig, maar waarom wordt de HSTS header in vredesnaam
pagina-afhankelijk meegegeven? Dat is toch
vragen om fouten zoals een dubbele header?
Bovendien trad er een (onder water) een foutmelding op bij het laden van een font vanaf [9]:
An error occurred during a connection to r1.res.office365.com.
SSL received a record with an incorrect Message Authentication Code.
(Error code: ssl_error_bad_mac_read)
Dit nog even los van de ergernis dat het 20 karakter wachtwoord dat ik wilde gebruiken, niet werd geaccepteerd met de melding dat het wachtwoord
minstens 8 karakters lang moet zijn met gebruik van kleine en hoofdletters, cijfers en symbolen (er staat niets over een
maximale lengte). Pas toen ik de lengte naar 16 karakters had teruggeschroefd (entropie van 99 bits volgens KeePass, ruim minder dan de gewenste 112 bit zoals minstens vereist bij versleutelde verbindingen) werd mijn wachtwoord geaccepteerd.
@Mensen die mijn wachtwoord (of van andere security-aware personen) willen brute-forcen: je kunt het beste beginnen met wachtwoorden met een lengte van 16 karakters (dus 8 t/m 15 overslaan). Scheelt een boel werk! No thanks Microsoft.
P.S. vandaag heb ik mijn eerste ervaringen met Office365 opgedaan. Nou ik ben onder de indruk - van de onveiligheid.
[1]
https://www.ssllabs.com/ssltest/analyze.html?d=prod.msocdn.com&s=23.59.200.134[2]
https://www.ssllabs.com/ssltest/analyze.html?d=prod.msocdn.com[3]
https://portal.office.com/[4]
https://www.ssllabs.com/ssltest/analyze.html?d=outlook.office365.com[5]
https://tools.ietf.org/html/rfc7465[6]
https://tools.ietf.org/html/draft-popov-tls-prohibiting-rc4-00[7]
https://outlook.office365.com/owa/[8]
https://outlook.office365.com/O365SuiteService/api/Notifications/[9]
https://r1.res.office365.com/owa/prem/fonts/segoeui-semilight.woff[a]: portal.office.com, portal.microsoftonline.com, portalprv.microsoftonline.com, ncuportalprv.microsoftonline.com, scuportalprv.microsoftonline.com, wusportalprv.microsoftonline.com, ncuportal.microsoftonline.com, scuportal.microsoftonline.com, neuportal.microsoftonline.com, weuportal.microsoftonline.com, seaportal.microsoftonline.com, easportal.microsoftonline.com, auth.office.com, auth.microsoftonline.com, authprv.microsoftonline.com, ncuauthprv.microsoftonline.com, scuauthprv.microsoftonline.com, wusauthprv.microsoftonline.com, ncuauth.microsoftonline.com, scuauth.microsoftonline.com, neuauth.microsoftonline.com, weuauth.microsoftonline.com, seaauth.microsoftonline.com, easauth.microsoftonline.com, ncuportal.office.com, scuportal.office.com, neuportal.office.com, weuportal.office.com, seaportal.office.com, easportal.office.com, ncuportalprv.office.com, scuportalprv.office.com, wusportalprv.office.com, ncuauth.office.com, scuauth.office.com, neuauth.office.com, weuauth.office.com, seaauth.office.com, easauth.office.com, ncuauthprv.office.com, scuauthprv.office.com, wusauthprv.office.com, portal-sdf.office.com, auth-sdf.office.com, auth-sdf.microsoftonline.com, prod.msocdn.com, ncuprodprv.msocdn.com, scuprodprv.msocdn.com, ejpportal.microsoftonline.com, wjpportal.microsoftonline.com, eusportal.microsoftonline.com, wusportal.microsoftonline.com, ejpauth.microsoftonline.com, wjpauth.microsoftonline.com, eusauth.microsoftonline.com, wusauth.microsoftonline.com, ejpportal.office.com, wjpportal.office.com, eusportal.office.com, wusportal.office.com, ejpauth.office.com, wjpauth.office.com, eusauth.office.com, wusauth.office.com