Cyberbezpieczeństwo ma nową broń: Blockchain. Przykłady zastosowania dla DNS
Paweł BińkowskiRedaktor Bitcoin.pl

Cyberbezpieczeństwo to obecnie bardzo ważna kwestia, której nie można bagatelizować. Specjaliści od bezpieczeństwa sieci i systemów IT toczą z hakerami nieustanną wojnę. Wraz z pojawieniem się technologii Blockchain, dostali oni nową broń, która w wielu obszarach cyberbezpieczeństwa powoli znajduje zastosowanie.
Ten artykuł jest pierwszym z serii, w których szczegółowo będziemy omawiać przykłady zastosowania technologii Blockchain w cyberbezpieczeńswie. Dziś zaczniemy od Domain Name System (DNS).
Zasadę działania DNS najlepiej zobrazować na konkretnym przykładzie. Powiedzmy, że chcemy przeczytać najnowsze wiadomości ze świata kryptowalut. W tym celu odwiedzimy stronę www.bitcoin.pl
BNS rejestruje adresy w Blockchainie, z którego sieć użytkowników pobiera kopię pełnego indeksu. Ponieważ każdy użytkownik posiada pełną kopię systemu adresowego, nie jest zmuszony ufać jednemu organowi. Ryzyko ataku jest zmniejszone. Jeśli jeden węzeł zostanie zaatakowany, odpowiedź na Twoje zapytanie udzieli Ci jego sąsiad.
Każdy węzeł BNS jest zsynchronizowany z wszystkimi innymi na świecie, więc zapytania na jednym węźle BNS będą takie same na innych węzłach.
W odróżnieniu od klasycznego DNS, nazwy w BNS mają 3 główne cechy:
W rzeczywistość Ethereum Name Service jest bardzo podobny do obecnego systemu DNS. Zasadnicza różnica jest taka, że w przypadku ENS adres IP jest zastąpiony przez adresy ETH.
Architektura zarówno DNS, jak i ENS jest różna ze względu na naturę Blockchaina Ethereum. W tym przypadku smart kontrakt jest rejestratorem domeny. Implementacja smart kontraktów jako rejestratorów, daje każdemu użytkownikowi możliwość tworzenia subdomen, według zasad zapisanych w smart kontrakcie.
Mówiąc o zasadach mamy na myśli takie dane jak:
Handshake to Blockchain oparty na UTXO (Unspent Transaction Output) wykorzystujący Bcoin.
Jego celem nie jest zastąpienie DNS, ale zastąpienie serwerów głównych (root servers). Obecnie w architekturze DNS mamy 13 serwerów głównych. Kontrolowane przez organizacje, które w mniejszym lub większym stopniu są powiązane politycznie.
Oprócz serwerów głównych, Handshake zastępuje także pliki strefy, które przechowują wszystkie ustawienia DNS domeny. Aby zlokalizować adres IP z zapytania, dotychczas serwer rekurencyjny wskazywałby plik strefy głównej.
W przypadku Handshake: „rekurencyjne programy tłumaczące wskazywałyby na autorytatywny serwer nazw, który byłby przypisany do łańcucha bloków, a nie do pliku strefy głównej". Ten proces zasadniczo zastąpiłby jednostki certyfikujące, które mamy dzisiaj.
Czym jest i jak działa DNS ?
Aby zobrazować Wam zasadę działania DNS posłużymy się w tym celu następującym przykładem:Przykład: książka telefoniczna lub lista kontaktów w naszym telefonie to świetny przykład analogii pasującej do systemu DNS. Możemy przyrównać działanie tego systemu do katalogu, w którym określone nazwy (np. domeny) powiązane są z określonymi numerami (np. adresy IP).DNS czyli Domain Name System to najprościej mówiąc system tłumaczący przeglądarkom nazwy adresów domenowych (np. bitcoin.pl) na adresy IP docelowych serwerów (np. 192.168.0.1). Gdy przeglądarka odbierze tłumaczenie nazwy domenowej, wtedy następuje połączenie i otwierana jest wskazana strona internetowa.
Hierarchia DNS
Ok, wiemy już czym jest DNS. Przyjrzyjmy się teraz jego hierarchii. Baza danych DNS ma postać hierarchiczną, na której szczycie są domeny najwyższego poziomu (TLD – Top-Level Domain). Powyżej ich poziomu nie istnieją żadne inne domeny. Przykładem takich domen są np. domeny .pl albo .org. Istnieją 2 typy domen TLD:- domeny krajowe (ccTLD – country code TLD) – mają zawsze 2 znaki np. pl oznaczające Polskę, .it Włochy, czy .uk Wielką Brytanię)
- domeny funkcjonalne (gTLD – generic TLD) – te mogą być i często są dłuższe. Przykładowe to .biz, .com, czy wspomniane wcześniej org.
- regionalne - np.lodz.pl, czy mazowsze.pl
- funkcjonalne drugiego poziomu – com.pl, org.pl
Jak działa DNS ?
Zasadę działania DNS najlepiej zobrazować na konkretnym przykładzie. Powiedzmy, że chcemy przeczytać najnowsze wiadomości ze świata kryptowalut. W tym celu odwiedzimy stronę www.bitcoin.pl
- Cały proces zaczyna się od wpisania w przeglądarce, adresu www.
- Nasze zapytanie kierowane jest do serwera DNS naszego dostawcy internetu. Okazuje się, że ten nie wie gdzie znajduje się strona www.bitcoin.pl, dlatego wysyła zapytanie do głównego serwera DNS.
- Po ustaleniu adresu IP szukanej przez nas strony, główny serwer DNS wysyła go do DNS-u naszego dostawcy internetu.
- Ten z kolei, komunikuje się z naszą przeglądarką, która jest już w stanie wyświetlić nam naszą stronę www.bitcoin.pl
Najpopularniejsze typy ataków DNS
Ataki typu DDoS
Ataki typu odmowa usługi (DoS) zmierzają do utraty korzystania z danej usługi. Zablokowanie IP komputera, z którego kierowany jest atak, to forma ochrony przed nim. Ataki te mogą być kierowane z jednego komputera, zaś kierowane z kilku komputerów naraz są nowszą, rozproszoną opcją ataku DoS czyli DDoS. W wypadku ataku DDoS komputery użyte do natarcia są rozproszone w sieci a ich posiadacze nie wiedzą, że uczestniczą w ataku. Przeprowadzenie ataku z danego komputera jest możliwe po zainstalowaniu na nim specjalnego programu np.: trojana. Obrona przed atakami typu DDoS jest praktycznie niemożliwa. Przesyłanie dużej ilości danych bądź zapytań do serwera,mających na celu obciążenie go w pełni, nazywamy atakami typu flood. Taki atak przyczynia się do zakłócania korzystania z usługi lub też całkowitego jej zablokowania."Zatruwanie" pamięci podręcznej
Proces ten polega na umieszczaniu w kliencie DNS bądź w pamięci podręcznej sztucznego rekordu zasobu. Zadaniem tego rekordu jest: łączenie nazwy z nieprawdziwym adresem IP. Jego treść zostaje zachowana w pamięci przez dany czas zdefiniowany przez parametr TTL. Zadanie atakującego jest bardzo trudne, gdyż musi on odgadnąć identyfikator transakcji, który później umieszcza w wysłanej, fałszywej odpowiedzi. Typy ataku zatruwania bufora dzielimy na:- atak dnia narodzin,
- atak klasyczny,
- zmodyfikowany atak klasyczny.
Dynamiczna aktualizacja
Szansa szybkiego umieszczania danych w serwerze jest uproszczeniem jakie proponuje nam serwer DNS. Dana czynność ma zastosowanie między innymi w sieciach lokalnych, w których urządzenia nie mają nadanego niezmiennego adresu IP. W trakcie włączenia, system operacyjny aktualizuje poprawny rekord w serwerze DNS. Jeśli napotka na błąd autoryzacji klienta, może to skutkować wprowadzaniem jakichkolwiek sfałszowanych danych do bazy serwera.Przepełnienie bufora
Przekształcenie bufora pamięci przypisanego do odpalonej aplikacji nazywamy przepełnieniem bufora (z ang. Buffet overflow). Daną operację można uzyskać wprowadzając do bufora aktywnej aplikacji pewne ilości danych, tak aby wystąpiło zapełnienie i nadpisanie miejsca w pamięci za buforem. Istnieje również opcja przebudowania bufora w taki sposób, by adres powrotu zalecał procedurę, która włączy dany program. Takie błędy przypisuje się do specjalnych cech, konkretnych implementacji.Blockchain: przykłady zastosowania w obszarze DNS
Obecna struktura DNS jest scentralizowana, przez co zarządzanie nią jest z technicznego punktu widzenia łatwiejsze dla informatyków ale także i rządów. Wbrew pozorom, internet jest bardziej ocenzurowany niż prasa czy książki. Jeśli nasz rząd uzna, że z życia Polaków należy wyeliminować Facebooka, za pomocą DNS-ów może go po prostu zablokować. Oczywiście baza danych DNS przechowuje ogromną liczbę rekordów, w tym adresy IP i nazwy domen. Blockchain ze względu na swoją zdecentralizowaną budowę, może te dane przechowywać na milionach urządzeń, a konkretniej mówiąc węzłach. Liczba zapytań przetwarzanych przez serwery DNS jest ogromna. Przykładowo, jeśli atakujący nas haker dysponuje łączem o szybkości wysyłania 1Mbit/s, w ciągu 1 sekundy może wysłać 2840 zapytań. Dlatego, Blockchainowe rozwiązania pomagające chronić DNS, muszą rozwiązać problem skalowalności. Z jak dużym zagrożeniem musimy się mierzyć, doskonale obrazuje mapa ataków, którą możecie znaleźć tutaj: https://cybermap.kaspersky.com/ Przyjrzyjmy się teraz kilku projektom, które próbują tworzyć DNS-y na Blockchainie.Blockstack (STX)
Internet w zdecydowanej większości działa w formacie client-serwer. Oznacza to, że chcąc uzyskać jakąkolwiek informację musisz nawiązać połączenie z serwerem, posiadającym dostęp do szukanej przez Ciebie informacji. Blockstack buduje kompletną infrastrukturę dla zdecentralizowanego internetu i aplikacji. W tym przypadku tradycyjny DNS jest zastąpiony przez Blockstack Naming Service (BNS). Natomiast serwer zostaje zastąpiony przez Blockchain. BNS jest zbudowany na bazie łańcucha bloków Bitcoin. BNS umożliwia użytkownikom dołączanie informacji do tożsamości przechowywanych w łańcuchu bloków. Zdecentralizowany BNS pozwala użytkownikom komunikować się i łączyć ze sobą w sposób bezpośredni, bezpieczny i szyfrowany. Taki system eliminuje pośredników, takich jak, Google czy Facebook.
BNS rejestruje adresy w Blockchainie, z którego sieć użytkowników pobiera kopię pełnego indeksu. Ponieważ każdy użytkownik posiada pełną kopię systemu adresowego, nie jest zmuszony ufać jednemu organowi. Ryzyko ataku jest zmniejszone. Jeśli jeden węzeł zostanie zaatakowany, odpowiedź na Twoje zapytanie udzieli Ci jego sąsiad.
Każdy węzeł BNS jest zsynchronizowany z wszystkimi innymi na świecie, więc zapytania na jednym węźle BNS będą takie same na innych węzłach.
W odróżnieniu od klasycznego DNS, nazwy w BNS mają 3 główne cechy:
- są unikalne, eliminuje to występowanie kolizji
- każda nazwa jest wybierana przez jej twórcę
- tylko właściciel nazwy może dokonywać w niej zmian, uwierzytelnianie odbywa się przy pomocy klucza prywatnego
- umożliwia tworzenie domen przez użytkowników (bez pośredników takich jak np. nazwa.pl), w których nazw hostów nie można przejąć
- deweloperzy mogą tworzyć platformy społecznościowe, odporne na phishing
Ethereum Name Service
W rzeczywistość Ethereum Name Service jest bardzo podobny do obecnego systemu DNS. Zasadnicza różnica jest taka, że w przypadku ENS adres IP jest zastąpiony przez adresy ETH.
Architektura zarówno DNS, jak i ENS jest różna ze względu na naturę Blockchaina Ethereum. W tym przypadku smart kontrakt jest rejestratorem domeny. Implementacja smart kontraktów jako rejestratorów, daje każdemu użytkownikowi możliwość tworzenia subdomen, według zasad zapisanych w smart kontrakcie.
Mówiąc o zasadach mamy na myśli takie dane jak:
- kto jest właścicielem domeny
- do kiedy dana domena jest aktywna
- informacje na temat resolvera
Handshake
Oprócz serwerów głównych, Handshake zastępuje także pliki strefy, które przechowują wszystkie ustawienia DNS domeny. Aby zlokalizować adres IP z zapytania, dotychczas serwer rekurencyjny wskazywałby plik strefy głównej.
W przypadku Handshake: „rekurencyjne programy tłumaczące wskazywałyby na autorytatywny serwer nazw, który byłby przypisany do łańcucha bloków, a nie do pliku strefy głównej". Ten proces zasadniczo zastąpiłby jednostki certyfikujące, które mamy dzisiaj.
Podsumowanie
Centralizacja obecnego protokołu DNS to nie jedyny problem, z którym musimy się mierzyć. Podatność na ataki w głównej mierze wynika z jego stryktury. Z pomocą przychodzi Blockchain, który ze względu na swoją budowę znacznie poprawia bezpieczeństwo DNS. Projekty takie jak Blockstack, ENS czy Hanshake wykorzystując kryptowaluty wprowadzają dodatkowe warstwy zabezpieczeń, jednocześnie eliminują centralizację. Z pewnością cyberbezpieczeństo i Blockchain to dobra para.O autorze
Paweł Bińkowski
Zafascynowałem się Bitcoinem w 2012 roku i niedługo później na swoim komputerze zacząłem kopać pierwsze BTC. Wtedy jeszcze traktując to jako zajawkę założyłem bloga na temat Bitcoina, gdzie opisywałem podstawy działania tej kryptowaluty. Kilka lat później zostałem redaktorem naczelnym portalu Bitcoin.pl. Od ponad dekady działam na styku edukacji, biznesu i innowacji, współpracując z największymi giełdami i startupami z rynku kryptowalut. Wraz z moim zespołem wprowadzam naszych odbiorców w świat cyfrowych aktywów i Web3. Kontakt w sprawie współpracy: pawel.binkowski@bitcoin.pl

Poprzedni
Z cyklu: zrób to sam. Prosty, przenośny kranik Bitcoin.

Następny
3 darmowe aplikacje do śledzenia kryptowalutowego portfolio na rok 2020
Chcesz być na bieżąco? Zaobserwuj nas w
ObserwujGoogle News
Newsletter Bitcoin.pl
Najważniejsze newsy i insiderskie informacje prosto na Twój email.
Dbamy o ochronę Twoich danych. Polityka Prywatności

