Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Jak zbudować prywatny Internet? – w Grecji już działa
W zasadzie z technicznego punktu widzenia nie ma problemu żeby zbudować własny Internet. Specyfikacje protokołów są gotowe i przetestowane. Podobnie – niedrogi i przystosowany do całości sprzęt.
Jak donosi the daily dot, w praktyce, własny 'równoległy’ Internet zaczęto budować w 2002 roku w Grecji. Główną motywacją rozwoju alternatywnej sieci była słaba jakość łącz oferowanych przez dostawców Internetu a także wysokie koszty dostępu (jednak Grecy w pewnych obszarach umieją walczyć z kryzysem ;). Co ciekawe infrastruktura bazuje głównie na antenach rozmieszczonych na dachach budynków (w niektórych przypadkach udało się osiągnąć odległość pomiędzy węzłami rzędu nawet 100km). Warto również zaznaczyć, że podobną sieć ma również Hiszpania (obecnie w sieci jest niemal 22 000 węzłów, a sumaryczna długość łącz pomiędzy węzłami to przeszło 40 000 km).
Patrząc od strony bezpieczeństwa, zaletą tego typu sieci jest potencjalnie zmniejszona penetracja przez wszelakie podsłuchy, oraz większa odporność na 'globalnie’ kontrolowane wyłączenia niewygodnych obszarów sieci. Zapewne mamy też większą odporność na ataki typu DDoS – w końcu rozmiar botnetów jest ograniczony liczbą węzłów ;-)
A może znacie inne tego typu alternatywne sieci?
PS
Zobaczcie też jak wyglądały początki znanego nam wszystkim Internetu – wygląda to w miarę podobnie do obecnych prób. No może za wyjątkiem tego, że kiedyś był to projekt typowo wojskowy.
michal.sajdak<at>sekurak.pl
PeselNet. Ale nie chcą mnie do niej podłaczyć.
meshnet
Chyba nazywanie tych sieci „Internetem” to lekkie nadużycie. Są to zwykłe LANy/MANy/WANy, które są lub nie połączone z prawdziwym Internetem. Pozostaje jedno podstawowe pytanie – jaką wartość dodaną oferują takie sieci? Inaczej mówiąc – po co ludzie mieliby się do nich podłączyć? Jakie informacje są udostępniane w tych sieciach?
Zawsze jest pytanie gdzie jest granica wielkości? Na początku Internetu… Internet też był w zasadzie takim niezbyt rozbudowanym WAN-em: http://sekurak.pl/mapa-calego-internetu-z-1977-roku/
Po co? Trochę odpowiedź w tekście (zobacz zewnętrzne linki). A osobiście – IMO często im większa różnorodność tym lepiej.
Będąc całkowicie szczerym, stworzenie nowego protokołu wymiany danych jest więcej niż potrzebne, a mogą się za to wziąć same ISP. TCP/IP jest zbyt łatwe we wszelkiego rodzaju akcjach tożsamościowych, przykład PRISMu. Gdybym miał trochę kasy, stworzył bym protokół szyfrowany z natury, gdzie adres IP zastąpiony jest przez klucz kryptograficzny (pod to podwaliny też już zostały zrobione, przykład? BTC, NMC, PPC etc.). Dostosowanie do nowego protokołu już działających routerów też nie jest problemem (świeże fabryczne routery, bez softu można kupić za 100zł). Rozpoznawanie użytkowników? Dostosowane przez strony cookiesy + certyfikaty, w dostosowanym Firefoxie, które użytkownik sam musi akceptować.
Problemem byłby całkowity brak kompatybilności z TCP/IP, ale przecież można zrobić bramki – takie jak ma TOR. Zabawa z samym softem nie zajęła by więcej niż 2-3 lata.
Chyba problem w tym, że rzeczywiście w miarę łatwo jest budować od zera (szczególnie jeśli zna się błędy poprzedników). Ew. problem zaczyna się jeśli chcesz być w jakimś sensie kompatybilny wstecznie z jakimiś rozwiązaniami – patrz np. WPA (jako następca WEP + wykorzystywany tam hardware), czy DNSSEC.
Zapomniałem dodać. TCP/IP był tworzony w taki sposób, aby komputer A i komputer B, mogły się w jak najłatwiejszy sposób rozpoznawać, a ich adres na sztywno ustala ISP. Wynikło z tego tylko tyle, że IP przypisywane jest niemal na stałe i zapisywane jest wszędzie. Ma to plus i minus. Plusem jest to, że portale społecznościowe mają ułatwione zadanie w personalizowaniu danych, minusem jest to, że skoro adres jest sztywny i przypisany na stałe, to KAŻDY ma ułatwione zadanie w poszukiwaniu informacji o KAŻDYM.
Moja koncepcja sieci kryptograficznej nie skupia się na stałej komunikacji między dwoma komputerami, a prostej informacji „dopuszczony do sieci, klucz poprawny” bądź zablokowaniu transmisji. W momencie dopuszczenia do sieci, klucz służy jako identyfikator komputera w transmisji i sieci, ale po zresetowaniu połączenia, dzięki złożonej kryptografice, klucz może być zupełnie inny – jednak przekaże tę samą, poprawną wartość, która dopuści go do sieci.
Namierzenie konkretnego klucza jest niemożliwe, bo nie jest przypisany konkretnemu użytkownikowi. Dodatkowo, żaden ISP nie jest wtedy ograniczony długością ani zawartością klucza, więc żaden klucz nie ma prawa się powtórzyć nigdzie na świecie. Idąc dalej, obsługę klucza i połączenia może prowadzić soft dostarczany przez ISP, użytkownik tylko dzwoni, przyjeżdżają, zakładają, instalują i do widzenia. Wystarczy stworzyć standard, który umożliwi komunikację wszystkim ISP ze sobą i którego każdy ISP będzie musiał przestrzegać.
Problem PRISM?
http://projectmeshnet.org/ – w tej chwili aktywnie budowana, chociaz nieco sztucznie bo nie z realnych potrzeb jak u Grekow i Hiszpanow, a bardziej jako drogie hobby.
Cenna uwaga – takie projekty stanowią też dla niektórych niezłą sposobność do potrenowania swoich umiejętności w tematach sieciowych, czy zobaczenia wielu rzeczy w działaniu na dość niskim poziomie.
@józek: ale po co wymyślać koło od nowa? Przestrzeń adresowa IPv6 jest tak ogromna, że można losowo nadawać adresy urządzeniom na czas trwania jednej sesji powiedzmy 10, 5 lub 1 min i nie powinna wystąpić żadna kolizja.
Pytanie tylko jak przekonasz administratorów np. sieci firmowej do ogarnięcia takiego … „bałaganu”. Zmuszanie ludzi do korzystania z bardzo zaawansowanych narzędzi do zarządzania nie jest wcale takie dobre. Stąd też wolne tępo rozpowszechniania IPv6.
Dołożenie kluczy tak jak proponujesz wprowadzi kolejną warstwę komplikacji.
MateuszM –
No właśnie nie. Nawet zmienny adres IPv6 będzie przypisany do danego konta, zupełnie tak, jak w neostradzie (orange). Także rozwiązanie zmiennego IP możesz posmakować już w praktyce (gdzieś czytałem, że pula IP neo dla jednego usera wynosi 199).
Ja odwołuję się do samej pakietowej budowy TCP/IP gdzie każdy pakiet ma swój nagłówek, a w nim między innymi IP nadawcy. W chwili obecnej, na początku jest nawiązywane połączenie jednego komputera z drugim początkowymi pakietami, kiedy informacja wymieni się z sukcesem, następuje nawiązanie połączenia i przekazywanie dalszych pakietów. Moja koncepcja, oprócz oczywiście szyfrowania, zakłada, że sieć zwraca tylko allowed/denited – komputery następnie w tej sieci mogą już same rozpoznawać się na podstawie klucza (bądź jeśli ktoś stawia serwer i ustawia stronę internetową – po stałym kluczu powiązanym z domeną). Zarzucam P2P na rzecz transmisji kontrolowanej. Obecnie IPSy działają jak wielkie, potężne LANy. One tylko dają ci kabel i przepustowość, a same wpinają się do węzłów. Pakiet jest adresowany do konkretnego IP komputera i oczekuje na odpowiedź. IP jest konkretnym punktem/miejscem. U mnie obowiązek utrzymywania na zasadzie tunelowania posiada sama sieć (klucz -> ISP kontroler -> klucz2). ISP nie tylko tworzy drogę z jednego komputera do węzła wymiany danych i kolejnego komputera. Ona też ustanawia połączenie komputera A z B, bo tylko sieć może stwierdzić, czy takie dwa klucze są obecnie w sieci (ciąg kryptograficzny BXGHbkjBVJjkbkgFiui2g3hg3gu dla komputera nie oznacza zupełnie nic, chyba, że posłużyli byśmy się „metodą sonarową”, a IP znaczy bardzo dużo).
Co to oznacza? Że ISP policji będzie mógł odpowiedzieć: między takim a takim kluczem o tej i o tej godzinie nawiązaliśmy tunelowe połączenie, przeleciało tyle i tyle pakietów. Jednak wszystkie są zaszyfrowane i nigdy nie uda nam się ustalić, gdzie konkretnie znajdują się komputery, kto jest ich właścicielem, ani nie możemy dociec jakichkolwiek ich danych.
Oczywiście moja sieć ma pewne wady, między innymi konieczność ustanowienia połączenia między kluczami przez sieć (a nawet przez różnych ISP) sprawi, że sieć była by wolniejsza niż clearnet. Dodatkowo, była by wrażliwa na ataki DDoS (obecnie DDoS jest przerzucany na konkretny serwer, DDoSowanie sieci jest nie możliwe, bo nic, ani nikt nie jest wstanie wygenerować ilości pakietów, która mogła by zapchać węzły), gdyż serwery IPS mogły by zostać zalane zapytaniami. No i oczywiście nawet w momencie, kiedy użyjemy najszybszego możliwego kodowania, czyli PGP (SHA2), operacja wydłuży się dalej o kilka milisekund. Oczywiście, wszelkie opóźnienia dotyczyły by momentu nawiązywania połączenia – transmisja danych pozostaje w kwestii szerokości pasma. Szyfrowanie poza tym, zawsze można wyłączyć z protokołu w przypadku aplikacji tego nie wymagających jak np. gry.
Jeszcze wyjaśnię, dlaczego SHA2 – prostota przekazywania zabezpieczonego klucza. Komputer A generuje pakiet początkowy do komputera B i przesyła mu klucz publiczny. Komputer B korzystając z otrzymanego klucza publicznego, generuje pakiet, w którym przesyła komputerowi A swój klucz publiczny oraz prywatny, w odpowiedzi, komputer A przesyła swój klucz prywatny komputerowi B. Jak wiemy, klucz publiczny służy tylko do szyfrowania wiadomości, klucz prywatny do ich odczytywania. Za pomocą trzech pakietów wielkości ok. 500B, komputery omijają organy śledcze na wszystkie możliwe sposoby, tworząc najbezpieczniejszą komunikację, która do powstania komputerów kwantowych – nigdy nie zostanie złamana.
@józek
Twoja koncepcja faktycznie wygląda dość ciekawie ale przyznam, że widzę w niej jedną dość sporą wadę:
Jeżeli organy ścigania nie są w stanie ustalić zarówno treści jak i użytkowników występujących w komunikacji to internet stanie się rajem dla ludzi wykorzystujących go do niecnych celów (dziecięca pornografia, handel żywym towarem, narkotykami itp.).
Nie zrozum mnie źle, zdecydowanie nie jestem za programami stałej inwigilacji wszystkich obywateli „tak na wszelki wypadek”. Jednak uważam że w sytuacji gdy organy ścigania mają uzasadnione tropy/podejrzenia, powinni mieć możliwość weryfikacji i stworzenia odpowiedniego materiału dowodowego pozwalającego na skazanie.
Sama koncepcja jest super jak i różnicowanie dostępnych rozwiązań. Jednak zastanawia mnie problematyka znienawidzonego bezpieczeństwa od strony dostawcy. Jak w takich sieciach co by nie mówić małych zabezpieczyć się przed niepożądanymi plikami na tym czy innym serwerze/dysku publicznie dostępnym? Czy są jakieś otwarte rozwiązania umożliwiające blokowanie np. pornografii dziecięcej? Czy admin-hobbysta miałby dodatkowe zajęcie codziennego przeglądania/skanowania plików?
1. Koncepcja z kluczami mapowanymi na IPv6 jest wykorzystana w Project Meshnet o ktorym wspomnialem powyzej
2. Zakladajac zaangazowanie czesci wezlow posrednich (badz przymus takiego zaangazowania), da sie zmapowac klucz publiczny na fizyczny wezel. Chociazby wysylajac pakiet i wysylajac smutnych panow w mundurach do kazdego kolejnego hopa.
Dodam jeszcze ze koniecznosc zaangazowania pewnego fizycznego, nie obliczeniowego, wysilku zeby zmapowac adres na osobe, powinna byc wystarczajaca zeby zapobiec naduzyciom ze strony wladzy. Oczywiscie do momentu wejscia w zycie ustawy ktora wyreguluje to tak, zeby wszystko bylo po staremu.
Problem cały na początku polegał na identyfikacji stąd numery IP i potem DNS. Jeśli chodzi o bezpieczeństwo wystarczyło by przejść na poziom programowy i stworzyć specyficzny system identyfikacji. Zostać przy IPv6, ale odrzucić DNS. Komputer A by skomunikować komputer B musiałby by mieć specjalny generator kluczowy, który by generował odpowiednie IP z odpowiednim (znanym bazo danowo) protokołem. Pakiet inicjujący lub jego część miała by w sobie dodatkowy klucz wejściowy. A wszystko by było instalowane z systemem operacyjnym. Gdy nie ma oczywistej identyfikacji, ciężko zaatakować konkretne komputery.
Pomysł takiego rozwiązania jest dobry dla sieci wysokiego bezpieczeństwa – firmy, wojsko, policja. Gdzie użytkownik nie zna IP bo jest na wstępnie zaszyfrowane.
@Przem
Zacznijmy od tego, że ukrycie się w sieci już teraz jest możliwe – nie tylko istnieje TOR czy L2P (freenet), które same dzięki wykorzystaniu zwykłego tunelowania protokołu TCP/IP mogą dać dostęp do sieci każdemu człowiekowi podpiętemu do internetu po IP. Jeżeli chcesz być anonimowy również w clearnecie, kupujesz serwery opłacone przez BTC/prepaidy w Rosji czy innych Chinach i nie kupujesz domeny. Na serwerach wyłączasz logi i mimo że ktoś, kto będzie miał dostęp do twojego ISP i udowodni, że łączyłeś się z takim a takim serwerem, to nie udowodni co na tym serwerze robiłeś. Jeśli nie chcesz, by nawet ISP wiedział co robisz, montujesz sobie np. OpenVPN.
Stron o tematyce pedofilskiej jest ogromna ilość w clearnecia jak i w deepnecie. Jeżeli jakiś pedofil myśli i wie z czym się je websecurity – namierzenie go jest nie możliwe (przy użyciu analizy sieci, oczywiście). Warto sobie jednak przypomnieć, jak padały największe fora pedofilskie w ostatnich latach – jakiś pedofil, wrzucił materiał do sieci, z dziewczynką z Australii. Służby nie skupiły się na kwestii poszukiwania IP/serwera, skupiły się, na poszukiwaniu dziewczynki – znaleźli i adminów i kamerzystów, nawet aktorów.
Największym wrogiem anonimowości w sieci jest – uwaga – przeglądarka. Tak. Każda strona, którą odwiedziliście, może w łatwy sposób za pomocą języka JavaScript przechwycić wszelkie informacje z waszej przeglądarki (GUID, personalizacja ustawień, wersja, w skrajnych przypadkach nawet cookiesy) oraz systemie (nazwa komputera, nazwa użytkownika, dokładna wersja systemu). Producenci przeglądarek o tym wiedzą, a dziur które to umożliwiają nie łatają, właśnie ze względu na łatwą personalizację. Jeżeli chcesz złapać przestępce – wpuść go na stronę, na której ustawiony jest jakikolwiek JavaScript. To stało się przy ostatnim zamknięciu Freedom Hosting – służby zaaplikowały do wszystkich stron pedo/illegal skrypt SC, aby spersonalizować użytkowników. Tak się łowi przestępców – szukając śladów i niedopatrzeń.
Wracamy do mojej koncepcji. Moja sieć ma działać na takim samym schemacie, co obecna. Są serwery DNS, pod które dopina się serwery WWW i STAŁE klucze. Materiały publikowane przez publiczność na serwerach, już teraz są bardzo dobrze filtrowane (wystarczy popatrzeć, jak z materiałami porno świetnie radzi sobie facebook). Problem pojawia się, kiedy na stronie ładuje się spamer. Blokujesz jego klucz, co daje mu chwilowego bana. Jednak on może spokojnie zresetować software od ISP i ma inny klucz. Znowu spamuje. Dlatego na to też znalazłem rozwiązanie – certyfikaty + flashcookies, które idealnie nadają się do swoistej personalizacji. Wystarczy, aby dana strona wymagała, aby użytkownik ściągnął do swojej przeglądarki certyfikat, który stworzy „nietykalne” miejsce w przeglądarce, działające jak dysk pojemnościowy, gdzie będzie przechowywać flashcookiesy. Kwestia jest taka, aby przeglądarka zapamiętywała na stałe takie rzeczy jak np. modyfikację certyfikatu, usunięcie cookiesów etc. na stałe.
Każdy użytkownik, dostaje konkretny certyfikat o konkretnym, unikalnym id. Jego wierna kopia (stan) przetrzymywana jest jako backup na serwerze strony www. Przeglądarka tworzy własną listę, gdzie zapisuje tylko nazwę certyfikatu i zapisuję (już teraz personalne ustawienia przeglądarek są zapisywane na serwerach google czy firefoxa, więc nie ma problemu). Definicji flashcookie nie chce mi się tłumaczyć, zawierają one podstawowe dane komputera/przeglądarki oraz dane przekazywane przez konkretnego usługodawcę, pozwalające na weryfikację w systemach filtrujących.
Na tej podstawie, w prosty i przyjemny sposób, można tworzyć pełną personalizację użytkowników dla konkretnych stron. Usunięcie spamera nie będzie problemem, a dodatkowo nie wystarczy mu tylko zmiana IP i wyczyszczenie cookiesów, by dostać ponowny dostęp do serwisu. Każdy dostaje swoistą łatkę, na zawsze.
Moja sieć gwarantuje tylko pełne i skuteczne zabezpieczenie danych personalnych wszystkich jej użytkowników. Jednak nie zabezpiecza przed analizami strukturowymi, analizami ruchu etc. Wystarczy, że organy ścigania będą współpracowały np. z facebookiem. Przykładowa sytuacja – osoba spersonalizowana na forum pedofilskim, przez swoją głupotę zalogowała się w tym samym momencie na facebooku. Dla służby nie jest problemem snifoowanie kluczów. Wysyłają zapytanie do facebooka o skojarzenie klucza takiego i takiego, o tej i takiej minucie/sekundzie/dniu/milisekundzie etc. a facebook ma obowiązek udostępnić zgromadzone dane (certyfikat + konto). Wystarczy? Wystarczy.
@Marcin
A w jaki sposób teraz zabezpieczają się przed niechcianymi plikami? Moja sieć działa na takich samych schematach, nie ma różnicy w zarządzaniu danymi.
No tak , wszystko pięknie i ładnie tylko jest jedno ALE …
Jeśli zostanie zmienione prawo zakazując tego typu działalności zostaniecie okrzyknięci przestępcami oraz zostaną wam przedstawione prawdopodobnie zarzuty o udziale w zorganizowanej grupie przestępczej :D
Tak działa oficjalna władza niezależnie od tego czy jest demokratyczna czy tzw. ludowa. Możecie sobie budować alternatywne sieci w stosunku do oficjalnych , monitorowanych przez służby ale miejcie się na baczności …
@Marcin: Nie słyszałem jeszcze o oprogramowaniu, które mogłoby automatycznie klasyfikować „golasów” ze zdjęcia pod kątem wieku. Jedyny w miarę rozsądny mechanizm to człowiek, na dodatek nie każdy (zazwyczaj seksuolog), który potrafi ocenić czy dana pornografia to jest „ta zła”.
Inne treści też raczej muszą być ocenianie przez ludzi znających temat. Ten sam utwór/film może być legalny lub nie w zależności od tego czy go kupiłeś czy nie. Nie da się przepuścić mp3 przez program aby stwierdzić, że to nielegalne.
Można natomiast, co robi np. ISO podpisywać cyfrowo PDF-y i patrzeć kto je rozpowszechnił. Oczywiście zawsze można powiedzieć, że włamali mi się na komputer i to nie ja. Zatem automatu nie ma i nie będzie.
No chyba, że wszczepią wszystkim czipy z kluczami prywatnymi i w czasie zakupu będą szyfrować pliki tak aby tylko jedna osoba mogła je odczytać…. No ale to już ostra jazda może być.
jako że moder się opierdziela (:P) poprzednia wiadomość skopiowana i zapisana, tak żeby nie zaginęła ^^
moderator juz na posterunku ;p
Muszę przyznać bardzo ciekawa dyskusja. Jedna chyba z lepszych jak na razie na sekurak.pl. Od Paru m-c czytam namiętnie i podziwiam autorów za poziom newsów.
Oby tak dalej !
@józek
Nie znam obecnego sposobu zabezpieczania. Choć widze to jako wymaganie wejściowe dla kogoś chycącego udostępniać treść w tego typu sieci.
Dla zainteresowanych (@MateuszM) oprogramowanie i sprzęt umożliwiający filtrowanie treści:
http://www.cisco.com/en/US/prod/collateral/iosswrel/ps6537/ps6586/ps6643/white_paper_c89-492776.html
https://en.wikipedia.org/wiki/Content-control_software
http://lifehacker.com/5312820/five-best-content-filtering-tools
Zygmunt, jakie prawo? Tworzenia wlasnych sieci w oparciu o rozwiazania autorskiego protokolu? Juz sa ograniczenia na pasma, powolane organy mowiace co wolno a czego nie, etc. wiec wcale bym sie nie zdziwil gdyby i tu doszukiwali sie dziury w calym Bo jesli mowisz o tor, to blokady spezaja na niczym, zawsze zostaje tunelowanie.
Piotr, bardzo ciekawa. Ale sie nam fdn, tfu tzn józek rozbrykał :D
@Arkadiusz
fdn? moją osobę można połączyć z kilkoma wypowiedziami na niebezpieczniku, nie chce by ktokolwiek kojarzył używane przeze mnie nicki na co dzień, chociaż nie maskuję mojego IP (a powinienem, jestem faszystą, rasistą, libertarianinem, wolnościowcem, patriotą, piratem – definicja prawdziwego najgorszego człowieka kryminału ostatnich lat, mam się czego bać sekuraku?). fdn to na pewno nie jeden z nicków, którymi się posługuję :)
@józek: A kibolem? Bo nawet faszysta i rasista bez szalika klubowego to łagodny baranek
@xyz
a kibicowanie Realowi od dziecka i Murinho (czyli pośrednio Chelsea) się liczy?
tylko nie mam szalika, ani nawet koszulki… :(