Miękki klucz

Dzisiejszym gościem naszego kącika jest system firmy Microcosm służący do zabezpieczania programów przed nielegalnym kopiowaniem, choć nie tylko. Długo zastanawiałem się, czy w ogóle taki temat powinien zagościć w "Komputerze na biurku", wychodząc z założenia, że należy bezwzględnie tępić wszelkie niewygody na jakie narażają nas producenci oprogramowania, a ponieważ rozwiązanie to wykorzystywane jest coraz chętniej w naszym kraju, sądzę, że nie tylko warto, lecz nawet trzeba się z nim bliżej zapoznać.

Dzisiejszym gościem naszego kącika jest system firmy Microcosm służący do zabezpieczania programów przed nielegalnym kopiowaniem, choć nie tylko. Długo zastanawiałem się, czy w ogóle taki temat powinien zagościć w "Komputerze na biurku", wychodząc z założenia, że należy bezwzględnie tępić wszelkie niewygody na jakie narażają nas producenci oprogramowania, a ponieważ rozwiązanie to wykorzystywane jest coraz chętniej w naszym kraju, sądzę, że nie tylko warto, lecz nawet trzeba się z nim bliżej zapoznać.

Klucznictwo

Ogólnie rzecz biorąc wykorzystywane przez producentów sposoby ochrony software przed kradzieżą możemy podzielić na następujące kategorie:

- stosowanie systemów haseł i numerów seryjnych, połączonych częstokroć z zapisem informacji o użytkowniku na dyskietkach służących do instalacji

- fizyczne znakowanie (uszkadzanie) sektorów dyskietek instalacyjnych lub uruchomieniowych

- dołączanie do programu specjalnej dyskietki-klucza, niezbędnej do jego poprawnego funkcjonowania

- dołączanie do programu tzw. kluczy sprzętowych (przejściówek wyposażonych w pamięć EPROM), których obecność w gnieździe drukarki jest sprawdzana przez program

- stosowanie specjalnych programów, powodujących, że zabezpieczona przez nie aplikacja zostaje "przywiązana" software'owo do jednego i tylko jednego fizycznego nośnika informacji.

Szczególnie te ostatnie rozwiązania wydają się być najbardziej przyszłościowe i obiecujące. Pozwalają bowiem, w przeciwieństwie do zabezpieczeń hardware'owych, wydatnie obniżyć zarówno koszt zabezpieczenia aplikacji, jak też zaoszczędzić czas oraz środki, wydawane zazwyczaj na stworzenie wersji próbnej (trial) lub demonstracyjnej. Są też łatwiej akceptowane przez użytkowników i producentów, gdyż łączą w sobie dużą skuteczność zabezpieczenia z niewielką uciążliwością.

Pastylkologia

CopyControl jest systemem tzw. "pastylkowym", co znacza, że zabezpieczony nim program zostaje uwrażliwiony na zawartość pewnych ukrytych plików, które dodawane są przezeń do dyskietek instalacyjnych podczas "zakładania" protekcji. Pliki te zawierają wiele unikalnych informacji o zabezpieczonym nośniku. System ten bowiem dokonuje np. zmian w numeracji sektorów na dyskietce, oblicza dla niej wiele "tajemniczych" sum kontrolnych, wpisuje "coś" do sektora oznaczonego jako BAD (uszkodzony) oraz nadaje nośnikowi, wygenerowany przez siebie, unikalny numer seryjny w wyniku czego powstaje kod kontrolny, charakteryzujący z jednej strony zabezpieczony program i związany z nim nośnik informacji, z drugiej zaś określający charakterystyczne parametry zastosowanego zabezpieczenia.

Należą do nich np. liczba dopuszczalnych instalacji z dyskietki dystrybucyjnej, rodzaj napędu, z którego można uruchomić program, liczba jednoczesnych uruchomień jeśli program zabezpieczamy "na okoliczność" działania w sieci komputerowej itd. Nie trzeba też chyba dodawać, że tak zabezpieczona dyskietka jest odporna na kopiowanie za pomocą wszelkich programów kopiujących binarnie (DISKCOPY, DUPDISK, PROCOPY, DISKDUPE itp.), a zainstalowany z niej program nie daje się przenieść np. za pomocą backupu na inny dysk, twardy, nawet wówczas, gdy nośnik ten znajduje się w tym samym komputerze, co dysk źródłowy, bowiem przenoszona z dyskietki dystrybucyjnej "pastylka" zmienia swoją zawartość w trakcie instalacji. System jest więc w miarę nieuciążliwy i dosyć skuteczny, choć oczywiście posiadacz zabezpieczonego programu nie może np. na własny użytek wykonać ani jednej kopii dyskietek dystrybucyjnych.

O dołączaniu zabezpieczeń

Stosując CopyControl mamy do wyboru trzy sposoby "doklejenia" procedur zabezpieczających do własnego programu. Pierwszy, to w pełni zautomatyzowana, nie wymagająca ingerencji programistów w kod źródłowy metoda zwana "shell". Program zabezpieczający po prostu dopisuje "swój kawałek" do skompilowanego już pliku *.EXE lub *.COM oraz umieszcza na dyskietce "tajemnicze pastylki". Nie nadaje się on jednak do pełnego zabezpieczania aplikacji składających się z wielu elementów wykonywalnych np. bibliotek dołączanych dynamicznie.

Sposób drugi, jest nieco wymyślniejszy i trudniejszy do zrealizowania, choć okazuje się znacznie elastyczniejszy w praktyce. Polega on na wpleceniu (linking) dołączanej przez producenta procedury, która sprawdza zawartość "pastylek" jeszcze przed kompilacją programu. Ten rodzaj zabezpieczenia nadaje się świetnie do ochrony plików nakładkowych (*.OVL), bibliotek dołączanych dynamiczmne (*.DLL) itd. Ponadto pozwala rozszerzyć zasięg i częstotliwość kontroli obecności zabezpieczenia, gdyż może się ona tu odbywać choćby podczas każdej próby zapisu danych na dysk albo uaktywniania jakiejś innej opcji, co w praktyce pozwala np. na sporządzenie programu zabezpieczonego tylko w pewnym fragmencie. W ten sposób zresztą zabezpieczony jest sam system Copy Control, który w chwili instalacji uaktywnia więcej lub mniej własnych możliwości zależnie od podanego kodu-hasła.

Pozostał nam jeszcze do omówienia ostatni, trzeci sposób, który nosi nazwę External Program Method i jest zalecany do ochrony programów tworzonych z wykorzystaniem wewnętrznych języków aplikacji, czyli np. makr. Ponieważ takie programy nie występują nigdy w postaci wykonywalnej (format *.EXE), producent proponuje uruchamianie z ich poziomu "pozornych" (dummy) programów, które będą zabezpieczone jedną z powyższych metod, a następnie sprawdzanie skutków ich uruchomienia z poziomu właściwej aplikacji.

Struż o ludzkim obliczu

Jakkolwiek stosowanie zbyt wyrafinowanych zabezpieczeń może się okazać niezbyt wygodne dla użytkownika (przekonali się o tym z pewnością ci, którzy muszą używać np. pojedynczych kopii trzech różnych programów zabezpieczonych kluczem sprzętowym na kilku komputerach w ciągu dnia), trudno odmówić systemowi CopyControl pewnej niezaprzeczalnej zalety, jaką jest możliwość sporządzania w pełni funkcjonalnych wersji demonstracyjnych, a więc "zbytecznych programów, które nie idą na marne". Za jego pomocą możemy np. wysłać klientowi pełnowartościowy pakiet naszego autorstwa, bez jakichkolwiek obaw. Będzie on mógł się bliżej zapoznać z jego właściwościami w warunkach "bojowych", a jedyne ograniczenie stanowić może fakt, iż np. tak spreparowany program przestanie działać po zdefiniowanej przez nas liczbie uruchomień.

W dodatku jeśli dojdzie do transakcji, łatwo możemy "odblokować" takie demo, posługując się wyłącznie telefonem i stanowiącymi część CopyControl programami narzędziowymi lub przedłużyć okres próbny itd. Odbywa się to w bardzo prosty sposób - użytkownik uruchamia jeden z programów narzędziowych, który został umieszczony na jego dyskietce, podaje nam odczytane z ekranu informacje, a my posługując się innym programem wchodzącym w skład systemu CopyControl przekazujemy mu kolejny, unikalny kod, zmieniający właściwości zabezpieczenia.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200