image

Gevaarlijke lekken in HTTP-protocol blootgelegd

woensdag 30 juni 2010, 10:21 door Redactie, 17 reacties

Tijdens Hack in the Box Amsterdam worden fouten en beveiligingsproblemen binnen het HTTP-protocol onthuld, waardoor aanvallers via een Man in the Middle aanval gevoelige informatie kunnen stelen. De Franse beveiligingsonderzoeker Laurent Oudot zal voor het eerst in het publiek aantonen dat de kwetsbaarheden in alle programma’s en diensten zitten die gebruik maken van het HTTP-protocol, waaronder Internet Explorer, Firefox en Microsoft Office, maar ook Twitter, Hotmail, Facebook en iPhone Apps.

Waar Microsoft of Facebook lekken in hun eigen codes zelf op kunnen lossen, zal het dichten van de gaten in het HTTP-protocol veel meer moeite en inspanning kosten, omdat het niet specifiek in handen van één bedrijf of onderneming is. Een gezamenlijke inspanning van feitelijk álle internetaanbieders en ondernemingen, maar ook overheden, is nodig om de beveiligingsproblemen op te lossen, aldus de onderzoeker. Zowel informatie van eindgebruikers als overheden en bedrijven loopt namelijk risico.

Hack in the Box Amsterdam vindt plaats op donderdag 1 en vrijdag 2 juli. Ga voor kaarten en meer informatie naar deze pagina.

Reacties (17)
30-06-2010, 10:31 door Bert de Beveiliger
Ach, we zijn al eens van HTTP/1.0 naar 1.1 gegaan... 1.2 moet toch kunnen? :-)

Overigens, als het echt grote problemen zijn in HTTP zelf, dan zal SSL/TLS dus waarschijnlijk niet of weinig hulp bieden hierbij.... ben benieuwd!
30-06-2010, 11:54 door Anoniem
Dit artikel lijkt wel erg veel op sluikreclame voor Hack in the Box. Niet dat daar op zichzelf nu zo veel mis mee is. Wat mij echter verbaast is dat er hier gesproken wordt over onthulling van beveiligingsproblemen binnen het HTTP-protocol.

Misschien dat meneer Laurent Oudot iets nieuws heeft te melden. Wat ik tot op heden van de man gezien heb is dat hij (mijns inziens) niet bepaald een getalenteerde spreker die vooral met voor de hand liggende dingen aan komt zetten. Dit neemt niet weg dat hij mogelijk een flink aantal bugs heeft weten te vinden in bestaande http clients. Ik heb echter zo mijn bedenkingen bij beveiligingsonderzoekers die dit soort "ontdekkingen" met veel bombarie op security converenties presenten. Vergeet niet dat deze prekers doorgaans goed geld verdienen aan deze presentaties. Conflict of interests, anybody?

En wat betreft de beveiligingsproblemen binnen het HTTP-protocol: Hoezo, beveiligingsproblemen? Volgens bij kent het HTTP-protocol zelf helemaal geen beveiliging, dus vraag ik mij af hoe er een beveiligingsprobleem in kan zitten. De zoveelste "beveiligingsonderzoeker" die probeert zijn zakken te vullen aan een storm in een glas water? De tijd zal het leren.

Tot slot, als het het werkelijk een groot probleem is wat deze man (in half verstaanbaar monotoon engels met zwaar frans accent) zal onthullen, waarom heeft hij dan niet onmiddellijk de betrokken partijen ingelicht. Het blijft bedenkelijk dat mensen waarschuwen voor gevaren, maar de kennis van deze gevaren vervolgens voor zich houden en enkel tegen betaling vrij geven. Dat doet toch erg veel denken aan een "protection racket".
30-06-2010, 13:16 door [Account Verwijderd]
[Verwijderd]
30-06-2010, 13:26 door Anoniem
Overigens, als het echt grote problemen zijn in HTTP zelf, dan zal SSL/TLS dus waarschijnlijk niet of weinig hulp bieden hierbij.... ben benieuwd!

AlexK, je bent blijkbaar niet zo op de hoogte van de protocol stack? Http ligt bovenop SSL, dus zal ssl in elk geval zorgen dat je het http bericht niet kunt lezen. dus....
30-06-2010, 13:31 door Anoniem
Door Hugo: Het grote probleem met HTTP is dat het een stateless protocol is. Om die reden vermoed ik dat de kwetsbaarheden die getoond zullen worden veel weghebben van XSRF.

Het grote voordeel van HTTP is dat het een stateless protocol is. HTTP is ontworpen om stateless te zijn.
30-06-2010, 14:26 door Bert de Beveiliger
Door Anoniem:
Overigens, als het echt grote problemen zijn in HTTP zelf, dan zal SSL/TLS dus waarschijnlijk niet of weinig hulp bieden hierbij.... ben benieuwd!

AlexK, je bent blijkbaar niet zo op de hoogte van de protocol stack? Http ligt bovenop SSL, dus zal ssl in elk geval zorgen dat je het http bericht niet kunt lezen. dus....

Nee, dat weet ik, maar uiteindelijk wordt aan weerszijden van de SSL 'tunnel' HTTP geklept. Ik voorzie - ben weer eens onvolledig geweest - interessante mogelijkheden met bv ads en XSS ;-)
30-06-2010, 14:34 door Blijbol
HTTP is vatbaar voor man in the middle en dat is iets nieuws? Hier is toch HTTPS voor bedacht of ben ik nou gek?
30-06-2010, 14:34 door Bert de Beveiliger
Door Anoniem:
Door Hugo: Het grote probleem met HTTP is dat het een stateless protocol is. Om die reden vermoed ik dat de kwetsbaarheden die getoond zullen worden veel weghebben van XSRF.

Het grote voordeel van HTTP is dat het een stateless protocol is. HTTP is ontworpen om stateless te zijn.

Oei, die discussie weer :-)

Bij ontwerp kwam geen state aan de orde (enkel parsen van een markup language), dus het is een voordeel noch nadeel. Het werd een nadeel toen men interactiviteit ging vragen van sites, du toen werden we opgescheept met cookies en serversided state housekeeping... met alle nadelen vandien. Feitelijk is het hoog dat dat er een protocol komt met statefullness aan boord.... ware het niet dat we dan weer met heel andere problemen zitten...
30-06-2010, 16:01 door [Account Verwijderd]
[Verwijderd]
30-06-2010, 16:05 door [Account Verwijderd]
[Verwijderd]
30-06-2010, 16:09 door [Account Verwijderd]
[Verwijderd]
30-06-2010, 16:45 door Bert de Beveiliger
Door Hugo:
Door AlexK: Bij ontwerp kwam geen state aan de orde (enkel parsen van een markup language),
Het parsen van HTML heeft niks te maken met het HTTP protocol.

/me slordig vandaag

Daarnaast dacht men toen het internet ontworpen werd absoluut nul komma nul na over beveiliging. Vandaar de crappy protocollen als Telnet, FTP en STMP.

Yep. Het is een drama :-)
30-06-2010, 17:24 door SirDice
Door Hugo: Daarnaast dacht men toen het internet ontworpen werd absoluut nul komma nul na over beveiliging. Vandaar de crappy protocollen als Telnet, FTP en STMP.
Vergeet ook vooral TCP/IP zelf niet ;)
30-06-2010, 22:42 door Anoniem
Door Hugo: Blijkbaar ben je zelf ook niet zo op de hoogte van de stack. Zowel HTTP als HTTPS liggen in de applicatielaag. HTTP ligt dus niet bovenop SSL, HTTPS vervangt gewoon HTTP als applicatielaag protocol. SSL vormt dus niet aparte laag in de stack, maar wordt slechts gebruikt om de data van de applicatielaag in een andere (lees:versleutelde) vorm aan te bieden aan de transportlaag.

Ik weet dat het zo wordt gezien, zie bijvoorbeeld http://en.wikipedia.org/wiki/Https#Network_layers en
http://en.wikipedia.org/wiki/Secure_Sockets_Layer, en let op het kadertje "The Internet Protocol Suite" in de tweede link waar TLS/SSL inderdaad in de applicatielaag wordt geplaatst.

Dat het in het TCP/IP-model tot de applicatielaag wordt gerekend komt omdat daar minder lagen worden onderkend dan in het OSI-model. In het kadertje "The OSI/IP Model" op http://en.wikipedia.org/wiki/OSI_model staan TLS en SSL bij de presentatielaag en niet bij de applicatielaag. Het is maar net door welke bril je ernaar kijkt.

Maar je uitspraak: "HTTP ligt dus niet bovenop SSL, HTTPS vervangt gewoon HTTP als applicatielaag protocol" klopt niet. HTTP vervalt niet als je HTTPS gebruikt, de applicatie werkt nog gewoon met HTTP, alleen wordt het versleuteld op de lijn gezet. Er is als het ware een TLS/SSL-kastje tussen de HTTP-telefoon en het TCP-wandcontact geschakeld. Daarmee vormt TLS/SSL wel degelijk een aparte laag (wat de L van SSL trouwens al expliciet aangeeft). Als je dat ook een applicatielaag wilt noemen: best, maar dan zijn er wel twee applicatielagen tegelijk actief bij HTTPS, of sublagen als je dat liever hebt. De naam slaat op de combinatie van twee protocollen, het is niet één vervangend protocol, en ik hoop dat niemand zo gek is dat hij de implementaties van de twee door elkaar laat lopen en zich zo met dubbel werk en een verhoogde kans op fouten opzadelt. Behalve HTTP kunnen ook bijvoorbeeld FTP en SMTP in TLS/SSL worden ingepakt, en als een applicatie TLS/SSL niet zelf ondersteunt kan je met Stunnel het inpakken nog buiten de applicatie om regelen ook. Het zijn echt duidelijk gescheiden lagen, HTTP ligt dus wel bovenop TLS/SSL.
01-07-2010, 09:08 door [Account Verwijderd]
[Verwijderd]
01-07-2010, 21:20 door Anoniem
balbalblalbalbalblablablabla

http kwetsbaar voor mitm... uhm dat wisten we toch al :P?

of ben ik mou zo goed (A)

<3
04-07-2010, 00:50 door Anoniem
Door Hugo: Als je het over het theoretische OSI model hebt, dan geeft ik je gelijk. Echter, in de praktijk wordt het TCP/IP model gebruikt en die kent geen presentatielaag. In dat model wordt SSL/TLS door de applicatie geregeld, in de applicatielaag dus. En twee applicatielagen... leuk bedacht, maar nee. Maar goed, dit kan een lange welles nietus discussie worden waar ik geen trek in heb.

Een model is een vereenvoudiging van de werkelijkheid, niet de werkelijkheid zelf, en heeft dus altijd beperkingen. Dat je twee dingen in het model tot één laag rekent betekent niet dat het onderscheid uit de onderliggende werkelijkheid verdwijnt. In die onderliggende werkelijkheid is, vanuit het perspectief van de HTTP-implementatie, HTTPS niets anders dan een HTTP-stroom die over een alternatieve backend wordt geleid. Ook als die backend met de applicatie wordt meegelinkt bestaat hij. Dergelijke backend-mechanismes vormen op softwareniveau de concrete invulling van de gelaagdheid. HTTP is echt voor de volle 100% aanwezig in HTTPS, en dat was wat jij tegensprak met de lagen uit het TCP/IP-model als argument. Je leek daarmee het model voor echter dan de achterliggende werkelijkheid te houden.

...ik hoop dat niemand zo gek is dat hij de implementaties van de twee door elkaar laat lopen...
Apatsjie deed dat vroeger met een apache en een aparte apache-ssl daemon. :p

Aardig genoeg deden ze dat juist niet. Apache-ssl was een set patches op Apache, die resulteerden in een product dat de HTTP- en SSL-implementaties combineerde maar niet door elkaar liet lopen. SSL werd geregeld door naar keuze de SSLeay- of OpenSSL-library mee te linken. Dat waren onafhankelijk ontwikkelde componenten die dus netjes gescheiden waren van de HTTP-implementatie die al in Apache zat. Dat is precies de gelaagdheid die ik bedoelde. Dat het tot één executable werd gelinkt betekende niet dat die structuur verdween, je zag hem alleen niet meer zo makkelijk van buiten.

Sorry dat ik toch nog even welles (en nietes) moest zeggen ;-)
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.