Ochrona

Jeszcze kilka lat temu płyta CD wydawała się producentom oprogramowania doskonałym nośnikiem danych także z innego powodu - ze względu na trudności jej powielania w warunkach domowych. Choć nagrywarki płyt kompaktowych pojawiły się w sprzedaży już w 1990 roku, czyli zaledwie pięć lat po powstaniu standardu CD-ROM, to ich wysokie ceny powodowały, że były one wykorzystywane jedynie przez profesjonalistów. Z czasem jednak ceny napędów CD-R spadły do poziomu akceptowanego przez zwykłych użytkowników. Dziś nagrywarka CD-RW umieszczona w domowym komputerze nie dziwi już nikogo. Duża popularność urządzeń nagrywających oraz gwałtowny spadek cen czystych nośników zaniepokoiły producentów oprogramowania. Według ich przedstawicieli proces masowego powielania programów i gier przez użytkowników domowych prowadzi do znacznych strat finansowych. Aby temu zapobiec, opracowano techniki mające uniemożliwić kopiowanie zabezpieczonych płyt. Choć skutkuje to być może ograniczeniem strat wytwórców, stanowi także utrudnienie dla legalnych właścicieli krążków, którzy zgodnie z polskim ustawodawstwem mają prawo (Art. 75 ustawy o prawie autorskim) wykonać jedną kopię zakupionego oprogramowania w celach archiwizacyjnych. O konieczności zarchiwizowania nośnika CD, kupionego często za wysoką cenę, nie trzeba chyba nikogo przekonywać - płyta kompaktowa łatwo może ulec zniszczeniu, o czym przekonało się już wielu z nas. Kolejne techniki ochrony płyt zostały już opracowane przez wyspecjalizowane firmy i w założeniu miały być znacznie trudniejsze do pokonania. Najczęściej obecnie stosowanym systemem jest SafeDisc firmy Macrovision. Wśród tytułów chronionych w ten sposób wymienić należy m.in. Dungeon Keeper 2, Command & Conquer: Tiberian Sun oraz wiele innych. Niemal identyczną zasadą działania cechuje się mniej popularny LaserLock firmy MLS LaserLock International.
Na oryginalnej płycie umieszczona jest znaczna liczba sektorów fizycznie uszkodzonych (ok. 10 000, czyli 20 MB). Jest to osiągane poprzez odpowiednie wykonanie szklanego wzorca-matki w tłoczni płyt. Wśród sektorów uszkodzonych ulokowane są pojedyncze sektory poprawne, których numery tworzą tzw. cyfrową sygnaturę. Znajduje się ona wewnątrz programu sprawdzającego oryginalność płyty, wraz z nim jest szyfrowana i umieszczana na dysku. Podstawową trudnością w przypadku kopiowania płyty zabezpieczonej systemem SafeDisc jest ustalenie numerów sektorów, które są poprawne. Jedynym skutecznym sposobem, aby to sprawdzić, jest sekwencyjne odczytanie całego obszaru uszkodzonego i "wyłowienie" w nim sektorów prawidłowych. Niestety, w przypadku napotkania uszkodzonego sektora, napęd CD zaczyna wykonywać procedurę korekcji błędów. W zależności od algorytmów zawartych w oprogramowaniu wewnętrznym (firmware) czytnika proces ten może trwać nawet kilkadziesiąt godzin bądź też zakończy się odmową dalszego czytania płyty.
Problemów tych nie stwarza weryfikacja oryginalności nośnika, wykonywana przez zabezpieczony program. W jej trakcie sprawdzane jest, czy określone sygnaturą sektory są prawidłowe, a sąsiadujące z nimi są istotnie błędne. Ponieważ dokonywana jest próba odczytu tylko pojedynczych sektorów błędnych, proces testowania płyty trwa krótko.
Ustalenie dokładnej "mapy" obszaru błędnego to tylko pierwszy krok do wykonania poprawnej kopii płyty. Aby zabezpieczony program uznał nagrany nośnik CD-R za oryginalny, konieczne jest odtworzenie na nim błędów. W przypadku płyt zapisywalnych CD-R i CD-RW odtworzenie usterek fizycznych jest niemożliwe. Jedyny sposób "oszukania" procedur weryfikujących to zapisanie do określonych sektorów dowolnych danych wraz z błędnymi informacjami kontrolnymi. Jak wiadomo, każdy sektor płyty CD zawiera 2352 bajty, z czego 304 stanowią informacje kontrolne i korekcyjne. Jeżeli w obszarze korekcyjnym zostaną umieszczone dane całkowicie błędne, to czytnik CD uzna cały sektor za uszkodzony, podobnie jak w przypadku błędów fizycznych nośnika.


Zapisanie fałszywych informacji do obszaru kontrolnego wymaga użycia odpowiedniej nagrywarki oraz oprogramowania. W przypadku wielu urządzeń CD-R dane korekcyjne są obliczane automatycznie przez sam napęd. Oznacza to, że wszystkie sektory płyty zapisanej w ten sposób będą poprawnie czytane, a skopiowanie nośnika zabezpieczonego systemem SafeDisc będzie niemożliwe. Dokładne określenie zawartości wszystkich 2352 bajtów każdego sektora jest możliwe tylko w przypadku urządzeń zapisujących dane w tzw. trybie DAO (Disk-At-Once) lub SAO (Session-At-Once) Raw. Niestety, spośród nagrywarek dostępnych na rynku tylko niektóre modele (patrz: ramka "Jak wybrać nagrywarkę") zostały przystosowane do pracy w jednym z tych trybów.
Równie duże znaczenie jak rodzaj nagrywarki ma także użyte do kopiowania oprogramowanie. Ponieważ sektory uszkodzone nie są powiązane z żadnym plikiem, konieczne jest użycie aplikacji zdolnej do odczytu całego nośnika, a nie tylko obszarów zajmowanych przez pliki. Jednocześnie program obsługujący nagrywarkę musi być zdolny do pracy w trybie Raw. Obecnie dostępnych jest kilka programów spełniających te wymagania. Do najczęściej stosowanych należą CloneCD firmy Elaborate Bytes oraz zestaw Blindread/Blindwrite.


Drugim z powszechnie stosowanych systemów zabezpieczania dysków jest SecuROM, opracowany w austriackiej tłoczni Sony DADC. W przeciwieństwie do techniki SafeDisc chronione w ten sposób nośniki nie zawierają sektorów uszkodzonych. Odpowiedni klucz, mający gwarantować oryginalność płyty, jest umieszczony w sposób jawny w obszarze subkanału Q. Pomimo to, prawidłowe skopiowanie tak zabezpieczonej płyty także może okazać się trudne. Dane tworzące każdy subkanał są rozproszone na całej powierzchni nośnika, pomiędzy kolejnymi sektorami. W trakcie odczytu płyty strumień bajtów jest dzielony na dwie części - informacje pochodzące z właściwych sektorów są kierowane do układu detekcji i korekcji błędów, bajty przypisane do subkanałów nie są poddawane tej analizie i zostają natychmiast wysłane do komputera. W przypadku znacznej liczby urządzeń CD powoduje to utratę synchronizacji pomiędzy dwoma strumieniami. Choć nie przeszkadza to np. w odczytaniu podstawowych danych zawartych w kanale Q (np. kod ISRC), to nie jest możliwe precyzyjne ustalenie, z którego miejsca pochodzą określone bajty tworzące subkanał, a więc i ponowne zapisanie ich w oryginalnym położeniu.

Utworzenie kopii nośnika chronionego systemem SecuROM wymaga użycia nagrywarki zdolnej nie tylko do precyzyjnego odczytu subkanału, ale także jego zapisu. Spośród dostępnych w sprzedaży napędów w funkcję tę są wyposażone urządzenia takich firm jak, Plextor, Yamaha, Ricoh, Sony. Podobnie jak w przypadku systemu SafeDisc, także tutaj niezbędne jest posługiwanie się odpowiednim programem do nagrywania, jak wspomniany już CloneCD.
W sposób zbliżony do techniki SecuROM chronione są także płyty przeznaczone dla konsoli Sony Playstation. Jedyna wprowadzona tu zmiana to umieszczenie kluczy zabezpieczających we wszystkich subkanałach (P-W). Ten prosty zabieg spowodował, że utworzenie kopii zapasowej gry dla Playstation jest trudniejsze niż w przypadku nośnika chronionego techniką SecuROM, co wynika z ograniczeń niektórych nagrywarek CD-RW. W wielu przypadkach umożliwiają one odczyt i zapis danych jedynie z powszechnie wykorzystywanego subkanału Q, ignorując pozostałe kanały podczas odczytu i wypełniając je zerami podczas zapisu. Urządzenia takie określa się często jako zdolne do obsługi tylko szesnastobajtowego subkanału. Tę niedogodność napotkają m.in. użytkownicy napędów CD-RW i CD-ROM firmy Teac.
Opisane metody wykonywania kopii zapasowych opierały się na zapisaniu na płycie CD-R dokładnej kopii nośnika oryginalnego. Nie jest to jednak jedyny sposób zarchiwizowania własnych zbiorów. Istotnym elementem każdego systemu zabezpieczającego jest procedura weryfikująca oryginalność nośnika. Skuteczną metodą ominięcia zabezpieczenia może więc być jej odszukanie w uruchamianym programie i takie zmodyfikowanie, aby proces weryfikacji zawsze dawał wynik pozytywny. Producenci systemów zabezpieczających są oczywiście świadomi tego niebezpieczeństwa i poddają odpowiednie procedury szyfrowaniu.
Stosowane metody ochrony są niezwykle wyrafinowane, a ich modyfikacja pozostaje poza zasięgiem nawet wielu zaawansowanych programistów. Pomimo to w sieci Internet z łatwością można znaleźć narzędzia usuwające procedury sprawdzania oryginalności nośnika CD z niemal wszystkich dostępnych na rynku programów. Odpowiednie "łaty", tworzone przez członków kilkunastu grup, ukazują się często jeszcze przed datą oficjalnej premiery danej gry. Do osłabienia systemów zabezpieczeń przyczynili się także częściowo sami ich producenci. W przypadku obu najpopularniejszych systemów ochrony (SecuROM oraz SafeDisc pierwszej generacji) procedury weryfikacji nie są włączane bezpośrednio do kodu chronionego programu, lecz umieszczane na płycie jako osobne biblioteki, wywoływane w czasie inicjalizacji aplikacji. Co więcej, kod ten pozostaje niezmienny we wszystkich zabezpieczanych danym systemem programach. Cecha ta została bez skrupułów wykorzystana przez crackerów - w Sieci bez trudu odnaleźć można narzędzia usuwające zabezpieczenia z dowolnej aplikacji, chronionej systemem SecuROM lub SafeDisc. Stosowanie tego typu rozwiązań jest jednak wątpliwe z prawnego punktu widzenia i z pewnością nie można go polecić.




Powrót do MENU