ProHoster > blog > Gweinyddiaeth > Gwrthdroi a hacio gyriant HDD allanol hunan-amgryptio Aigo. Rhan 1: Dyrannu'n rhannau
Gwrthdroi a hacio gyriant HDD allanol hunan-amgryptio Aigo. Rhan 1: Dyrannu'n rhannau
Gwrthdroi a hacio gyriannau hunan-amgryptio allanol yw fy hen hobi. Yn y gorffennol, cefais y cyfle i ymarfer gyda modelau o'r fath fel Zalman VE-400, Zalman ZM-SHE500, Zalman ZM-VE500. Yn ddiweddar, daeth cydweithiwr ag arddangosfa arall i mi: Patriot (Aigo) SK8671, sydd wedi'i adeiladu yn ôl dyluniad nodweddiadol - dangosydd LCD a bysellfwrdd ar gyfer mynd i mewn i god PIN. Dyna beth ddaeth allan ohono…
Mae mynediad i'r data sydd wedi'i storio ar y ddisg, sydd i fod wedi'i amgryptio, yn cael ei wneud ar ôl mynd i mewn i'r cod PIN. Ychydig o nodiadau rhagarweiniol ar y ddyfais hon:
I newid y cod PIN, rhaid i chi bwyso F1 cyn datgloi;
Rhaid i'r cod PIN gynnwys rhwng 6 a 9 digid;
Ar ôl 15 ymgais anghywir, caiff y ddisg ei chlirio.
2. pensaernïaeth caledwedd
Yn gyntaf, rydym yn rhannu'r ddyfais yn rhannau i ddeall pa gydrannau y mae'n eu cynnwys. Y dasg fwyaf diflas yw agor yr achos: llawer o sgriwiau microsgopig a phlastig. Ar ôl agor yr achos, fe welwn y canlynol (rhowch sylw i'r cysylltydd pum pin y gwnes i ei sodro):
2.1. Prif fwrdd
Mae'r prif fwrdd yn eithaf syml:
Ei rannau mwyaf nodedig (gweler o'r top i'r gwaelod):
Rheolydd Jmicron JMS539 (manyleb) ar gyfer USB-SATA (U1);
Cysylltydd USB 3 (J1).
Mae gyriant fflach SPI yn storio'r firmware ar gyfer JMS539 a rhai gosodiadau.
2.2. Bwrdd dangosydd LCD
Nid oes unrhyw beth rhyfeddol ar y bwrdd LCD.
Dim ond:
Dangosydd LCD o darddiad anhysbys (yn ôl pob tebyg gyda set ffont Tsieineaidd); gyda rheolaeth ddilyniannol;
Cysylltydd rhuban ar gyfer bwrdd bysellfwrdd.
2.3. Bwrdd bysellfwrdd
Wrth archwilio'r bwrdd bysellfwrdd, mae pethau'n cymryd tro mwy diddorol.
Yma, ar yr ochr gefn, rydym yn gweld cysylltydd rhuban, yn ogystal â microcontroller Cypress CY8C21434 PSoC 1 (o hyn ymlaen byddwn yn ei alw'n PSoC yn syml)
Mae CY8C21434 yn defnyddio set gyfarwyddiadau M8C (gweler dogfennaeth). Ar [dudalen cynnyrch]( (http://www.cypress.com/part/cy8c21434-24ltxi) nodir ei fod yn cefnogi'r dechnoleg CapSense (ateb gan Cypress, ar gyfer bysellfyrddau capacitive). Yma gallwch weld y cysylltydd pum pin y gwnes i ei sodro - mae hwn yn ddull safonol ar gyfer cysylltu rhaglennydd allanol trwy ryngwyneb ISSP.
2.4. Edrych ar y gwifrau
Gadewch i ni ddarganfod beth sy'n gysylltiedig yma. I wneud hyn, profwch y gwifrau gyda multimedr:
Esboniadau ar gyfer y diagram hwn ar y pen-glin:
Disgrifir y PSoC yn y fanyleb dechnegol;
y cysylltydd nesaf, yr un ar y dde, yw'r rhyngwyneb ISSP, sydd, yn ôl ewyllys tynged, yn cyfateb i'r hyn sydd wedi'i ysgrifennu amdano ar y Rhyngrwyd;
Y cysylltydd mwyaf cywir yw'r derfynell ar gyfer y cysylltydd rhuban i'r bwrdd bysellfwrdd;
Mae'r petryal du yn ddarlun o'r cysylltydd CN1, wedi'i gynllunio i gysylltu'r prif fwrdd â'r bwrdd LCD. Mae P11, P13 a P4 wedi'u cysylltu â phinnau PSoC 11, 13 a 4, ar y bwrdd LCD.
3. Dilyniant o gamau ymosodiad
Nawr ein bod ni'n gwybod pa gydrannau mae'r gyriant hwn yn eu cynnwys, mae angen i ni: 1) sicrhau bod y swyddogaeth amgryptio sylfaenol yn bresennol mewn gwirionedd; 2) darganfod sut mae allweddi amgryptio yn cael eu cynhyrchu/cadw; 3) darganfyddwch ble yn union y bydd y cod PIN yn cael ei wirio.
I wneud hyn, fe wnes i'r camau canlynol:
cymerodd dymp data o yriant fflach SPI;
ceisio dympio data o yriant fflach PSoC;
gwirio bod y cyfathrebu rhwng Cypress PSoC a JMS539 mewn gwirionedd yn cynnwys trawiadau bysell;
Fe wnes i'n siŵr, wrth newid y cyfrinair, nad oes dim yn cael ei drosysgrifo yn y gyriant fflach SPI;
yn rhy ddiog i wrthdroi'r cadarnwedd 8051 o JMS539.
3.1. Cymryd dympio data o yriant fflach SPI
Mae'r weithdrefn hon yn syml iawn:
cysylltu stilwyr â choesau'r gyriant fflach: CLK, MOSI, MISO a (dewisol) EN;
cyfathrebu “sniff” gyda synhwyro gan ddefnyddio dadansoddwr rhesymeg (defnyddiais Saleae Logic Pro 16);
dadgodio protocol SPI ac allforio canlyniadau i CSV;
manteisiwch arno datgod_spi.rbi ddosrannu'r canlyniadau a chael dymp.
Sylwch fod y dull hwn yn gweithio'n arbennig o dda yn achos y rheolydd JMS539, gan fod y rheolydd hwn yn llwytho'r holl firmware o'r gyriant fflach yn y cam cychwynnol.
Ar ôl cymryd dymp o'r gyriant fflach SPI, deuthum i'r casgliad mai ei unig dasg yw storio'r firmware ar gyfer y ddyfais reoli JMicron, sydd wedi'i ymgorffori yn y microreolydd 8051. Yn anffodus, roedd cymryd dymp o'r gyriant fflach SPI yn ddiwerth:
pan fydd y cod PIN yn cael ei newid, mae'r dymp gyriant fflach yn aros yr un fath;
Ar ôl y cam cychwynnol, nid yw'r ddyfais yn cyrchu'r gyriant fflach SPI.
3.2. Cyfathrebu sniffian
Dyma un ffordd o ddarganfod pa sglodyn sy'n gyfrifol am wirio cyfathrebiadau am yr amser/cynnwys o ddiddordeb. Fel y gwyddom eisoes, mae'r rheolydd USB-SATA wedi'i gysylltu â'r Cypress PSoC LCD trwy gysylltydd CN1 a dau ruban. Felly, rydym yn cysylltu'r stilwyr â'r tair coes gyfatebol:
Ll4, mewnbwn/allbwn cyffredinol;
P11, I2C SCL;
P13, I2C SDA.
Yna rydyn ni'n lansio'r dadansoddwr rhesymeg Saleae ac yn nodi ar y bysellfwrdd: “123456 ~”. O ganlyniad, gwelwn y diagram canlynol.
Arddo gallwn weld tair sianel cyfnewid data:
mae sawl pyliau byr ar sianel P4;
ar Ll11 a P13 - cyfnewid data bron yn barhaus.
Gan chwyddo i mewn ar y pigyn cyntaf ar sianel P4 (petryal glas yn y ffigur blaenorol), gwelwn y canlynol:
Yma gallwch weld bod bron i 4ms o signal undonog ar P70, a oedd yn ymddangos i mi ar y dechrau yn chwarae rôl signal cloc. Fodd bynnag, ar ôl treulio peth amser yn gwirio fy nyfaliad, darganfyddais nad signal cloc yw hwn, ond ffrwd sain sy'n cael ei allbwn i'r trydarwr pan fydd yr allweddi'n cael eu pwyso. Felly, nid yw'r adran hon o'r signal ei hun yn cynnwys gwybodaeth ddefnyddiol i ni. Fodd bynnag, gellir ei ddefnyddio fel dangosydd i wybod pryd mae'r PSoC yn cofrestru gwasg allweddol.
Fodd bynnag, mae'r ffrwd sain P4 ddiweddaraf ychydig yn wahanol: dyma'r sain ar gyfer y "PIN annilys"!
Gan ddychwelyd i'r graff trawiad bysell, gan chwyddo i mewn ar y graff llif sain olaf (gweler y petryal glas eto), cawn:
Yma gwelwn signalau undonog ar P11. Felly mae'n edrych fel mai dyma'r signal cloc. Ac mae P13 yn ddata. Sylwch sut mae'r patrwm yn newid ar ôl i'r bîp ddod i ben. Byddai'n ddiddorol gweld beth sy'n digwydd yma.
Mae protocolau sy'n gweithio gyda dwy wifren fel arfer yn SPI neu I2C, ac mae'r fanyleb dechnegol ar Cypress yn nodi bod y pinnau hyn yn cyfateb i I2C, a welwn sy'n wir yn ein hachos ni:
Mae'r chipset USB-SATA yn pleidleisio'r PSoC yn gyson i ddarllen cyflwr yr allwedd, sef “0” yn ddiofyn. Yna, pan fyddwch chi'n pwyso'r allwedd "1", mae'n newid i "1". Mae'r trosglwyddiad terfynol yn syth ar ôl pwyso "~" yn wahanol os yw'r cod PIN anghywir yn cael ei nodi. Fodd bynnag, ar hyn o bryd nid wyf wedi gwirio’r hyn sy’n cael ei drosglwyddo yno mewn gwirionedd. Ond rwy'n amau nad yw hyn yn debygol o fod yn allwedd amgryptio. Beth bynnag, gweler yr adran nesaf i ddeall sut yr wyf yn cael gwared ar y firmware mewnol PSoC.