image

Fortinet-producten gebruikten XOR met hardcoded encryptiesleutel

dinsdag 26 november 2019, 13:18 door Redactie, 18 reacties
Laatst bijgewerkt: 26-11-2019, 14:57

Verschillende beveiligingsoplossingen van securitybedrijf Fortinet maakten gebruik van het XOR-encryptiealgoritme en een hardcoded encryptiesleutel waardoor een aanvaller gebruikers had kunnen afluisteren en data had kunnen manipuleren, zo meldt securitybedrijf SEC Consult.

Fortinet heeft inmiddels beveiligingsupdates uitgerold en adviseert klanten om die te installeren. Het bedrijf biedt verschillende producten die met FortiGuard-clouddiensten (webfilter, antispam en antivirus) communiceren. Het communicatieprotocol maakte gebruik van het XOR-algoritme, dat door SEC Consult als een kwetsbaar encryptiealgoritme wordt gezien, en een hardcoded encryptiesleutel. Een aanvaller met kennis van de sleutel en de mogelijkheid om verkeer te monitoren had de versleutelde informatie kunnen ontsleutelen en aanpassen.

Op deze manier was het bijvoorbeeld mogelijk geweest om te achterhalen welke Fortinet-producten binnen een organisatie werden gebruikt en welke websites gebruikers bezochten. In het geval van de websites die gebruikers binnen een organisatie bezoeken sturen FortiOS en FortiClient deze informatie naar het Fortinet-webfilter. Wanneer organisaties ssl-inpectie hadden ingeschakeld zouden ook de url's van met https versleutelde communicatie kunnen worden onderschept.

Fortinet werd op 17 mei 2018 over de kwetsbaarheid ingelicht. Er volgden meerdere conferencecalls over de technische details, het verschijnen van een update en wanneer de onderzoekers het beveiligingslek openbaar mochten maken. Op 28 maart 2019 verscheen er een update voor FortiOS 6.2.0, gevolgd door een fix aan de serverkant van FortiGuard. Twee weken geleden werd de kwetsbaarheid ook in FortiOS branch 6.0 gepatcht. Daarop heeft SEC Consult nu de details openbaar gemaakt.

De kwetsbaarheid is aanwezig in FortiOS 6.0.7 en eerder, FortiClientWindows 6.0.6 en eerder en FortiClientMac 6.2.1 en eerder. Organisaties krijgen het advies om te updaten naar FortiOS 6.2.0, FortiClientWindows 6.2.0 of FortiClientMac 6.2.2.

Reacties (18)
26-11-2019, 14:05 door Anoniem
Er is op zich niets mis met XOR. Wordt veel gebruikt in allerlei (encryptie)algoritmes.

Alleen, als je echt alleen maar XOR gebruikt met een vaste sleutel, als dat het hele eieren is, dan heb je een moderne versie van het Caesar-algoritme geschreven. Je weet wel, versleutelen door alle letters drie posities op te schuiven, ontsleutelen door er drie af te trekken. In het geval van (alleen maar) XOR, weet de waarde en je kan meekijken. En als je enig idee hebt van wat er verstuurd wordt, is dat nog wel te achterhalen, net zoals je bij (varianten van) het Caesar-algoritme doodeenvoudig door letterfrequenties bijhouden kan achterhalen hoeveel er opgeteld of afgetrokken moet worden.

Hoe veilige algoritmen dan XOR gebruiken? Door niet één waarde te gerbuiken om te XORen met de invoer, maar voor ieder stukje van de invoer een aparte waarde te genereren aan de hand van de eigenlijke sleutel. Maar dan moet je gesprekspartner dat ook kunnen doen, en wel zo dat een meekijker dat zonder die sleutel niet kan, dus dan wordt het ingewikkeld.

Dus zeggen "XOR is fout", nee. "Alleen maar XOR, met een vaste waarde", dat is wel zo basaal dat had nooit en te nimmer in productie genomen mogen worden. Eigenlijk zou fortinet hiervoor failliet mogen gaan, want dit kan echt niet.
26-11-2019, 14:13 door Anoniem
Een aanvaller met kennis van de sleutel en de mogelijkheid om verkeer te monitoren had de versleutelde informatie kunnen ontsleutelen en aanpassen
Ja, dahaag! Voor welke omstandigheden geldt dat niet?!?
26-11-2019, 14:21 door Anoniem
Zoiets stoms had ik van Fortinet niet bedacht. Zo zie je maar weer, ook bedrijven in de security business hebben boter op hun hoofd. En ogenschijnlijk slimme mensen kunnen ook domme dingen doen.
26-11-2019, 17:08 door Anoniem
Ruim 15 jaar geleden haalde ik, de licentievoorwaarden die dat verboden negerend, de Java-client van message broker-software waar mijn toenmalige werkgever mee werkte door een Java-decompiler. Ik deed dat omdat het de eerste keer was dat we die vanuit Java benaderden en ik om verder te kunnen snel antwoorden nodig had over onduidelijkheden in de API-documentatie. Ik verwachtte bij die leverancier niet dat ik die voor mij op tijd zou krijgen via de officiële kanalen. Iets in de code trok mijn aandacht en binnen de kortste keren had ik gezien dat hun encryptie via een simpel XOR-schema met een hardgecodeerde sleutel werkte. De volgende versie, die kort daarop uitkwam, haalde ik ook door de decompiler en daar was het gelukkig door sterke encryptie vervangen.

Ik vond het toen al verbazingwekkend zoiets nog aan te treffen. Dat dat vandaag de dag nog voorkomt is bizar, en dat bij een leverancier die echt geen enkel excuus heeft om naïef te zijn op het gebied van encryptie.
26-11-2019, 17:44 door Bitwiper
Door Anoniem: Zoiets stoms had ik van Fortinet niet bedacht.
Ik wel. Fortinet heeft een flinke historie aan programmeerblunders (zie de links onderin deze bijdrage: https://www.security.nl/posting/617583/Fortinet_Fortigate+https+websites#posting617633), dit is vast niet de laatste. En de reactiesnelheid was trouwens ook weer om te janken.

Deze fabrikant neemt haar klanten en security in het algemeen niet serieus, wat een bagger.
26-11-2019, 18:04 door Anoniem
Is er een website die bijhoudt welke beveiligingsbedrijven hun beveiliging niet op orde hebben/hadden?

Want dat is wat we nodig hebben :)
26-11-2019, 18:13 door Anoniem
Een XOR met zichzelf is altijd 0.


:)
26-11-2019, 18:43 door Anoniem
Herinnert iemand zich susageP? :P

Voor degenen die het niet kennen: Windows CE sleutel, https://lug-owl.de/pipermail/linux/1999-November/003432.html
26-11-2019, 18:57 door Anoniem
Verschillende beveiligingsoplossingen van securitybedrijf Fortinet maakten gebruik van het XOR-encryptiealgoritme en......
Is XOR nu al bevorderd tot encryptie-algoritme?
Toe maar. Vroeger was het slechts een eenvoudige logic operator. (eXclusive OR)
26-11-2019, 19:41 door MathFox
XOR met een one-time-pad is bewezen veilig.
XOR met een herhaalde sleutel heeft een gedocumenteerde aanpak voor het breken van de code.
27-11-2019, 00:13 door Anoniem
Fortinet kan ook steekjes laten vallen. Niets dat onder ons is vormt online de Heilige Graal van Brugge.
Helaas.

Ik ben overigens wel onder de indruk van Fortinet's als Intrusion Detection Service op bijvoorbeeld URLquery dot net,
een scan platform er de laatste tijd wel heel vaak uitligt.
Waarschijnlijk willen de cyber-malcreanten daar liever buiten beeld blijven, als ze getecteerd worden.

Fortinet's detecties vind je ook indirect via IP relaties op VirusTotal en gedateerd op Multiverse.
Snort en SNYK (met Retire.JS) op de onderste lagen van de "stack",
ook via de command prompt op een windows machine. En waarom niet?
Zet de directory wel ergen anders neer dan in het directe pad vanwege
https://events.ccc.de/congress/2006-static/static/s/n/o/Snortattack.html

Ik weet graag, waar ik eventuele problemen kan tegenkomen. Jullie toch ook?

luntrus
27-11-2019, 08:50 door Anoniem
Zolang jullie me niet het wiskundige bewijs leveren dat, en onder welke voorwaarden, de XOR operatie oftewel optellen binnen het Galois lichaam 2 (GF(2)) cryptografisch onveilig is geloof ik niets van jullie beweringen.

En nee, bij XOR met een vaste sleutel is er geen sprake van een eenvoudig substitutie algoritme zoals de Caesar sleutel, omdat letters niet door vaste andere letters vervangen worden (en eenvoudige frequentieanalyse dus niet werkt).
27-11-2019, 10:50 door Anoniem
En dat troep is marktleider in Nederland. Moet je nagaan.
27-11-2019, 11:33 door Anoniem
Door Anoniem: Zolang jullie me niet het wiskundige bewijs leveren dat, en onder welke voorwaarden, de XOR operatie oftewel optellen binnen het Galois lichaam 2 (GF(2)) cryptografisch onveilig is geloof ik niets van jullie beweringen.

En nee, bij XOR met een vaste sleutel is er geen sprake van een eenvoudig substitutie algoritme zoals de Caesar sleutel, omdat letters niet door vaste andere letters vervangen worden (en eenvoudige frequentieanalyse dus niet werkt).

De omschrijving van het 'encryptiealgorithme' is nogal vaag.
Maar vermoedelijk wordt bedoeld dat de output een XOR is van een eindeloze herhaling van een vaste en korte (vgl met de input) key.
Deze dus : https://en.wikipedia.org/wiki/XOR_cipher

En ja - dat algorithme is bijzonder zwak. Een known of chosen plaintext attack heeft slechts data ter lengte van de key nodig om de key te recoveren.
Als de keylengte >1 is, is het inderdaad geen Caesar cipher meer, maar iets als Vigenère . En op dezelfde manier te kraken - het is een verzameling Caesar ciphers, zogezegd. De lengte van de key is te vinden met statistische tests , als de input natuurlijke taal is.

Natuurlijk kan XOR een bouwblok zijn in een bijzonder sterk streamcipher - maar dan is de keystream geen simpele herhaling van de key. En als de keystream puur random is, en net zo lang als de input, en nooit hergebruikt wordt hebben we het One Time Pad.
27-11-2019, 11:50 door Anoniem
@ anoniem van 08:50 heden,

Ik zou zeggen test het eens hier uit: https://www.dcode.fr/xor-cipher
De Ceasar shifted cypher txt voor mijn ingegeven captcha code om dit bericht te plaatsen = gFrgh Fdhvdu -
Herleidt nu mijn reactie code? Coincidentie analyse? Gegeven: d=@ & g=R.

#sockpuppet
27-11-2019, 12:09 door Anoniem
Leuk voor pentesters om de zwakheden uit te testen met junky bijvoorbeeld, lees:
https://niiconsulting.com/checkmate/2018/05/reverse-engineering-for-beginners-xor-encryption-windows-x64/

Terug naar de tijd van F.R.A.V.I.A. reverse engineering.
XOR is wel redelijk gedateerd, maar wordt nog steeds veel gebruikt door allerlei aanvallers.

XOR wordt nog steeds veel gebruikt voor obfuscatie-doeleinden.

J.O.
27-11-2019, 15:52 door Anoniem
Door Anoniem: @ anoniem van 08:50 heden,

Ik zou zeggen test het eens hier uit: https://www.dcode.fr/xor-cipher
De Ceasar shifted cypher txt voor mijn ingegeven captcha code om dit bericht te plaatsen = gFrgh Fdhvdu -
Herleidt nu mijn reactie code? Coincidentie analyse? Gegeven: d=@ & g=R.

#sockpuppet

De site waar je neer linkt heeft een sleutellengte van één byte, en zoals op 11:33 door Anoniem opgemerkt is XOR met een sleutellengte van één karakter inderdaad een Caesar sleutel, maar dat is dus een uitzonderingsgeval (net als een langere sleutel die uit een herhaling van een en hetzelfde karakter bestaat).
28-11-2019, 10:56 door Anoniem
Door Anoniem: Zolang jullie me niet het wiskundige bewijs leveren dat, en onder welke voorwaarden, de XOR operatie oftewel optellen binnen het Galois lichaam 2 (GF(2)) cryptografisch onveilig is geloof ik niets van jullie beweringen.

Zou je banktransacties willen doen als de verbinding alleen met een XOR sleutel beveiligd is?

Aangezien het XOR-cipher geen enkele authenticatie biedt kan de aanvaller willekeurige bits flippen in het bericht en de ontvanger merkt er niets van. Flip eens een paar bits op de offsets voor de velden voor bedrag en rekeningnummer totdat er iets interessants gebeurt. Geen enkele veiligheid. Google eens op "Authenticated encryption" voor een echte oplossing.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.