După un an de dezvoltare, a fost lansată platforma web descentralizată , care oferă utilizarea mecanismelor de adresare și verificare Bitcoin în combinație cu tehnologiile de livrare distribuită BitTorrent pentru a crea site-uri care nu pot fi cenzurate, falsificate sau blocate. Conținutul site-urilor este stocat într-o rețea P2P pe mașinile vizitatorilor și este verificat prin semnătura digitală a proprietarului. Pentru adresare se utilizează o sistem de DNS-uri rădăcină alternative . Proiectul este scris în Python și sub licența GPLv2.
Datele gazduite pe site sunt verificate și legate de contul proprietarului site-ului într-un mod similar cu legătura dintre portofelele Bitcoin, ceea ce permite, de asemenea, controlul actualității informațiilor și actualizarea conținutului în timp real. Pentru ascunderea adreselor IP poate fi utilizată o rețea anonimă Tor, suportul căreia este încorporat în ZeroNet. Utilizatorul participă la distribuirea tuturor site-urilor accesate. După descărcarea pe sistemul local, fișierele sunt salvate în cache și devin disponibile pentru distribuire de pe mașina curentă, folosind metode asemănătoare BitTorrent.
Pentru a vizualiza site-urile ZeroNet, este suficient să rulezi scriptul zeronet.py, după care poți deschide site-urile în browser prin URL „http://127.0.0.1:43110/adresă_zeronet” (de exemplu, „http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). La deschiderea site-ului, programul găsește cei mai apropiați peer și încarcă fișierele asociate cu pagina solicitată (html, css, imagini etc.).
Pentru a crea propriul site, este suficient să rulezi comanda „zeronet.py siteCreate”, după care va fi generat un identificator de site și o cheie privată pentru a confirma autoritatea prin semnătură digitală.
Pentru site-ul creat, va fi format un director gol de tipul „data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. După ce conținutul acestui director este modificat, este necesară certificarea noii versiuni prin comanda „zeronet.py siteSign identificator_site” și introducerea cheii private. Odată ce noul conținut este certificat, trebuie anunțat prin comanda „zeronet.py sitePublish identificator_site”, pentru ca versiunea modificată să devină disponibilă pentru peer (pentru anunțarea modificărilor se folosește API WebSocket). Pe baza lanțului, peer-ii vor verifica integritatea noii versiuni prin semnătura digitală, vor încărca noul conținut și îl vor transmite altor peer.
Principalele :
- Lipsește un singur punct de eșec - site-ul rămâne accesibil dacă există măcar un peer în rețea;
- Lipsește un depozit de referință al site-ului - site-ul nu poate fi închis prin deconectarea gazdei, deoarece datele sunt stocate pe toate mașinile vizitatorilor;
- Toate informațiile anterior vizualizate sunt în cache și disponibile pe mașina curentă în mod offline, fără acces la rețeaua globală.
- Suport pentru actualizarea conținutului în timp real;
- Posibilitatea adresării prin înregistrarea unui domeniu în zona „.bit”;
- Funcționează fără configurație prealabilă - este suficient să dezarhivezi arhiva cu software-ul și să rulezi un script;
- Posibilitatea clonării site-urilor cu un singur clic;
- Autentificare fără parolă bazată pe formatul : contul este protejat prin aceeași metodă criptografică utilizată pentru criptomoneda Bitcoin;
- Server SQL încorporat cu funcții de sincronizare P2P a datelor;
- Posibilitatea utilizării Tor pentru anonimat și suport complet pentru utilizarea serviciilor ascunse Tor (.onion) în loc de adrese IPv4;
- Suport pentru criptarea TLS;
- Accesibilitate automată prin uPnP;
- Posibilitatea atașării mai multor autori la site, fiecare având semnături digitale diferite;
- Există un plugin pentru crearea de configurații multi-utilizator (openproxy);
- Suport pentru retransmiterea fluxurilor de știri;
- Funcționează în orice browsere și sisteme de operare.
Principalele modificări în ZeroNet 0.7
- Codul a fost refăcut pentru a susține Python3, asigurându-se compatibilitate cu Python 3.4-3.8;
- A fost implementat un mod sigur de sincronizare a bazei de date;
- După cum este posibil, livrarea bibliotecilor externe a fost sistată, în favoarea dependențelor externe;
- Codul pentru verificarea semnăturilor digitale a fost accelerat de 5-10 ori (a fost utilizată biblioteca libsecp256k1;
- Adăugată randomizarea certificatelor deja generate pentru a ocoli filtrele;
- Codul P2P a fost îmbunătățit, fiind transformat pentru a utiliza protocolul ZeroNet;
- Adăugat un mod de funcționare în Offline;
- Adăugat un plugin UiPluginManager pentru instalarea și gestionarea pluginurilor terțe;
- Asigurată suport complet pentru OpenSSL 1.1;
- La conectarea la peer-uri, sunt folosite înregistrări SNI și ALPN fictive pentru a face conexiunile să pară mai asemănătoare cu accesările site-urilor obișnuite prin HTTPS;
În aceeași zi cu lansarea ZeroNet 0.7.0 actualizarea 0.7.1, care remediază o vulnerabilitate periculoasă, ce poate permite executarea de cod pe partea clientului. Din cauza unei erori în codul care redă variabilele șablon, un site extern deschis poate stabili o conexiune cu sistemul clientului prin WebSocket cu drepturi nelimitate ADMIN/NOSANDBOX, oferind posibilitatea de a modifica parametrii de configurare și de a realiza executarea codului propriu pe computerul utilizatorului prin manipularea parametrului open_browser.
Vulnerabilitatea se manifestă în ramura 0.7 și în versiunile experimentale începând de la revizia (modificare efectuată acum 20 de zile).
Sursa: opennet.ro
