Wanneer URL-manipulatie strafbaar is als computervredebreuk

Vanwege mijn vakantie deze week geen nieuwe blogs. In plaats daarvan een terugblik op de afgelopen tien jaar: ik heb vijf populaire blogs geselecteerd en kijk er anno 2017 graag nog eens naar met jullie.

Vandaag: Wanneer URL-manipulatie strafbaar is als computervredebreuk,

De man die de kersttoespraak van koningin Beatrix op internet vond, heeft zich strafbaar gemaakt. Zoiets zei ik Eerste Kerstdag [2012] tegen de NOS. En dat maakte nogal wat los. URL’s zijn toch openbare adressen, wat op een server staat is niet geheim, er wordt niets gekraakt, dit is toch pure domheid van de RVD, en ga zo maar door. Ja ja dat klopt allemaal en de RVD is ook een stel prutsers maar het blijft een feit dat binnendringen óók zonder iets te kraken strafbaar is.

Sinds 2006 hebben we een brede definitie van computervredebreuk: ieder opzettelijk en wederrechtelijk “binnendringen” in een computersysteem is strafbaar, ook als er niets wordt gekraakt, omzeild, geïnjecteerd of vervalst. Zodra je ergens bent waarvan je wéét dat je er niet mag zijn, ben je formeel al in overtreding. En ik zie werkelijk niet waarom dat wél zou gelden bij een SQL injectie en niet bij een trivialer vorm van URL-manipulatie – zoals bij de kersttoespraakurl waarbij het een kwestie was van jaartal en UID aanpassen. Beiden zijn aanpassen van URLs.

Ik blijf het een hele moeilijke kwestie vinden. Volgens mij komt het uiteindelijk 99% neer op de intentie van het manipuleren van die URL. Een logische voor de hand liggende URL intypen (uit de comments: nl.wikipedia.org/wiki en dan eh Arnoud_Engelfried) voelt heel anders dan met getallen gaan spelen in de hoop dat je iets krijgt waarvan je wéét dat het er nog niet is. Zoals op 24 december de video van de kersttoespraak die is aangekondigd voor de 25e.

Wat me opviel bij teruglezen van de discussie is dat veel mensen een wezenlijk verschil zien tussen een ID aanpassen en dingen als SQL injectie of buffer overflows, die je toch ook via de URL doet. Zit hem het verschil dan in hoe moeilijk het is om dit te doen? Een ID aanpassen kan een kind, een buffer overflow exploiteren vereist toch enige expertise (of een gegoogeld script).

Of gaat het erom dat een ID duidelijk herkenbaar is als een ID, zodat aanpassen daarvan in de lijn der verwachtingen ligt? Zo van, hier zit een grote rode knop, natúúrlijk gaan mensen daarop klikken. Natuurlijk gaan mensen 201112253998 veranderen in 201212254003. Dat is gewoon, eh, een logisch volgend getal, beetje rare interface maar ik blader gewoon. En SQL injectie is dan anders omdat dat volstrekt onlogisch is om te doen. Niemand heet “Robert’); DROP TABLE students –” immers. Of Robert Oot dan wel Jennifer Null.

Peins peins.

Arnoud

11 reacties

  1. Ook blijf erbij dat id aanpassen geen hacken maar normaal gebruik is. Ik doe het regelmatig bij blogs en forums om snel te navigeren. Je vult iets in wat de bedoeling is, immers de id wordt herkend en gebruikt als id. Dat is wezenlijk anders als in jouw laatste voorbeeld. Zoals je zelf aangeeft zal niemand zal statements in de naam hebben.

  2. Zodra je ergens bent waarvan je wéét dat je er niet mag zijn

    Hoe wéét ik dat in het geval van een ‘normale’ url ? Moet ik voor ik een url intik in m’n browser voortaan eerst gaan onderzoeken of deze ergens vandaan al gelinkt is of iets dergelijks?

  3. Binnenkort weten de meeste mensen niet eens meer wat een URL is 🙂 In de meeste browsers wordt die namelijk niet meer getoond. Ik vermoed dat we over een aantal jaar op deze blogpost terugkijken, en dan zeggen: ja, URL manipulatie is cracken.

      1. Ook het stuk achter de TLD wordt vaak al weggelaten hoor. Er staat gewoon ‘blog.iusmentis.com’ in mijn adresbalk. Heel irritant overigens, maar het gebeurt op steeds meer devices standaard.

        1. Ik gebruik diverse browsers op mijn laptop, waarvan sommige wat onbekender en sommige vallen onder één van de bekendste (Chromium en Firefox bijv.), maar geen enkele van hun laat bij mij het gedeelte achter de TLD weg; alleen het protocol wordt bij sommige weggelaten. Op mijn smartphone gebruik de standaard browser van smartphone en één andere en ook daar geen verwijdering van het gedeelte achter de TLD.

          Allen zijn volledig up-to-date, sommige zelfs meer dan dat (de nieuwste beta, bijv.).

          Om maar even aan te geven dat het dus nog niet zo standaard is als u zegt.

          1. Ik geef ook niet aan dat het standaard is, maar dat het vaak gebeurt. In Safari, de standaard browser op iOS (40% van het mobiele verkeer) en Mac (handjevol %?), zie je de gehele URL al niet meer. Dat vind ik toch best een fors gedeelte, dus ik volg de gedachte van ‘de andere Bart’ dan ook wel dat URL’s over enige tijd niet meer zo gebruikelijk zijn.

        2. Dat is niet om het van je te verbergen, maar om jou daar niet mee lastig te vallen. Immers, heel vaak wil je alleen weten op welk domein je bent beland. Wil je de url weten, om deze bijv. op te slaan of door te sturen, dan klik je in de url balk en zie je de volledige url alsnog.

          Als onderdelen in de url inderdaad enigszins verborgen moeten zijn, wordt al gauw gebruik gemaakt van POST data.

  4. Een url aanpassen moet in beginsel niet strafbaar zijn omdat een url niet bedoeld is als beveiliging, maar om mee te navigeren.

    In de Ikea kan ik de pijltjes volgen naar een afdeling, maar ondertussen ken ik de sluiproutes ook wel, en ben ik niet strafbaar als ik deze gebruik. Het enige dat ik niet moet doen is een deur openen waarop staat dat ik die niet mag openen (‘alleen personeel’/’nooduitgang’).

    En als ik in de C&A een deur zonder label open doe om te kijken of dat nou een paskamer is of niet, lijkt me stukken minder erg dan aan een deur met een bijbehorende codeslot ernaast te zitten.

  5. Ik zie het niet als kwalijker dan een ander doorkiesnummer proberen, bijvoorbeeld 323 i.p.v. 322, en dan wel verbinding krijgen. Internet werkt in principe via het typen van URL’s, dus dan kan onmogelijk de serene rust binnen in een computer verstoren.

Geef een reactie

Handige HTML: <a href=""> voor hyperlinks, <blockquote> om te citeren, <UL>/<OL> voor lijsten, en <em> en <strong> voor italics en vet.