Dette indlæg er alene udtryk for skribentens egen holdning.

Dekryptering af 16 år gammel harddisk

29 kommentarer.  Hop til debatten
Blogindlæg21. juli 2020 kl. 02:56
errorÆldre end 30 dage

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.

Artiklen fortsætter efter annoncen

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:

  1. vagrant init MarcinOrlowski/debian4-i386
  2. vagrant up
  3. 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).

Artiklen fortsætter efter annoncen

Der skal lige tilføjes build software

  1. 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:

  1. wget ftp://ftp.filesystems.org/pub/fistgen/fistgen-0.2.1.tar.gz
  2. tar xvfz fistgen-0.2.1.tar.gz
  3. cd fistgen-0.2.1
  4. ./configure
  5. make
  6. ./fistgen cryptfs/cryptfs.fist

Der skal lige laves en lille rettelse:

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

Herefter kan cryptfs compiles:

  1. cd out/Linux-2.6/cryptfs
  2. make
  3. 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:

  1. mkdir encrypted
  2. mkdir decrypted
  3. sudo mount encrypted decrypted -odir=encrypted -t cryptfs
  4. echo my_password | ./fist_setkey decrypted
  5. echo test | tee decrypted/testfile
  6. 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:

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

Og så er det bare at kopiere data:

  1. 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?

29 kommentarer.  Hop til debatten
Fortsæt din læsning
Debatten
Log ind for at deltage i debatten.
settingsDebatindstillinger
27
26. juli 2020 kl. 00:02

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.

26
25. juli 2020 kl. 15:38

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.

25
23. juli 2020 kl. 23:06

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).

22
22. juli 2020 kl. 14:25

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?

20
22. juli 2020 kl. 12:50

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?

19
22. juli 2020 kl. 12:16

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.

18
22. juli 2020 kl. 12:00

Nu er det vel heller ikke en reklame for linux? Mere åben/fri software som helhed. Og det kræver ingen reklamer, men går sin sejrsgang verden over.

17
22. juli 2020 kl. 11:30

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.

16
22. juli 2020 kl. 09:39

"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?

15
21. juli 2020 kl. 23:21

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...

13
21. juli 2020 kl. 15:36

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...

11
21. juli 2020 kl. 12:37

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

10
21. juli 2020 kl. 12:30

For at blive i open-source verdenen, 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 :-)

9
21. juli 2020 kl. 12:22

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...

5
21. juli 2020 kl. 10:18

Jeg bliver nødt til at spørge Alex.. Hvad er dit job, når du kan gå hen og få sådan en opgave? :O

4
21. juli 2020 kl. 09:45

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

3
21. juli 2020 kl. 09:37

Næh, men det stod der heller ikke noget om i spørgsmålet "Har du prøvet at køre software, som du ikke har brugt i 16 år?"

2
21. juli 2020 kl. 09:31

Og var det kryperet?

1
21. juli 2020 kl. 08:01

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.