Az alábbiakban megkísérlem összefoglalni az egykori állambiztonsági szolgálat gépi nyilvántartását tartalmazó 18 mágnesszalag lementésének technikai történetét, tehát azt a 8 hónapos projektet, aminek a feladata egész pontosan az volt, hogy a szalagokon található még olvasható adatokat korszerű adathordozóra mentsük át, lehetővé téve a későbbi feldolgozást. Leírásomban igyekszem a minden bizonnyal izgalmasabb politikai kontextustól távol maradva a konkrét informatikai projektre koncentrálni. A szalagok ügye elég nagy reflektorfényt kapott, a médiában számos találgatás illetve hamis információ jelent meg, így különösen indokolt most, a munka befejezése után az érdeklődő közönség elé tárni, mi is történt valójában.
Aki már látott akár csak egy epizódot is a kortárs amerikai helyszínelő sorozatok bármelyikéből, joggal hiheti, hogy néhány ősrégi, romokban megmaradt szalag összes információjának leolvasása és értelmezése jó esetben 5 perces, de maximum egynapos munka. A rideg valóságban viszont egy extra nehezítésekkel tűzdelt informatikai projekt kevésbé látványos, inkább a vér, veríték és könnyek szentháromsága jellemzi: talán most kiderül, hogy mi tartott 8 hónapig.
A bizottság
2009 március elején kaptam a felkérést Kenedi Jánostól, hogy vegyek részt a szalagok archiválására felállított munkacsoportban civil informatikai szakértőként. A feladat egyszerre volt ijesztő, izgalmas és homályos, de természetesen azonnal igent mondtam.
A bizottság 4 civil és egy a Nemzetbiztonsági Szakszolgálat által delegált informatikusból illetve az NBH által delegált elnökből és jogászból állt. Első ülésünket március 20-án tartottuk, ezt november végéig még kb. további 50 maratoni összejövetel követte. Számomra ezen az első találkozón derült ki, hogy pontosan mi is a feladat: leolvasni a szalagokat és átmásolni róluk minden adatot azzal az apró nehezítéssel, hogy vakon kell dolgoznunk, mivel a szalagok 2060-ig titkosítva vannak, így munka közben egyáltalán nem láthatjuk, mi van rajtuk. A másik feltétel az volt, hogy nem tehetjük ki őket a rongálódás illetve az adatmódosulás legkisebb veszélyének sem, tehát bolondbiztos rendszert kell összeraknunk, mielőtt elkezdjük olvasni őket.
Régi, elavult technológiáról van szó, nem is sikerült olyan szakembert delegálni a bizottságba, akinek kimondottan a szalagokról történő adatmentés lett volna a szakterülete. A munkacsoportba így különböző szemlélettel és tapasztalattal bíró informatikusok kerültek, volt köztünk olyan, aki sokat dolgozott, illetve a mai napig foglalkozik régi szalagokkal és rendszerekkel (szegedi informatikatanár, gyűjteményi tárlatvezető, a bizottság alelnöke), volt adatmentésben tapasztalt szakember (Zsilinszky Sándor, a Kürt üzletágvezetője). A további két civil tag Harajda András és jómagam voltunk. Visszatekintve a vegyes összetétel kimondottan szerencsés volt, nagyon jó, széles látókörű csapat jött össze, beleértve a Hivatal munkatársait is, akikkel végig korrekt viszonyunk volt, még ha különböző prioritásaink voltak is a projekt részleteiben.
A szalagok
Március 28-án vehettük először kézbe a szalagokat. Leragasztott, lepecsételt borítékokban érkezett a 18 tekercs, a kibontás után az NBH fotósa lefényképezte őket, rögzítettük azokat az adatokat, amelyek szemmel megállapíthatóak voltak, majd újracsomagoltuk az összeset, ezúttal már a bizottság tagjainak aláírásával. Ettől a pillanattól elvileg más nem férhetett hozzájuk. Az aláírás és újrapecsételés ceremóniája minden további felbontáskor megismétlődött, bár ezután sokáig, az első mentésig nem láttuk a szalagokat.
A szalagok szemre megfelelő állapotúak és sértetlenek voltak, a csomagolásból úgy tűnt, hogy megfelelő körülmények között tárolták őket, penész vagy komolyabb szennyeződés nem volt rajtuk. Azt természetesen nem lehetett megállapítani, hogy milyen hőmérsékleten tárolták-e őket, érte-e őket valamilyen erős besugárzás, stb. Néhány métert letekertünk belőlük, nem voltak túlságosan összeragadva és oldalról vizsgálva őket az is látszott, hogy le voltak már tekerve korábban, tehát nem új, hanem használt szalagok. Korábbi életüket illetően persze nem lettünk okosabbak, a borítékokat olvashatatlan aláírással, NBH-s pecséttel (1. sz. körbélyegző) zárták le. Dátum nem szerepelt rajtuk, de irattári tételszám igen, pl. az egyiken 007/97/7, de ez nem volt egyértelmű zárási dátum.
A korábbi elméleteket – ti. hogy 6 szalagról van szó, mindegyik 3 példányban felírva - megerősítette a címkézés, hármasával nevezték el őket, pl. GYUJ H1, GYUJ H2 illetve GYUJ H3. A szalagok között volt 7 és 10 inch átmérőjű is (utóbbin hosszabb a szalag, így több adat fér rá), de az azonosított hármasokon belül mindig egyforma volt a méret. Nemcsak a borítékokon, hanem a szalagokon is voltak címkék, ezeken az első használatbavétel ideje 1990.01.25. volt. (Arra persze nincs garancia, hogy ezek valós adatok voltak.)
Bár a szalagok jó állapotúnak tűntek, az sejthető volt, hogy régen nem nyúltak hozzájuk. Tehát hiába voltak a tárolási körülmények szemre megfelelőek, az előírt 2-3 évenkénti átforgatást biztosan nem hajtották végre rajtuk már jó ideje. (A szalagok időnkénti áttekercselésére azért van szükség, mert az egymáson fekvő szalagrétegek hosszú idő alatt átmágnesezik egymást.) Ennél a pontnál tehát még meglehetősen bizonytalan volt, hogy tudunk-e róluk adatot menteni.
Felkészülés
A szalagok felírásáról semmilyen konkrét információ nem állt rendelkezésünkre, csak annyit tudtunk, hogy valószínűleg a BM adatfeldolgozó hivatalában rögzítették őket 1990 körül. Az ott dolgozó személyzetből azonban senkit nem lehetett előkeríteni és azt sem tudtuk pontosan, hogy milyen számítógépeket illetve szalagos egységeket használtak. A rendelkezésre álló információk alapján a Siemens 4004 család valamelyik változatáról volt szó, de mivel ezeket a gépeket az összes, máshol található hasonlóval együtt már rég leselejtezték, az olvasáshoz egy új, korszerűbb rendszer összerakása látszott célszerűnek. Ehhez megpróbáltunk összegyűjteni minden fellelhető információt a szalagokról, a lehetséges felhasznált formátumokról, az olvasóegységekről. A kutatás nagyrészt az interneten folyt, ahol a szóban forgó ½ inch-es 9 trackes szalagtípusról rengeteg információ található.
Ez a szalag ugyanis elavultsága ellenére az egyik legnépszerűbb adathordozó a világon. Bár már évek óta nem gyártanak se ilyen szalagot, se hozzávaló olvasóegységet, majdnem 40 éves pályafutása során rengeteget használták, nagyon sok adattár létezik még ma is, ami ebben a formátumban van csak meg. Először 1964-ben az IBM System/360 számítógéphez használtak ilyen szalagot, 2003-ban gyártották utoljára. Négyféle adatsűrűségű változat létezik, a legnagyobb sűrűségű és átmérőjű szalag maximális tárolókapacitása kb. 170 megabyte. Az első szalagos egységek szekrényméretű dobozok voltak, de mivel a szalagtípus jelentősen túlélte az őt létrehozó nagyszámítógépes hőskorszakot, nem meglepő módon a 80-as és 90-es években PC-hez illeszthető olvasók is készültek (ezek akkorák kb., mint 2 mikrohullámú sütő). Természetesen már ilyen olvasókat sem gyártanak, csak felújított, használt darabokat lehet beszerezni, ha nem is a sarki közértben, de az interneten lehet találni néhányat.
Említettük, hogy ezek a szalagok még sok helyen megtalálhatók, és sokszor előfordul az is, hogy adatot kell olvasni róluk. Ugyanakkor a megfelelő olvasók beszerzése költséges és nehéz. Ebből következik, hogy a világon ma is sok olyan vállalkozás van, ami ilyen szalagok átírására specializálódott – ráadásul ők a felgyülemlett sokéves tapasztalat folytán a régi, problémás szalagokat is jó hatásfokkal tudják menteni. Mi sem lett volna egyszerűbb, mint megkeresni a legközelebbi ilyet, hónunk alá csapni a 18 szalagot, elvinni őket és hazahozni a lementett adatokat. De ezt természetesen nem tehettük meg, mivel külső mentésnél se a titokvédelem, se a szalagok sérthetetlensége nem lett volna garantálható.
Maradt a nehezebb út, a saját rendszer építése, ráadásul a későbbi technikai galibák kivédésére úgy döntöttünk, hogy három független rendszert építünk, ezekben a PC lehet egyforma, de három különböző gyártmányú szalagos egység kell. Csak olyan olvasók jöhettek szóba, amelyek mind a négy adatsűrűséget tudták olvasni, hiszen fogalmunk se volt arról, hogy a 18 szalagot milyen módon rögzítették. (Ráadásul nem elég a legnagyobb sűrűségre képes egységet választani, mert az olvasók nem kompatibilisek automatikusan a kisebb sűrűségű szalagokkal, hiszen a rögzített jelek kódolása is más). További szempont volt, hogy az egység tudjon read only (csak olvasás) módban dolgozni, hogy még véletlenül se tudjuk felülírni a szalagokat.
Aránylag gyorsan, már április 9-én dűlőre jutottunk abban, hogy melyik az a 3 javasolt és 3 tartalék típus, amit érdemes lehet használni. A beszerzés – szintén adatbiztonsági okokból – az NBH saját csatornáin keresztül történt, miközben az eszközökre vártunk, rendszertervet írtunk. (Ebben többek között pontosan specifikáltuk a tesztelésre és éles mentésre használt rendszert, a folyamatokat, a lementett adatok biztonságos tárolásának és archiválásának módját, felkészültünk a hibalehetőségekre, stb. (Kétségkívül nem ez volt a projekt legizgalmasabb része.) Erre a munkára három hónapunk volt, mivel a beszerzés sajnos nem ment túl gyorsan – ahhoz képest, hogy az egész projektet a tervek szerint június végéig be kellett volna fejeznünk, az első olvasó július elején érkezett meg, a harmadik július 21-én, szűk két héttel a nyári szabadságok miatti kényszerszünet előtt. De ekkor még volt egy pici remény arra, hogy ha minden jól megy, befejezhetjük a mentést ebben a két hétben.
Az első tesztek
Az első olvasóegység megérkezésekor megkezdődött a rendszerépítés és a tesztelés. A rendszer működtetésére a Hivatalban kaptunk egy minden biztonsági szempontnak megfelelő helyiséget szünetmentes áramforrással, klímával, állandó kamerás megfigyeléssel, őrizhetőséggel, elektromágneses kisugárzás elleni védelemmel (ti. hogy ne lehessen lehallgatni az olvasás közben a hardverelemek által kisugárzott jeleket). A tesztelésre régi, használt szalagokat szereztünk be, több típust is kipróbáltunk.
A munka nem volt zökkenőmentes, a rendszerben sok ismeretlen elem volt. Igyekeztünk a PC-ket összehangolni az olvasókkal, harcoltunk sunyi hardverütközések ellen, tuningoltuk az olvasók állítható részeit, kerestük a legkíméletesebb mechanikát, próbáltuk kiválasztani az olvasószoftverek közül a legmegbízhatóbbat. Július végére állt össze a rendszer annyira, hogy kitűzhettük végre az első éles szalaggal végzett tesztolvasást, július 31-re. Tudtuk előre, hogy ez vízválasztó lesz: ha minden jól megy, hamar végzünk, ha nem, nagyon elhúzódik a projekt.
A tesztolvasáshoz egy olyan borítékot választottunk ki, amiben három kisebb típusú, 7 inch-es szalag volt egybecsomagolva, de csak az egyiket akartuk kipróbálni. Maga az olvasás meglehetősen szürreális körülmények között zajlott. Mivel a bizottság tagjai nem tekinthettek be a szalagon levő titkos adatokba, úgy helyeztük el a számítógépet, hogy csak a kezelő – tehát a titokgazda, Laborc Sándor, az NBH akkori igazgatója – láthatta a monitort. A szalag befűzése után a bizottság tagjai a szoba másik feléből izgulták végig a beolvasási kísérleteket, amit a titokgazdának előre rögzített leírás alapján – a bizottság szóbeli instrukcióival kiegészítve - kellett egyedül végrehajtania. Ez természetesen többször megismétlődött, közben olvasót, diszket illetve szalagot cseréltünk.
Meglepetésre rögtön az első szalag beolvasása sikeres volt. Két olvasóval is ugyanakkora állományt sikerült beolvasni. A bökkenő csak az volt, hogy állomány nyúlfarknyi, 4105 byte hosszú volt. Ha minden szalagon csak ennyi adat van, akkor a projekt csak technikailag lesz sikeres, a kutatás szempontjából nem. Látva a bizottság csalódottságát, a titokgazda ekkor felajánlotta, hogy próbáljunk ki a borítékból egy másik szalagot is. Itt kezdődtek a bajok.
A második szalagot két olvasóval is hibásan sikerült csak beolvasni. A szalag ráadásul borzasztó nyikorgó hangokat adott ki (már az első is, de ott nem törődtünk vele, hiszen ott még sikerült a beolvasás). A titokgazda ekkor úgy döntött, hogy próbáljuk ki a harmadik szalagot is.
A harmadik szalag beolvasása majdnem katasztrófába torkollott. Az első kísérletnél az olvasóegység egyszerűen begyűrte a szalag egy részét és beragadt. Itt abbahagytuk a próbálkozást, visszacsomagoltuk a szalagokat és megpróbáltuk kitalálni, hogyan tovább.
Az biztos volt, hogy ezzel a rendszerrel, ezzel a módszerrel nem folytathatjuk a többi szalag beolvasását, ha nem akarjuk kockáztatni épségüket. Több irányban kezdtünk el kutakodni: lehet-e az olvasóeszközök mechanikáját tovább tuningolni? Tudunk-e szervizleírásokat szerezni az olvasókhoz? Milyen fejállítási lehetőségek vannak? Jól tisztítjuk-e két olvasás között a fejet? Esetleg a szalagok állapota miatt nem megy jól a beolvasás? A nyikorgás és a begyűrődés arra mutatott, hogy talán szorulnak valami miatt a szalagok, így először arra gondoltunk, hogy kézzel minden szalagot áttekerünk, hogy kicsit meglazuljanak.
A megoldást aztán természetesen az interneten találtuk meg, teljesen véletlenül, amikor alaposabban rákerestünk a hosszú tárolás alatt kialakuló lehetséges szalagromlásokra. Egy nagyon fura dologra bukkantunk: a régi szalagok körében meglehetősen gyakori egy SSS vagy Sticky-Shed Syndrome nevű betegség. Ezt nehéz lefordítani, de azt jelenti, hogy a mágnesezhető bevonatot a szalag műanyag alapjára rögzítő ragasztóréteg nedvességet szív magába, ha évekig nem elég száraz helyen tárolják. Ettől aztán felpuhul, és az egész szalag ragadóssá, nyúlóssá, olvashatatlanná válik. A jelenség annyira közismert, hogy még Wikipedia bejegyzés is létezik hozzá. És persze gyógymód is, ami elsőre rossz viccnek tűnik: a szalagot sütni kell (igen, a szalagsütéshez is tartozik a Wikipediában külön bejegyzés). A sütés nagy hőfokon (50-60 Celsius fok) történik és akár több napig is tarthat, a lényeg az, hogy a felpuhult réteget kiszárítja, és a szalag a sütés után egy ideig újra olvasható lesz.
Itt volt az a pont, ahol felcsillant a remény, a legjobb pillanatban lett tehát vége az első felvonásnak, bő egy hónapos nyári szünet kezdődött.
Célegyenes
Szeptember 15-én megújult lelkesedéssel ültünk össze újra. Nem tettünk fel mindent egy lapra, a szalagsütés előkészítése mellett elkezdtünk egy bonyolultabb műszeres méréssorozatot, hogy biztosak legyünk abban, az olvasófejről megfelelő jel jön le, a relatív bonyolult Windows alapú szalagolvasó szoftverek mellé pedig alternatívának összeraktunk egy egyszerű linuxos olvasót is. A három olvasóból itt már csak egyet választottunk ki az utolsó szakaszra, azt, aminek a legkíméletesebb volt a mechanikája.
A legtöbb macera természetesen a sütéssel volt. Kaptunk egy brutális klímakamrát, amiben először tesztszalagokat sütöttünk, azt vizsgálva, hogy a hőkezelés után könnyebben olvashatók-e. Túl sok javulást nem tudtunk kimutatni, de legalább arról meggyőződtünk, hogy a sütés nem ront a szalagok állapotán. Ez a második tesztfázis október végén zárult, ekkor már kész volt a beolvasási menetrend is novemberre, sütési és olvasási időpontokkal (természetesen biztonsági okokból nem egyszerre sütöttük a szalagokat, lassan kezdtük és a végére terveztük felgyorsítani a folyamatot).
A mentés
A végre eredményes mentés – november 5. és 23. között - nagyjából eseménytelenül zajlott az előre megírt menetrend szerint. Nem sikerült ugyan az összes szalagot tökéletesen lementeni, de a mentés során bebizonyosodott az a sejtés, hogy minden szalagból három egyforma van, és sikerült minden hármasból legalább kettőt beolvasnunk úgy, hogy azonos volt a lementett adattartalom (ezt tudtuk betekintés nélkül is ellenőrizni). A biztonság kedvéért ráadásul minden szalagot mindkét szoftveres környezetben (Windows illetve Linux alatt) beolvastunk.
Válaszok
Mi van a szalagokon? Ezt nem tudni, mivel nem nézhettünk bele a lementett adatokba. Azt tudjuk, hogy ami a szalagokon van, azt sikerült átmenteni modern, megbízható adathordozókra. (Egész pontosan külső merevlemezre és nagy élettartamú DVD-re is készült mentés, több példányban.)
Mit lehet tudni a lementett adatokról? Azt tudjuk, hogy a szalagokon van adat és az állományok nincsenek titkosítva, mert a titokgazda a mentés során belenézett néhány állományba és látott olvasható adattöredékeket. Tudjuk, hogy hat állományt mentettünk le, G, H és K jelűeket, mindegyikből létezik egy rövidebb GYUJ és egy hosszabb TORZS jelű változat, ez összesen hat. Valószínűsíthető, hogy nem szöveges adat, hanem adatbázisok vannak a szalagokon, tehát nem lehet közvetlenül értelmezni őket, előbb vissza kell fejteni a rekordformátumot, de ez nem tűnik túl bonyolultnak. A szalagokról közel 40 megabyte adatot sikerült lementeni. Mivel az adatok nincsenek tömörítve, ez szöveges adat esetében megfelelhet 10,000 gépelt oldalnak, adatbázis esetében (ez a valószínűbb) néhány tízezer rekordnak.
Mi a biztosíték arra, hogy az adatokat nem fogják manipulálni? Mind a hat állományról készítettünk hash lenyomatot. Ez olyan ellenőrző karaktersorozat, ami megváltozik, ha az eredeti állományban akár csak egy karaktert is megváltoztatnak. A hash lenyomat segítségével a jövőben ellenőrizhető, hogy valóban az általunk lementett állományokról van-e szó.
Mi a biztosíték arra, hogy az adatokat nem manipulálták az elmúlt 19 évben? Erre nincs garancia. Mi azokat a szalagokat mentettük le, amiket 2009. március 28-án megmutattak nekünk. Azt, hogy előtte mi történt a szalagokkal, nem tudni (legalábbis ebből a projektből nem derül ki). Az állományok a szalagon tárolt dátum alapján 1990. január végén keletkeztek (de ezt módosíthatták). Azt pedig végképp lehetetlen megmondani, hogy a szalagokat olvasták-e azóta.
(Ez a bejegyzés az ÉS január 22.-i számában megjelent hasonló című cikk bővített változata.)