Llançament de ZeroNet 0.7, una plataforma per crear llocs web descentralitzats

Després d'un any de desenvolupament, es va llançar el llançament d'una plataforma web descentralitzada ZeroNet 0.7, que proposa utilitzar els mecanismes d'adreçament i verificació de Bitcoin en combinació amb les tecnologies de lliurament distribuït de BitTorrent per crear llocs que no es poden censurar, falsificar o bloquejar. El contingut dels llocs s'emmagatzema en una xarxa P2P a les màquines dels visitants i es verifica mitjançant la signatura digital del propietari. Per a l'adreçament s'utilitza un sistema de servidors DNS arrel alternatius Namecoin. El projecte està escrit en Python i Distribuït per amb llicència GPLv2.

Les dades publicades al lloc es verifiquen i es vinculen al compte del propietari del lloc, de manera similar a l'enllaç de carteres Bitcoin, que també permet controlar la rellevància de la informació i actualitzar el contingut en temps real. Per ocultar adreces IP, es pot utilitzar la xarxa Tor anònima, el suport per a la qual està integrat a ZeroNet. L'usuari participa en la distribució de tots els llocs als quals va accedir. Un cop descarregats al sistema local, els fitxers s'emmagatzemen a la memòria cau i estan disponibles per a la seva distribució des de la màquina actual mitjançant mètodes que recorden BitTorrent.

Per veure els llocs ZeroNet, només cal que executeu l'script zeronet.py, després del qual podeu obrir llocs al navegador mitjançant l'URL "http://127.0.0.1:43110/zeronet_address" (per exemple, "http://127.0.0.1") :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). En obrir un lloc web, el programa troba companys propers i descarrega fitxers associats a la pàgina sol·licitada (html, css, imatges, etc.).
Per crear el vostre lloc, només heu d'executar l'ordre "zeronet.py siteCreate", després del qual es generaran un identificador de lloc i una clau privada per confirmar l'autoria mitjançant una signatura digital.

Per al lloc creat, es crearà un directori buit de la forma "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". Després de canviar el contingut d'aquest directori, la nova versió s'ha de certificar mitjançant l'ordre "zeronet.py siteSign site_identifier" i introduint la clau privada. Un cop verificat el nou contingut, s'ha d'anunciar amb l'ordre "zeronet.py sitePublish site_id" perquè la versió canviada estigui disponible per als companys (l'API de WebSocket s'utilitza per anunciar els canvis). Al llarg de la cadena, els companys comprovaran la integritat de la nova versió mitjançant una signatura digital, descarregaran el nou contingut i el transferiran a altres companys.

El principal oportunitats:

  • No hi ha un únic punt de fallada: el lloc continua sent accessible si hi ha almenys un parell a la distribució;
  • Manca d'emmagatzematge de referència per al lloc: el lloc no es pot tancar desconnectant l'allotjament, ja que les dades es troben a totes les màquines dels visitants;
  • Tota la informació visualitzada prèviament es troba a la memòria cau i és accessible des de la màquina actual en mode fora de línia, sense accés a la xarxa global.
  • Admet l'actualització de contingut en temps real;
  • Possibilitat d'adreçament mitjançant registre de domini a la zona “.bit”;
  • Treballeu sense una configuració prèvia: només heu de descomprimir l'arxiu amb el programari i executar un script;
  • Possibilitat de clonar llocs web amb un sol clic;
  • Autenticació sense contrasenya basada en format BIP32: el compte està protegit pel mateix mètode criptogràfic que la criptomoneda Bitcoin;
  • Servidor SQL integrat amb funcions de sincronització de dades P2P;
  • La capacitat d'utilitzar Tor per a l'anonimat i el suport total per utilitzar els serveis ocults de Tor (.onion) en lloc d'adreces IPv4;
  • Suport de xifratge TLS;
  • Accessibilitat automàtica mitjançant uPnP;
  • Possibilitat d'adjuntar diversos autors amb diferents signatures digitals al lloc;
  • Disponibilitat d'un connector per crear configuracions multiusuari (openproxy);
  • Suport per a la difusió de notícies;
  • Funciona en qualsevol navegador i sistema operatiu.

Canvis importants a ZeroNet 0.7

  • El codi s'ha reelaborat per donar suport a Python3, garantint la compatibilitat amb Python 3.4-3.8;
  • S'ha implementat un mode de sincronització de bases de dades protegits;
  • Quan és possible, la distribució principal de biblioteques de tercers s'ha interromput a favor de dependències externes;
  • El codi per verificar les signatures digitals s'ha accelerat de 5 a 10 vegades (s'utilitza la biblioteca libsecp256k1;
  • S'ha afegit l'aleatorització dels certificats ja generats per evitar els filtres;
  • El codi P2P s'ha actualitzat per utilitzar el protocol ZeroNet;
  • S'ha afegit el mode fora de línia;
  • S'ha afegit el connector UiPluginManager per instal·lar i gestionar connectors de tercers;
  • Es proporciona suport complet per a OpenSSL 1.1;
  • Quan us connecteu als companys, s'utilitzen registres SNI i ALPN ficticis per fer que les connexions siguin més semblants a les trucades a llocs habituals mitjançant HTTPS;

El mateix dia que el llançament de ZeroNet 0.7.0 format actualització 0.7.1, que elimina una vulnerabilitat perillosa que pot permetre l'execució de codi al costat del client. A causa d'un error en el codi per a la representació de les variables de la plantilla, un lloc extern obert pot establir una connexió al sistema client mitjançant WebSocket amb drets ADMIN/NOSANDBOX il·limitats, la qual cosa permet canviar els paràmetres de configuració i executar el seu codi a l'ordinador de l'usuari mitjançant manipulacions amb el paràmetre open_browser.
La vulnerabilitat apareix a la branca 0.7, així com a les compilacions experimentals a partir de la revisió 4188 (canvi fet fa 20 dies).

Font: opennet.ru

Afegeix comentari