bloghoved ole tange

Dekryptering af 16 år gammel harddisk

Jeg har ryddet op i nogle gamle harddiske i pulterkammeret.

En af dem brugte 40-pin PATA-fladkabel, og den havde nogle kryptede data, som jeg ikke lige kan huske hvad indholder. Jeg havde brugt cryptfs (forgængeren for encfs) i 2004.

cryptfs er ikke understøttet på GNU/Linux længere, så nu er det spændende om fordelen ved fri software står sin prøve: Kan jeg finde software fra 2004, så jeg kan dekryptere mine data?

cryptfs er en del af FiST, som vel nærmest kan beskrives som forgængeren for FUSE.

Efter at have pakket kildekoden ud, kan jeg se, at jeg skal bruge en Linux-kerne version 2.0 .. 2.6.

Jeg starter med at finde en gammel Debian. Tidsmæssigt er Debian 4 omkring Linux 2.6, så måske kan det bringes til at virke:

vagrant init MarcinOrlowski/debian4-i386
vagrant up
vagrant ssh

Og, vups, har jeg en Debian 4 maskine.

(Har jeg rost Vagrant tidligere? Hvis ikke, så gør jeg det lige hermed. Hvis du ikke har prøvet, så gør dig selv den tjeneste at bruge et par timer på at gennemgå https://www.vagrantup.com/intro/getting-started).

Der skal lige tilføjes build software

sudo apt-get install make bison gcc flex libc6-dev rpm linux-headers-2.6.18-6-686 rsync

Her imponerer Debian mig: God stil at man stadig kan køre 'apt-get install' af software, der er 16 år gammelt, og at det stadig ligger på ftp-serverne.

Så skal fistgen compiles:

wget ftp://ftp.filesystems.org/pub/fistgen/fistgen-0.2.1.tar.gz
tar xvfz fistgen-0.2.1.tar.gz
cd fistgen-0.2.1
./configure
make
./fistgen cryptfs/cryptfs.fist

Der skal lige laves en lille rettelse:

--- out/Linux-2.6/cryptfs/file.c        2020-07-12 06:10:32.000000000 -0400
+++ out/Linux-2.6/cryptfs/file.c~       2020-07-12 06:06:28.000000000 -0400
@@ -620,7 +620,7 @@
 cryptfs_posix_lock(file_t *file, struct file_lock *fl, int cmd)
 {
     int error;
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,17)
     struct file_lock conflock;
     for(;;) {
         error = posix_lock_file(file, fl, &conflock);

Herefter kan cryptfs compiles:

cd out/Linux-2.6/cryptfs
make
sudo insmod /home/vagrant/fistgen-0.2.1/out/Linux-2.6/cryptfs/cryptfs.ko

Så er modulet klar. Jeg tester lige, at basal funktionalitet virker:

mkdir encrypted
mkdir decrypted
sudo mount encrypted decrypted -odir=encrypted -t cryptfs
echo my_password | ./fist_setkey decrypted
echo test | tee decrypted/testfile
ls -l encrypted

YES! Så er den største hurdle væk.

Så mangler jeg lige at få mountet den gamle disk. Jeg har en PATA-USB connector og en strømforsyning med AMP MATE-N-LOK ("MOLEX"), så jeg kan fint få disken på host-maskinen.

Men det lykkes ikke at få den på Vagrant maskinen. Så istedet laver jeg noget sshfs:

sudo gpasswd -a vagrant fuse
(logout; login)
sudo modprobe fuse
mkdir mnt
sudo sshfs -o allow_other tange@aspire:/crypt-backup-2004 mnt
cd mnt
sudo mount encrypted decrypted -odir=encrypted -t cryptfs
~/fistgen-0.2.1/out/Linux-2.6/cryptfs/fist_setkey decrypted

Og så er det bare at kopiere data:

rsync -Hav decrypted/ notcrypted/

Og var der så noget vigtigt blandt data?

Som du kan gætte har jeg overlevet uden disse data i 16 år, men der var da et par filer som gav "Nåhja, det kan jeg godt huske"-følelsen.

Allerede dengang benyttede jeg filformater, der var åbne standarder. Det gjorde jeg, fordi jeg i teorien gerne ville kunne åbne filerne om 16 år. Men et er, hvad der i teorien kan lade sig gøre. Et andet er, om det også virker i praksis. Og det gør det: jeg har endnu ikke fundet en fil, som jeg ikke kunne åbne.

Alt i alt må jeg sige, at jeg mener, fri software lever op til idealerne: Det virker ikke bare i teorien, men også i praksis. Mit gæt er, at hvis softwaren havde været ufri, så havde ovenstående været svært - og grænsende til umulig, hvis processen skulle have været 100% lovlig (i.e. ingen uautoriserede kopier af software).

Har du prøvet at køre software, som du ikke har brugt i 16 år?

Kommentarer (29)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Uffe Kousgaard

Ja, til ære for dig (Ole Tange) har jeg lige startet en exe-fil på windows fra 2002, som ikke har været rørt i mange, mange år. Den startede helt uden problemer, uden kryptiske kommandoer og uden at bryde nogen licens-regler. Med jævne mellemrum laver jeg også diverse småting med Delphi 5, som er fra 1999. Helt uden problemer. Indtil for nylig brugte jeg også en udgave af PaintShop Pro, som var fra 1996. Det må have været ét af de første 32-bit windows programmer.

  • 7
  • 2
#4 Axel Nielsen

Ikke ret længe siden jeg for en kunde havde en opgave der inkluderede en del DOS software, bl.a. WordPerfect 5.1 fra en AMD K6 maskine hvor bundkortet og harddisken (PATA) var havareret. Kunden ville bevare den specifikke funktionalitet og havde licenser til softwaren. Desværre er der ikke ret mange nutidige bundkort der understøttes af Windows 98+ !!! Senere Windows' fungerer ikke ret godt med WordPerfect og slet ikke med de ekstra funktioner (plugins om du vil) der blev brugt. Jeg fik liv i harddisken (8GB Quantum Bigfoot), trukket data ud og prøvede forskellige konstellationer for at se hvad der virkede bedst.

Det endte med FreeDOS på en T6400. Ren DOS inkl. USB-funktionalitet, booted fra en SATA disk... Kunden kunne komme videre med sig arbejde og var ovenud tilfreds...

Genialt!

For at sætte en krølle på, så lykkedes det efter noget tid at skaffe en erstatning for den afbrændte switching transistor og en spolekerne, vikle en ny spole, reparere nogle printbaner samt skifte flere defekte kondensatorer på det gamle bundkort, og få K6'eren til at køre igen. Så den står på "museet" med sin BigFoot harddisk og venter på jeg finder en Windows 95 licens, eller måske jeg skal installere Red Hat Linux 9 som jeg har i "Original DVD" udgivelse... :-D

  • 10
  • 0
#9 Axel Nielsen

er i hvilken branche er vi i siden det er forsvarligt at blive på gammelt udstyr frem for at opgradere det hele

Branchen kan jeg ikke afsløre, men der var tale om stand-alone-udstyr, nogle ret pebrede licenser samt en del opsparet erfaring som ikke uden videre kunne porteres til nyere software.

Med opgraderingen kan det lade sig gøre at tage backup, flytte hele molevitten til nyere hardware om nødvendigt og alligevel bevare den ønskede funktionalitet. Grunden til den lidt bedagede hardwarekonfiguration i "det nye" var alene ønsket om bevarelse af native floppy support. Det er der ikke nogen nye bundkort der har...

Der er mange brancher hvor du møder en "hard-wall" hvis noget går i stykker - F.eks. en 486DX2 der styrer en analysator til x mio. kr i indkøb... Håndbygget controller-print i 16-bit ISA-bus... Producenten er rykket videre, 25-30 år gammel hardware understøttes ikke længere, kunden bliver anbefalet at købe nyt af det hele. Da maskinen er perfekt til den niche der arbejdes i og ellers er fejlfri, er det nemmere/billigere at finde mig, få repareret det defekte og køre videre.

Der findes 1000-vis af eksempler i industri-, marine-, entreprenør- landbrug- osv-brancherne.

Det er en hel generation af reparationsfolk der mangler...

  • 20
  • 0
#11 Axel Nielsen

mon ikke QEMU kunne emulere sådan en gammel maskine, dvs. køre det i en virtual KVM/QEMU VM på helt nyt og moderne jern :-)

Ja, til dels, der er blot nogle 2, 3 og 4-tast kombinationer der giver uheldige "bivirkninger" i QEMU :-)

Var over QEMU/KVM, VirtualBox, Dosbox etc.

Dertil har du bøvlet med floppy... USB-drev evner ikke at læse alle disketter som uden problemer læses i f.eks. et TEAC-floppy på native bus... Så, KISS vinder, som sædvanligt, fristes jeg til at sige...

Og, iøvrigt, så er det heller ikke nemt at stoppe f.eks. et custom 16-bit ISA I/O-kort i QEMU (som i den anden beskrevne opgave) :-D

  • 9
  • 0
#13 Axel Nielsen

De kan da bare ændres, så de ikke rammer noget kunden skal bruge?

Det tænkte jeg også, faktum er dog at det ikke kunne komme til at fungere hensigtmæssigt ift. DOS-softwaren. Om det var FreeDOS i QEMU eller DOS-softwaren i FreeDOS eller noget 3., nåede jeg aldrig at konkludere på idet der var andre ting der også havde betydning, som ikke talte til fordel for virtualisering.

Det virkede i øvrigt fint i FreeDOS direkte på jernet...

  • 4
  • 0
#14 Søren Koch
  • 2
  • 0
#15 Axel Nielsen

men vi kan levere en ny PC med software for 30k euro...'

Eller: "Vi beklager, det styrepanel du har, leverer vi ikke mere. Da vores nye paneler ikke er kompatible med dit eksisterende anlæg, vil vi gerne sælge dig et nyt (anlæg)..." (Pris, kr. 150.000 eks. montage).

Fejlsøgning, et nyt display (som i øvrigt sidder i flere Yamaha keyboards), inkl. montage mv. kunne klares for 1/60-del.

I dette tilfælde også en del hurtigere end et nyt anlæg havde kunnet installeres...

  • 4
  • 0
#16 Adam Rosenberg

"Der skal lige laves en lille rettelse" og så et eller andet helt uforståeligt. Og senere "Men det lykkes ikke at få den på Vagrant maskinen. Så istedet laver jeg noget sshfs:" ...

Måske ikke den bedste reklame for Linux?

  • 0
  • 6
#17 Ivo Santos

Jeg er ret imponerede af at man kan installere gæste driver til windows 2000 på seneste Virtualbox, det samme gælder også for esxi.

Men, når det kommer til Linux, så er det stort set næsten umuligt at få gæste driver til at virke med en 10 til 15 år gammel version af Linux. Det syntes jeg er ret imponerende.

  • 0
  • 0
#19 Michael Cederberg

Jeg købte Borlands Turbo C til MS-DOS i 1990. Softwaren kom på 4 stk. 5¼" disketter. På et tidspunkt inden jeg opgav at eje et 5¼" diskettedrev fik jeg kopieret softwaren til en harddisk.

Engang for 4-5 år siden genfandt jeg filerne og prøvede at køre skidtet. Det virkede fint. Kompilering af demo-programmet som i 1990 tog mindst en time (som jeg husker det) blev gennemført i løbet af et par sekunder. På Windows 7 ...

For nyligt genfandt jeg min først diskette fra 1979 ... nu mangler jeg bare at finde en RC Piccolo med CP/M og COMAL-80 for at kunne læse indholdet :-) Det kunne nu være spændende at se om der var noget data på den efter alle de år.

  • 1
  • 0
#20 Dennis Benneballe Grade

Den sætning hørte jeg fra mine lærer ofte. "Man vil ikke kunne åbne gamle harddisks efter 10 år, data vil forsvinde, ligesom filer som du har brændt på en CD-R/ CD-RW.

Fint nok, tænkte jeg, for jeg var alligevel påpasseligt nok med mine data for ikke at stole på at én harddisk ville kunne holde mine data i den tid, jeg vil opbevare dem.

Så jeg gik ud i verden med tanken om at skulle fornye mine harddisks, fordi de ikke kommer til at holde i længden.

Det er så hermed modbevist :-) Men ubetryggende at vide, at mine harddisks, som jeg smed ud i tro om at de ikke var til at åbne mere, måske godt kan åbnes igen ... fremover bliver man vel nødt til at vælge den løsning der hedder boremaskine gennem drejeskive, ikke?

  • 1
  • 0
#21 Ole Tange Blogger

fremover bliver man vel nødt til at vælge den løsning der hedder boremaskine gennem drejeskive, ikke?

Jeg har overskrevet min 16 år gamle harddisk med random bits - men lige bestemt den var det ikke nødvendigt for, for data var jo krypterede :)

Da jeg i dag kører fuld disk encryption på de fleste diske, så bliver boremaskinen ikke nødvendig for dem.

  • 3
  • 0
#22 Dennis Benneballe Grade

Men kunne det ikke godt ske, at dekrypteringsteknologien om 16 år igen er så langt fremme, at det relativ nemt kan dekrypteres? Nu vil jeg pointere, at jeg ikke er den mest tekniske, men jeg kan da se udviklingen, og jeg frygter at al kryptering i nuet er ligegyldige om et par år.

Er det en reel bekymring, eller blot mig, der har misforstået noget?

  • 2
  • 0
#25 Kim Strandgaard Andreasen

Jeg har netop gravet gamle regnskabsdata frem fra 1982 og en del år frem. De var lavet i et hjemmelavet regnskabsprogram i programmeringssproget APLPLUS/PC under MS-DOS . Det lykkedes at finde en lettere modificeret udgave af APLPLUS (som er en fortolker), som kan køre under DosBox i Windows 10. Data kunne så maskinelt overføres til et nyt regnskabsprogram, også hjemmelavet (i Dyalog APL).

  • 2
  • 0
#26 Jens Dalsgaard Nielsen

Der er en forskel på at starte noget gammelt COTS der nok næsten alt interfacer på int21h og så få liv i forløberen til FUSE og som døde for snart mange år siden.

Det spændende er at der bliver fremtryllet en meget gl linux version med compilere mm og får den op at køre. Som andre skriver kunne der også være 8/16bit isa hjemmebrygged io kort osv osv.

Så også hatten af Axel der deler hans levebrød med os andre.

  • 2
  • 0
#27 Karl Johan Simonsen

VirtualBox OSE udkom januar 2007. Ca 4 måneder senere udkom Mandriva linux 2007 Spring (ca samtidig med Debian 4) og fra standard repositories kunne VirtualBox installeres. Mulighed for Guest Additions fremgår ikke. Et år senere kom Mandriva 2008 Spring med mulighed for Guest Additions. Har lige checket begge, da de er del af en multiboot på en af mine stationære PCere. Jeg er dog først begyndt at bruge VirtualBox i de senere år og for de sidste 4 versioner af Mageia viser det sig at Guest Additions automatisk installeres når OS installeres som guest. Jeg har også lavet en guest af Red hat Linux 8 (den fra 2002) - dvs uden Guest Additions . Den bruges til Simula-programmer med CIM-compileren. Har stadig programfiler fra dengang.

  • 0
  • 0
Log ind eller Opret konto for at kommentere