Päihitä Thinkpadin suojat

Artikkeli on alun perin julkaistu Skrollissa 2013.1.

Thinkpad-kannettavien suojausten purkaminen

Tietokoneiden käyttörajaukset ovat suoja luvatonta käyttöä vastaan ja parantavat tietoturvaa. Salasanat kuitenkin hukkuvat, ja lukkiutuneet koneet voivat päätyä elektroniikkaromuksi. Teemme katsauksen PC-tietokoneiden suojausmenetelmiin ja niiden purkamiseen syventyen etenkin Thinkpad-kannettaviin.

PC-koneiden suojaukset perustuvat yleensä salasanaan, mutta yritysmaailmassa myös älykortit ja sormenjälkitunnistimet ovat yleisiä. Nämä toteutetaan usein käyttöjärjestelmän tasolla, jolloin koneen tyhjentäminen tai kovalevyn vaihtaminen johtaa siihen, että kone on puhdas ja valmis uusiokäyttöön. Osa laitevalmistajista on laajentanut suojausmenetelmiä. Suurin yksittäinen samanlaisia laajennuksia hyödyntävä ryhmä on IBM:n/Lenovon kannettavat tietokoneet.

Keskitymme Thinkpad-kannettaviin, sillä niiden tahaton pysyvästi lukitseminen on yleinen ongelma. Tämä tulee usein vastaan sellaisissa yrityksissä, joissa halutaan käyttää kaikkia mahdollisia suojia yrityssalaisuuksien suojaamiseen. Esittelemme purkumekanismien toiminnan BusPirate-työkalua käyttäen.

PC:n rakenne ja BIOS

PC-tietokoneiden käynnistäminen perustuu BIOSiksi kutsuttuun ohjelmaan. BIOS (Basic Input/Output System) tarkoittaa käyttöjärjestelmän perusosaa, joka alustaa tietokoneen laitteiston ja tarjoaa rajapinnat sen käyttämiseen. DOS-käyttöjärjestelmät käyttivät vielä paljon BIOS-palveluja, mutta nykyiset käyttöjärjestelmät korvaavat ne omilla, tehokkaammilla rajapinnoillaan. Nykyroolissaan BIOS säätää joitain tietokoneen asetuksia ja aloittaa varsinaisen käyttöjärjestelmän käynnistyksen.

PC-BIOS on toteutettu FLASH-piirillä, joka sisältää BIOS-firmwaren, ja paristovarmistetulla ”CMOS-muistilla”, jossa säilytetään BIOS-asetukset ja kellonaika. CMOS-muisti toteutettiin alun perin MC146818-reaaliaikakellopiirillä, jossa oli 64 tavua RAM-muistia. FLASH-piirit ovat yhä erillisiä osia emolevyllä. Suurin niistä on noin peukalonpään kokoinen 28-pinninen rinnakkais-FLASH-piiri ja pienin taas 8-pinninen, nuppineulan pään kokoinen SPI-FLASH-pintaliitospiiri. CMOS-muisti on nykyään yleensä osa piirisarjaa.

Nimi ”CMOS-muisti” tarttui käyttöön, kun paristovarmistettuja reaaliaikakellopiirejä haluttiin valmistaa energiatehokkaammalla tekniikalla (Complementary Metal Oxide Semiconductor) kuin millä silloisia piirejä yleensä valmistettiin (NMOS, N-type Metal Oxide Semiconductor). Alkuperäiset IBM PC -koneet käyttivät muistista nimeä ”CMOS RAM”, ja termiä on käytetty siitä lähtien, vaikka nykyään liki kaikki mikropiirit käyttävät CMOS-valmistustekniikkaa.

CMOS-muistilla on paristovarmennus, joka on liki poikkeuksetta toteutettu CR2032-litiumparistolla. Osa emolevyistä tarjoaa suoraan tavan tyhjentää CMOS-muistin kytkemällä jumpperin muistintyhjennysasentoon. Kuvassa 1 Dell Optiplex 745 -tietokoneen emolevyltä löytyvä ”PSWD”-jumpperi, jonka irrottaminen poistaa salasanasuojaukset.

Kuva 1: Salasanan tyhjentämiseen tarkoitettu jumpperi tietokoneen emolevyllä.

Jos tällaista jumpperia ei löydy, yleisin tapa poistaa salasanat on CMOS-muistin tyhjentäminen irrottamalla paristo. Kannettavien tietokoneiden tapauksessa kotelon avaaminen paristoon käsiksi pääsemiseksi voi olla vaivalloista.

CMOS-muistiin pääsee käsiksi myös käyttöjärjestelmän sisältä, ja tähän on olemassa erityistyökaluja. CmosPwd voi lukea CMOS-muistin, ottaa siitä kopion, palauttaa kopion, tyhjentää muistin tai jopa yrittää päätellä, mikä BIOS-salasana on. Työkalun käyttöön tarvitaan ylläpitäjän oikeudet, koska sillä ohitetaan tietokoneen turvamekanismeja. Salasanan tallentamiseen CMOS-muistiin ei ole vakioituja käytäntöjä, joten salasanan päättely ei useinkaan toimi. Monet BIOS-toteutukset eivät tallenna salasanoja CMOS-muistiin, joten ne ovat lähtökohtaisesti immuuneja tälle menetelmälle.

Kehittyneemmät menetelmät

Kannettavat tietokoneet ovat liikkuvan luonteensa takia alttiimpia varkauksille ja katoamisille. Varkauksien estämiseksi on muutamia menetelmiä:

  • Trusted Platform Module (TPM)
  • kovalevysuojaukset
  • seurantapalvelut

Trusted Platform Module on apuprosessori, joka toimii yleensä muiden menetelmien tukena. Yksi sen olennaisin toimintamenetelmä on salasanojen tallentaminen. Tätä käytetään usein kovalevysalauksen salasanojen säilömiseen. Yksi TPM-moduulien alkuperäisistä käyttötarkoituksista oli, osana Trusted-Computing -järjestelmää, estää lisensoimattomien ohjelmistojen suorittaminen. Trusted-Computing -järjestelmän vastustus hidasti TPM-modulien yleistymistä.

Seurantapalveluita on kahta eri tyyppiä: käyttöjärjestelmästä riippumatta taustalla toimivia ja ohjelmallisia, käyttöjärjestelmän alle asennettuja. Esimerkkinä ensimmäisistä on Intel AMT -teknologia, jolla tietokone voi raportoida tilastaan ja sijainnistaan verkkoon. Sillä voidaan myös lähettää tietokoneelle hallintaohjeita. CompuTrace on kaupallinen seurantapalvelu, joka voidaan integroida BIOSiin.

Ohjelmalliset seurantapalvelut perustuvat käyttöjärjestelmän mukana käynnistyviin ohjelmiin, jotka pyrkivät muodostamaan internet-yhteyden ja lähettämään tunnistettavia tietoja seurantapalveluun. Yleisiä lähetettyjä tietoja ovat nykyinen verkko-osoite, kuvakaappaukset ja jopa kaapatut näppäimistön painallukset. Tietoja voi käyttää koneen paikantamiseen. Ohjelmallisten seurantapalvelujen heikkous on, että muiden ohjelmistojen lailla ne voidaan poistaa esimerkiksi tyhjentämällä kovalevy.

Kovalevysuojaukset perustuvat ATA-komentoihin, joilla kovalevyä voidaan käskeä vaatimaan salasanaa sisäänpääsyn hallitsemiseksi. Osa kovalevyistä myös salaa tallennettavan datan, jolloin kovalevyjen elektroniikkaa vaihtamalla tai suojaukset nollaamalla saattaa levyn saada auki. Tallennettuun dataan ei kuitenkaan silloin pääse käsiksi.

Kovalevysuojauksien purkuun on kaksi käytännöllistä vaihtoehtoa:

  1. Suojauksen purkaminen oikealla salasanalla
  2. Kovalevyn turvatyhjennys saattaa purkaa suojauksen 

Jotta salatulta kovalevyltä voisi bootata, BIOSin tulee tukea kovalevysalasanoja. Äärimmäisessä hädässä kovalevyn elektroniikat voi yrittää vaihtaa toisesta täsmälleen saman mallin levystä. Tämä on kuitenkin riskialtis ja todennäköisesti tuhoon tuomittu operaatio, eikä vaihto ole mahdollinen SSD-kovalevyjen tapauksessa.

UEFI – tulevaisuuden kasvot

Unified Extensible Firmware Interface on Intelin kehittämä korvike BIOSille. Alkuperäinen motivaatio BIOSin korvaamiseen oli tarve saada BIOS-ratkaisu Intelin uudelle, yhteensopimattomalle Itanium-prosessorille. Toisin kuin BIOS, joka on prosessorikohtainen ohjelmisto, UEFIn mallin mukaan laitevalmistajat tekisivät ajurit laitteilleen tavukoodimuodossa, jota UEFIssa oleva tulkki voisi suorittaa.

Kehitys lähti liikkeelle Inteliltä, ja useimmat valmistajat käyttävät UEFIn toteutuksena pohjana Intelin julkaisemaa referenssitoteutusta. Itanium-prosessorien ja 32-bittisten prosessorien marginalisoiduttua UEFI-toteutukset ovat rajoittuneet x86-64. BIOSiin verrattuna UEFI-toteutukset ovat melko hiomattomia ja niistä on löydetty monia bugeja. UEFI-tason ongelmat estävät yleensä tietokonetta käynnistymästä ja ovat siten huomattavasti tavallista ohjelmistovikaa vakavampia.

Tietokoneiden suojauksen kannalta UEFI on yhä samanlainen musta laatikko kuin BIOS. UEFI-standardi määrittelee minimimäärän pysyvää muistia, joka UEFI-toteutusten pitää tarjota. Käytännössä tämä tarkoittaa, että tietokoneisiin on integroitava isompi muistipiiri. BIOSin mukana katoaa myös tarve tarjota CMOS-muistia yhteensopivuuden takaamiseksi.

Windows 8 asetti vaatimuksen sisällyttää SecureBoot-mekanismi UEFI-toteutuksiin. Windows RT -pohjaisissa tietokoneissa (lähinnä ARM-pohjaisia tabletteja) SecureBoot tulee olla aina kytkettynä päälle. PC-koneissa SecureBootin saa toteuttaa niin, että sen voi kytkeä pois päältä. SecureBoot ei sinänsä ole tietoturvaominaisuus, vaan se rajaa ohjelmistoja, joita tietokone saa suorittaa. Jos ohjelmisto on hyväksytty eli esimerkiksi sisältää Microsoftin digitaalisen allekirjoituksen, tietokone voi suorittaa sen. Allekirjoittamattomia ohjelmistoja ei suoriteta. Käyttäjää tuskin lohduttaa, että kannettavan varastanut pitkäkyntinen ei voi ajaa sillä FreeBSD:tä, sillä yksityiset tiedostot voi edelleen kopioida talteen ja asentaa puhtaan Windows 8:n ennen laitteen myymistä eteenpäin.

IBM/Lenovo Thinkpad -suojaukset

IBM ja sen PC-yksikön ostanut Lenovo ovat rakentaneet Thinkpad-kannettaviin tavallista monimutkaisempia suojausmekanismeja. Thinkpadeja markkinoidaan ensisijaisesti yrityskäyttöön, joten suojauksille on kysyntää. Monissa Thinkpad-malleissa on sormenjälkilukija ja tuki älykortin kytkemiselle.

Thinkpadin BIOS käyttää CMOS-muistin lisäksi pientä EEPROM-muistia ja valinnaisesti TPM-piiriä salasanojen tallentamiseen. Tarkat menetelmät riippuvat tietokoneen mallista ja käytetyistä BIOS-asetuksista. EEPROM-muistin tyyppi vaihtelee, mutta se on yleensä yhteensopiva Atmel 24RF08 -piirin kanssa. Muisti on kytketty I²C-yhteensopivan SMBus-väylän kautta piirisarjaan. I²C-väylätekniikka perustuu kahteen avoin kollektori -tilassa toimivaan linjaan, mikä sallii väylälle kytkeytymisen. Seuraavaksi käytämme Dangerous Prototypesin kehittämää Bus Pirate -työkalua, jonka avulla terminaaliohjelmistolla voi helposti keskustella I²C-väylän kanssa. Lukemalla muistipiirin sisältö I²C-väylältä voidaan yrittää tulkita tallennettu salasana. Jos tulkinta ei onnistu, voidaan salasanan sisältö ylikirjoittaa muistista, jolloin BIOS päättelee, ettei salasanaa ole asetettu. BusPirate osaa myös passiivisesti kuunnella I²C-väylän liikennettä. Terminaaliohjelmistoksi sopii Unix-sukuisilla Minicom ja Windowsilla PuTTY. Sarjaportin moodiksi asetetaan 8N1, 115200bps ja ei kättelyä.

Kuva 2: BusPirate – hakkerin yleistyökalu. (kuvia kaksi, kumpi vaan sopii paremmin.

Kannettavan tietokoneen rakenne ja käytetyn suojauksen yksityiskohdat vaihtelevat koneen mallin ja iän mukaan. Tässä käymme läpi esimerkin vuoksi Lenovo Thinkpad X61s -tietokoneen purkamisen. Jos vastaavaan projektiin haluaa ryhtyä, useimmilta valmistajilta löytyy verkosta huolto-oppaita, joissa neuvotaan kannettavan purkaminen osiin. Lisäksi Thinkpadien avaamisesta on tehty pienimuotoinen bisnes. Avaamispalvelun tarjoajat näyttävät, mistä kohdasta eri mallien emolevyihin tulisi kytkeytyä. Vältämme kuitenkin hämäräbisneksen tukemista ja kerromme, mihin käytetty menetelmä perustuu.

Oletetaan lähtötilanteeksi, että meillä on kannettava tietokone, jolle on asetettu PowerOn- ja Setup-salasanat. Kone kysyy käynnistyksessä salasanaa eikä suostu tekemään mitään, ellei salasanaa syötetä onnistuneesti. Tällaisessa tilanteessa salasanan poistamisesta ei synny haittaa. Jos myös kovalevysuojaus olisi päällä, jouduttaisiin todennäköisesti hankkimaan uusi kovalevy lukitun tilalle.

Kuvassa 3 on esitelty kytkennän kaavakuva. BusPirate-laite kytketään mukaan järjestelmän I²C/SMBus-väylään. Vihreällä lohkolla esitetty I²C-muistipiiri toimii orjalaitteena, joka vain vastaa muiden esittämiin pyyntöihin. Punaisilla lohkoilla merkityt BusPirate ja järjestelmän oma ohjain toimivat väylällä mestareina, jotka lähettävät väylälle pyyntöjä. Jos useampi mestari toimii väylällä yhtä aikaa, voi näiden viestintä sotkeutua. Onneksi tietokone käynnistyessään päätyy salasanakyselyyn, jossa se syötettä odottaessaan ei käytännössä tee mitään.

Kuva 3: BusPirate-kytkentä järjestelmän SMBus-väylälle.

Thinkpad X61s -kannettavan purkaminen on hyvin suoraviivaista: avataan pohjasta ruuvit, jotka on merkitty pitämään näppäimistöä ja koteloa koossa. Tämän jälkeen näytön voi kääntää pitkälle auki (suoraksi asti) ja rungon kannen voi nostaa pois. Meitä kiinnostava komponentti löytyy Bluetooth-modulin alta. Kuvassa 4 on näkymä avatusta Thinkpad X61s -kannettavasta, josta Bluetooth-moduli on irrotettu ja sen paikka korostettu.

Kuva 4: Thinkpad X61s sisänäkymä.

Suojamuovin voi kääriä sivuun, ja sen alta löytyy kuvan 5 mukainen osa emolevyä. Kuvassa näkyy korostettuna I²C-muistipiiri. Sen vierestä löytyvät näppärästi kontaktit, joihin mittapäät voi kytkeä. Ammattilaiset voisivat kytkeä SMD-pihdit suoraan piirin jalkoihin, mutta pienen budjetin säätäjille riittää BusPiraten mittakoukkuun ripustettu nuppineula, jonka voi painaa kontaktiin. Jos kokeilet tätä ensimmäistä kertaa, suosittelemme pyytämään kaverin apuun lisäkäsiksi. Kolmas vaihtoehto on juottaa emolevylle lyhyet johdot kontaktipisteisiin ja kytkeä mittakoukut näihin johtoihin. Muista kytkeä myös BusPiraten maalinja (GND). Helpoin paikka tälle on vaikkapa Cardbus-korttipaikan suojaritilä.

Kuva 5: Thinkpad X61s I²C-muistipiiri emolla ja kontaktipisteet.

Kun kytkentä on selvä, voidaan siirtyä seuraavaan vaiheeseen. Tarkastellaan ensin, mitä tietokone väylällä juttelee. Tämän voi tehdä kytkemällä BusPirate ensin oikeaan moodiin:
”m” – vaihda moodi.
”4” – I²C-moodi.
”4” – ~400kHz nopeus.

Jotta saadaan maistiainen siitä, millaista viestintää tietokoneen väylällä kulkee, kytketään BusPiraten I²C-sniffer -makro päälle komennolla ”(2)”. Snifferimakrosta pääsee näppäimen painalluksella ulos. Nyt kun koneen käynnistää, terminaalin ruudulle tulisi syöksähtää muutaman kilotavun verran merkkimuotoista kuvausta I²C-väylän viestinnästä.

Taulukko 1: Näyte BusPiraten poimimasta I²C-liikenteestä:

[0xA8+0x00+][0xA9+0xA7+][0xA8+0x01+][0xA9+0x8B+][0xA8+0x02+][0xA9+0xA5+][0xA8+0x03+][0xA9+0x47+][0xA8+0x04+][0xA9+0x29+][0xA8+0x05+][0xA9+0x19+][0xA8+0x06+][0xA9+0x03+][0xA8+0x07+][0xA9+]][0xA8+0x10+][0xA9+0x81+][0xA8+0x24+][0xA9+0x41+][0xA8+0x25+][0xA9+]][0xA8+0x26+[0xA9+0xA7+][0xA8+0x27+][0xA9+0x6F+][0xB8+0x06+][0xB9+]][0xAC+0x10+][0xAD+]][0xAC+0x11+][0xAD+0x25+][0xAC+0x22+][0xAD+]][0xAC+0x23+][0xAD+0x07+][0xAC+0x25+][0xAD+]][0xAC+0x26+][0xAD+0x1F+][0xAC+0x34+][0xAD+]][0xAC+0x35+][0xAD+0x17+][0xAC+0x3F+][0xAD+0x11+][0xAC+0x40+][0xAD+0x0B+][0xAC+0x44+][0xAD+]][0xAC+0x45+][0xAD+0x0D+][0xAC+0x4A+[0xAD+0x61+][0xAC+0x4B+][0xAD+0x07+][0xAC+0x4D+][0xAD+0xF1+][0xAC+0x4E+[0xAD+0x35+][0xAC+0x67+][0xAD+]][0xAC+0x68+][0xAD+0x09+][0xAC+0x6B+][0xAD+]][0xAC+0x6C+[0xAD+0x11+][0xAC+0x73+][0xAD+0x01+][0xAC+0x74+][0xAD+0x01+][0xAC+0x6D+][0xAD+0x01+][0xAC+0x6E+][0xAD+0x2D+][0xAC+0x6F+][0xAD+]][0xAC+0x70+][0xAD+]][0xAC+0x71+][0xAD+]][0xAC+0x72+[0xAD+0x9F+][0xAE+0x54+][0xAF+0x01+][0xAE+0x57+][0xAF+0x41+][0xAE+0x38+][0xAF+0x3F+][0xAE+0x39+[0xAF+0x4B+][0xAE+0x3A+][0xAF+0x27+][0xAE+0x3B+][0xAF+0x31+][0xAE+0x3C+][0xAF+0x4D+][0xAE+0x3D+][0xAF+0x4D+][0xAE+0x3E+][0xAF+0x2F+][0xAE+0x28+][0xAF+0x01+][0xAE+0x29+][0xAF+0x01+][0xAE+0x2A+][0xAF+0x01+][0xAE+0x2B+][0xAF+0x01+][0xAE+0x2C+[0xAF+0x01+][0xAE+0x2D+][0xAF+0x01+][0xAE+0x2E+][0xAF+0x01+][0xAE+0x19+][0xAF+0x01+][0xAE+0x30+][0xAF+0x01+][0xAE+0x31+][0xAF+0x01+][0xAE+0x32+[0xAF+0x01+][0xAE+0x33+][0xAF+0x01+][0xAE+0x34+][0xAF+0x01+][0xAE+0x35+][0xAF+0x01+][0xAE+0x58+][0xAF+0x01+][0xAE+0x59+[0xAF+0x01+][0xAE+0x5A+][0xAF+0x01+][0xAE+0x5B+][0xAF+0x01+][0xAE+0x5C+][0xAF+0x01+][0xAE+0x5D+][0xAF+0x01+][0xAE+0x5E+][0xAF+0x01+][0xAE+0x5F+][0xAF+0x01+][0xAE+0x60+][0xAF+0x01+][0xAE+0x61+][0xAF+0x01+]

I²C-viestinnässä lähetettävät viestit aloitetaan niin sanotulla start-tilalla, jonka BusPirate esittää avaavalla hakasululla (”[”). Vastaavasti viestit päätetään niin sanotulla end-tilalla, joka esitetään sulkevalla hakasululla (”]”). Siirretyt tavut esitetään heksamuodossa ja kuitataan ”+” ja ”-” merkeillä riippuen siitä, oliko tapahtuma hyväksytty (ACK) vai hylätty (NACK). Tällöin esimerkiksi yhden tavun lähettäminen väylän slave-laitteelle tapahtuisi väylän master-laitteen sekvenssillä ”[osoite data]”. Slave-laite vastaisi jokaiseen lähetettyyn tavuun positiivisella kuittauksella (”+”). Väylää vakoileva BusPirate näkisi ”[osoite+ data+]”. Tässä tulkinnassa ”osoite” on siis I²C-väylälaitteen osoite. Yleisenä käytäntönä osoitteen alin bitti on varattu merkitsemään, onko kyseessä luku- vai kirjoitusoperaatio.

AT24C08-piirin muistikapasiteetti on 1024 tavua, joka jakautuu neljään 256-tavuiseen lohkoon, joilla kullakin on oma laiteosoite. Piirin komennustapa on hieman outo, mutta I²C-piireille tyypillinen. Kuvassa 5 on esitetty menettely tavun lukemiseen muistiosoitteesta. Kuvasta näkyy, mitä datapinnissä SDA siirretään missäkin vaiheessa, ja alla on esitetty, mitä väylän isäntä ja laite vuorostaan sanovat. Komennon aloituksessa laite kuittaa isännälle, ja laitteen palauttaessa dataa isännälle tämä vuorostaan kuittaa. Positiivinen kuittaus jatkaisi lukuoperaatiota seuraavaan tavuun. Negatiivinen kuittaus tarkoittaa, että lukuoperaatio loppuu.

Kuva 6: AT24C08 I²C-lukuoperaatio. Lähde: AT24C08 datalehti.

Väyläosoitteen ylin puolitavu on tällä piirillä aina 0xA (0b1010). Alempi puolitavu taas sisältää yhden sovelluskohtaisen kiinnitetyn bitin (Thinkpadin tapauksessa bitti on kiinnitetty arvoon 1) ja kaksi osoitusbittiä. Alin bitti määrittelee, onko kyseessä luku- vai kirjoitusoperaatio. Thinkpadin muistipiirin ensimmäinen lohko sijoittuu laiteosoitteille 0xA8 (kirjoitus) ja 0xA9 (luku). Muistiosoitteen toinen alempi tavu toimitetaan erikseen kirjoitusoperaation osana. Haluttaessa suorittaa lukuoperaatio satunnaiseen kohtaan muistia pitää siis aloittaa tekemällä kirjoitusoperaatio. Proseduuri olisi BusPirate-syntaksilla seuraava ”[laiteosoite/kirjoitus alempiosoitetavu [laiteosoite/luku r]”, missä ”r” tarkoittaa tavun lukemista.

Thinkpadin tapauksessa ensimmäinen muistilohko sisältää laitteen sarjanumerot, toinen on varattu ”käyttäjädatalle”, kolmannessa on mallikoodit ja neljännessä suojausdata. Thinkpadien supervisor-salasana on melko usein tallennettu viimeisen lohkon muistiosoitteesta 0x38 alkaen näppäimistön scan-koodeina kaksi kertaa peräkkäin. Seuraavassa esimerkissä luemme 16 tavua tästä kohdasta muistia:

I2C>[0xAE 0x38 [0xAF r:16]
I2C START BIT
WRITE: 0xAE ACK
WRITE: 0x38 ACK
I2C START BIT
WRITE: 0xAF ACK
READ: 0x1F ACK 0x25 ACK 0x13 ACK 0x18 ACK 0x26 ACK 0x26 ACK 0x17 ACK 0xD2 ACK 0x1F ACK 0x25 ACK 0x13 ACK 0x18 ACK 0x26 ACK 0x26 ACK 0x17 ACK 0xD2 NACK
I2C STOP BIT

IBM SET 1 -näppäinkooditaulukon avulla voidaan tulkita, että koneen supervisor-salasana on ”SKROLLI”. Jos ei halua tulkata salasanaa, voi olla helpompaa ylikirjoittaa nykyinen salasana tällä tunnetulla. Sen voi tehdä komennolla “[0xAE 0x38 0x1F 0x25 0x13 0x18 0x26 0x26 0x17 0xD2 0x1F 0x25 0x13 0x18 0x26 0x26 0x17 0xD2]”. Varsinainen poweron-salasana säilötään muualle, esimerkiksi TPM-piirille. Tämä tehdään myös jos käytössä on passphrase-asetus, jossa salasana on pidempi. Jos selkokielistä salasanaa ei näy, se saattaa olla tosiasiassa säilötty Thinkpadin TPM-piirille. Tällöin keinona voi olla ylikirjoittaa salasana nollalla tai kopioida toisesta saman mallin suojaamattomasta kannettavasta viimeinen 256 tavun lohko.

Viitteet:

  • AT24C01A/02/04/08/16 Two-wire Automotive Serial EEPROM (3256F-SEEPR-10/04), Atmel, 2004, doc3256.pdf
  • PC/AT Technical Reference, IBM, 1984.

Teksti: Risto Järvinen
Kuvat: Risto Järvinen