Toon posts:

Leer hier hardware cracken!

Pagina: 1 2 Laatste
Acties:
  • 28.723 views

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24

Opdracht 2

Niet alle zaken zijn zo makkelijk te hacken als de uC uit opdracht 1. Zo nu kom je een microcontroller tegen die (gasp!) geen obvious fout in de beveiliging heeft. Je hebt echter wel toegang tot de hardware, en die toegang is (natuurlijk) te misbruiken.
Geschiedenis
Een hoop van deze security-hacks komen oorspronkelijk weg van het PayTV-circuit. Net zoals nu had je voor bijvoorbeeld satteliet-ontvangst een decoder nodig, waar je een smart-card inschoof. De smart-card was bedoeld als 'sleutel': alleen als de smartcard bepaalde berekeningen voor de decoder kon uitvoeren, kon het signaal gedecrypt worden. Vroeger waren de smartcards nog vrij simpele dingetjes: bijvoorbeeld een PIC16C84 of een AT90S2313 waren vrij standaard. (Tegenwoordig zitten er best brute cryptoprocessoren in die je niet zo 123 meer op deze manier hackt.)

Een abonnement op een sattelietkanaal heb je natuurlijk niet voor het leven: zodra je stopt met betalen moet de sattelietzender ervoor zorgen dat je decoder z'n ding niet meer kan doen zodat je geen TV meer kan kijken. Dit gebeurt door een soort van 'kill-signal' met het TV-signaal mee te sturen: via het TV-signaal word de smartcard verteld dat z'n diensten niet meer nodig zijn. De smartcard zette dan een bitje in z'n geheugen en weigerde verder te werken. Vaak gebeurde dit ongeveer als volgt:
code:
1
2
3
4
5
6
7
8
9
10
void commitSuicide() {
    writeEeprom(disabledBit, 1);
}

void main() {
    if (readEeprom(disabledBit)==1) {
        while(1);
    }
    goDecryptSignal();
}

Het niet-eindigende while-loopje werd hierbij door de compiler omgezet in een enkele 'hang: jmp hang'-assembly-instructie; de smartcard reageerde hierdoor compleet niet meer en kon weggegooid worden.

Of niet? Slimme hackers kwamen erachter dat je een aantal truukjes kon uitvoeren om uit de oneindigende loop te komen: het zogenaamde unloopen van een card. Een ervan is...
Voltage-glitching
De truuk hierachter is dat een microcontroller rare dingen gaat doen als je er een voedingsspanning opzet die buiten z'n bereik ligt. Vaak is het zo dat je uC tijdelijk helemaal niets meer doet als de spanning constant te laag is en permanent niets meer doet als 'ie te hoog is, maar als je spanningsdip of -piek maar klein genoeg is, komen slechts gedeeltes van de chip onder een te lage (of te hoge) spanning te staan. Daar kunnen enkele... interessante... resultaten uitkomen.
Praktijk
Hoewel een glitch een makkelijke manier is om een microcontroller net een instructie iets anders uit te voeren dan bedoeld is, is het daadwerkelijke uitvoeren wat lastiger: om een glitch net op het punt actief te krijgen waar je gewenste instructie uitgevoerd word is niet heel makkelijk, en dan hebben we 't niet eens over de precieze spanningsnivo's die nodig zijn, brown-out-detectoren, whatever.

Een unloop-glitch is echter erg voordelig: als er niets gebeurt kan je 't nog een keer proberen, als je uC reset kan je het nog eens proberen, als je uC wel glitcht ben je er.
De Opdracht
Wat, zonder meer info nu al een opdracht? Yep, deze is namelijk bedoeld om aan te geven hoe makkelijk het kan wezen, en er zijn vele manieren om deze code te glitchen. De volgende code vraagt om een twee-cijferig password en heeft geen anti-bruteforce-delay, maarrrrrr.... de firmware 'brickt' de chip na 5 pogingen. Aan jullie om toch het password te bruteforcen. (Of meteen al het password in 5 pogingen te gokken... maar kijk dan toch ff of je 't kan kraken.) Ter voorkoming van stukke AVRs: de glitches hoeven alleen 'naar beneden' te zijn, er is geen noodzaak om meer dan 5V op de AVR te zetten.

Het schema is hetzelfde als bij de eerste opdracht. De firmware is gecompileerd voor de ATTiny2313 of de ATMega88.

Succes. Als je 'm hebt zet dan meteen in een spoiler wat je gebruikt hebt.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Anthor
  • Registratie: juni 2002
  • Niet online
Ik heb hem.

edit:
toch maar een uitgebreidde spoiler, aangezien er al veel verklapt wordt in de andere spoilers


spoiler: met methode (pas op verborgen hyperlink)
Ik heb geen 8 MHz kristal in huis dus ik gebruik de interne oscillator.
Ik heb als eerste een spanningsdeler en een schakelaar toegevoegd

zie hier: http://www.scrap.cistron.nl/lesson2.png

De waardes van de weerstanden heb ik niet lang over nagedacht, gewoon een setje dat enigszins logisch leek om een spanning te krijgen die te laag is voor een attiny
Een beetje met de schakelaar rommelen, en opeens verscheen er -1 pogingen over.
Daarna was het gewoon codes proberen.

- Een 1K potmeter als spanningsdeler naar de voedingspin van de uC werkte ook
met een beetje rommelen (voorzichtig of snel draaien) kreeg ik soms weer 5 pogingen als ik er al een paar verbruikt had.

- ik heb net nog even geprobeerd of de eerste methode ook werkt zonder spanningsdeler. en daarbij kreeg ik ook -1 pogingen na een beetje rommelen.


Mijn idee bij het gebruiken van de schakelaar was gebruik maken van contact dender (hysterese) in de switch. Als je schakelt staat dat ding even te klapperen waardoor rare dingen gebeuren.

(cmiiaw:) Met een beetje geluk krijg je uC in een staat waarbij de registers gecleared zijn maar bv de programcounter niet , waardoor de pogingen check een leeg register krijgt, aftelt en wegschrijft

[Voor 91% gewijzigd door Anthor op 02-07-2010 15:51]


Acties:
  • 0Henk 'm!

  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Gotcha ...

Uitgebreide spoiler zonder het echte antwoord:
spoiler:
Het probleem is dat mijn werkwijze voor een ander hoogstwaarschijnlijk niet reproduceerbaar is, en ik (nog) niet precies begrijp wat er gebeurt ...

Ik heb: tiny2313 zonder extern kristal, usbtiny programmer aangesloten op ISP (inclusief voeding). In principe gebruik ik de usbtiny ook tijdens het testen als voeding.

Mijn werkwijze: Ik had in eerste instantie wat problemen met mijn terminal emulator (picocom) waardoor ik niet de kans kreeg zelf een poging te doen een getal in te geven (initalisatie van de serieele poort door picocom). Dat heb ik opgelost door een --noinit optie te gebruiken. Wat mij vervolgens opviel was dat het programma al werkt wanneer *enkel en alleen* RX, TX en GND aangesloten waren, de 2313 heeft aan de spanning op RX/TX pinnen schijnbaar voldoende om te booten?

Zodra ik iets in ging geven ging de controller rebooten, mijn gedachte was dat dit veroorzaakt wordt doordat de microcontroller na een mislukte poging in de eeprom wil schrijven maar daarvoor zoveel spanning/stroom nodig heeft dat de "voeding" van de usb/rs232 converter instort en daarmee de microcontroller reboot. Iets meer uitproberen toonde echter aan dat zelfs de ingave van een enkel karakter al een reboot veroorzaakte.

Dus; Toch de usbtiny weer aangesloten voor de voeding, toen zag ik dat ik weer in staat was 2 cijfers in te geven en een WRONG terugkreeg, maar dat er iets mis ging in de teller. De teller bleef op 2/3 hangen;

[code]
2 tries left.
Enter code.
WRONG
3 tries left.
Enter code.
WRONG
2 tries left.
Enter code.
WRONG
2 tries left.
Enter code.
WRONG
3 tries left.
Enter code.
WRONG
2 tries left.
Enter code.
WRONG
2 tries left.
Enter code.
WRONG
3 tries left.
[/code]

In deze staat is het natuurlijk niet moeilijk de code te vinden ... pas nadat ik de code had gevonden viel mij op dat de usbtiny programmer HELEMAAL NIET AAN DE PC HING ...

Ik heb nog geen sluitende verklaring voor het gedrag van de tiny, dat 'ie raar gaat doen bij lage spanningen is duidelijk, ik vermoed nog steeds dat 'ie niet in staat is de teller te updaten in de prom?

Acties:
  • 0Henk 'm!

  • ikbenalzeven
  • Registratie: juni 2009
  • Laatst online: 27-11 19:06
leuke opdracht weer sprite_tm! wat ik me afvraag: hoe heb je dit soort informatie geleerd? opleiding, beroepspraktijk of interesse?

ik ga vanavond meteen aan de slag. :)

Acties:
  • 0Henk 'm!

  • robint91
  • Registratie: april 2007
  • Laatst online: 24-09-2014
spoiler:
1 keer proberen en ik ben er al in!! 42 FTW

Acties:
  • 0Henk 'm!

  • AlexanderB
  • Registratie: maart 2007
  • Laatst online: 18:00

AlexanderB

7800 rpm

:o dat is wel een hele echte spoiler :P +1 voor nerdy social engeneering..

spoiler:
dat een avr niet naar zn prom kan schrijven bij te lage voedinsspanning is bekend, dat dr n heel dun lijntje zit tussen crash en random data schrijven ipv de juiste waarde kan je zelf uitvinden, of je hebt gewoon geluk zoals _Danny_ dat ie precies in het juiste gebied zit om onbeperkt te kunnen bruteforcen..

Acties:
  • 0Henk 'm!

  • Springuin
  • Registratie: juli 2002
  • Laatst online: 13-09 20:19
Ik heb hem, na een paar keer herprogrammeren en wat mislukte pogingen.

Methode (let op: bevat antwoord!):
spoiler:
Eerst 330 ohm, later 2x 330 Ohm parallel in de voedingslijn (bij 330 resette de attyiny te snel en kwam er niks zinnigs uit), klok op 16MHz (ik had geen 8MHz kristal), terminal ook op dubbele snelheid, tekst intypen en wat rommelen met de resetlijn (pin 1 naar gnd) en op een zeker moment:

0 tries left.
Chip has self-destructed! Teh noez!!!1
U���.
0 tries left.
��6�����������7���к•�_��ό�����ϒ�@Ready.��������
0 tries left.
Chip has self-destructed! Teh noez!!!1
2UI����.
-2 tries left.
Enter code.
WRONG
-3 tries left.
�UAh�g�f�e�d�c�b�a�`�_�^�]�\�[�Z�Y�X�W�WRONG
�ҁ���e��҃c�Ready.
-3 tries left.
Enter code.
22�


Ha, -3; foutje van de programmeur: checken op tries_left==0 ipv tries_left <= 0. Als tries_left een byte is, en dat zal wel omdat dit een 8bitter is, dan hebben we nu ongeveer 252 pogingen om te proberen. Ik heb op dat moment de weerstand overbrugd, zodat de microcontroller weer netjes 5V krijgt en weer normaal werkt (anders bleven er rare dingen uitkomen en kon je niet zien of het wel of niet successvol was).
De code is 2 cijfers, dus dat moet in 100 pogingen lukken.

De eerste 10 met de hand ingetypt en vervolgens in een terminal venster het volgende:

for i in {10..99} ; do echo $i > /dev/ttyUSB0; echo $i ; sleep 1; done

Een hand op ctrl-c, de andere op enter om het commando uit te voeren. Ondertussen draait in het naastliggende venster de terminalverbinding naar de microcontroller en kan ik zien wat die antwoordt.

<knip>
-31 tries left.
Enter code.
WRONG
-32 tries left.
Enter code.
WRONG
-33 tries left.
Enter code.
WRONG
-34 tries left.
Enter code.
WRONG
-35 tries left.
Enter code.
OK! You're in.
5 tries left.
Enter code.

Ram, ctrl-C en in het andere venster zie ik staan:

<knip>
35
36
37
38
39
40
41
42
^C

Even nog een check, en inderdaad 42.

Acties:
  • 0Henk 'm!

  • _ferry_
  • Registratie: januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Moet je hem na het "bricken" opnieuw proggen? want ik moet hem op mijn werk programmeren, dus ik kan moeilijk na 5x proberen/dingen testen opnieuw gaan programmeren als ik thuis zit :P

Acties:
  • 0Henk 'm!

  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
@_ferry_:

spoiler:
"spelen" met de spanning/GND van je rs232 connectie kan ook wanneer hij "bricked" is.


Als je thuis geen programmer hebt maar wel rs232 is het misschien een idee voor het testen een m88 te nemen met een bootloader. Net als een arduino zeg maar. Dan kan je 'm proggen via de serieele poort. Voor de opdrachten tot nu toe mag dat volgens mij geen probleem zijn. Er is ruim voldoende flash op de 88 (de hex files van de opdrachten zullen immers nooit groter dan 2K zijn.). Gebruik eventueel een I/O pin die niet op de tiny beschikbaar is om de bootloader te activeren.

Misschien kan Sprite aangeven of dat echt geen problemen veroorzaakt? Ik heb thuis werkende code voor zo'n bootloader en kan die eventueel wel posten.

Acties:
  • 0Henk 'm!

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Moet theoretisch gezien kunnen; met een bootloader heb je echter wel een (kleine ) kans dat je in de bootloader-code terechtkomt als je met de spanning gaat spelen; in het slechtste geval brick je daarmee de user-code van de AVR echt :) Behalve dat moet 't niet veel kwaad kunnen, en als 't wel gebeurt is een keer herprogrammeren voldoende om 'm te fixen.

Ik wil op de langere termijn toch op 1 chip standaardiseren; ik merk echter wel dat er veel vraag is naar de Mega88/168/...-code. Ik kan nu nog omwisselen, moet ik wel even weten wat jullie willen.

Poll: Mega88 of Tiny2313?
Mega88!
Tiny2313!
Boeit niet, ik heb beide (of geen van de 2)
Tussenstand:
http://poll.dezeserver.nl/results.cgi?pid=359504&layout=6&sort=prc
Ook een poll maken? Klik hier

[Voor 3% gewijzigd door Sprite_tm op 05-07-2010 10:21]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0Henk 'm!

  • _ferry_
  • Registratie: januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Ik zie ook dat de arduino als programmer te gebuiken is. Kijken of ik daarmee aan de slag kan gaan. De 2313 heb ik liggen, alleen nog ff het EEA bouwen. Volgens mij kan ik de arduino dan ook voor de rs232 gebruiken.

* _ferry_ must resist the spoilers :P

[Voor 28% gewijzigd door _ferry_ op 05-07-2010 10:22]


Acties:
  • 0Henk 'm!

  • Looney11
  • Registratie: december 2004
  • Laatst online: 27-11 19:05
Heb alles voor PIC-jes thuis liggen maar dit is wel erg interessant. Eens kijken voor een leuke Atmel starter setje :)

Acties:
  • 0Henk 'm!

  • Boudewijn
  • Registratie: februari 2004
  • Niet online

Boudewijn

omdat het kan

Ik ga deze week eens rustig kijken of het mij ook lukt. Nog steeds geen tijd+hardware (binnen bereik, thuis heb ik het wel) gehad.

Ik ben verslaafd aan koken. Volg me op https://www.kookjunk.nl


Acties:
  • 0Henk 'm!

  • DaWaN
  • Registratie: oktober 2002
  • Laatst online: 12:55

DaWaN

'r you wicked ??

Looney11 schreef op maandag 05 juli 2010 @ 11:22:
Heb alles voor PIC-jes thuis liggen maar dit is wel erg interessant. Eens kijken voor een leuke Atmel starter setje :)
Ik zou een AVR Dragon kopen, kun je mee programmeren én debuggen.

If you do not change direction, you may end up where you are heading


Acties:
  • 0Henk 'm!

  • Proxx
  • Registratie: juni 2008
  • Laatst online: 30-07 09:49
bij ons code slot op het werk is 1x fout 15 sec wachten 2x 30sec 3x 3minuten 4x 15min

maar die kun je gewoon met een pinpas open maken precies zoals in de films :? echt slecht

[Voor 6% gewijzigd door Proxx op 06-07-2010 12:39]

Proxx wijzigde deze reactie 31-07-2015 13:37 (1337%)


Acties:
  • 0Henk 'm!

  • _ferry_
  • Registratie: januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Hmm, zit lekker te klooien met opdracht 1, maar ik krijg nog niets uit de atmel, stuur er via het printje van de arduino data naartoe (IPV de max232), ledje op de arduino knippert dan ook. Maar ik krijg niets terug.

Ik heb zo mijn twijfels over het programmeren, lang geleden dat ik de programmer op mijn werk gebruikt heb, en ik weet dat het toen ook niet vanzelf ging :P ik zie ook nergens de optie om de fuses in te stellen.

Ojah, als ik tussen GND en pin 3 meet staat er een freq. van 240hz op. Moet dat niet de 8mhz van het xtal zijn?

[Voor 11% gewijzigd door _ferry_ op 06-07-2010 12:42]


Acties:
  • 0Henk 'm!

  • nick_haak
  • Registratie: december 2004
  • Laatst online: 24-11 19:14
heb je rx en tx goed geplaatst? moeten kruiselings worden aangesloten he :)

Acties:
  • 0Henk 'm!

  • Anthor
  • Registratie: juni 2002
  • Niet online
_ferry_ schreef op dinsdag 06 juli 2010 @ 12:35:
Ojah, als ik tussen GND en pin 3 meet staat er een freq. van 240hz op. Moet dat niet de 8mhz van het xtal zijn?
nee, de clock-out staat (als deze ingesteld is) op pin 6.

Heb je een verse attiny gebruikt? (fabriek settings) dan kan je 1200 baud proberen contact te maken.
Want als je zelf geen fuses heb gezet staat de clk/8 fuse waarschijnlijk nog aan.

De opdracht is denk ik ook wel te doen met die settings

Acties:
  • 0Henk 'm!

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
_Ferry_: Wat voor software gebruik je? Voor avrdude staat er iig een regeltje eerder in dit topic iirc.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0Henk 'm!

  • _ferry_
  • Registratie: januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Anthor schreef op dinsdag 06 juli 2010 @ 13:44:
[...]

nee, de clock-out staat (als deze ingesteld is) op pin 6.

Heb je een verse attiny gebruikt? (fabriek settings) dan kan je 1200 baud proberen contact te maken.
Want als je zelf geen fuses heb gezet staat de clk/8 fuse waarschijnlijk nog aan.

De opdracht is denk ik ook wel te doen met die settings
Hmm, ik weet t wellicht al, dacht dat ik hetzelfde uCtje had maar ik heb nog de 90s2313, dus geen attiny.

  • 147126
  • Registratie: juni 2005
  • Laatst online: 24-03-2018
Hee leuk topic! Is voor de eerste opdracht echt een kristal van 8MHz nodig? Ik heb hier momenteel alleen 4, 12, 16 en 20 MHz liggen en zou er graag vanavond nog mee bezig willen :P

  • Springuin
  • Registratie: juli 2002
  • Laatst online: 13-09 20:19
Shadow, 16MHz werkt ook, zet je terminal op 19200 baud ipv 9600.

  • virus.elektro
  • Registratie: januari 2002
  • Laatst online: 22-11 14:34

virus.elektro

profesionele monitor sloper

je kan het met 4 mhz proberen, wel rekening mee houden dat dan de communicatie op 4800 baud loopt en alles 2 keer zo langzaam is. je kan ook de interne rc-gebruiken schijnt. maar die zijn niet echt aan te raden voor seriele communicatie.

succes ermee

elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url


  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Ik heb beide opdrachten op de interne klok gedaan, werkt prima.

  • 147126
  • Registratie: juni 2005
  • Laatst online: 24-03-2018
Super! Bedankt allemaal! Schakelingetje opgebouwd, nu kijken of ik de hex-file er in kan krijgen :P

Acties:
  • 0Henk 'm!

  • NjitsSs
  • Registratie: oktober 2007
  • Laatst online: 12:33
De eerste is me gelukt. Ben nu bezig met de tweede, en die lukt ook aardig.
spoiler: Techtalk
Ik heb een 10k pot gebruikt als spanningsdeler, en nog een 100 ohm weerstand in serie met de RX, TX en VCC van de AVR. Door wat creatief met de spanning te draaien werd het aantal beurten getal random. Als het bijna op was, moest ik gewoon nog wat draaien met de potmeter om weer een nieuw random getal te krijgen.

Acties:
  • 0Henk 'm!

  • paularts
  • Registratie: september 2006
  • Laatst online: 27-11 16:12

paularts

Paulux !!!!!!

Leuk topic Sprite_tm,

kan helaas pas in Sept mee komen puzzelen ben nog ff in het buitenland :P
goede opzet met een lage instap drempel en een hoog leer gehalte
Me Like, ik hoop dat als ik terug ben het topic ook nog volop leeft

KUTGW.

(Multiple exclamation marks are a sure sign of a diseased mind)


  • mookie
  • Registratie: juni 2002
  • Laatst online: 19-05 20:51

mookie

Heerlijk Helder

eej, geen reacties meer?
Ik snap amper iets van microcontrollers of elektronica maar als ik dit topic lees is het net een boek.
Reuze spannend.
Ik kan er helaas niet aan medoen in verband met gebrek aan kennis maar als ik dan de uitkomsten lees over hoe het "probleem" is opgelost dan denk ik van, ja, dat had ik ook kunnen bedenken....
Ik hoop dat er snel een nieuwe opdracht komt en dat er weer vele reacties volgen....

mookie


  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Komt eraan. Ik ben een weekje weggeweest en verder atm bezig met iets anders in deze richting wat binnenkort op T.net gaat verschijnen; zodra ik weer tijd en zin heb zet ik de derde opdracht wel inelkaar.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Nou ja! Wij zitten met smart op nieuwe opdrachten te wachten en meneer gaat gewoon weg en andere dingen doen! Ongehoord! :P

  • nightriderron
  • Registratie: juli 2003
  • Laatst online: 21-10-2020
heb ook wat spulletjes besteld en ga eens kijken of ik iets voor elkaar krijg.
vind dit reuze interessant.
heb vroeger op school veel elektronica gehad, en eigenlijk nooit meer echt iets mee gedaan.

ben benieuwd of het gaat lukken d:)b

  • pientertje
  • Registratie: februari 2009
  • Niet online
ik heb alle spulletjes bij elkaar, heb nog nooit iets met een avr gedaan dus het was allemaal even uitzoeken. Ik gebruik een usb avr isp die een stk500 nadoet. Ik gebruik vervolgens de UART tool van mijn pickit2 om de seriële communicatie te doen.

spoiler:
De eerste opdracht was een eitje, maar de tweede... Het lukte me gewoon niet om een glitch te maken. Heb alles geprobeerd: potmeters heen en weer rammen. Een lekkere schakelaar dender op de voeding, ook niets. Ook een 2 70 ohm weerstand in de voeding plaatsten en dan maar de voedingsspanning 'kortsluiten' werkte ook niet. Wie weet waarom het me niet lukte? Uiteindelijk heb ik een beetje valsgespeeld. Ik heb de eeprom uitgelezen van de avr met nog verschillende resterende pogingen, en in een hexeditor gegooid. Het was vrij snel duidelijk waar de boel opgeslagen werd, en ik had genoeg pogingen om het te raden.

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
spoiler:
Vreemd. Heb je toevallig ontstoorcondo'tjes over de voedingslijn gezet of de brown-out-detector in de fuses van de avr aangezet? Ik had meer moeite om geen glitches te krijgen dan wel namelijk ;)


Which reminds me: ik moet eens een nieuwe opdracht inelkaarzetten... maar eens kijken of ik er dit weekeind tijd en inspiratie voor heb. Als je nog ideeen hebt, schroom niet me te dm'men trouwens ;)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • nightriderron
  • Registratie: juli 2003
  • Laatst online: 21-10-2020
Zo spulletjes binnen.
een avr flasher gemaakt en
even een max232 gemaakt 5v en gaan.

eerste opdracht even lopen vechten omdat ik bij de max232 de verkeerde elco's had.
maar uiteindelijk gelukt.

op naar opdracht 2

  • pientertje
  • Registratie: februari 2009
  • Niet online
@sprite_tm
oh stom, ontstoorcondensatoren. Slechte gewoonte :P

  • Ibex
  • Registratie: november 2002
  • Laatst online: 27-11 07:54

Ibex

^^ met stom.

Ik doe voorlopig nog niet mee, maar lees mee om bij te leren. Sprite_tm, zou het mogelijk zijn om voor een nieuwe opgave wat uitleg te geven over de vorige opgave. Waar zit de fout, hoe werkt de hack en waarom werkt die hack precies?

Bijvoorbeeld bij de eerste:
spoiler:
Ik lees dat het iets is waarbij de reactie langer of minder lang wacht voor het geven van WRONG bij het invullen van een juiste/foute combinatie, maar waarom dan juist en wat is het nu precies?

Archlinux - Rode gronddingetjes zijn lekker - Komt uit .be


  • kluyze
  • Registratie: augustus 2004
  • Niet online
Was dat een vraag?

Poging om eerste opgave uit te leggen:
spoiler:
Je hebt een bepaalde code die 4 karakters lang is, laten we aannemen dat voor dit geval bestaat uit 4 cijfers. Elk cijfer kan 0-9 zijn dus zijn er per cijfer 10 mogelijkheden. Dit geeft dat er 104 of 10000 mogelijkheden bestaan. Omdat de code bij het eerste cijfer al onmiddellijk aangeeft goed of fout (Indien het eerste cijfer fout is, wacht hij niet op de overige 3 cijfers), ga je dus niet alle mogelijkheden moeten doorlopen. 0000, 0001, 0002, ... Als de eerste geen 0 is, geeft die onmiddellijk al aan dat dit fout is dus je hoeft de overige van 0001 tot 0999 niet te testen. Indien de code 9999 zou zijn heb je dus 9+9+9+9=36 pogingen nodig ipv. 10000 indien je telkens bij 0 begint. Wat onmiddellijk ook het maximum aantal nodige pogingen is.

De fout is dus dan bij het eerste foute karakter er geen 'foute code'-boodschap mag gegeven worden, maar dat deze moet wachten tot alle karakters ingelezen zijn.
Ik hoop dat dit een voldoende antwoord voor je was?

Er was trouwens hier al een opzet gegeven. En hier stond ook de oplossing.

  • nightriderron
  • Registratie: juli 2003
  • Laatst online: 21-10-2020
nou na veel geklooi is het toch gelukt.

spoiler:
eerst met wat weerstanden geprobeerd de voeding laag genoeg te krijgen maar dat werkte niet helemaal.
daarna geprobeerd met een potmeter en met wat gedraai kreeg ik ineens -1 en daarna 87 pogingen over.
5v er weer op en met de hand de code proberen. afentoe schoot ie ineens weer naar 3pogingen over.
maar uiteindelijk gelukt.


vraag me toch nog af of het mogenlijk is dit automatisch te laten doen.

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Voor de mensen die nooit op de FP komen: als je dit topic leuk vind zal deze review je waarschijnlijk ook wel kunnen boeien :)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Onbekend
  • Registratie: juni 2005
  • Laatst online: 18:52
Interessant en leuk artikel.
Ik heb wel een vraagje over die time-attack. Was die wachttijd van max. 100 kloktikken volledig "schijnbaar willekeurig", of was die niet evenredig verdeeld over het aantal kloktikken?

Speel ook Airplane Manager en Repeat


  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Inderdaad een leuk artikel, ik dacht enige overeenkomsten met de opdrachten hier te zien - toevallig?

Ik vraag me af of het mogelijk is aan de hand van de data die naar de Inito chip wordt gestuurd de encryptie methode van de AES sleutel te bepalen? Als je die weet zou je de AES sleutel van de encrypted schijf kunnen decrypten, die vervolgens kunnen encrypten met een eigen pin code en voila.

  • Phalox
  • Registratie: oktober 2006
  • Laatst online: 27-11 17:19

Phalox

Solar Powerrrd

En het is ook op hackaday geraakt :-)

http://hackaday.com/2010/...code-protected-hard-disk/

  • Ibex
  • Registratie: november 2002
  • Laatst online: 27-11 07:54

Ibex

^^ met stom.

kluyze schreef op zondag 22 augustus 2010 @ 10:51:
Was dat een vraag?

Poging om eerste opgave uit te leggen:
spoiler:
Je hebt een bepaalde code die 4 karakters lang is, laten we aannemen dat voor dit geval bestaat uit 4 cijfers. Elk cijfer kan 0-9 zijn dus zijn er per cijfer 10 mogelijkheden. Dit geeft dat er 104 of 10000 mogelijkheden bestaan. Omdat de code bij het eerste cijfer al onmiddellijk aangeeft goed of fout (Indien het eerste cijfer fout is, wacht hij niet op de overige 3 cijfers), ga je dus niet alle mogelijkheden moeten doorlopen. 0000, 0001, 0002, ... Als de eerste geen 0 is, geeft die onmiddellijk al aan dat dit fout is dus je hoeft de overige van 0001 tot 0999 niet te testen. Indien de code 9999 zou zijn heb je dus 9+9+9+9=36 pogingen nodig ipv. 10000 indien je telkens bij 0 begint. Wat onmiddellijk ook het maximum aantal nodige pogingen is.

De fout is dus dan bij het eerste foute karakter er geen 'foute code'-boodschap mag gegeven worden, maar dat deze moet wachten tot alle karakters ingelezen zijn.
Ik hoop dat dit een voldoende antwoord voor je was?

Er was trouwens hier al een opzet gegeven. En hier stond ook de oplossing.
Thanks :). Ik was niet volledig mee bij de aangehaalde oplossingen. Deze van jou maakt het volledig duidelijk :).

Archlinux - Rode gronddingetjes zijn lekker - Komt uit .be


  • Darkstone
  • Registratie: mei 2009
  • Laatst online: 26-04-2014

Darkstone

Het kan altijd sneller.

Sprite_tm schreef op zaterdag 26 juni 2010 @ 22:44:
We gaan in deze eerste opdracht de code proberen te gokken. Stel: je hebt een codeslot van 4 cijfers. Weet je verder niets over de code, betekent 10*10*10*10=10000 mogelijkheden die je uit zou moeten proberen om het slot open te maken (Dat is bruteforcen: begin bij 0001, als die fout is pak 0002, als die niet lukt probeer 0003 enzovoort.) Mocht je echter extra info kunnen bemachtigen worden de mogelijkheden al snel minder: als je ziet dat de 3, 4, 5 en 6 behoorlijk versleten zijn weet je dat alleen die cijfers gebruikt worden en hoef je nog maar 4*4*4*4=256 combinaties te proberen (Je weet namelijk dat je alle codes waar iets anders dan 3, 4, 5 en 6 inzit al meteen overgeslagen kunnen worden.) Mocht je deze manier van kraken proberen is het dus zaak om zo veel mogelijk informatie te verkrijgen: let goed op op je omgeving, welke signalen je krijgt en wat je daaruit af kan leiden: waarom zijn signalen zoals ze zijn? Als je een verschil ergens in opmerkt tov de vorige keer dat je een code probeert in te tikken: waarom is dat? Is het misschien omdat de code die je nu uitprobeert 'beter' of 'slechter' is dan de vorige?
dat moet toch 4*3*2*1=24 zijn? :?

overigens, nog bedankt voor het beste tweakers artikel in tijden _/-\o_

'de sheet' -- Dell Latitude E6520, 1080p, i7-2820QM, X25-M 80GB, 16GB, 97Wh
Gezocht: Baan software development, C++, gave software, omgeving Delft.


  • Onbekend
  • Registratie: juni 2005
  • Laatst online: 18:52
darkstone schreef op zondag 29 augustus 2010 @ 20:50:
[...]

dat moet toch 4*3*2*1=24 zijn? :?

overigens, nog bedankt voor het beste tweakers artikel in tijden _/-\o_
Dat geldt alleen als elk cijfer maar 1 keer gebruikt mag worden.
Als je een cijfer vaker mag gebruiken, dan is het 4x4x4x4 = 256. :)

Speel ook Airplane Manager en Repeat


  • kluyze
  • Registratie: augustus 2004
  • Niet online
Als de 3, 4, 5 én 6 versleten zijn en je moet een 4 cijferige code ingeven dan komt elk cijfer maar 1 keer voor want je hebt al 4 cijfers, je weet alleen niet welke volgorde. Of heeft de persoon voor de lol evenveel op een ander cijfer lopen drukken?

  • Lucky Luke 008
  • Registratie: augustus 2006
  • Laatst online: 06-03-2020
leuk topic dit, hoe verzin je die opdrachten? Ik zie wel enige overeenkomst met de genie-hack (mooi artikel!), maar om er toch zo 'n leuk spelletje van te maken...

Ben benieuwd naar opdracht 3 :) weet niet of ik ook mee ga doen maar het is iig leuk leesvoer.

  • Korot
  • Registratie: mei 2010
  • Laatst online: 05-03 23:38
kluyze schreef op maandag 30 augustus 2010 @ 20:44:Of heeft de persoon voor de lol evenveel op een ander cijfer lopen drukken?
Kan ook een slim persoon zijn, die wil voorkomen dat mensen zijn code te weten komen, door te kijken welke nummers het meest versleten zijn. Als zijn code 4545 is, drukt hij voor de lol ook nog de 6 en 2 even vaak in. Kom dan maar op de juiste code. :P

Groet,
Korot

  • Darkstone
  • Registratie: mei 2009
  • Laatst online: 26-04-2014

Darkstone

Het kan altijd sneller.

een slim persoon heeft geen wachtwoord van 4 cijfers...

'de sheet' -- Dell Latitude E6520, 1080p, i7-2820QM, X25-M 80GB, 16GB, 97Wh
Gezocht: Baan software development, C++, gave software, omgeving Delft.


  • kluyze
  • Registratie: augustus 2004
  • Niet online
En dan zou die nog eerder ALLE knoppen even hard lopen verslijten. Dan heb je er helemaal het raden naar. Het kan trouwens ook een hardwarebeperking zijn dat er maar 4 cijfers in de code zitten.

[Voor 29% gewijzigd door kluyze op 31-08-2010 18:52]


  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Jongens, het artikel heeft zelf ook een commentaar-mogelijkheid. Ik ben blij dat het blijkbaar mensen aan het denken heeft gezet, maar imo is dit er niet de plaats om 't te bespreken.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Onbekend
  • Registratie: juni 2005
  • Laatst online: 18:52
Die commentaarmogelijkheid heeft nauwelijks discussiemogelijkheden en is erg onoverzichtelijk.

Speel ook Airplane Manager en Repeat


  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Ik heb de PC-scoop-discussie afgeplitst naar Goedkope PC-based scoop? .

[Voor 69% gewijzigd door Sprite_tm op 09-09-2010 09:52]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • JapyDooge
  • Registratie: juli 2002
  • Laatst online: 27-11 20:01

JapyDooge

NoxiousPluK

Tof topic :D ik ben benieuwd naar de nieuwe opdrachten die nog komen gaan, maar om zelf wat ervaring op te doen zal ik ook eens wat meuk bestellen soon (attiny enzo). :P

  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Nu de MacSE/Arm af is vind ik het hoog tijd om deze thread weer eens onder de aandacht te brengen. Vandaar deze schop. Je bent ons toch niet vergeten Sprite?

  • Lucky Luke 008
  • Registratie: augustus 2006
  • Laatst online: 06-03-2020
En nog een schop van mijn kant, ik lees dit topic nog enkele keren per week door om te kijken of er iets is waar ik m'n nieuwe AVR dragon op kan loslaten...

  • dragonfly28
  • Registratie: oktober 2003
  • Laatst online: 21-11 17:46
ja idd prachtig topic.
Ben niet in het bezit van de hardware of de kennis om het zelf uit te voeren, maar ik begrijp het wel /thumbs up

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24

Opdracht 3

Op veler verzoek: opdracht 3. Dit is een redelijk vluggertje, maar jullie kunnen er waarschijnlijk jullie tanden wel op stukbijten :)
Theorie.
Wat is de meest basic manier om een password te implementeren? Zoiets misschien:
C:
1
2
3
4
5
6
7
8
int goed=false;
char buffer[100];
while(!goed) {
    printf("Geef password\n");
    readline(buffer);
    if (strcmp(buffer, "GeHeIm!1!")==0) goed=true;
}
printf("Yay, je zit erin!\n");

In combinatie met goede hardware (=geen voltage- of andersoortige glitching mogelijk) is dit simpel en onkraakbaar, toch? Nou, niet echt... het venijn zit 'm in de password-vergelijk-routine. Wat doet die namelijk? Een extreem versimpelde strcmp() die false returnt als de 2 strings ongelijk zijn:
C:
1
2
3
4
5
6
function strcmp(char* s1, char *s2) {
    for (int x=0; x<strlen(s1); x++) {
        if (s1[x]!=s2[x]) return false;
    }
    return true;
}

Wat gebeurt hier? De eerste karakters van de string worden vergeleken. Als die ongelijk zijn, returnt de functie. Als ze gelijk zijn, gaat de functie door met het vergelijken van de 2e karakter. Als die ongelijk zijn returnt de functie, anders gaat 'ie door met het vergelijken van het 3e karakter, enzovoort. Merk op dat de tijd die de routine duurt variabel is: als het eerste karakter fout is, duur de routine een stuk korter dan als het 3e karakter fout is. Deze tijd is meetbaar; de tijd tussen het geven van de code en het terugkrijgen van een response is hierdoor namelijk anders. Vaak verschilt deze slechts microseconden, maar meetbaar is het wel.
Praktijk
Firmware: atmega88-versie en de attiny2313-versie.
Ik heb het jullie iets makkelijker gemaakt en mijn versie van strcmp iets trager gemaakt zodat je met veel methoden de werking nog kan zien. Welke je pakt laat ik aan jou over. Virtueel koekje voor degene die als eerste het 'geheime woord' weet te posten. Succes!

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • franssie
  • Registratie: februari 2000
  • Nu online

franssie

Save the albatross

interessante deze - een kijken of ik deze week hardware kan regelen hiervoor.
spoiler:
Ben benieuwd of ik dit old-skool kan horen (met de blote AM-radio oren of evt met behulp van mijn geluidskaart). Maar die dingen zijn nu al redelijk snel dus het zal me benieuwen

Keep Calm, Carry On Een goed Probleem komt nooit alleen | Niets is zo permanent als een tijdelijke oplossing | Fender Guitar, Gibson Guitar, Goddamn Guitar


  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Sprite, klopt het dat de password prompt "Enter the 4-digit code." is?

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
code:
1
2
printf_P(PSTR("Enter the 4-digit code.\n"));
for (int x=0; x<4; x++) code[x]=ugetc()

Ja dus :)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Rubu
  • Registratie: september 2007
  • Laatst online: 25-11 17:39
spoiler:
Ik heb hem! iets met een rosebud ofzo ;)
Ik heb mijn BusPirate (van: http://dangerousprototypes.com, leuk ding!) gebruikt als logic analyzer, was met zijn max bandwidth van 1Mhz meer dan voldoende om het verschil te kunnen zien.
Ik zat in het begin nog alle 'reactietijden' neer te pennen, kreeg ik een verschil van 0.06ms en dacht ik dat ik het goede getal had ;) maar toen ik eenmaal de eerste gevonden had bleek het verschil toch iets groter.
Leuke opdracht!
Anxiously waiting for the next one!

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
En het virtuele koekje is weg :) Netjes gedaan. Er is trouwens nog een koekje beschikbaar als je weet welk password uit welk spel dat is ;)

[Voor 49% gewijzigd door Sprite_tm op 08-11-2010 23:05]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Rubu
  • Registratie: september 2007
  • Laatst online: 25-11 17:39
Haha ik heb werkelijk waar geen flauw idee!
spoiler:
Voor de zekerheid even spoilertags;
Had nog een vraagje, stel nou je laat die vertraging in de strcmp routine weg, wat zou dan het verschil zijn tussen een goede en een fout eerste getalletje? is dat dan nog te zien met een snelle LA?

  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Zhe Zekrit Weurd is van de Sims volgens mij - Niet dat ik dat ken maar Google hielp een handje ...

Hoewel ik 'm gevonden heb werkt mijn methode absoluut niet ... In python een scriptje geschreven om codes te sturen en daar een timer omheen gebouwd. Dat leverde mijn eerste char, de rest is puur op brute force - ik zie een groot verschil in reply tijd tussen de correcte code en een foute code maar niet tussen code die er 3 cijfers naast zit of een code waarvan alleen het laatste cijfer fout is... misschien moet ik m'n output nog eens goed gaan bekijken.

Of is die compare misschien toch net iets anders ... hmmmm ...

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Ik denk dat het feit dat je 't op een PC probeert te doen, icm de latency van een evt USB->serieel-converter, wel es roet in het eten kan gooien. Ik kan je aanraden om toch wat met de hardware te proberen, anders kom je later toch in de knoop.

Rubu: Da's waarschijnlijk een clockcycle of 3 ofzo. Ik wil voor shits'n'giggles wel een opdracht 3A maken, zonder de expliciet vertraagde strcmp()-routine.

[Voor 24% gewijzigd door Sprite_tm op 09-11-2010 01:19]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • JapyDooge
  • Registratie: juli 2002
  • Laatst online: 27-11 20:01

JapyDooge

NoxiousPluK

Haha idd, iets van extra geld in de Sims idd :D

  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Vanavond eens kijken wat ik met m'n OLS kan ...

  • timwijn
  • Registratie: juni 2010
  • Laatst online: 07:35
kluyze schreef op maandag 30 augustus 2010 @ 20:44:
Als de 3, 4, 5 én 6 versleten zijn en je moet een 4 cijferige code ingeven dan komt elk cijfer maar 1 keer voor want je hebt al 4 cijfers, je weet alleen niet welke volgorde. Of heeft de persoon voor de lol evenveel op een ander cijfer lopen drukken?
Dan is het 4*3*2*1 * 4ncr1

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Blijkbaar is het ook een cheatcode in de Sims, maar die bedoelde ik niet :) Nja, jullie hebben het blijkbaar nog nooit gespeeld, anders was het wel blijven hangen. Het password komt uit uplink en het is het eerste wachtwoord wat je in 't spel bruteforce't.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • JapyDooge
  • Registratie: juli 2002
  • Laatst online: 27-11 20:01

JapyDooge

NoxiousPluK

Uplink 8) coole game :D jammer dat het zo buggy was ;(
Maar ik heb veel meer Sims gespeelt met het zusje van m'n ex :')
Uplink had het vast uit de Sims :P

  • Zsub
  • Registratie: juli 2006
  • Laatst online: 26-11 16:11
Ik zag dit topic voorbij komen, wat fantastisch om te lezen! Ik heb zelf geen ervaring met dit soort dingen behalve wat VHDL van een Uni-vak.

Ik vind het wel helemaal geweldig dat je dit gepost hebt, Sprite_tm!

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Ik zie dat nog maar 2 personen hier gepost hebben dat ze de laatste opdracht gekraakt hebben. Heeft iedereen nu al intertesse verloren, is het misschien te moeilijk (of makkelijk) geworden? Of is iedereen afgelopen weekeind bezig geweest Kinect te hacken? :P

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • JapyDooge
  • Registratie: juli 2002
  • Laatst online: 27-11 20:01

JapyDooge

NoxiousPluK

Ik heb zeker nog interesse, echter ben ik te lui om de hardware te bestellen.
Moet nog even uitzoeken wat ik waar vandaan moet halen :9

  • _Danny_
  • Registratie: augustus 2007
  • Laatst online: 06-05-2016
Het blijft erg stil -O- beetje jammer ...

De laatste opdracht is denk ik (imho) verkeerd opgezet. De fout is obvious, hoe je de timing aanval opzet is minder duidelijk. Uit mijn python-testje (over USB->serial) is mij duidelijk geworden dat dat niet werkt (als we brute force niet meetellen), eigenlijk logisch want ik meet nu met een verschrikkelijke overhead. De string compare zou wel heel erg traag moeten zijn wil je het op deze manier kunnen zien. Met de juiste tools (logic analyzer of tweede microcontroller o.i.d.) zal je beter inzicht krijgen maar iemand met wat minder ervaring weet dan waarschijnlijk niet waar 'ie moet beginnen?

  • Springuin
  • Registratie: juli 2002
  • Laatst online: 13-09 20:19
Nog geen tijd voor gehad, maar ik wil het nog wel gaan proberen, ik denk dat ik er even een arduino bij ga pakken om te timen, en dan zou het zo geregeld moeten zijn.

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Dat is inderdaad de manier die ik voor ogen had: als je geen digitale- of storage-scope hebt kan je vrij makkelijk een Arduino of andere uC zo programmeren dat 'ie de delay meet.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Lucky Luke 008
  • Registratie: augustus 2006
  • Laatst online: 06-03-2020
Ik heb de timing aanval (nog) niet uitgevoerd, wel zitten denken hoe je 'm zou kunnen voorkomen.

Toch maar even met spoilertagjes:
spoiler: voorkomen timingaanval
Stel, de eigenlijke vergelijker doet er tussen de 1 en de 25 ms over om een string te vergelijken (afhankelijk van bij welk teken het fout gaat). Leuk dat het zo snel werkt als het eerste teken al fout is, maar niet voor wachtwoorden. Dat moet helemaal niet snel, dat is alleen handig als je wilt brute-forcen. En een tijd die langer wordt naarmate er meer tekens goed zijn is al helemaal niet handig omdat je dan teken voor teken kunt raden.

Daarom aan het begin van de strcmp een hardware timer starten van, zeg, 250ms. Lekker lang om brute-forcen te voorkomen. Als de vergelijking zelf is afgelopen simpelweg wachten tot de timer afloopt en dan pas returnen. Zo duurt een vergelijking altijd even lang en kunnen er bovendien maar 4 wachtwoorden per seconde geprobeert worden.

andere mogelijkheid, gemener, om timing-attackers op het verkeerde been te zetten: laat de timer min-of meer random tussen de 200 en de 500 ms lopen... Mag een slecht random zijn, mag een beïnvloedbaar random zijn, het doel is toch alleen maar de aanvaller af te leiden.


En natuurlijk wordt het stil als de koekjes op zijn...

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Kan. Een simpelere methode is zoiets:
C:
1
2
3
4
5
6
7
8
9
int goed=1;
for (x=0; x<strlen(passwordgoed); x++) {
    if (passwordgoed[x]!=passwordtest[x]) {
        goed=0;
    } else {
       nop(); //iets wat even lang duurt als 'goed=0;'
    }
}
if (goed) WoeiJeZitErin(); else DonderOp();

En nog simpeler, mits je een goede bron van random spul hebt:
C:
1
2
goed=strcmp(passwordgoed, passwordtest);
_delay_ms(rand());

* Sprite_tm zet nog een schaal koekjes op tafel. Ik ga iig niet beginnen met de volgende opdracht voordat er wat meer mensen deze afhebben :Y)

[Voor 13% gewijzigd door Sprite_tm op 18-11-2010 17:38]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • WeViE
  • Registratie: november 2005
  • Laatst online: 27-11 15:22
Nu ik eindelijk wat meer vrije tijd heb gekregen :9 ga ik ook eens beginnen met de opdrachten. Ik dacht dat ik zelf nog een Atmega88 had liggen, dit bleek echter een Atmega8 te zijn. En wat zijn die 88ers verschrikkelijk in prijs gestegen zeg.. de lokale elektronicaboer kan hem leveren voor 9,95 8)7. Gelukkig is de Attiny voor een habbekrats te koop dus dat gaat hem dan ook maar worden.

Ik hou jullie op de hoogte, en Sprite_tm; wat een geweldig initiatief! _/-\o_ (altijd al met veel interesse je artikels over de usb-sticks etc. gelezen trouwens)

Edit:

Vandaag eens even flink bezig geweest :*) Opdracht 1 was ik vrij snel klaar mee, opdracht 2 was iets ingewikkelder maar heb hem nu een paar keer achter elkaar kunnen herhalen!

Morgen aan de slag met opdracht 3!

[Voor 16% gewijzigd door WeViE op 20-11-2010 22:11]


  • Zsub
  • Registratie: juli 2006
  • Laatst online: 26-11 16:11
Sprite_tm schreef op donderdag 18 november 2010 @ 17:37:
En nog simpeler, mits je een goede bron van random spul hebt:
C:
1
2
goed=strcmp(passwordgoed, passwordtest);
_delay_ms(rand());
spoiler: random delay
Zou het bij een niet goede bron van random zo kunnen zijn dat je een patroon gaat ontdekken in de 'foute' antwoorden? Nee, wacht, anders. Dat zou denk ik sowieso kunnen, maar wat is daar precies het probleem mee? Je weet dan alleen dat je wachtwoord niet goed is en dat de implementatie van rand() niet goed is. Eventueel zou je misschien kunnen beslissen sneller te kappen met wachten en de ic de resetten.

Aan de andere kant, als je glitching toepast zou je misschien een voorspelbare waarde voor rand() kunnen krijgen. Dat zou natuurlijk wel fijn zijn, want dan heb je effectief weer je timing-attack te pakken. Maar ik snap behalve dat dus niet helemaal waarom 't uit zou maken :)

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
spoiler:
Zsub: Stel je voor dat je je random timer alleen seed met bijvoorbeeld de tijd waarop een byte via serieel binnenkomt. Dat betekent dat als je elke keer op precies dezelfde tijd een byte stuurt, je random waarde elke keer hetzelfde is. Dat betekent dat je random delay elke keer hetzelfde is, op het verschil van de strcmp na. Het Mifare-RFID-systeem is bijvoorbeeld mede door zo'n 'foute' random number generator gekraakt.


Hmm, misschien kan ik daar zelfs wel een opdracht van maken :)

[Voor 9% gewijzigd door Sprite_tm op 22-11-2010 11:26]

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Rubu
  • Registratie: september 2007
  • Laatst online: 25-11 17:39
Jammer dat dit topic zo gestorven is :/
Ik vind het echter nog steeds wel een interessant onderwerp, Sprite_tm, Als ik hier wat meer over zou willen leren, dit soort hardware 'attacks', maar misschien ook iets als de firmware hacks die op je blog staan,wat zou een goede plek zijn te beginnen? Ik ben in ieder geval wel redelijk thuis in de elektronica en microcontrollers ed..

  • franssie
  • Registratie: februari 2000
  • Nu online

franssie

Save the albatross

Inderdaad jammer -ik denk dat het hebben/maken van het PIC bordje voor sommige tweakers (deze bijvoorbeeld) net een brugje te ver is, een bouwpakketje zou denk ik al helpen (bij mij, ik struikelde al bij het moeten maken van een print, breadboard en gaatjes print heb ik dan weer wel maar te weinig ervaring). Het programmeer/hack deel lijkt me nog steeds heel erg leuk, leerzaam en interessant.

[Voor 3% gewijzigd door franssie op 15-04-2011 16:08]

Keep Calm, Carry On Een goed Probleem komt nooit alleen | Niets is zo permanent als een tijdelijke oplossing | Fender Guitar, Gibson Guitar, Goddamn Guitar


  • Mastermind--
  • Registratie: november 2010
  • Laatst online: 26-11 13:27
Intersant, die opdrachten ga ik eens proberen!
Top!

There is no real life, there is just AFK.


  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Sja, het punt is dat ik te weinig replies krijg. Naar mijn mening is het lezen over alle hacks en exploits an sich wel nuttig, maar dat kan je ook doen door relevante presentaties van CCC-congressen door te werken. Mijn poging was juist om iedereen wat meer hands-on-ervaring te geven: ik merkte toch dat ik dat miste voordat ik alle hacks ging doen. De ervaring leert echter dat juist de hands-on-ervaring je voorbereid voor situaties waarin je 'echt' gaar hacken.

Het probleem is wel dat je voor dat soort dingen specifieke meet- en signaalgenereer-apparatuur nodig hebt; vaak maak je die zelf door een microcontroller-boardje inelkaar te fietsen en die microcontroller zo te programmeren dat 'ie precies alle signalen op de juiste tijd genereert om een fout te exploiteren.

Als ik dan merk dat veel mensen in dit topic weliswaar het idee fantastisch vinden maar het boardje wat je moet kraken al niet eens inelkaar kunnen / willen zetten, ben ik bang dat dit topic een leuk idee is geweest maar dit niet het publiek ervoor is. Voor de drie of 4 bikkels die het wel allemaal gedaan hebben vind ik het erg jammer, maar de rest steekt waarschijnlijk even veel op van een aantal goede hack-congres-presentaties of een site als http://smashthestack.org/

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Rubu
  • Registratie: september 2007
  • Laatst online: 25-11 17:39
Begrijpelijk, Het was voor jou ook de moeite niet meer waard inderdaad, als er maar 3-4 mensen de opdrachten doen. Blijft jammer ;) Maar goed, ik ga zelf wel even kijken, had al wel wat van 27C3 gezien, maar had me niet gerealiseerd dat het zo groot was, thanks! :)

  • Pwuts
  • Registratie: augustus 2012
  • Laatst online: 30-08 00:00

Pwuts

pwutst met vanalles en nog wat

Hardware cracken lijkt me super gaaf om te leren. Niet alleen omdat je dan ineens veel meer kan met 'die ouwe printplaat die je nog ergens had', maar ook omdat je dan dingen kunt bouwen die je nergens kunt kopen. Ik heb heel lang overwogen om elektrotechniek te gaan studeren, en dat komt nu ineens weer naar boven... :9~

¯\_(ツ)_/¯


  • Infant
  • Registratie: januari 2008
  • Laatst online: 27-11 19:02

Infant

It's a floating Dino!

Ok. Ik denk dat sprite je dankbaar is dat je dat na 4 jaar nog even laat weten.

  • Vuikie
  • Registratie: december 2003
  • Laatst online: 17:56
Ach beter laat dan nooit :P (sorry voor de troll)

  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Infant schreef op dinsdag 20 januari 2015 @ 14:09:
Ok. Ik denk dat sprite je dankbaar is dat je dat na 4 jaar nog even laat weten.
't is in ieder geval leuk om te zien dat het topic nog bekeken word :) Zullen we 'em nu weer laten afzakken? Of iemand moet een opdracht toe willen voegen ;)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • Valentijn
  • Registratie: juni 2013
  • Laatst online: 28-05 22:06
Ik zit met een Cisco digitale HD recorder. Geeft constant melding weer dat de harde schijf niet werkt. Is (de melding) weg te halen? hij is verder wel functioneel.

T liefst zou ik hem zo cracken dat ik hem op mn pc kan gebruiken, maar ik weet niet of dit mogelijk is. er zit immers wel een functionele decoder in

Keep it cool


  • Pwuts
  • Registratie: augustus 2012
  • Laatst online: 30-08 00:00

Pwuts

pwutst met vanalles en nog wat

Die decoder is waarschijnlijk vooral voor het decoderen van het binnenkomende digitale signaal. Het lijkt me sterk dat de complete harde schijf zo is gecodeerd dat 'ie nergens anders bruikbaar voor is.

¯\_(ツ)_/¯


  • Valentijn
  • Registratie: juni 2013
  • Laatst online: 28-05 22:06
Harde schijf is gewoon kapot. Dat is het probleem niet. Ik zou hem graag zo willen modden dat ik de decoder kan verbinden met mijn desktop / er gebruik van kan maken

we hebben het over een Cisco 8485DVB HD PVR

specs: http://www.cisco.com/c/da...able-set-tops/7015725.pdf

[Voor 33% gewijzigd door Valentijn op 20-01-2015 20:43]

Keep it cool


  • Pwuts
  • Registratie: augustus 2012
  • Laatst online: 30-08 00:00

Pwuts

pwutst met vanalles en nog wat

O zo, dat moet kunnen, maar daar heb ik (nog) geen verstand van. :/

Sprite?

¯\_(ツ)_/¯


  • JDTeunis
  • Registratie: januari 2011
  • Laatst online: 23-11 19:16
Wat wil je er precies aan cracken? Als 'ie verder functioneel is kun je toch gewoon de video-output aan je monitor hangen en kijken? Of wil je weer kunnen opnemen? (weet niet of het de bedoeling is dat we verder gaan in dit topic, maar waarom niet eigenlijk :))

  • Valentijn
  • Registratie: juni 2013
  • Laatst online: 28-05 22:06
Je ziet op het internet een aantal PCIe modules sttaan, waar je dan nog zelf een smartcard module voor moet kopen ect ect ect, het leek mij vet om de decoder en de al bestaande desktop te combineren.

daarnaast zit er op de decoder een usb poort die softwarematig is dichtgegooid. is dit te kraken?

Keep it cool


  • Vuikie
  • Registratie: december 2003
  • Laatst online: 17:56
Wat heb je zelf al geprobeerd? Als je zo'n box wil cracken zal je moeten kijken of er iets van een UART poort of een JTAG poort. Zit er Linux op? of een eigen OS? Wat heb je erover gevonden op Google?

Dat is het begin van cracken, informatie ;)

  • Valentijn
  • Registratie: juni 2013
  • Laatst online: 28-05 22:06
Ik zal een foto maken van de PCB

Keep it cool


  • Sprite_tm
  • Registratie: september 2002
  • Laatst online: 25-10 03:24
Dat is dan misschien leuk voor een nieuw topic, maar schiet in deze oude koe z'n doel een beetje voorbij.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog

Pagina: 1 2 Laatste

Dit topic is gesloten.



Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True

Tweakers maakt gebruik van cookies

Bij het bezoeken van het forum plaatst Tweakers alleen functionele en analytische cookies voor optimalisatie en analyse om de website-ervaring te verbeteren. Op het forum worden geen trackingcookies geplaatst. Voor het bekijken van video's en grafieken van derden vragen we je toestemming, we gebruiken daarvoor externe tooling die mogelijk cookies kunnen plaatsen.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Forum cookie-instellingen

Bekijk de onderstaande instellingen en maak je keuze. Meer informatie vind je in ons cookiebeleid.

Functionele en analytische cookies

Deze cookies helpen de website zijn functies uit te voeren en zijn verplicht. Meer details

janee

    Cookies van derden

    Deze cookies kunnen geplaatst worden door derde partijen via ingesloten content en om de gebruikerservaring van de website te verbeteren. Meer details

    janee