Technologia

18
paź

Kodowanie informacji w DNA

Naukowcy kodują całe bloki danych w DNA. Ta technologia jest przyszłościowa ze względu na możliwość zapisania całej zawartej w sieci informacji w urządzeniu wielkości kciuka.

Eksperyment

W 2012 roku naukowcy z Harwardu ogłosili, że opracowali możliwość zapisu i odczytu informacji z genów DNA. Dane zapisywane są w postaci binarnej, zero-jedynkowej. Zakodowano bity na parach DNA przypisując wartość zero dla nukleotydów A, C oraz wartość jeden dla G oraz T. Gęstość zapisu pozwoliła na sześcianie o boku 1 mm zapisać 5.5 petabajtów danych, czyli 1 milion GB danych. W związku z tym fiolka płynu może zawierać miliardy książek w postaci elektronicznej. Tego typu rozwiązanie nie jest narażone na typowe problemy przechowywania danych na dyskach magnetycznych i optycznych. Łańcuchy DNA są długowieczne a co za tym idzie informacje w nich zapisane również. Jednakże dane nie zostały zapisane w żywej komórce ze względu na marnowanie przestrzeni oraz groźbę zmutowania łańcucha i zmiany informacji. Prace nad podobnymi projektami prowadzone były równolegle w kilku ośrodkach naukowych. Pierwsza syntetyczna komórka stworzona w 2010 roku zawierała informację o nazwiskach naukowców realizujących projekt, ale dopiero eksperyment realizowany na Harwardzie zapisał znaczną ilość danych w postaci 53426 słów, 11 ilustracji i programu napisanego w JavaScript. Ilość zapisanych danych odpowiadała dyskietce 3.5 cala, czyli wynosiła około 1.4MB.

Archiwizacja danych

Ciekawym następstwem technologii jest możliwość archiwizacji danych za pomocą dwóch współpracujących bakterii. Aby tego dokonać pierwszą bakterię Novablue umieszcza się w obszarze wprowadzania danych, tak aby nie mogła się wydostać. W praktyce jest to powierzchnia, na której bakteria ma ograniczoną ruchliwość, np zawierającą streptomycynę. Następnie wprowadza się drugą bakterię typu HB101, której możliwości mobilne w środowisku są znacznie większe. Cały rejon otoczony jest substancją, która zapobiega ucieczce obu bakterii. Następnie dane przekazywane są pomiędzy bakteriami. Proces trwa około 72 godzin. Takie środowisko jest skalowalne, czyli można umieścić wiele bakterii przekazujących sobie informacje. Pozostaje problem, które bakterie powinny być sparowane, ale ten problem próbuje się rozwiązać za pomocą tworzenia śladów chemicznych, za którymi podążają bakterie, więc proces może być całkowicie pod kontrolą. Stąd następnym krokiem będzie stworzenie „nawigacji” dla bakterii, dzięki temu dane zapisane w DNA będzie można przekazywać pomiędzy bakteriami tworząc w zasadzie nieograniczoną ilość kopii bezpieczeństwa.

 

17
sie

Elementy kryptografii

Bezpieczeństwo w sieci to ukryte algorytmy matematyczne. Zrozumienie działania mechanizmów kryptograficznych jest podstawą tworzenia skutecznych systemów informatycznych. W artykule zaprezentowane zostały informacje o dodatkowych mechanizmach bezpieczeństwa, do których należą: ślepe podpisy, systemy progowe i anonimowe kanały.

Ślepe podpisy

Idea ślepych podpisów została zaprezentowana w 1982 roku przez Davida Chauma. Polega ona na tym, że osoba otrzymująca zaszyfrowany plik podpisuje poprawność dokumentu nie znając jego zawartości. Mechanizm ten można porównać do użycia koperty i kalki. Strona wysyłająca, nazwijmy ją, Alicja wysyła do strony odbierającej, nazwanej Bob, zaklejony w kopercie dokument z informacją oraz kalką. Bob otrzymując kopertę potwierdza jej odbiór popisując się na niej nie otwierając jej. Jego podpis zostaje przez kalkę powielony na zamkniętym dokumencie. Ślepe podpisy mogą być implementowane za pomocą algorytmu RSA. Procedury symetrycznego szyfrowania nie są zwykle używane w czystej postaci, ponieważ w przypadku tych algorytmów zarządzanie kluczami jest zbyt skomplikowane. Dużo lepsze efekty daje stosowanie procedur hybrydowych. Stąd też najczęściej korzysta się z tymczasowych kluczy symetrycznych dołączanych do szyfrowanej nimi wiadomości, a następnie traktuje się je mocnym, asymetrycznym algorytmem RSA.

Rys. 1 Procedury mieszane z wykorzystaniem algorytmu RSA

Rys. 1 Procedury mieszane z wykorzystaniem algorytmu RSA

Alicja koduje wiadomość przed jej przesłaniem używając czynnika generowanego na podstawie klucza publicznego Boba. Alicja losuje liczbę r, która jest liczbą pierwszą. Następnie obliczana jest zakodowana wiadomość m. Bob otrzymuje zakodowaną wiadomość i do rozkodowania potrzebuje cząstkę wykładniczą. Wiadomość m wysyłana zostaje do Alicji która używając odwrotności r eliminuje z wiadomości r i otrzymuje wiadomość m podpisaną przez Boba.

2. Systemy progowe

Załóżmy istnienie pewnego sekretu S. Sekret taki można przesłać w całości ale jest on narażany na rozszyfrowanie. Istnieją sprawdzone metody, którą pozwalają dobrze zabezpieczyć informację. Należą do nich systemy progowe dzielące sekret w taki sposób, że do odtworzenia potrzebna jest pewna ilość jego części. Istnieje pewna para liczb na które podzielono sekret a m oznacza minimalną ilość części potrzebnych do odtworzenia sekretu. Przykładami systemów progowych są zaprezentowane niezależnie w 1979 roku protokoły: Blakley’a oraz Shamira. Oba te protokoły mają dwa istotne ograniczenia:

  • Każdy fragment sekretu musi mieć długość co najmniej równą długości sekretu
  • Protokół musi używać losowych bitów

Jeżeli przyjmiemy, że sekret S jest pewną liczbą z przedziału od 0 do n-1 to losujemy dla każdego uczestnika oprócz ostatniego liczbę S i z tego samego przedziału. Wszyscy uczestnicy za wyjątkiem ostatniego nie znają sekretu, ponieważ otrzymali losowe liczby Si . Jeśli będzie brakowało jakiegoś innego, k-tego, uczestnika, to pozostali będą mogli dodając swoje kawałki otrzymać liczbę S − SK . Tylko k-ty uczestnik zna liczbę SK. Rozważmy przykład: Sekret S jest liczbą z przedziału od 0 do 999 i S=803. Rozpatrzmy trzech uczestników, z których pierwszy losuje liczbę S1=272 a drugi liczbę S2 =995. Więc:

 

S3 = 803 − 272 − 995mod 1000 = − 464mod 1000 = 1000 − 464 = 536

 

Aby wszyscy uczestnicy mogli poznać sekret dodają swoje fragmenty otrzymując:

 

S=S1 + S2 + S3 mod 1000 = 1803mod 1000 = 803

 

Protokół Blakley’a jest przykładem systemu progowego gdzie do odtworzenia klucza wymagane są wszystkie jego części. Opiera się na założeniu, że do wyznaczenia punktu w n-wymiarowej przestrzeni potrzeba n podprzestrzeni o wymiarze n-1.

Rys.2 Protokół Blakley’a dla trzech wymiarów

Rys.2 Protokół Blakley’a dla trzech wymiarów

 

3. Anonimowe kanały

Chcąc ukryć tożsamość nadawcy można użyć mechanizmu anonimowego kanału uniemożliwiającego ukrycie tożsamości nadawcy. Mechanizm ten opiera się na sieciach mieszających składających się z serwerów Proxy, z których każdy posiada swój klucz publiczny i prywatny. Wiadomość przesyłana przez sieć mieszającą musi być zaszyfrowana kluczem publicznym serwera, który jako ostatni przesyłał wiadomość. Do przesłania potrzebna jest losowa wartość Nonce dodawana w celu uniemożliwienia odczytania funkcji mieszającej serwera. Wiadomość m gotowa do wysłania przez sieć mieszająca może być opisana jako:

gdzie:

n – ilość serwerów mieszających

Ni – i-ta wartość Nounce

PKi – klucz publiczny i-tego serwera

Każdy serwer po otrzymaniu wiadomości odszyfrowuje ją redukując wartość Nounce. Następnie wiadomość zostaje przemieszana za pomocą funkcji mieszającej i zostaje przesłana do kolejnego serwera. Dopiero ostatni serwer po rozszyfrowaniu uzyskuje rozkodowaną wiadomość m.

4. Podsumowanie:

Tradycyjne metody przesyłania wiadomości ulegają zmianom. Wraz z rozwojem technologii informacyjnych coraz więcej poufnych danych przesyłanych jest drogą elektroniczną. Stąd nacisk na zapewnienie bezpieczeństwa przesyłanym wiadomościom. Wykorzystując ślepe podpisy, systemy progowe i anonimowe kanały tworzymy mechanizmy do skutecznego zabezpieczenia krążących w sieci danych. Wymienione metody stanowią stale rozwijającą się, potężną dziedzinę wiedzy, która wymaga tworzenie coraz to nowych rozwiązań.

13
sie

Web Application Firewalls – WAF

Coraz częściej ataki przeprowadzane są na aplikacje webowe i mobilne. Hakerzy korzystając z błędów wynikających z zaniedbań twórców projektów informatycznych szukają słabości aplikacji, które pozwalają na kradzież danych i mogą doprowadzić do ich usunięcia. Stąd wprowadzono zabezpieczenie, które powszechnie nazywa się Web Apllication Firewall – WAF

1. Czym jest WAF

WAF jest ochroną w warstwie aplikacji, która przyjmuje około 70% wszystkich ataków w sieci. Zapobiega między innymi atakom typu: SQL Injection, XXE, XSS, CSRF. Jest zbiorem algorytmów wykrywających naruszenie bezpieczeństwa aplikacji na serwerach. Zapewnia ochronę w czasie rzeczywistym monitorując ruch HTTP. Zazwyczaj jest to system w pełni automatyczny i nie wymaga żadnych dodatkowych działań ze strony użytkownika. Ochrania strony WWW i zabezpiecza nieautoryzowany dostęp do danych. Technologicznie korzysta ze zdefiniowanych wcześniej reguł, które interpretuje niechciane zachowanie podczas prób ataków. Najnowsze rozwiązania z tej dziedziny korzystają ze sztucznej inteligencji w celu przewidywania niezdefiniowanych typów ataków. Testowaniem skuteczność takich rozwiązań zajmują się niezależne ośrodki na przykład NSS Labs. Według ostatnich opracowań skuteczność ochrony WAF sięga około 95%. WAF oferowany jest przez hostingodawców, którzy odpowiedzialni są za bezpieczeństwo domen. Ochronę znajdziemy również w chmurach typu AWS, czy Google. Często oferta łączona jest z ochrona anty DDOS. Ataki DDOS mają na celu zapchanie łącza do danej domeny, co jest równoważne z brakiem dostępu do strony WWW.

Wyróżniamy dwa typy Web Application Firewall: tak zwany box oraz WAF w chmurze. Oba typu są w stanie obsłużyć wiele transakcji na sekundę i zawierają w swoich bazach wiele tysięcy zasad, które są rozumiane jako algorytmy zabezpieczające przed potencjalnym atakiem. Rozwiązanie typu box polega na zastosowaniu ochrony na poziomie sprzętowym. Z uwagi na wysokie koszty szacowane na kilkadziesiąt tysięcy dolarów amerykańskich rocznie, stosowane są przez duże firmy mogące pozwolić sobie na tak wysokie wydatki. Typowym użytkowaniem box-owych rozwiązań są banki. Nie korzystają one z ochrony oferowanej przez hostingodawców, tylko inwestują w swoją infrastrukturę. Drugim typem WAF jest ochrona za pomocą usług oferowanych w chmurze. Można wykupić abonamentowy dostęp do ochrony i są to koszty rzędu maksymalnie kilkuset złotych miesięcznie. Adres IP jest w tym przypadku przepinany pod serwer monitorujący i zapewniający ochronę.

2. Elementy systemu

WAF są oferowane przez wiele firm na świecie. Można również spotkać w sieci rozwiązania typu open source. Są one jednak polecane bardziej do zapoznania się z tego typu ochroną niż do komercyjnego zastosowania. Ta różnorodność powoduje, że nie ma ujednoliconej architektury WAF, ale można przyjąć, że system taki jest wyposażony w elementy przedstawione na grafice poniżej


W idealnym świecie typowo cloudowy WAF powinien składać się z następujących komponentów:

  • Client service – Jest realizacją żądań wpływających do aplikacji po stronie użytkownika, czyli klienta korzystającego z serwisu WWW.
  • WAF Core – Silnik WAF odpowiedzialny za całą analizę żądań wpływających od klienta. To tutaj zaimplementowane są wszystkie algorytmy wykrywające zagrożenia.
  • WAF API – Interfejs umożliwiające korzystanie z WAF Core
  • Push Service – W przypadku kiedy istnieje potrzeba bezpośredniego powiadomienia o próbach ataku system informuje administratora za pomocą notyfikacji w systemie
  • 2FA – Podwójna autoryzacja (2FA) polega na tym, że notyfikacja wysyłana jest na dwa urządzenia. Podwyższa to zdecydowanie bezpieczeństwo działania systemu, aczkolwiek zwiększa jego czas reakcji.
  • Support Panel – Panel wsparcia i obsługi klienta opowiedziany za przyjmowanie zgłoszeń
  • WAF Management – Panel administracyjny do zarządzania systemem komunikujący się z WAF Core poprzez WAF API
  • Report Panel – Panel, w którym klient może generować raporty i zgłoszenia z systemu takie jak: ilość prób ataku, ataki zablokowane, rejestry systemu
  • Client Panel – Panel do biznesowego zarządzania WAF-ami po stronie klienta. Informacje o płatnościach, usługach, poziomach zabezpieczeń
  • WWW – Strona internetowa webowej aplikacji do zarządzania WAF-ami

Zaprezentowany schemat systemu powstał w oparciu o analizę komercyjnych rozwiązań dostępnych na rynku i jest opisem prezentującym jak powinno wyglądać idealne rozwiązanie. W tym miejscu należy dodać, że jest to bardzo dynamicznie rozwijający się segment rynku, który powstaje w odpowiedzi na coraz bardzie zaawansowane metody ataków na aplikacje internetowe.

Używamy plików cookie

Nasza strona wykorzystuje pliki cookie, aby poprawić komfort korzystania z niej. Aby dowiedzieć się więcej o plikach cookie, których używamy, zapoznaj się z naszą witryną polityka prywatności.

Prosta polityka prywatności

Poniżej możesz zmienić ustawienia plików cookie nasze i naszych partnerów. Korzystanie przez nas z analitycznych plików cookie wymaga zgody użytkownika.

  • Analityka

    Analityczne pliki cookie służą do zrozumienia, w jaki sposób użytkownicy wchodzą w interakcję z witryną. Te pliki cookie pomagają dostarczać informacji na temat wskaźników liczby odwiedzających, współczynnika odrzuceń, źródła ruchu itp. Głównym celem analityki jest poprawa funkcjonalności witryny lub aplikacji.

    akceptacja
  • Niezbędne pliki cookie

    These cookies are used to provide you with a more personalized experience on our website and to remember choices you make when you use our website. For example, we may use functionality cookies to remember your language preferences or remember your login details.

    wymagany