e2rdo e2rdo
4752
BLOG

ATM - kompromitacja (cz1)

e2rdo e2rdo Katastrofa smoleńska Obserwuj temat Obserwuj notkę 16

Poniższa notka nie jest próbą oceny wiarygodności zapisów ATM a polemiką z tezami zaprezentowanymi przez Pawła Jajkowskiego z ATM PP oraz Piotra Lipca z KBWL LP.

Tuż przed rocznicą katastrofy smoleńskiej, na portalu Onet ukazał się artykuł Rafała Zychala zatytułowany: "Tajemnice polskiej czarnej skrzynki". Eksperci odpowiadając na pytania autora postawili wiele dyskusyjnych tez do których warto się odnieść. Ze zdjęcia szczątków rejestratora wyłania się obraz przypuszczalnych szczegółów konstrukcji urządzenia.

Projekt i wykonanie w połowie lat 80-tych urządzenia typu ATM było pewnym osiągnięciem technicznym: zaprojektowanie i produkcja płyty głównej: zintegrowanie (EP)ROM, (S)RAM, CPU, układów zewnętrznych, napisanie wewnętrznego oprogramowania. Procesor (lub 2 niezależne ?) zapewne 8bitowy (niezawodny Zilog Z80 ?) z 16bitową szyną adresową (64 KB RAM). Kompresja realizowana programowo poprzez procedurę napisaną w asemblerze. Lata 80-te to procesory w architekturze 8-bit (Z80/MOS/8080) lub 16-bit (Motorola68X/8086), dziś rolę ATM z zapisem danych na karcie SD zrealizowałby pojedynczy mikrokontroler ATmega/PIC (do kupienia w sklepie elektronicznym za kilkadziesiąt złotych). Dlaczego 2 procesory 8-bit ? 2 CPU to więcej dostępnej pamięci. W komputerze Elwro Junior system operacyjny CP/M był uruchamiany na procesorze stacji dysków FDD3000 korzystając 64KB jej pamięci. W ATM 1 procesor może odpowiadać za komunikację z urządzeniami zewnętrznymi i obsługę systemu a 2 zsynchronizowany realizować proces kompresji danych. Z drugiej strony poza ładowaniem ROM-u ATM nie musi rezerwować obszaru pamięci na obsługę np. ekranu.

Jak realizowany jest zapis w pamięci nieulotnej kasety ? Pamięć nie jest adresowana przez procesor, komunikacja prawdopodobnie odbywa się za pomocą zewnętrznego układu SIO/UART z obsługą magistrali portu szeregowego. Karta pamięci to zapewne 2-4 megabajtowy "pendrive" z wew. kontrolerem i złączem w standardzie RS232 (zmieniona fizyczna konstrukcja przyłącza musi zapewnić wytrzymałość mechaniczną i dodatkowe zasilanie). Inny układ I/O przetwarza sygnały na wejściach cyfrowych (w MSRP-64 jest 14 linii wychodzących z przetwornika UP-2-2 (8 bity danych i 6 kontrolnych), częstotliwość zmian stanów na wejściach to 128 Hz), zapisuje je w pamięci RAM (bufor wg producenta to 2 s zapisu czyli 256/512 bajtów)* i po kompresji zapisuje w nieulotnej pamięci kasety. Układ jest taktowany zegarem z częstotliwością min. 2 MHz tak więc nie ma problemu z uchwyceniem zmienności stanów logicznych na wejściach cyfrowych. Bufor może być: programowy ("wykrojone" 256/512 bajtów pamięci RAM), zewnętrzny układ SRAM lub realizowany poprzez zapis w pamięci kasety. W tym miejscu warto podkreślić że istnieją techniki odzyskiwania zawartości pamięci RAM (statycznej) zamrożonej w czasie nagłej utraty zasilania. Im dłuższy czas od wyłączenia urządzenia tym mniejsza szansa na odzysk danych - być może w tym należy upatrywać "pośpiech" Rosjan ze zwrotem rejestratora ATM.

Zapis na kasecie pamięci: bez obsługi systemu plików (np. FAT12/FAT16) lecz w trybie surowym (raw), blok po bloku - to znacznie upraszcza komunikację, skraca procedurę zapisu i odchudza wewnętrzne oprogramowanie. Firmware nie musi realizować zapisu do pliku o określonej nazwie z uwzględnieniem informacji o allokacji plików, katalogów w specjalnych tablicach lecz wysyła informację o adresie zapisywanego bloku pamięci i bajtach danych do zapisu. Ze względu na specyfikację portu szeregowego (wg standardu przepustowość RS232 to 115,2 kb/s) zapis sekwencyjny jest najlepszym rozwiązaniem. Pominięcie obsługi systemu plików zmniejsza ilość cykli kasowania i zapisu wydłużając żywotność programowalnej pamięci kasety.

*Bufor o określonej pojemności musi przechowywać dane do kompresji a nie skompresowane dane. Logika podpowiada że oczekiwanie na wypełnienie się bufora skompresowaną treścią do pojemności całkowitej byłoby niebezpieczne gdyż oznaczałoby zależność czasu całkowitego wypełnienia bufora od efektywności kompresji - przy dużej ilości dobrze kompresowanych danych, czas oczekiwania (na wypełnienie się bufora) wydłużałby się zwiększając ryzyko utraty danych w przypadku awarii urządzenia. Im szybszy zapis efektu kompresji tym dane są bezpieczniejsze. Skompresowane dane są jak najszybciej przerzucane z RAM-u do pamięci nieulotnej. Jeśli oprócz danych zapisywane są sygnały kontrolne MSRP - 1 kadr MSRP to 64 bajty danych + 64 bajty sygnałów kontrolnych (przy zaokrągleniu 6 bitów do 1 bajtu) = 128 bajtów / 0,5 sekundy. 2 sekundy zapisu to 512 bajtów i tyle wynosi teoretyczna pojemność bufora, nie uwzględniając danych dodatkowych rejestrowanych przez ATM (np. parametrów drgań turbin 3 silników).

Gdyby nie było kompresji danych jak łatwo policzyć zakładane 2048 KB pamięci kasety starczyłyby na zapis informacji: 2048000/256/3600 = ~2,2 godziny (bez danych dodatkowych ATM).

Algorytm kompresji: bezstratny i zapewne słownikowy (lata 80-te to okres w którym wynaleziono najefektywniejsze metody kompresji słownikowej np LZ (LZSS, LZW) do których nawiązują dzisiejsze algorytmy), porównujący wystąpienie podobnej sekwencji bitów (tutaj nie bajtów) w buforze podzielonym między zawartość tzw słownika a bufora. Producent mógł oczywiście napisać własny prosty algorytm kompresji. Jeśli bufor o pojemności 256 bajtów wypełnimy 2048 zerami to można to zapisać np. w postaci: [bit 0; ilość: 2(do potęgi)11] - całość zajmuje 12 bitów i tak zaokrąglając efekt kompresji do 2 bajtów uzyskaliśmy efektywność 1:128 :P

Rejestrator ATM to w istocie odpowiednik prostego 8-bitowego komputera z zewnętrzną pamięcią masową. Sugerowanie realizowania przez urządzenie tego typu wyrafinowanych procedur kryptograficznych, zaciemniania kompresji danych jest po prostu niepoważne.

W 2-giej części notki postaram się technicznie pokazać jakich chwytów marketingowych użyli panowie Jajkowski i Lipiec by uzasadnić swoją wątpliwą argumentację.

Tajemnice polskiej czarnej skrzynki:

http://wiadomosci.onet.pl/tylko-w-onecie/rejestrator-atm-qar-czym-jest-polska-czarna-skrzynka-z-tu-154m/m3w0zn

e2rdo
O mnie e2rdo

▐▄▄▄▄▌Polak, optymista▐▄▄▄▄▌ Si Deus nobiscum, quis contra nos ?

Nowości od blogera

Komentarze

Inne tematy w dziale Polityka