17-03-2016, 16:49 door Anoniem: Helaas, helaas. Je hebt javascript nodig om de site te laten werken.
Volgens Erik van Straten zou dit een slechte zaak zijn qua beveiliging, blijkens eerdere discussies.
Ik wacht wel op de volgende poging. (als die ooit komt.)
Het ligt niet zozeer aan Javascript.
Als de
plain text (zowel aan de kant van de verzender als de ontvanger) en/of de voor decryptie en ondertekenen gebruikte private key aan de kant van de verzender, wordt verwerkt door software (code) die niet door onafhankelijke deskundigen is gecontroleerd, is het voor een leek nauwelijks tot niet mogelijk om vast te stellen dat die
plain text en/of private key niet naar derden gelekt kan worden.
Dit is een groot probleem voor webapplicaties (door hun zeer dymamische karakter), dat in theorie wel opgelost kan worden - bijv. door
alle dataverwerkende code die door de server naar de client wordt gestuurd, te laten controleren en digitaal ondertekenen door een trusted third party - en door webbrowsers hierop te laten controleren en waarschuwen/afbreken bij afwijkingen (voor zover ik weet bestaat zoiets nog niet).
Het vormt echter ook een probleem voor alle lokaal (op de PC) draaiende code die van (automatische of handmatige-) updates wordt voorzien zonder dat die code en updates zijn gecontroleerd en gesigneerd door een trusted third party.
Echter, als cybercriminelen, niets-ontziende concurrenten of een veiligheidsdiensten specifiek in
jouw geheime mails geïnteresseerd zijn, is het vermoedelijk het eenvoudigst om de code van een webapplicatie zodanig te laten aanpassen (evt.tijdelijk) dat deze alleen
jouw geheimen (de mails zelf en/of private key) lekt. Dat kan door aangepaste code alleen naar jouw browser te laten sturen; doordat anderen met de gewone code werken is de ontdekkingskans van dit lek klein. Die code kan bijv. worden aangepast door de server te hacken, de beheerder of ontwikkelaars om te kopen of door met een "huiszoekingsbevel" o.i.d. te zwaaien.
Updates voor lokaal draaiende code worden vaak via wijdvertakte distributienetwerken verspreid. Het hierop "inhaken" door cybercriminelen, niets-ontziende concurrenten en veiligheidsdiensten voor een
targeted attack is lastig, maar niet onmogelijk. Veel besturingssysteemonderdelen en alle virusscanners draaien met SYSTEM of root rechten. Als een aanvaller gedistribueerde updates voor onderdelen daarvan naar zijn hand kan zetten, zodanig dat de digitale handtekeningen (of andere integriteit- en authenticiteit-checks) kloppen, zijn griezelige trojaanse paarden denkbaar.
Dit is geen fictie, in
https://support.microsoft.com/en-us/kb/3021917 kun je lezen dat er informatie naar Microsoft gestuurd zal worden. Welke dat precies is, weet je niet.
Ook van virusscanners is bekend dat deze "verdachte bestanden" naar de virusboer kunnen sturen. Het gaat hier niet direct om lekken naar cybercriminelen, concurrenten en veiligheidsdiensten; maar je kunt ook niet uitsluiten dat dergelijke informatie via de OS of AV leverancier alsnog in handen valt van genoemde partijen (bijv. omdat jouw informatie onvoldoende beschermd wordt bij de OS of AV leverancier of een mederwerker corrupt is).
Daarnaast is het voorgekomen dat cybercriminelen wisten in te breken in de systemen van een AV boer, en via haar distributiekanalen malware wisten te verspreiden (
https://www.security.nl/posting/33150/35+miljoen+Koreanen+bestolen+via+Trojaanse+update). Ook wisten criminelen in te breken bij Adobe en een code-signing private key te misbruiken voor het digitaal ondertekenen van malware (
https://www.security.nl/posting/38210/Hackers+signeren+malware+met+Adobe+certificaat).
Je zult dus je OS, AV en wellicht andere softwareleveranciers moeten vertrouwen (dat moet
sowieso, of je nu wel of niet een webapplicatie gebruikt voor geheime informatie). Je kunt een webapplicatie-gebaseerde e-mail dienst natuurlijk ook vertrouwen (je moet dan ook de browser- en plugin-makers vertrouwen), maar of het verstandig is om dat te doen voor een partij
die specifiek een dienst voor het uitwisselen van geheime informatie aanbiedt waar je geen duidelijk contract/SLA mee hebt en geen betalende klant bent, is de vraag.
Of Protonmail een private key op een extern device (bijv. in een smartcard of Yubikey) ondersteunt, weet ik niet (alle bewerkingen waar die private key bij nodig is moeten dan ook door dat externe device worden uitgevoerd). Met zo'n device kan lekken van de private key prima worden voorkomen. Echter als jouw mail in een webbrowser onversleuteld wordt getoond, kan de maker van de webapplicatie ook bij die tekst.
Aanvullingen 21-03-2016, 08:19: zoals Anoniem (17-03-2016, 17:32) terecht meldde, kan Protonmail bij private keys van zenders (gebruikt voor signeren) en ontvangers (gebruikt voor decryptie). Dat had ik onvoldoende duidelijk gemaakt, daarom heb ik deze bijdrage aangepast.