Computerbeveiliging - Hoe je bad guys buiten de deur houdt

security.nl -> http://security.nl

14-09-2025, 14:57 door Erik van Straten, 6 reacties
Laatst bijgewerkt: 14-09-2025, 15:43
In https://infosec.exchange/@Bitwiper/115202717486061909 (alternatief: https://archive.is/MjoPS) vindt u drie QR-codes met daarin uitsluitend tekst:
1) security.nl
2) http://gw.defensie.nl
3) https://gemeente.amsterdam
Als u zo'n QR-code scant en opent met uw browser:

Vraag 1
Waarom nemen QR-scanners (ook indien ingebouwd in uw webbrowser) aan dat met 1) "http://security.nl" bedoeld wordt (uitsluitend zichtbaar indien u een QR-code-scanner gebruikt die dat laat zien vóórdat de browser besluit om desondanks toch eerst https:// te proberen)?

Nb. vooral op public WiFi kan een AitM (Attacker in the Middle) met een "Evil Twin" access point eenvoudig de eerste https (TCP serverpoort 443)

Vraag 2
Waarom probeert een déél van de browsers (mogelijk afhankelijk van instellingen) éérst "https://gw.defensie.nl" terwijl expliciet om http://gw.defensie.nl" gevraagd wordt?

N.b. gw.defensie.nl luistert —op dit moment— niet op "http" TCP serverpoort 80, een timeout foutmelding is dus wat je zou moeten zien (onder Android geeft Firefox Focus zo'n foutmelding, maar Firefox en Chrome proberen https - hetgeen lukt, en onder iOS (iPhone) geven Firefox, Firefox Focus, Edge en Chrome zo'n waarschuwing, terwijl Safari ongevraagd https://gw.defensie.nl opent).

Vraag 3
Graag testen: ik ken ze niet, maar zijn er browsers die terugvallen op http - terwijl er expliciet om https gevraagd wordt?

N.b. gemeente.amsterdam luistert —op dit moment— niet op "https" TCP serverpoort 443, een timeout foutmelding is dus wat je zou moeten zien.

Vraag 4
Waarom wijzigt https://security.nl, zodra ik op "Reageer" druk, de link

     [urI]security.nl[/urI] (*)

NIET in

     https://security.nl

maar in

     http://security.nl

?

(*) Nb. in [urI] en [/urI] heb ik 'I' gebruikt i.p.v. 'l' omdat deze site die codes anders interpreteert en niet meer toont.

Conclusie
• Er is teveel legacy op internet (default: http);
• De aanname dat het veilig genoeg is als de browser eerst (ongevraagd) https probeert is onjuist;
• Wat browsers doen indien er expliciet om http:// of indien er geen protocol vermeld wordt, is onnodig (m.i. veel te) onvoorspelbaar;
• De keuze om, by default, niet voor (inclusief kortstondige) http-verbindingen te waarschuwen is m.i. FOUT.

Allemaal gemakzucht, grotendeels insecure!
Reacties (6)
14-09-2025, 16:17 door Anoniem
Bedankt Erik van Straten voor het aankaarten van dit initiële http://verbindingsprobleem.

Het probleem kan o.a. optreden bij bepaalde browsers.
Ik ben het ook tegengekomen bij het gebruikmaken van de Mullvad Browser.

Maar de http-tracker extensie slaat geen alarm.
14-09-2025, 16:55 door Anoniem
Door Erik van Straten:
Vraag 2
Waarom probeert een déél van de browsers (mogelijk afhankelijk van instellingen) éérst "https://gw.defensie.nl" terwijl expliciet om http://gw.defensie.nl" gevraagd wordt?
Firefox probeert dat inderdaad:
https://support.mozilla.org/nl/kb/https-upgrades
En als je "https-only" instelt dan krijg je een waarschuwing als dat niet kan, met een mogelijkheid om toch http te gebruiken (dus https-only is niet echt https-only maar http-alleen-met-extra-interactie):
https://support.mozilla.org/nl/kb/alleen-https-modus-firefox

Als ik me goed herinner is de reden dat dit is ingevoerd dat, in de tijd dat men hiertoe besloot, veel websites bezig waren van http naar https over te stappen, maar daarbij vaak geen automatische redirect van http naar https regelden op de server. Veel hyperlinks op het web verwezen (nog) naar de http-versie van pagina's waar inmiddels een https-versie van was. In combinatie resulteerde dat erin dat veel bezoekers op de http-versie van een website belandden terwijl https beschikbaar was, en velen merkten dat natuurlijk niet op. Men heeft dit een duw richting https willen geven door de browser dan maar even te laten kijken of https beschikbaar is en dat dan te gebruiken. Dat is wat ik me herinner (of meen te herinneren) erover.
14-09-2025, 17:05 door Anoniem
Door Erik van Straten: (*) Nb. in [urI] en [/urI] heb ik 'I' gebruikt i.p.v. 'l' omdat deze site die codes anders interpreteert en niet meer toont.
Een andere manier op dat te bereiken, die ik niet zelf heb bedacht maar iemand anders op deze site heb zien gebruiken, is een lege andere tag binnen de url-tag gebruiken. Als je dit intypt:

[[b][/b]url]https://www.security.nl[/url]

dan toont deze site:

[url]https://www.security.nl[/url]

en als je dat kopieert en in een reactie plakt krijg je netjes:

https://www.security.nl

Dit hangt natuurlijk af van een eigenaardigheid van hoe deze site tags nu afhandelt, maar het probleemloos kunnen kopiëren en plakken van het resultaat is niet verkeerd.
14-09-2025, 22:58 door Erik van Straten
Dank voor de (eerste drie, momenteel zichtbare) reacties!

Ik zie dat ik vergeten ben on een zin af te maken, achter:
Nb. vooral op public WiFi kan een AitM (Attacker in the Middle) met een "Evil Twin" access point eenvoudig de eerste https (TCP serverpoort 443)
wilde ik nog schrijven: "verbinding blokkeren".

Met als consequentie (zoals Anoniem van 16:55 terecht schrijft) dat als je niet gewaarschuwd wordt voor de (potentieel zeer kortstondige, daardoor niet zichtbare) terugval naar een http-verbinding, een AitM jouw webbrowser naar elke gewenste website (ook met https-verbinding en met geldig certificaat) kan doorsturen.

Daarom is het zo ontzettend fout dat https://gemeente.amsterdam niet werkt. Dat is kip/ei: doordat browsers by default "coulant" zijn, ziet de gemeente Amsterdam geen aanleiding om die jumpsite van een certificaat te voorzien: "het werkt toch (in de meeste gevallen)"?

JA, MAAR DAT IS ONVEILIG. Want als een passieve AitM op een fout netwerk (denk vooral aan public WiFi met een Evil Twin access point) het verzoek om http://gemeente.amsterdam te openen, "voorbij" ziet komen, kan die AitM je naar een nepsite doosturen (denk aan iets als https:\\gemeente-amsterdam.nl.com, https:\\amsterdam.nl.weebly.com of iets dergelijks - met // i.p.v. \\).

Immers, https is als een tunnel met een voorspelbaar eindpunt (tenzij certificaatuitgevers certificaten aan de verkeerde partij afgeven, en rekening houdend met het feit dat een websitenaam (ook bekend als domeinnaam) potentieel niets zegt over wie de actuele huurder is van die domeinnaam.

@Anomiem 17:05: dat de forum-software, gebruikt door security.nl, van [urÍ]security.nl[/urI] de klikbare link http://security.nl maakt, is geen ramp — want de meeste reageerders op deze site weten wel dat je het beste [urÍ]https://security.nl[/urI] kunt intikken. Het is wel onnodige legacy code.

Feit blijft: op internet is veel te veel by default insecure.

"risky://" (en evt. "tunnel://") protocol
Ik speel al een tijd met de volgende gedachte: het "risky" protocol, waarbij webbrowsers als volgt zouden moeten reageren:

• Bij zowel "https://sitename.tld" als bij "http://sitename.tld" (en zelfs bij "niks sitename.tld"): probeer uitsluitend https:// (verbind met TCP serverpoort 443).

• Indien er expliciet staat: "risky://sitename.tld": gebruik het oude http protocol (verbind uitsluitend met TCP serverpoort 80; de wereld is niet voor niets gestopt met telnet, authenticated ftp, POP3 en IMAP via non-TLS verbindingen).

Overwogen kan worden om tevens tunnel:// toe te staan - naast https:// (geen normaal mens weet wat de leet-speak "https" betekent, waar die afko voor staat en wat "Hyper Text Transport Protocol Secure" inhoudt).
14-09-2025, 23:13 door Anoniem
En nu maar hopen dat al het bovenstaande voortaan "goed tussen de digitale oortjes komt te zitten".

Elke onveiligheid is er één te veel en kan leiden tot misbruik.

Een goede browser slaat dus hier alarm en geeft een reden waarom.
Gisteren, 22:27 door Erik van Straten
Door Anoniem: Een goede browser slaat dus hier alarm en geeft een reden waarom.
Wat is of zijn volgens jou goede browsers? Persoonlijk vind ik dat een lastige vraag, want elke bekende browser heeft zaken die m.i. veel beter kunnen, en van minder bekende browsers is het altijd maar afwachten of ze voldoende onderhouden worden en de ontwikkelaars zelf geen phishing-slachtoffers worden.

Off topic: Overigens heb ik sinds vanmiddag een nieuw Mastodon-account (*) https://todon.nl/@ErikvanStraten.

(*) Mijn oude (veelgebruikte) account https://infosec.exchange/@ErikvanStraten is geblokkeerd (gecensureerd vanwege mijn mening over een conflict, zie https://security.nl/posting/833512/Invloed+van+eenzijdig+nieuws). Nb. mocht je willen reageren over dat onderwerp, dan graag op Mastodon en niet op deze site.

Gecachte fragmenten van mijn oude account zijn nog te vinden (in elk geval zojuist) in https://fe.disroot.org/@ErikvanStraten@infosec.exchange/with_replies).

Voorbeeld: https://fe.disroot.org/@ErikvanStraten@infosec.exchange/posts/AxnVsuH3nhKWd79SPw met mijn reactie op een toot van Eddie van Marum (https://social.overheid.nl/@staatssecretarisbzk - n.a.v. https://www.rijksoverheid.nl/actueel/nieuws/2025/09/02/nds-raad-van-start-versnelling-digitalisering-overheid, zie ook https://security.nl/posting/903252/NDS-raad+gaat+adviseren+over+digitalisering+van+de+overheid).

Mijn voornemen is om het gebruik van mijn alias-account https://infosec.exchange/@Bitwiper, dat ik gebruikte voor screenshots van QR-codes genoemd bovenaan deze pagina, te gaan minimaliseren (ik vind het jammer maar begrijpelijk dat we op security.nl geen plaatjes kunnen plaatsen; QR-codes in ASCII-art proberen na te bouwen gaat me net iets te ver ;-)
Reageren
Ondersteunde bbcodes
Bold: [b]bold text[/b]
Italic: [i]italic text[/i]
Underline: [u]underlined text[/u]
Quote: [quote]quoted text[/quote]
URL: [url]https://www.security.nl[/url]
Config: [config]config text[/config]
Code: [code]code text[/code]

Je bent niet en reageert "Anoniem". Dit betekent dat Security.NL geen accountgegevens (e-mailadres en alias) opslaat voor deze reactie. Je reactie wordt niet direct geplaatst maar eerst gemodereerd. Als je nog geen account hebt kun je hier direct een account aanmaken. Wanneer je Anoniem reageert moet je altijd een captchacode opgeven.