DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu

Do tej pory klucze sprzętowe są jednym z najbardziej niezawodnych sposobów ochrony informacji zawartych w komputerze. Są używane w większości różne pola: do bezpiecznego przechowywania haseł, identyfikacji użytkownika, ochrony oprogramowanie przed piratami itp. Tymczasem same klucze również wymagają poważnej ochrony.

Faktem jest, że napastnicy bardzo często próbują uzyskać dostęp do programu lub tajnych informacji, włamując się do urządzenia zabezpieczającego. Przyjrzyjmy się, jak programiści kluczy sprzętowych chronią swoje produkty przed hakerami. Weźmy na przykład technologię Stealth. Został stworzony przez Aktiv dla swoich kluczy Guardant zaprojektowanych do ochrony oprogramowania przed piratami.

Kody dostępu do klucza elektronicznego

Jednym ze sposobów ochrony klucza zgodnie z technologią Stealth są kody dostępu. Są to sekwencje 32 bitów, które są „wszyte” w urządzenie i nie są dostępne do odczytu i modyfikacji. Istnieją dwa rodzaje kodów – ogólne i osobiste. Pierwszy z nich nie jest tajny, służy jedynie do identyfikacji kluczy konkretnego użytkownika bezpieczeństwa.

Technologia Stealth zapewnia istnienie trzech różnych kodów osobistych. Kod Private Read umożliwia sprawdzenie obecności klucza podłączonego do komputera, odczytanie zawartości jego pamięci oraz uzyskanie odpowiedzi od algorytmów sprzętowych. Bez znajomości kodu Private Write niemożliwe jest zapisywanie danych na urządzeniu. Cóż, otwiera się prywatny kod Master pełny dostęp do wszystkich operacji za pomocą klawisza. Każdy z tych kodów musi być utrzymywany w tajemnicy, ponieważ po ich otrzymaniu napastnik będzie mógł wykorzystać urządzenie do własnych celów.

„Cóż, dlaczego musiałeś wymyślić trzy kody zamiast jednego?” - na pewno zapyta wielu czytelników. Odpowiedź na to pytanie jest bardzo prosta: w ten sposób znacznie zwiększa się bezpieczeństwo. W końcu do pracy z kluczem konieczne jest, aby aplikacja „znała” kod dostępu do niego. To znaczy okazuje się, że to poufna informacja jest nadal gdzieś przechowywany.

I jest teoretycznie możliwe, że haker, po uzyskaniu dostępu do komputera, będzie mógł go znaleźć. Chociaż w prawdziwym życiu nie jest to takie łatwe do wdrożenia. Tak więc większość aplikacji ma uprawnienia tylko do odczytu danych z klucza sprzętowego, a także do korzystania z jego algorytmów sprzętowych. Tak więc, jeśli haker zdoła włamać się do chronionej aplikacji, otrzyma tylko kod do prywatnego odczytu. Nie będzie w stanie nadpisać pamięci klucza.

Zakazy sprzętowe

Klucze wykonane w technologii Stealth, podobnie jak wiele innych urządzeń zabezpieczających, mają własną pamięć nieulotną. Jego treść jest bardzo ważna. W końcu, jeśli haker zdobędzie dane przechowywane w pamięci klucza sprzętowego, może za ich pomocą uzyskać nieautoryzowany dostęp do danych, zhakować chronioną aplikację, stworzyć emulator urządzenia itp. Zgadzam się, to wszystko jest bardzo nieprzyjemne.

Technologia Stealth pozwala całkowicie rozwiązać rozważany problem. W tym celu w pamięci klucza tworzony jest specjalny obszar chroniony ze sprzętowymi zakazami odczytu i zapisu jego zawartości. Tym samym niemożliwe jest odczytanie informacji znajdujących się w takiej strefie za pomocą jakichkolwiek narzędzia programowe: urządzenie po prostu nie zareaguje na żadne podobna prośba. Co więcej, hakerzy mogą nawet nie próbować tworzyć nowych narzędzi do ominięcia nałożonych ograniczeń. Mimo to poziom sprzętu znajduje się „pod” oprogramowaniem, więc nie można ominąć zakazów za pomocą jakichkolwiek narzędzi.

Początkowo ograniczenia sprzętowe nakładane są tylko na obszar pamięci nieulotnej, która zawiera deskryptory algorytmów oprogramowania. To jest bardzo ważne. Deskryptory są podstawą transformacji danych, więc brak możliwości ich odczytania jest gwarancją, że algorytmy sprzętowe klucza sprzętowego nie zostaną zduplikowane w emulatorze. Dodatkowo użytkownik, korzystając ze specjalnych narzędzi programowych zawartych w pakiecie dostawy, może tworzyć chronione obszary w pamięci dostępnego mu klucza elektronicznego. W przyszłości można je zmieniać (zmniejszać lub zwiększać dostępną objętość). Ponadto użytkownik może również usuwać obszary pamięci ze sprzętowymi zakazami odczytu i zapisu informacji.

"Ale poczekaj! niektórzy czytelnicy będą teraz wykrzykiwać. „Skoro użytkownik może usunąć zakaz pracy z pamięcią, dlaczego haker nie miałby zrobić tego samego?” I rzeczywiście. Ponieważ właściciel klucza może łatwo usunąć chronione obszary za pomocą specjalnego narzędzia, oznacza to, że haker będzie mógł korzystać z tego samego oprogramowania. Dopiero wtedy pojawia się kolejne pytanie: „Dlaczego to robisz?”

Okazuje się, że gdy ktoś usunie ograniczenia sprzętowe z chronionego obszaru pamięci, wszystkie informacje, które się w nim znajdowały, zostają zniszczone. Co więcej, jest zniszczony na zawsze i nie można go przywrócić. Właściciel klucza wie, co dokładnie znajdowało się na odludziu, więc po zdjęciu blokady sprzętowej może łatwo przywrócić dane. Cóż, haker dostanie absolutnie czystą pamięć, w której będzie mógł wszystko zapisać.

Ale nie ma z tego korzyści dla atakującego – potrzebował informacji, ale okazuje się, że została zniszczona. W ten sposób zakazy sprzętowe odczytu i zapisu niektórych obszarów pamięci niezawodnie chronią tajne dane niezbędne do ochrony budynku. A nawet jeśli atakujący przejmie Twój klucz, nadal nie będzie w stanie uzyskać wszystkich zawartych w nim informacji.

Tak więc, drodzy czytelnicy, podsumujmy. Klucze sprzętowe wykonane w technologii Stealth są dość niezawodnie chronione przed intruzem. Przynajmniej nie będzie mógł uzyskać dostępu ważna informacja za pomocą specjalnego oprogramowania. To prawda, że ​​potrzebna jest również ochrona przed urządzeniami sprzętowymi, za pomocą których hakerzy mogą uzyskać dostęp do pamięci klucza sprzętowego. Ale to, jak mówią, to zupełnie inna historia.

Jak chronić klucz publiczny z substytucji

W środowisku kryptosystemu klucza publicznego nie trzeba chronić kluczy publicznych przed złamaniem. Wręcz przeciwnie, znacznie lepiej jest, gdy są szeroko rozpowszechnione. Ale bardzo ważne jest, aby chronić je przed fałszerstwem, aby zawsze mieć pewność, że określony klucz publiczny naprawdę należy do osoby, której imię i nazwisko jest wskazane w informacjach o certyfikacie. To jest najbardziej słabość kryptosystemy klucza publicznego i to jest ich główna luka. Najpierw wyobraźmy sobie potencjalny incydent, a potem zastanówmy się, jak temu zapobiec.

Załóżmy, że musisz wysłać tajną wiadomość do Alicji. Pobierasz jego certyfikat i klucz publiczny z serwera depozytowego, a następnie szyfrujesz list tym kluczem i wysyłasz go e-mailem.

Na nieszczęście dla ciebie i Alice, napastnik Mallory'ego wygenerował własną parę kluczy z tożsamością Alice w certyfikacie (imię i nazwisko, adres e-mail), włamał się na serwer i po cichu zastąpił prawdziwy klucz publiczny Alice swoim fałszywym. Niczego nie podejrzewając, użyłeś fałszywego klucza Mallory zamiast klucza publicznego Alice, ponieważ wszystko wyglądało całkiem wiarygodnie, ponieważ informacje identyfikacyjne Alice znajdowały się na fałszywym kluczu. Teraz Mallory może przechwycić i odszyfrować wiadomość przeznaczoną dla Alice, ponieważ ma odpowiedni klucz prywatny. Może nawet ponownie zaszyfrować list prawdziwym kluczem Alice i wysłać go do miejsca przeznaczenia, aby nikt nie zauważył niczego podejrzanego. Co więcej, może używać własnego klucza prywatnego do podpisywania podpisów rzekomo należących do Alicji, ponieważ każdy użyje swojego fikcyjnego klucza publicznego do ich weryfikacji.

Jedynym sposobem na uniknięcie tego rodzaju problemów jest unikanie oszustw za pomocą kluczy publicznych. Nie jest to trudne, jeśli otrzymałeś klucz publiczny Alicji bezpośrednio od niej osobiście, ale może być dość problematyczne, jeśli jest ona oddalona o tysiące mil lub po prostu ten moment niedostępne.

Prawdopodobnie możesz zdobyć klucz Alicji od swojego wspólnego przyjaciela Davida, który ma oryginalną kopię jej klucza publicznego. David może podpisać klucz publiczny Alicji swoim własnym kluczem prywatnym, gwarantując w ten sposób jego ważność.

Tak więc David poświadczy certyfikat klucza, co wskaże, że klucz Alicji nie został naruszony. Jednak weryfikacja podpisu osoby podpisującej na certyfikacie wymaga posiadania oryginalnej kopii klucza publicznego Davida. Jest prawdopodobne, że David będzie w stanie dostarczyć Alice również bezpieczną kopię twojego klucza. W ten sposób stanie się zaufanym pośrednikiem-gwarantem między tobą a Alicją.

Ten podpisany certyfikat klucza publicznego Alicji może zostać przesłany przez Alicję lub Davida na serwer depozytowy, abyś mógł go pobrać w dowolnym momencie. Po pobraniu certyfikatu weryfikujesz podpis kluczem publicznym Davida i masz pewność, że jest to w rzeczywistości autentyczny klucz publiczny Alicji. Żaden oszust nie może cię oszukać, podając swój fałszywy klucz jako Alice, ponieważ nikt nie może sfałszować podpisu Davida, który poświadcza ten klucz.

Znana i szanowana osoba może nawet specjalizować się w pośrednictwie i reprezentowaniu różnych użytkowników poprzez podpisywanie ich certyfikatów klucza publicznego. Tę zaufaną osobę można nazwać urzędem certyfikacji. Certyfikat cyfrowy dowolnego klucza publicznego zawierający podpis tego urzędu certyfikacji może być a priori uważany za autentyczny i faktycznie należący do użytkownika, którego tożsamość jest wskazana w informacji o certyfikacie. Każdy użytkownik, który chce uczestniczyć w takiej sieci zaufania, będzie potrzebował jedynie ważnej kopii klucza publicznego urzędu certyfikacji, aby zweryfikować podpisy. W niektórych przypadkach urząd certyfikacji może również działać jako serwer depozytowy, umożliwiając użytkownikom sieci żądanie od niego kluczy publicznych; ale nie ma potrzeby, aby serwer powierniczy notarialnie poświadczał klucze.

Zaufany scentralizowany urząd certyfikacji jest szczególnie odpowiedni w dużych instytucjach korporacyjnych i rządowych z jednym systemem zarządzania. Niektóre organizacje używają hierarchii CA.

W bardziej zdecentralizowanym środowisku możliwość działania wszystkich użytkowników w roli przedstawicieli i zaufanych gwarantów ich przyjaciół i współpracowników byłaby lepsza niż scentralizowane źródło certyfikacji kluczy.

Jedną z atrakcyjnych cech PGP jest to, że jest on wdrażany równie skutecznie w scentralizowanym środowisku z urzędem certyfikacji, jak i w bardziej zdecentralizowanym, w którym użytkownicy niezależnie wymieniają swoje klucze osobiste.

Najtrudniejszym problemem jest zestaw środków zabezpieczających klucze publiczne przed fałszerstwem praktyczne wdrożenia kryptosystemy klucza publicznego. Jest to „pięta achillesowa” całej kryptografii asymetrycznej, a przede wszystkim mechanizmy PGP są związane z rozwiązaniem tego głównego problemu.

Nie używaj czyjegoś klucza publicznego, dopóki nie masz całkowitej pewności, że nie jest to fałszywy, ale prawdziwy klucz osoby, której tożsamość jest wskazana w szczegółach certyfikatu. Możesz być pewien autentyczności klucza, jeśli otrzymałeś go bezpośrednio od właściciela na osobistym spotkaniu lub jeśli jego certyfikat jest podpisany przez zaufaną osobę, pod warunkiem posiadania wiarygodnej kopii klucza gwaranta. Ponadto szczegóły certyfikatu muszą odzwierciedlać zarówno imię, jak i nazwisko użytkownika, a nie tylko imię użytkownika.

Choć masz doświadczenie, pamiętaj, aby podjąć środki ostrożności i nie polegać na autentyczności klucza publicznego pobranego z serwera depozytowego lub witryny internetowej, chyba że jest on certyfikowany przez zaufaną osobę. Taki niecertyfikowany klucz publiczny mógłby zostać sfałszowany lub zastąpiony przez kogokolwiek, a może nawet Administrator systemu serwer lub strona internetowa.

Jeśli zostaniesz poproszony o podpisanie czyjegoś klucza, najpierw upewnij się, że rzeczywiście należy on do osoby wymienionej w tożsamości certyfikatu, ponieważ podpis na certyfikacie klucza publicznego jest twoją gwarancją, że jest on autentyczny i należy do tej osoby. Każdy, kto Ci ufa, zaakceptuje ten klucz publiczny jako godny zaufania, ponieważ nosi Twój podpis poświadczający. Nie polegaj na domysłach i opiniach innych osób: podpisuj klucz publiczny tylko wtedy, gdy jesteś osobiście i bezpośrednio przekonany, że należy on do zadeklarowanego właściciela. Lepiej jest podpisywać tylko te klucze, które zostały uzyskane bezpośrednio od ich prawdziwych właścicieli.

Aby podpisać certyfikat klucza, musisz być znacznie bardziej pewny jego autentyczności niż go podpisywać. użytek własny do szyfrowania wiadomości. Do uwierzytelnienia klucza wyłącznie do użytku osobistego wystarczy podpis zaufanego poręczyciela. Aby jednak samodzielnie podpisać klucz, potrzebne jest własne niezależne i natychmiastowe przekonanie, kim naprawdę jest właściciel tego klucza. Być może powinieneś zadzwonić do właściciela (upewnij się, że rozmawiasz z właściwą osobą) i poprosić go o odczytanie odcisków palców klucza, aby upewnić się, że posiadany klucz jest dokładną kopią oryginału.

Pamiętaj: Twój podpis na certyfikacie klucza nie gwarantuje zaufania właściciel; gwarantuje tylko niezawodność (autentyczność) tego klucz publiczny. Nie ryzykujesz swojej reputacji podpisując klucz socjopaty, jeśli jesteś całkowicie przekonany, że klucz naprawdę należy do niego. Inni ludzie uwierzą, że klucz jest autentyczny, ponieważ jest podpisany przez ciebie (zakładając, że ci ufają), ale nie przez osobę, która jest jego właścicielem. Zaufanie do integralności klucza i zaufanie do jego właściciela to nie to samo.

Przydatne jest przechowywanie klucza publicznego wraz z zestawem podpisów uwierzytelniających od wielu sponsorów, w nadziei, że większość ludzi zaufa podpisowi certyfikacyjnemu przynajmniej jednego z nich. Klucz z kompletem podpisów możesz umieścić w różnych depozytariuszach. Jeśli podpiszesz klucz publiczny innej osoby, zwróć jego kopię ze swoim podpisem właścicielowi; dzięki temu będziesz mógł występować jako jego przedstawiciel.

Upewnij się, że nikt nie może zmienić twojego własnego pliku kluczy publicznych. Weryfikacja podpisów na certyfikacie nowego klucza zależy wyłącznie od integralności zaufanych kluczy publicznych znajdujących się już w pęku kluczy. Utrzymuj więzadło pod fizyczną kontrolą; pożądane jest przechowywanie go, a także klucza prywatnego, na własnym komputerze osobistym, a nie w systemie wielodostępnym z bezpłatnym dostępem lub na komputerze serwisowym; jest to konieczne, aby chronić pakiet przed fałszerstwem, a nie przed kompromisami. Bądź na bieżąco i niezawodnie utworzyć kopię zapasową kilka kluczy publicznych i prywatnych na chronionym przed zapisem media zewnętrzne np. na płycie CD.

Ponieważ twój własny klucz publiczny jest ostatnim źródłem bezpośredniego lub pośredniego uwierzytelnienia wszystkich innych kluczy w pierścieniu, to właśnie klucz jest najważniejszy dla ochrony przed fałszerstwem. Będzie lepiej, jeśli wykonasz jego kopię zapasową i umieścisz ją na niezawodnym nośniku.

PGP w swojej logice zakłada, że ​​przechowujesz swoje klucze, sam PGP i system jako całość w całkowitym fizycznym bezpieczeństwie. Jeśli atakujący uzyska dostęp do komputera, to teoretycznie może zmienić program, czyniąc wszystkie jego mechanizmy wykrywania nieprawidłowych kluczy nieskutecznymi.

Nieco bardziej skomplikowanym sposobem ochrony całej paczki kluczy publicznych przed fałszerstwem jest podpisanie ich pliku kluczem prywatnym. Możesz to zrobić, tworząc zdejmowany podpis(odłączony podpis) i regularnie go sprawdzać.

Z książki Applied Free Software and Systems in School autor Ostavnov Maxim

Z książki Wolne oprogramowanie i systemy w szkole autor Ostavnov Maxim

Rozdział 4. „Otwarte biuro” Chociaż programy „biurowe” wraz z rozpowszechnianiem się sieci i programów komunikacyjnych przestały być głównym zastosowaniem komputerów osobistych, nadal są dość popularne, a w programach nauczania poświęca się im znaczącą (być może nawet

Z Przewodnika użytkownika Fedory 8 autor

6.1.1. Otwarte biuro: co to jest? Nie jest tajemnicą, że główne apartament biurowy na świecie jest MS Office. Tak, nie wszystkie istniejące komputery działają pod Kontrola systemu Windows, ale nikt nie będzie twierdził, że większość komputerów biurowych i domowych * używa dokładnie

Z książki Internet Intelligence [Przewodnik po działaniach] autor Juszczuk Jewgienij Leonidowicz

Jak chronić komputer przed włamaniami? środki techniczne Muszę powiedzieć, że sami hakerzy przyznają, że hakowanie środkami technicznymi jest często trudne. Wynika to z faktu, że producenci oprogramowania i sprzętu stale monitorują

autor Raymond Eric Steven

Z książki Computerra Digital Magazine nr 86 autor Magazyn Computerra

Z książki The Art of Unix Programming autor Raymond Eric Steven

DLP: jak chronić tajemnice przed wyciekiem Viktor Ivanovsky Opublikowano 15 września 2011 r. „Wikipedia” przedstawia nam cztery opcje deszyfrowania, z których dwie – Digital Light Processing i Disneyland Paris – odrzucamy ze względu na elementarną logikę, a dwie pozostałe - Zapobieganie utracie danych i

Z książki PGP: Encoding and Encrypting Public Key Information. autor Levin Maxim

16.7.1. Co definiuje się jako otwarte? źródło Licencja może ograniczać lub warunkować dowolne z następujących praw: prawo do kopiowania i powielania, prawo do używania, prawo do modyfikacji na użytek osobisty oraz prawo do powielania

Z książki komputer domowy autor Kravtsov Roman

19.1. Unix i Open Source Programowanie Open Source wykorzystuje fakt, że wymyślanie i naprawianie błędów, w przeciwieństwie do np. implementacji określonego algorytmu, jest zadaniem, które można podzielić na kilka równoległych zadań.

Z książki Linux oczami hakera autor Flenov Michaił Jewgienijewicz

Jak chronić tajne klucze przed ujawnieniem. Ostrożnie chroń swój klucz prywatny i hasło. Naprawdę dokładny. Jeśli zdarzy się, że Twój klucz prywatny zostanie naruszony, natychmiast powiadom o tym wszystkie zainteresowane strony, zanim Twój

Z książki Computerra Digital Magazine nr 217 autor Magazyn Computerra

Jak chronić swój komputer w Internecie Zawsze wydawało mi się prawie niewiarygodne, że ktoś mógł włamać się do mojego komputera, gdy byłem w Internecie! Po pierwsze, kto tego potrzebuje, a po drugie, aby to zrobić, musisz mieć dość wysokie kwalifikacje. I po trzecie,

Z książki Anonimowość i bezpieczeństwo w Internecie. Od „czajnika” do użytkownika autor Kolisnichenko Denis Nikołajewicz

1.3. Open source – czy to bezpieczne? Istnieje opinia, że ​​programy typu open source są bardziej niezawodne i bezpieczniejsze niż programy komercyjne.Zwolennicy tego stwierdzenia uważają, że wiele osób bada taki system. różne sposoby i tym samym ujawnić wszystko, co możliwe

Z książki Komputer biurowy dla kobiet autor Pasternak Evgeniya

Jak chronić przeglądarkę przed niepożądanymi zmianami ustawień Oleg Nechay Opublikowano 21 marca 2014 r. Utrata zwykłych ustawień przeglądarki jest tak prosta, jak łuskanie gruszek: wystarczy wejść na jakąś niehonorową stronę lub pobrać Darmowa aplikacja,

Z książki Notatnik [tajemnice efektywnego wykorzystania] autor Władimir Ptaszyński

Rozdział 9 dobre hasło. Jak chronić swoją stronę sieć społeczna przed kradzieżą? 9.1. Wybór dobrego hasła Wielu użytkowników używa haseł takich jak 1, 1234, qwerty, a potem zastanawia się, dlaczego skrzynka pocztowa lub strona w sieci społecznościowej została zhakowana. Odpowiedź jest prosta - dla niej

Z książki autora

Chroń Ta funkcja jest przeznaczona dla tych, którzy nie chcą, aby ich tekst był zmieniany. Jeśli klikniesz przycisk Chroń dokument i wybierzesz polecenie Ogranicz formatowanie i edycję, pojawi się dodatkowy panel (rys. 1.115).Jak widać na rysunku, możesz

Z książki autora

Jak chronić laptopa Laptop to produkt trwały. Niemniej jednak istnieje wiele sytuacji w świecie zewnętrznym, które mogą zniszczyć laptopa.Może to wydawać się dziwne, ale większość laptopów umiera w bardzo trywialnych okolicznościach. Nic

Szybki rozwój Technologie informacyjne wiąże się z wykorzystaniem dużej ilości informacji z różnych dziedzin ludzkiej działalności.

Pomimo udoskonalania metod ochrony informacji, cyberprzestępcy nieustannie wymyślają nowe sposoby zdobywania nieautoryzowany dostęp do danych innych osób.

Aby zminimalizować prawdopodobieństwo ich zagrożenia i chronić poufne dane, szeroko stosowana jest sprzętowa ochrona informacji.

Przewiduje wykorzystanie różnego rodzaju urządzeń i urządzeń, które będą blokować nieautoryzowany dostęp cyberintruzom.

Ochrona oprogramowania

Ważnym aspektem bezpieczeństwa informacji jest zestaw procedur zapewniających ochronę oprogramowania używanego przez konkretną firmę, przedsiębiorstwo lub użytkowników prywatnych.

Ochrona oprogramowania przewiduje wykluczenie jego nielegalnego użytkowania, modyfikacji kodu źródłowego, tworzenia kopii, nielegalnej dystrybucji.

Aby chronić oprogramowanie przed tymi zagrożeniami, szeroko stosowane są takie narzędzia, jak elektroniczne klucze dostępu i karty inteligentne.

Klucze elektroniczne

Klucz elektroniczny to specjalne urządzenie, które zawiera dane licencyjne, które umożliwia pełne korzystanie z oprogramowania.

Bez otrzymania tych danych program nie będzie działał lub będzie działał z ograniczoną funkcjonalnością.

Klucz elektroniczny przeznaczony jest do podłączenia do jednego z interfejsów komputerowych, przez który odczytywane są wymagane informacje.

Wśród kluczy elektronicznych, które zapewniają sprzętowe metody ochrony informacji, wykorzystywane są urządzenia:

  1. odczytać informacje o rekordzie, aby odblokować program;
  2. z algorytmami kryptograficznymi do szyfrowania/odszyfrowywania licencjonowanych danych;
  3. oparty na mikroprocesorze zdolnym do przetwarzania specjalnych algorytmów programistycznych, które blokują działanie oprogramowania.

Do głównych zalet kluczy elektronicznych należą:

  • możliwość korzystania na dowolnym komputerze z odpowiednim interfejsem;
  • za pomocą tych kluczy można wykonać przekształcenia kryptograficzne;
  • za pomocą kluczy można wykonać dowolny kod zbudowany przez programistę.

Karty inteligentne

Sprzęt ten to specjalne klucze elektroniczne, które niezawodnie chronią oprogramowanie przed piractwem i niewłaściwym użyciem.

Są one wykonane w postaci urządzeń, które mają wbudowany układ scalony, który może implementować dowolny kod informacyjny i przechowywać dowolne informacje.

Aby przechowywać te dane i różne kody, karta inteligentna ma pamięć nieulotną.

Do tej pory ochrona programowa i sprzętowa informacji może być realizowana za pomocą stykowych kart inteligentnych z jednym z interfejsów obsługiwanych przez system komputerowy lub za pomocą urządzeń zbliżeniowych, z których odczyt danych odbywa się za pomocą specjalnego czytnika.

Kluczowe zalety kart inteligentnych to:

  1. wyższy system ochrony danych przed nadużyciem;
  2. możliwość przetwarzania informacji za pomocą wbudowanego chipa i przechowywania ich w pamięci nieulotnej;
  3. obsługa różnych interfejsów i bezstykowej formy odczytu/zapisu danych;
  4. długi okres eksploatacji.

Środki ochronne dla pojedynczego komputera

Aby skutecznie realizować globalne zadanie ochrony oprogramowania używanego przez firmy, ważne jest, aby używać oprogramowania i sprzętu do ochrony informacji poszczególnych komputerów pracowników.

Do realizacji tego zadania szeroko stosowane są sprzętowe karty szyfrujące i narzędzia do niszczenia nośników.

Sprzętowe karty szyfrujące

Tego typu sprzęt zabezpieczający informacje to specjalne urządzenia, które są instalowane w komputerze w celu ochrony przetwarzanych na nim informacji.

Moduły te umożliwiają szyfrowanie danych, które są zapisywane na dysku komputera lub przesyłane do jego portów i dysków w celu późniejszego nagrywania na nośniki zewnętrzne.

Urządzenia charakteryzują się wysoką skutecznością szyfrowania informacji, ale nie posiadają wbudowanej ochrony przed zakłóceniami elektromagnetycznymi.

oprócz standardowe funkcje szyfrowanie, te urządzenia mogą posiadać:

  • wbudowany generator liczb losowych służący do generowania kluczy kryptograficznych;
  • wbudowany zaufany algorytm ładowania, który pozwala kontrolować procedurę logowania do komputera;
  • kontrolowanie integralności plików używanych przez system operacyjny w celu uniemożliwienia ich modyfikacji przez intruzów.

Narzędzia do niszczenia nośników

To kolejna bardzo skuteczna sprzętowa metoda ochrony informacji, która zapobiega dostaniu się ich w ręce intruzów.

Mechanizm działania tych narzędzi polega na natychmiastowym zniszczeniu danych zapisanych na dysku twardym lub dysku SSD w momencie próby ich kradzieży.

Wbudowany moduł do awaryjnego niszczenia plików i informacji z dysków pamięci

Pliki określonego typu lub wszystkie informacje przechowywane na komputerze osobistym, laptopie, dysku flash lub serwerze mogą zostać zniszczone.

Niszczarki mogą być realizowane w postaci pendrive'ów służących do usuwania dokumentów z komputera PC, urządzeń wbudowanych lub zewnętrznych do niszczenia informacji na dyskach twardych / półprzewodnikowych komputera, systemów wolnostojących zainstalowanych w centrach danych i serwerowniach.

Jedyną wadą tych systemów jest to, że dane są całkowicie i nieodwołalnie niszczone.

Dlatego, aby sama firma nie pozostała bez ważnych danych, przy korzystaniu z eksterminatorów konieczne jest zapewnienie systemów Zarezerwuj kopię i archiwizacja danych.

Wniosek

Powyżej rozważono, jakie metody sprzętowe istnieją w celu ochrony informacji przed nieautoryzowanym dostępem, modyfikacją i niewłaściwym wykorzystaniem.

Aby zagwarantować maksymalną ochronę danych, ważne jest stosowanie zestawu środków, które będą chronić informacje na każdym poziomie. środowisko informacyjne, zaczynając od komputer osobisty pracownika a kończąc na centralnym serwerze firmy.

W prawidłowym zbudowaniu systemu ochrony i wyborze najlepszych opcji ochrony sprzętu pomogą wykwalifikowani pracownicy odpowiednich firm specjalizujących się we wdrażaniu i instalacji narzędzi ochrony środowiska informacyjnego.

Wideo: „Film informacyjny”: Ochrona informacji

Kluczowa certyfikacja

Jeśli klucze zostaną w jakiś sposób przeniesione do odległej lokalizacji, należy je sprawdzić przy odbiorze, aby sprawdzić, czy nie zostały naruszone podczas przenoszenia. Można to zrobić ręcznie lub użyć jakiejś formy podpisu cyfrowego.

Klucze publiczne są przeznaczone do publikowania lub udostępniania innym użytkownikom i muszą być certyfikowane jako należące do właściciela pary kluczy. Certyfikacja odbywa się przy pomocy Centralnego Biura Certyfikacji (Urząd Certyfikacji, CA). W takim przypadku CA zapewnia: podpis cyfrowy na kluczu publicznym iz tego powodu urząd certyfikacji ufa, że ​​klucz publiczny należy do właściciela pary kluczy (patrz Rysunek 5).

Ryż. 5. Certyfikacja klucza publicznego w urzędzie certyfikacji

Bez odpowiedniej certyfikacji klucza i jego właściciela osoba atakująca może wstrzyknąć własne klucze, a tym samym obejść ochronę wszystkich przesyłanych i uwierzytelnionych informacji.

Klucze publiczne pary kluczy publicznych nie wymagają ochrony poufności. Wymagają jedynie ochrony integralności za pomocą certyfikatów. Klucz tajny pary kluczy publicznych musi być zawsze utrzymywany w tajemnicy.

Jeśli atakujący otrzyma kopię tajnego klucza, ma możliwość odczytania całego poufnego ruchu kierowanego do właściciela pary kluczy, a także cyfrowego podpisania informacji w roli właściciela pary kluczy. Ochrona tajnego klucza musi obejmować wszystkie jego kopie. Dlatego plik zawierający klucz musi być chroniony, podobnie jak wszelkie nośniki archiwalne, na których można zapisać ten plik. W większości systemów ochrona kluczy jest realizowana za pomocą haseł. Ta ochrona chroni klucze przed przypadkowym szpiegowaniem, ale nie przed wspólnym atakiem ukierunkowanym. Hasło używane do ochrony klucza musi być starannie dobrane, aby odpierać ataki typu brute force. ale w najlepszy możliwy sposób Ochrona klucza to przede wszystkim uniemożliwienie intruzowi dostępu do pliku klucza.

Konieczna jest ochrona wszystkich kluczy systemu za pomocą tajnych kluczy. Jeśli klucz jest zawarty w pliku, plik ten musi być chroniony bez względu na to, gdzie się znajduje (w tym na nośnikach archiwalnych). Jeśli klucz znajduje się w pamięci, należy podjąć kroki w celu ochrony przestrzeni pamięci przed eksploracją przez użytkowników lub procesy. Podobnie w przypadku zrzutu (zrzucanie danych na dysk twardy) jądra, plik jądra musi być chroniony, ponieważ może zawierać klucz.

Andriej Bespalko

Firma "Aktywna"

Ten przegląd poświęcony jest zagadnieniom ochrony oprogramowania przed piractwem, a dokładniej kluczami elektronicznymi - jednym z najczęstszych sposobów ochrony oprogramowania.

Klucze elektroniczne jest właściwie jedynym rozwiązaniem do ochrony oprogramowania, które zapewnia akceptowalny poziom ochrony, a jednocześnie zapewnia najmniej niedogodności dla użytkowników końcowych.

Metody ochrony aplikacji

Wśród oferowanych rozwiązań ochrony replikowanego oprogramowania można wyróżnić kilka głównych grup.

Korzystanie z dyskietek z kluczami i specjalnie powlekanych płyt CD, haseł i numerów rejestracyjnych

Te metody ochrony nie wymagają dużych nakładów finansowych na wdrożenie, ale mają niską odporność na włamania. W związku z tym stosowanie takiej ochrony jest uzasadnione tylko w przypadku oprogramowania o niższej kategoria cenowa. W przypadku takich programów ważna jest popularność i duże nakłady (czasem ze względu na pirackie kopie). Zastosowanie bardziej niezawodnego, ale i drogiego systemu ochrony w tym przypadku nie będzie miało sensu (odniesie nawet negatywny skutek).

Wiązanie z unikalnymi cechami komputera

Odporność na włamanie tego sposobu zabezpieczenia jest znacznie wyższa niż poprzednich, przy niskich kosztach realizacji. Jednak ze względu na specyfikę implementacji mechanizmu ochrony jest on najbardziej niewygodny dla użytkowników końcowych i powoduje liczne reklamacje. Przecież tak zabezpieczonego programu nie można przenieść na inny komputer, pojawiają się trudności z aktualizacjami itp. Stosowanie takiej ochrony jest wskazane w przypadkach, gdy producent ma pewność, że nie odstraszy klientów.

Ostatnim zastosowaniem tej metody jest wbudowana ochrona przed kopiowaniem nowych produktów oprogramowania firmy Microsoft.

Ochrona oprogramowania i sprzętu za pomocą kluczy elektronicznych

Dziś jest to najbardziej niezawodna i wygodna metoda ochrony replikowanego oprogramowania ze średniej i najwyższej kategorii cenowej. Jest wysoce odporny na włamania i nie ogranicza korzystania z legalnej kopii programu. Użycie tej metody jest ekonomicznie uzasadnione w przypadku programów kosztujących powyżej 80-100 dolarów, ponieważ użycie nawet najtańszych kluczy sprzętowych zwiększa koszt oprogramowania o 10-15 dolarów. Dlatego każdy kluczowy producent stara się opracowywać nowe, tańsze modele w celu ochrony tanich produktów o dużej cyrkulacji bez uszczerbku dla ich skuteczności.

Klucze elektroniczne chronią przede wszystkim tzw. oprogramowanie „biznesowe”: programy księgowo-magazynowe, prawne i systemy korporacyjne, kosztorysy budowlane, CAD, katalogi elektroniczne, oprogramowanie analityczne, programy środowiskowe i medyczne itp. Koszty rozwoju takich programów są wysokie, a ich koszt jest odpowiednio wysoki, więc szkody spowodowane piractwem będą znaczne. Tutaj klucze elektroniczne są optymalną ochroną.

Jak widać, przy wyborze środka ochrony deweloper musi kierować się zasadą opłacalności ekonomicznej. Ochrona powinna spełniać swój główny cel - znacznie ograniczyć, a najlepiej zatrzymać, straty spowodowane piractwem, jednocześnie nie zwiększając znacząco kosztów programu, co może niekorzystnie wpłynąć na sprzedaż. Producent jest również zobowiązany do uwzględnienia interesów użytkowników. Idealnie ochrona nie powinna powodować żadnych niedogodności.

Co to jest klucz elektroniczny

Klucz elektroniczny zapobiega nielegalnemu używaniu (wyzyskiwaniu) programu. Często mówi się, że klucz chroni przed kopiowaniem, ale to nie do końca prawda. Chroniony program można skopiować, ale kopia bez klucza nie zadziała. To. kopiowanie po prostu nie ma sensu.

Sam klucz sprzętowy to niewielkie urządzenie, które podłącza się do jednego z portów komputera, zwykle LPT lub USB. Klucz składa się1 z płytki z mikroukładami (elementy pomocnicze, mikrokontroler i pamięć) zamkniętej w plastikowej obudowie. Mikrokontroler zawiera tzw. „matematykę” – zestaw poleceń realizujących określoną funkcję lub funkcje służące do generowania bloków informacji o wymianie kluczy oraz chronionego programu. W przeciwnym razie bloki te nazywane są „pytaniami i odpowiedziami”. Pamięć klucza elektronicznego zawiera informacje o jego charakterystyce, a także dane użytkownika.

Czym są klucze elektroniczne

Klucze elektroniczne są niezwykle zróżnicowane pod względem konstrukcji (wewnętrznej i zewnętrznej), przeznaczenia, wygląd zewnętrzny itp. Można je również sklasyfikować według zgodności z środowiska oprogramowania i typów komputerów, według sposobu podłączenia i stopnia złożoności (funkcjonalności) itp. Jednak opowieść o wszystkich typach kluczy zajęłaby dużo czasu, dlatego warto zastanowić się nad najczęściej stosowanymi rozwiązaniami.

Tak więc klucze sprzętowe są najczęściej używane do ochrony lokalnych i sieciowych aplikacji Windows i DOS. Większość kluczy to urządzenia dla portów równoległych i USB. Są jednak klucze do portu COM lub wykonane w formie karty PCMCIA.

Złożone (wielofunkcyjne) klucze służą do ochrony drogiego oprogramowania, prostsze klucze służą do ochrony tańszych programów.

W zależności od urządzenia klucze elektroniczne dzielą się na

  • Klawisze, które nie mają wbudowanej pamięci. Takie klucze nie zapewniają odpowiedniego stopnia bezpieczeństwa aplikacji. W końcu tylko obecność pamięci oprócz logicznego bloku klucza pozwala zbudować system ochrony o dowolnej złożoności. Pamięć klucza może przechowywać informacje niezbędne do działania programu, listy haseł (w rzeczywistości klucz elektroniczny może służyć jako środek identyfikacji) itp. Pojemność pamięci większości współczesnych kluczy sięga zwykle kilkuset bajtów. Stosowanie kluczy sprzętowych bez wbudowanej pamięci może być uzasadnione jedynie ochroną tanich programów o dużym natężeniu.
  • Klucze zawierające tylko pamięć. Ta klasa kluczy jest przestarzała. Takie klucze nie są już wydawane, ale dość duża ich liczba jest nadal utrzymywana przez użytkowników końcowych oprogramowania.
  • Klawisze na niestandardowym układzie ASIC. Dziś jest to najczęstsza klasa kluczy. Ich funkcjonalność zależy od konkretnego typu układu ASIC. Wadą takich klawiszy jest niejako „kompletność” projektu. Zakres ich właściwości jest ograniczony ramami określonymi podczas tworzenia mikroukładu. Wszystkie klucze tego samego modelu działają według tego samego algorytmu lub algorytmów (tzn. zawierają funkcje tego samego typu). Ta cecha może niekorzystnie wpłynąć na stopień odporności systemu ochrony. W końcu często powtarzany model ochrony ułatwia crackerowi.
  • klucze mikroprocesorowe. Ten typ klawiszy, w przeciwieństwie do poprzedniego, ma znacznie bardziej elastyczne urządzenie. W mikroprocesorowym kontrolerze klucza można „flashować” program, który implementuje funkcje, które są różne dla każdego klienta. W zasadzie każdy klucz mikroprocesorowy można łatwo zaprogramować tak, aby działał zgodnie z własnym, unikalnym algorytmem.

Klucz elektroniczny to sprzętowa część ochrony. Część oprogramowania kompiluje specjalne oprogramowanie do pracy z kluczami. Zawiera narzędzia do programowania kluczy, narzędzia do instalacji ochrony i diagnostyki, kluczowe sterowniki itp.

Ochrona aplikacji za pomocą klucza

Instalacja

Aby zainstalować system bezpieczeństwa, wykonaj następujące czynności:

  • zaprogramować klucz elektroniczny w odpowiedni sposób, tj. wprowadzić do jego pamięci informacje, po których chroniony program zidentyfikuje klucz;
  • "powiąż" program z kluczem, ustawiając automatyczną ochronę i / lub ochronę za pomocą Funkcje API

Programowanie kluczy elektronicznych

Do programowania pamięci klucza używa się głównie specjalnych narzędzi4, za pomocą których odczytywana i nadpisywana jest zawartość pól pamięci, same pola są edytowane, zmieniane lub usuwane, a klucz jest programowany zdalnie. Narzędzia programistyczne są również używane do debugowania schematu ochrony. Za ich pomocą sprawdzają poprawność wykonania funkcji API, tworzą tablice pytań i odpowiedzi klucza itp.

Metody ochrony

Istnieją systemy ochrony instalowane na wykonywalnych modułach programu (zabezpieczenie dołączone lub automatyczne) oraz systemy ochrony wbudowane w kod źródłowy programu (ochrona za pomocą funkcji API).

Automatyczna ochrona

Plik wykonywalny programu jest przetwarzany przez odpowiednie narzędzie zawarte w pakiecie oprogramowania do pracy z kluczami sprzętowymi. Zwykle, tą drogą ochrona jest prawie całkowicie zautomatyzowana, proces instalacji zajmuje tylko kilka minut i nie wymaga specjalnej wiedzy. Następnie program okazuje się „dostrojony” do klucza elektronicznego o określonych parametrach.

Narzędzia automatycznej ochrony zwykle mają wiele funkcji serwisowych, które pozwalają wybrać różne tryby „powiązania” programu z kluczem sprzętowym i zaimplementować dodatkowe funkcje. Na przykład takie jak ochrona przed wirusami, ograniczenie czasu działania i liczby uruchomień programu itp.

Należy jednak pamiętać, że ta metoda nie może zapewnić wystarczającej niezawodności. Ponieważ automatyczny moduł ochrony jest dołączony do gotowego programu, jest prawdopodobne, że doświadczony haker będzie w stanie znaleźć „punkt połączenia” i „odpiąć” taką ochronę. Dobra użyteczność automatyczna ochrona powinna mieć opcje utrudniające debugowanie i dezasemblację chronionego programu.

Ochrona za pomocą funkcji API

Ta metoda ochrony opiera się na wykorzystaniu funkcji API5 zgromadzonych w modułach obiektowych. Funkcje API pozwalają na wykonywanie dowolnych operacji na kluczu (wyszukiwanie klucza o określonej charakterystyce, odczytywanie i zapisywanie danych, liczenie sumy kontrolne, transformacja informacji itp.). Pozwala to na tworzenie niestandardowych schematów ochrony odpowiednich na każdą okazję. Generalnie można powiedzieć, że możliwości ochrony API są ograniczone jedynie bogactwem wyobraźni dewelopera.

Biblioteki funkcji specjalnych API i przykłady ich użycia, napisane w języku różne języki programowanie, musi być zawarte w pakiecie oprogramowania do pracy z kluczami.

Aby zainstalować ochronę, musisz napisać wywołania niezbędnych funkcji API, wstawić je do kodu źródłowego programu i skompilować je za pomocą modułów obiektowych. W rezultacie ochrona zostanie osadzona głęboko w ciele programu. Wykorzystanie funkcji API zapewnia znacznie wyższy stopień bezpieczeństwa niż ochrona automatyczna.

Niemal jedyną „wadą” tej metody ochrony, według niektórych producentów oprogramowania, jest dodatkowy koszt szkolenia personelu do pracy z funkcjami API. Jednak bez użycia API nie można liczyć na akceptowalną odporność systemu ochrony. Dlatego, aby ułatwić życie programistom, producenci systemów ochrony pracują nad programami, które upraszczają instalację ochrony API.

Praca

Ogólnie rzecz biorąc, dzieło ochrony można przedstawić w następujący sposób:

·
  • Po uruchomieniu i podczas pracy chroniony program przesyła informacje do klucza sprzętowego, tzw. „pytanie”.
  • Klucz elektroniczny przetwarza je i zwraca z powrotem - „odpowiedzi”.
  • Program identyfikuje klucz na podstawie zwróconych danych. Jeśli ma prawidłowe parametry, program kontynuuje działanie. Jeśli kluczowe parametry nie pasują lub nie jest podłączony, program przestaje działać lub przechodzi w tryb demo.

Ochrona przed hakowaniem

Konfrontacja między twórcami systemów bezpieczeństwa a crackerami (hakerami lub crackerami) to wyścig zbrojeń. Ciągłe doskonalenie środków i metod hakowania zmusza twórców zabezpieczeń do ciągłego aktualizowania lub wymyślania nowych środków i metod ochrony, aby być o krok do przodu. W końcu schemat, który obowiązywał wczoraj, dziś może być nieodpowiedni.

Wykonanie sprzętowej kopii klucza

Metoda ta polega na odczytaniu zawartości chipu pamięci klucza przez specjalne oprogramowanie i sprzęt. Następnie dane są przesyłane do chipa innego klucza („pusty”). Metoda ta jest dość pracochłonna i może być stosowana, jeśli pamięć klucza nie jest zabezpieczona przed odczytem informacji (co było typowe dla kluczy zawierających tylko pamięć). Ponadto utworzenie sprzętowej kopii klucza nie rozwiązuje problemu replikacji programu, ponieważ nadal pozostaje on „podłączony”, a jedynie do innego klucza.

Z tych powodów produkcja sprzętowych kopii kluczy nie jest powszechnie stosowana.

Wykonanie emulatora (kopii oprogramowania) klucza

Najczęstsze i skuteczna metoda hacking polegający na stworzeniu modułu oprogramowania (w postaci sterownika, biblioteki lub programu rezydentnego) odtwarzającego (emulującego) działanie klucza elektronicznego. Dzięki temu chroniony program nie potrzebuje już klucza.

Emulatory mogą odtwarzać działanie klawiszy określonego modelu, klawiszy dostarczonych z jakimś programem lub jednego konkretnego klawisza.

Według organizacji można je podzielić na emulatory struktury i emulatory odpowiedzi. Te pierwsze szczegółowo odtwarzają strukturę klucza (zazwyczaj są to uniwersalne emulatory), drugie działają na podstawie tabeli pytań i odpowiedzi dla konkretnego klucza.

W najprostszym przypadku, aby stworzyć emulator, haker musi znaleźć wszystkie możliwe poprawne pytania do klucza i dopasować do nich odpowiedzi, czyli uzyskać wszystkie informacje wymieniane między kluczem a programem.

Nowoczesne klawisze posiadam cały zestaw narzędzi, które zapobiegają emulacji. Przede wszystkim są to różne opcje komplikowania protokołu wymiany kluczy i chronionego programu, a także kodowania przesyłanych danych.

Stosowane są następujące główne typy protokołów bezpiecznej wymiany lub ich kombinacje:

·
  • protokół pływający - "śmieci" przesyłane są wraz z danymi rzeczywistymi, a z biegiem czasu kolejność naprzemienna oraz charakter danych rzeczywistych i niepotrzebnych zmieniają się chaotycznie
  • protokół szyfrowany - wszystkie przesyłane dane są szyfrowane
  • z automatyczną weryfikacją - każdej operacji zapisu do pamięci klucza towarzyszy automatyczne sprawdzenie poprawności danych

Dodatkową komplikację protokołu wymiany uzyskuje się poprzez zwiększenie ilości przesyłanych informacji oraz liczby pytań do klucza. Nowoczesne klucze mają wystarczająco dużo pamięci, aby obsłużyć duże ilości danych. Na przykład klucz z pamięcią 256 bajtów może przetwarzać do 200 bajtów informacji w jednej sesji. Ułożenie tabeli pytań do takiego klucza wydaje się dziś bardzo pracochłonnym zadaniem.

Komora automatycznego modułu ochronnego

Jak wspomniano wcześniej, automatyczna ochrona nie ma wystarczającego stopnia odporności, ponieważ nie tworzy jednej całości z chronionym programem. W rezultacie „ochronę koperty” można przy pewnym wysiłku usunąć. Hakerzy wykorzystują w tym celu szereg narzędzi: specjalne programy do automatycznego łamania, debugery i deasemblery. Jednym ze sposobów obejścia ochrony jest określenie punktu, w którym kończy się „obwiednia” ochrony, a kontrola jest przekazywana do chronionego programu. Następnie przymusowo zapisz program w niezabezpieczonej formie.

Jednak w arsenale producentów systemów ochronnych istnieje kilka sztuczek, które pozwalają maksymalnie utrudnić proces usuwania ochrony. Dobre narzędzie automatycznej ochrony z pewnością będzie zawierało opcje, które zapewniają

·
  • przeciwdziałanie automatycznym programom hakerskim,
  • przeciwdziałanie debuggerom i deasemblerom (blokowanie standardowych narzędzi debugowania, dynamiczne kodowanie modułu zabezpieczającego, obliczanie sum kontrolnych sekcji kodu programu, technologia „crazy code” itp.),
  • kodowanie chronionego korpusu i nakładek programu za pomocą algorytmów (funkcji) konwersji.

Usuwanie wywołań funkcji API

Aby usunąć wywołania funkcji API z kodu źródłowego programu, hakerzy używają debugerów i deasemblerów, aby znaleźć miejsce pochodzenia wywołań lub punkty wejścia funkcji i odpowiednio załatać kod. Jednak przy odpowiedniej organizacji ochrony API metoda ta staje się bardzo pracochłonna. Ponadto cracker nigdy nie może być całkowicie pewien, że poprawnie i całkowicie usunął ochronę, a program będzie działał bezawaryjnie.

Istnieje kilka skutecznych sposobów przeciwdziałania próbom usunięcia lub obejścia wywołań API:

·
  • użycie „szalony kod”: podczas tworzenia funkcji API ich polecenia są mieszane z „śmieciami” – niepotrzebnymi poleceniami, tj. kod jest bardzo głośny, co utrudnia badanie logiki funkcji
  • używanie wielu punktów wejścia API: przy dobrej ochronie API każda funkcja ma swój własny punkt wejścia. Aby całkowicie zneutralizować ochronę, atakujący musi znaleźć wszystkie punkty

Hart

Ochrona oprogramowania i sprzętu zapewnia osobie, która ją wdraża, wystarczająco dużą swobodę działania. Nawet przy automatycznej ochronie możesz wybierać spośród dostępnych opcji i odpowiednio definiować właściwości chronionego programu. A korzystając z funkcji API, możesz wdrożyć dowolny, nawet najbardziej wyrafinowany model ochrony. To. Nie ma jednego i szczegółowego schematu ochrony budynku. Istnieje jednak wiele sposobów na zwiększenie wytrzymałości obrony (poniżej wymieniono tylko kilka).

Łączenie ochrony automatycznej i API

Jak wspomniano powyżej, każdy z tych rodzajów ochrony ma swoją własną wąskie miejsca. Ale razem doskonale się uzupełniają i stanowią barierę nie do pokonania nawet dla doświadczonego włamywacza. Jednocześnie automatyczna ochrona pełni rolę pewnego rodzaju powłoki, zewnętrznej granicy, a ochrona API jest rdzeniem.

Ochrona API

Zaleca się korzystanie z kilku funkcji w ochronie API. Ich wezwania muszą być rozprowadzane po kodzie aplikacji i mieszane zmienne funkcji ze zmiennymi aplikacji. W ten sposób ochrona API jest głęboko zakorzeniona w programie, a cracker będzie musiał ciężko pracować, aby określić i wybrać wszystkie funkcje ochrony.

Użycie algorytmów (lub funkcji) do transformacji danych jest obowiązkowe. Zakodowanie informacji sprawia, że ​​usuwanie wywołań funkcji API nie ma sensu, ponieważ dane nie zostaną zdekodowane.

Skutecznym sposobem na skomplikowanie logiki bezpieczeństwa jest opóźnienie reakcji programu na kody powrotu funkcji API. W takim przypadku program decyduje o dalszej pracy po pewnym czasie od otrzymania kodów zwrotnych. Co zmusza crackera do śledzenia złożonych relacji przyczynowo-skutkowych i badania zbyt dużych fragmentów kodu w debugerze.

Automatyczna ochrona

Przy automatycznej ochronie konieczne jest włączenie opcji ochrony przed debugowaniem i deasemblacją narzędzi, opcji kodowania i sprawdzania kluczy w czasie. Przydatne jest również korzystanie z ochrony przed wirusami. Jednocześnie sprawdzane jest CRC sekcji kodu, co oznacza, że ​​plik jest również chroniony przed modyfikacją.

Aktualizacja ochrony

Po wdrożeniu systemu ochrony ważne jest, aby nie zapomnieć o terminowej aktualizacji oprogramowania do pracy z kluczami. Każde nowe wydanie oznacza naprawione błędy, zamknięte „dziury” i nowe funkcje bezpieczeństwa. Niezbędne jest również stałe monitorowanie sytuacji na rynku systemów zabezpieczeń i w razie potrzeby natychmiastowa zmiana systemu zabezpieczeń na bardziej progresywny i niezawodny.

Możliwości klucza elektronicznego

Oczywiście przede wszystkim klucz jest przeznaczony do ochrony programów. Jednak potencjał nowoczesnej ochrony oprogramowania i sprzętu jest tak duży, że pozwala na wykorzystanie kluczy elektronicznych do realizacji strategii marketingowej i optymalizacji sprzedaży. Oto kilka opcji takiego „niewłaściwego” użycia.

Prezentacje

Korzystając z kluczy sprzętowych, możesz łatwo tworzyć wersje demonstracyjne oprogramowania bez konieczności pisania wersja demo programy. Możesz swobodnie rozpowszechniać kopie, blokując lub ograniczając niektóre funkcje programu, które są aktywowane tylko za pomocą klucza sprzętowego. Lub udostępnij klientom w pełni funkcjonalny program w wersji próbnej („próbnej”), ograniczając liczbę uruchomień. A po dokonaniu płatności wydłuż okres korzystania z programu lub całkowicie usuń ograniczenie.

Wynajem i leasing

Jeśli program jest drogi, często wygodnie i opłaca się go sprzedać w częściach lub wydzierżawić. W tym przypadku klucze również będą bardzo przydatne. Jak to się stało? Klient otrzymuje pełną, ograniczoną w czasie kopię roboczą programu. Po dokonaniu przez klienta kolejnej wpłaty, czas korzystania z programu wydłuża się poprzez zdalne przeprogramowanie pamięci klucza.

Sprzedaż programu w częściach

Jeśli program składa się z kilku komponentów (na przykład zestawu tłumaczy elektronicznych - angielsko-rosyjskiego, francusko-rosyjskiego itp.), to możesz dołączyć wszystkie moduły do ​​pakietu dystrybucyjnego, ale aktywować tylko te, za które zapłaciłeś. W razie potrzeby klient zawsze może zapłacić za interesujący go komponent programu, który zostanie aktywowany za pomocą programowania kluczyka na pilocie.

Aktualizacja chronionej aplikacji

Wydany przez producenta Nowa wersja programy. Teraz staje przed problemem aktualizacji programu dla zarejestrowanych użytkowników. Programowanie kluczyka zdalnego sprawia, że ​​procedura ta jest szybka i łatwa. Gdy pojawi się nowa wersja programu, użytkownicy poprzednie wersje nie musisz wydawać ani sprzedawać nowy klucz. Wystarczy przeprogramować sekcję pamięci istniejącego klucza i wysłać klientowi nową wersję (bezpłatnie lub za niewielką dopłatą - w zależności od polityki marketingowej firmy).

Licencjonowanie w sieciach lokalnych

Licencjonowanie w tym przypadku oznacza kontrolę nad liczbą kopii używanego programu. Producenci oprogramowania sieciowego doskonale zdają sobie sprawę z sytuacji, w której kupowany jest jeden licencjonowany program, a dziesiątki jego kopii pracują w sieci LAN. W tych warunkach klucz sprzętowy staje się skutecznym narzędziem, które zapobiega uruchamianiu „nadmiernych” kopii programu.

Jak przebiega licencjonowanie? Załóżmy, że użytkownik zamierza zainstalować w sieci jakiś program (księgowość, magazyn itp.). Przy zakupie określa ilość potrzebnych mu kopii programu i otrzymuje odpowiednią licencję. Producent przekazuje klientowi zestaw dystrybucyjny oraz odpowiednio zaprogramowany klucz. Teraz użytkownik będzie mógł pracować tylko z taką liczbą egzemplarzy, za jaką zapłacił. W razie potrzeby zawsze może dokupić brakujące egzemplarze, a producent przeprogramuje dla niego klucz elektroniczny bez wychodzenia z biura.

Nietrudno zauważyć, że nowoczesny system ochrony oprogramowania i sprzętu udostępnia wiele funkcji usługowych, które pozwalają zorganizować skuteczną politykę marketingową i oczywiście uzyskać dodatkowe (i bardzo wymierne) korzyści.

Przyszłość klucza elektronicznego

Dopóki oprogramowanie jest opracowywane i sprzedawane, a istnieje problem piractwa komputerowego, ochrona oprogramowania pozostanie aktualna. Trudno powiedzieć, co dokładnie będzie za dziesięć lat. Ale już teraz można zauważyć pewne trendy, które stają się oczywiste.

Klucze USB zyskują na popularności i będą stopniowo zastępować klucze do portów równoległych. W kluczach zostaną zaimplementowane bardziej złożone i stabilne algorytmy, zwiększy się ilość pamięci.

Coraz częściej możliwości kluczy elektronicznych będą wykorzystywane do kształtowania strategii marketingowej producentów oprogramowania, do promowania produktów programowych.

„Kuzyni” kluczy elektronicznych – identyfikatory elektroniczne, czyli tokeny, zaczynają być powszechnie wykorzystywane do uwierzytelniania użytkowników komputerów. Takie urządzenia wyglądają podobnie do kluczy sprzętowych dla portu USB, ale mają dużą ilość pamięci, a także obecność algorytmów szyfrowania. Tokeny w połączeniu ze specjalnymi programami służą do autoryzacji użytkowników podczas uzyskiwania dostępu do dowolnego zasoby informacji(wejście do lokalna sieć, dostęp do stron internetowych itp.), w celu ochrony korespondencji elektronicznej (szyfrowanie i podpis cyfrowy wiadomości) itp.

artykuł „Klucze elektroniczne do ochrony programu” Możesz dyskutować dalej

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Nazwa
Nazwisko
Jak chciałbyś przeczytać The Bell?
Bez spamu