Als onderzoeker of expert kun je wel "de code" van WhatsApp mogen doorspitten, maar er is totaal geen garantie dat die code uiteindelijk ook in de apps komt te zitten. Een dergelijk onderzoek is alleen nuttig voor partijen die er ècht iets aan willen hebben.
Dit zij je elders ook al, maar vervolgens gebruikte je hetzelfde argument wel om het voor open-source goed te praten...
Wat is het nou?

Kan je met toegang tot de broncode wel of niet verifiëren dat de code uiteindelijk in de app is beland?
Jij zegt nu:
- met toegang tot de broncode bij open-source is verificatie mogelijk
- met toegang tot de broncode bij closed-source is verificatie onmogelijk.
En dat slaat natuurlijk echt helemaal nergens op... Het is of bij allebei mogelijk, of bij allebei onmogelijk. Toegang tot de code is toegang tot de code, of het grote publiek het nou wel of niet kan zien maakt totaal geen verschil voor hash vergelijkingen.
Dus:
Geïnteresseerden kunnen open source apps zelf bouwen (met de aanbevolen versies van de afhankelijkheden en juiste omgevingsvariabelen) en kunnen dan de hash van het resultaat vergelijken met die van de officiële uitgave om te zien of deze integer is.
Dat kan met closed-source ook.
En daarom is een open source client dus ook essentieel als je zeker wilt weten dat de end-to-end-encryptie fatsoenlijk geïmplementeerd is en dat er geen andere achterdeurtjes in de code zitten (die van het gehele end-to-end verhaal een wassen neus maken).
Ja in theorie misschien, in de praktijk levert het echter eigenlijk lang niet altijd wat op.
Ik bedoel, een gerelateerd voorbeeldje:
Het feit alleen al dat veel mensen dachten dat Telegram werkelijk veilig was, ook na het zelf aanschouwen van de open-source client en MProto, laat eigenlijk zien dat open-source eerder een false-sense of security kan geven dan dat het werkelijk per definitie helpt mensen veilig te houden... Waar waren al die mensen, op een paar na, die serieus vraagtekens zette bij de problemen met die software? Ondanks dat er, naar eigen zeggen, miljoenen mensen gebruik van gingen maken; en hier op Tweakers zogenaamd iedereen de source code had doorgelezen? Waar waren die massa's mensen die met argus ogen keken naar MProto en gingen klagen dat de cryptografische functies die gecombineerd werden compleet van de pot gerukt waren; of was het enkel een selecte groep die hier al flink voor hadden gewaarschuwd maar niets dan gezeur, skeptici en fanboys over zich heen kregen als dank?
En toen het eenmaal naar buiten kwam toen een groep experts van de een of andere universiteit zich eraan ging wagen, dat het inderdaad enorm *** in elkaar zit: waar waren toen al de open-source advocates om moord en brand te schreeuwen dat hun eigen persoonlijke audit duidelijk verkeerd was gegaan, en ze onterecht mensen hadden verteld dat Telegram super veilige software was; en dus dat ze in de toekomst eens moesten gaan kijken hoe ze het anders moeten aanpakken?
I haven't seen them, kan ik je wel vertellen.
Bij veel open-source projecten gaat dat gelukkig wel goed. Maar het hele idee "het is open-source: dus is het zeker te vertrouwen" is echt... Ja, verschrikkelijk dom!
Ik kan echt geen betere of lievere woorden kiezen; het is echt gewoonweg oerstom.
Een closed-source app die door professionals is ge-audit, kan gewoon veel veiliger zijn dan een open-source app die door 1000 man is ge-audit, quote du jour:
Is open source software more/less secure than proprietary?
I've done a lot of work on this, there's no objective evidence either way. On average, good open source is about as good as good proprietary, and [bad] about as bad as bad proprietary.
- Dr. Ian Levy
Voor de massa is dit dus sowieso totaal niet interessant; en daarom staat in principe de audits door onafhankelijke partijen gelijk aan de peer review van een selecte group mensen die open-source reviewen...
Bij beiden oplossingen, open-source met iedereen toegang; of closed-source met een select aantal groepen toegang, draait het erom dat je moet vertrouwen op de mensen die de audit doen. Je roept zelf nu al de hele tijd "mensen moeten onthouden dat ze Facebook moeten vertrouwen voor WhatsApp!!" (wat al niet helemaal waar is trouwens, maar ik laat het maar ff schieten voor nu.); maar je vergeet nu blijkbaar zelf even dat mensen ook independent reviewers moeten vertrouwen bij open-source applicaties... 99.99% van de mensen waarop jou bericht "
Let op: je moet WhatsApp en haar independent reviewers nog vertrouwen!" van toepassing is, moeten dus ook bij een open-source applicatie te horen krijgen: "
Let op: je moet <software> en haar independent reviewers nog vertrouwen!"
Zoek de twee verschillen in de cursieve zinnen.

Kortom: daarin zit totaal geen verschil!
We kunnen eindeloos blijven doorpraten over de vermeende hogere veiligheid van open-source, maar die is eigenlijk nooit bewezen... Vergeet ook vooral HeartBleed, Poodle, ShellShock, et cetera, niet.
Nogmaals, ik ben extreem groot voorstander van open-source (en draag heel veel bij aan de FOSS community); en ook ik had liever gezien dat WhatsApp open-source was; puur omdat dit toevallig in m'n straatje zit en het interessant vind.
Maar ik heb tenminste niet de illusie dat open-source per definitie veilig is (ook niet als je het zelf nog eens gechecked hebt), en heb ook niet de illusie dat closed-source nooit te vertrouwen is. Beiden zijn gewoon totale onzin redenaties...
Open-source kan (ondanks peer/je eigen review) super onveilig zijn, en closed-soure kan extreem veilig zijn. En vice-versa. Niets doet afbreuk aan dat feit, en het ligt er maar net aan wie het heeft ge-audit.
Het is erg lastig om backdoors te verbergen in een open source chat-appje.
Ik heb net een prima voorbeeld genoemd van een open-source app waar meerdere lekken een behoorlijke tijd in verborgen zaten... En waar er nu (hier ook) nog steeds een aantal mensen rondlopen die serieus willen beweren dat het veilig is.
Derhalve bewezen dat je dus bij open-source duidelijk ook op derde partijen moet vertrouwen die het voor je nakijken.

(En als je pech hebt, dan lichten ze je totaal verkeerd voor... Zoals bij de software die ik noemde in mijn voorbeeld hierboven.)
Dat kan ook bij closed-source gebeuren uiteraard, daar niet van... The only point I'm making is dat je overtuiging dat open-source standaard veiliger is gewoon pertinent onzin is.
Het simpele feit dat WhatsApp gesloten is en versleuteld (buiten E2EE om) met Facebook babbelt maakt een hoop zaken mogelijk.
Zoals?
Als je het niet vertrouwt, dan bekijk je dat verkeer toch gewoon?
Ik hoop dat je het niet verkeerd opvat, maar ff serieus: als dat al te moeilijk is voor je om te onderzoeken, wat heb je dan aan het kunnen zien van de broncode...? Dan snap je er toch niets van.

Dan heb je het over gigantische, gecompliceerde, projecten als OpenSSL. De logica van de meeste apps is prima door te spitten. Dat is gewoonweg geen vergelijking.
Hoe groot het is zou toch niet moeten uitmaken als er veel gebruikers, en dus veel reviewers zijn? ;:)
Het opensource project waar ik aan werk heeft voor één branche alleen al volgens de laatste telling 156.186 regels code. Er zijn 3 versies; en de nieuwste heeft wat clean-ups gehad. Er zal dus ongeveer 400 tot 450.000 regels aan code in de software zitten.
OpenSSL heeft 438.831 regels code.
Kennelijk is dat best haalbaar om te verifiëren dus.

De pest is dus maar net hoe obscuur de fout in de software is om op te vallen, zelfs tussen duizenden ogen door die bewust op zoek zijn naar fouten. Sommige problemen zijn zo verschrikkelijk subtiel, dat het niet opvalt: maar wel een mega impact kan hebben. En daar beschermt open-source je dus evident ook echt niet tegen; en de grootte van het project maakt daarbij echt geen hol uit!
Daarom is het ook zo dat, ondanks dat wij met ons project als aller veiligste te boek staan, nog altijd mensen waarschuwen dat ze op hun hoede moeten zijn; want een security lek zit in een klein hoekje en 100% veiligheid bestaat *niet*: al laat je er 2 miljard mensen naar kijken... Constant vigilance. Heel belangrijk.
Ik hoop alleen dat mensen zich ervan bewust zijn dat je vertrouwen in de partij Facebook stopt wanneer je ervoor kiest WhatsApp te gebruiken, en dat "E2EE" daar, vooral in deze situatie, absoluut niets aan afdoet. Ik vind dat persoonlijk een cruciale beslissingsfactor.
Natuurlijk snappen mensen dat.
De vraag is alleen of jij snapt dat je dit soort vertrouwen ook moet hebben bij elke willekeurige open-source app die je gebruikt... En wees alsjeblieft niet zo arrogant om te denken dat alleen door het zelf te bekijken, je opeens veilig bent. Dat is de grootste fout die mensen maken.
Overigens denk ik dat het merendeel van de mensen het geen hol kan schelen overigens, immers gebruikte 800 miljoen mensen WhatsApp ook zonder E2EE... Dusja.
[Reactie gewijzigd door WhatsappHack op 6 april 2016 05:48]