Er zijn wel eens mensen weggekomen met het omzeilen van computer gerelateerde beveiligingen via het argument dat de "beveiling" in kwestie op geen enkele manier effectief te noemen was en eigenlijk de naam "beveiling" niet waardig was. Ik weet niet meer welke zaak; ik dacht niet in NL. Zo'n argument kan wellicht geldig zijn, maar je begeeft je al gauw in een zeer grijs gebied. Dit zou wel of niet op kunnen gaan voor de USB sticks.
Maar volgens mij heeft T.net gewoon toestemming gekregen om de beveiliging te testen. Dan is er niets aan het handje.
Wat decompilatie en disassemly betreft is dat dacht ik in NL verboden, maar er zijn een aantal uitzonderingen, zoals interoperabiliteits- en educatieve doeleinden e.a. Wat de TS uiteindelijk van plan is, bepaalt denk ik of het legaal is. Overigens is voor veel software decompilatie out-of-the-question; het boomerang project is de enige echte decompiler van machine specifieke code die ik ken en dat schiet meestal niet echt op. Echte decompilatie is in de meeste gevallen een ondoenlijke klus. Wellicht dat disassemblers als IDA Pro of de aanstaande ollydbg 2 wat hulp kunnen bieden door standaard functieaanroepen/inlines en constructies te herkennen voor een aantal veel gebruikte compilers. Het terugdraaien van compilatie naar intermediate bytecode is veel eenvoudiger en bruikbaarder, maar ik denk niet dat dat van toepassing is op de cnc3 updater.
Wellicht kan de TS statisch of dynamisch de hash functie in kwestie identificeren. Het lijkt op een check op transfer schade, want een 32 bits hash is al lang niet meer afdoende voor crypto doeleinden. Mijn gok is ook (een variant van) crc32.
Als er een salt gebruikt wordt, moet dat een constante in het programma zijn en dan is het niet veel waard. Of het is dat unid of de ETAG van het http request/response, maar daar geloof ik eerlijk gezegd niet zo in.
Zijn die hashes van de echte cnc server iedere keer hetzelfde voor dezelfde file en size?
Wat zegt de client als de hash niet klopt? Gewoon transfer error? Probeert ie t opnieuw?
Verwijderd schreef op woensdag 20 juni 2007 @ 21:21:
[...]
de cleanroom methode is de enige toegestane methode om te reverse-engineeren in de USA en de EU. hoe het precies in de nederlandse wet zit weet ik niet maar het zal waarschijnlijk dezelfde richtlijn volgen waarbij je alleen mag reverse-engineeren middels de clean-room methode met als doel om een incompatibiliteit te overbruggen.
[...]
Volgens mij is dat niet zo, tenminste, als in "niet zeker". Niemand weet hoe het precies zit, zowel in de VS en de EU. Om problemen te vermijden gaat iedere serieuze reverse-engineerer via de cleanroom methode te werk, zeker als het gaat om software waarbij de oorspronkelijke producent al vele malen heeft geweigerd om info te verstrekken of zelfs van tijd tot tijd harde taal uitslaat (eenvoudig te herkennen aan de 3 letterige term "sue" (geen idee wat die dame ermee te maken heeft)

Volgens mij wordt de cleanroom methode niet in de NLse wet genoemd, maar dat weet ik niet zeker. De literatuur waaruit ik mij het denk te herinneren heb ik niet meer binnen handbereik en ik kan de wetten in kwestie niet vinden op wetten.overhead.nl.