Re: darknet
Je ne vois pas en quoi un protocole UDP est plus dur a identifié qu'un TCP ? Il est très facile d'identifier des protocoles de jeux video qui recourt massivement à l'UDP. D'autant plus si cela ce passe sur des ports exotiques, beaucoup d'entreprises et sûrement de FAI doivent monitorer tous ce qui sort de l'ordinaire afin de détecter d'éventuelles attaques, botnets, etc.
UDP est stateless et la majorité des protocoles l'utilisant sont chiffrés (car il est facile de spoofer des paquets).
Bon exemple les jeux vidéos: tu connais beaucoup de jeux en ligne qui ne chiffrent pas ?
La question n'est pas de se connecter mais d'identifier le trafique et sa nature. Un FAI, la passerelle de l'université, de l'entreprise ou n'importe qui sur la route peut détecter le trafique sans avoir a se connecter.
S'il y a une signature quelconque qui rend le traffic identifiable oui. Là toute la question est de savoir quelle est la signature...
Question de stratégie, 20 connexions sur un port exotiques sont elles plus discrétisent que 200 connexions qui miment une protocole P2P ?
Je pense qu'il y a des idées a tirer des botnets qui sont assez fort pour camoufler leurs trafiques et leurs réseaux de command and controle.
Skype utilise communément 20 connexions simultanées en UDP si ton noeud devient un "super-noeud". Skype est chiffré... c'est un candidat idéal si on veut faire de la stéganographie.
La majorité des botnets utilisent TCP, c'est beaucoup plus simple (ils sont rarement décentralisés).
Je ne suis pas en train de dire que freenet n'est pas identifiable au niveau réseau... mais toutes les techniques que tu donnes là sont vouées à l'échec.
Pour identifier les donnés qui transite, oui pour détecter et bloquer le trafiques je n'en suis pas aussi sur. Tu parts de l'idée que l'attaquent veut s'en prendre aux donnés, ce qui me semble être un scénario assez peut probable. C'est tellement plus simple de tous récupérer en claire âpres une bonne descente de police.
La seule technique que je connaisse pour identifier freenet de manière "propre" n'a pas été citée.
Tant que l'on est dans un état de droit et que la présomption d'inocence reigne on ne peut pas t'envoyer la police comme ça. Le jour où on ne le sera plus il faut espérer que suffisament de gens fassent tourner un noeud freenet pour que les cibler aléatoirement ne soit pas viable.
[ Répondre ]
Re: moteur de recherche et surf internet anonyme
cela semble intéressant, mais est-ce qu'il existe un moteur de recherche pour le contenu de freenet, ou bien c'est impossible à faire ?
Non ce n'est pas impossible... mais il faut que quelqu'un de motivé indexe pour toi le contenu et publie son index.
Je vois qu'il existe le projet "librarian" qui semble pouvoir indexer un site existant (donc c'est à faire par le webmaster), mais autrement, cela serait bien de pouvoir accéder à ce qui existe déjà sans le connaître par avance. Par exemple un Chinois pourrait faire une recherche sur tous les sites freenet concernant son pays, il ne sera sans doute pas (plus que moi) intéressé par la "blacklist" des stars du showbiz s'étant "compromises" à offrir leur soutien au président français.
On a des annuaires qui catégorisent le contenu; ça remplit globalement la même fonction... Les moteurs de recherche n'ont pas toujours existés sur internet... Enfin si mais à une époque ils étaient si peut performants que tout le monde utilisait des annuaires (comme yahoo).
De plus, est-ce qu'il est possible d'utiliser le système en place pour surfer de manière anonyme ? Même exemple que plus haut, si freenet fonctionne différemment de Tor par exemple, un Chinois pourra l'utiliser pour visiter des sites internet existant, sans utiliser un autre logiciel, qui sera d'ailleurs peut-être bloqué dans son pays.
Non il n'y a pas de "pont" entre freenet et internet. Il n'est pas possible pour un chinnois de visiter un site internet existant sauf si celui-ci a déja été inséré sur freenet.
[ Répondre ]
Re: darknet
T'as des liens ?
http://wiki.freenetproject.org/FreenetZeroPointSevenSecurity
3) Non le protocole n'est pas sensible aux attaques man in the middle; comme tout protocole d'échange de clef qui se respecte, on utilise une variante d'un echange Diffie Helman
Heu je te suis pas. http://en.wikipedia.org/wiki/Diffie-Hellman#Authentication
In the original description, the Diffie-Hellman exchange by itself does not provide authentication of the communicating parties and is thus vulnerable to a man-in-the-middle attack.
Du coup il faut authentifier les personnes avec lesquels on parle, ce qui n'est pas forcement simple si tu considère qu'il peut y avoir plein de personnes compromises tout autour de toi.
On utilise une variante authentifiée et résistante aux DoS (Just Fast Keying) http://people.csail.mit.edu/canetti/materials/jfk.pdf
4) Non, un noeud freenet ne peut pas être port-scanné même de manière active. Il n'y a pas de message de rejet dans le protocole; si les noeuds ne se comprennent pas ils s'ignorent
Oui mais qu'est ce qui déclenche le fait qu'il se comprenne. Comment 2 clients officiels font pour établir une connection ?
Ils connaissent leur identités et clefs publiques respectives *avant* de communiquer ensemble. Dans le cas du "darknet" il faut échanger une référence et dans le cas de l'opennet c'est automatique... Seul les "seednotes" (noeuds d'introduction) de l'opennet sont identifiables avec un scan actif. Mais ça sert à rien vu qu'ils sont déjà connus.
Et comment tu connais les noeuds authentifié au départ
Pour l'opennet une liste est téléchargée durant l'installation (http://downloads.freenetproject.org/alpha/opennet/seednodes.(...) )par l'installeur.
En ce qui concerne le darknet, c'est toi, l'utilisateur qui est sensé faire la vérification "offband" de l'identité des personnes avec lesquelles tu échanges la référence de ton noeud.
Donc il suffit au FAI de faire du phishing sur ce serveur pour fourni une liste de nodes toutes corrompues.
Pour l'opennet, oui ... sauf que le fichier est signé et qu'il ne peut donc pas être altéré par le FAI (sauf si l'installeur est lui aussi modifié).
It establishes an encrypted connection with the node, without initially being routable.
Elle est ou l'authentification ? Le noeud d'entré m'a l'air d'accepter des connections de n'importe qui.
Oui les seednotes acceptent toutes les connections... mais elles ne routent pas de traffic et ne sont nécessaires que pour l'opennet.
Qu'on se comprenne bien: l'opennet est blocable, pas facilement (vu que tout noeud peut être/devenir seednode) mais il est blocable... Le darknet ne l'est pas.
[ Répondre ]
Re: darknet
Le protocole de Freenet est chiffré, a priori rien ne permet de l'identifier.
Sauf qu'avant d'être chiffré, il y a une initialisation pour se mettre d'accord sur le chiffrement.
- Cet échange est il commun, de tel sorte que l'on ne puisse pas reconnaître freenet.
- Est il sensible à des attaques man in the middle.
- Un FAI qui connait les gens qui parle en chiffé ne peut il pas essayer de lancer une connection de type freenet sur ces machines et suivant la réponse déterminer si freenet tourne dessus.
Renseignes toi un petit peut avant de dire des conneries :)
Pour info, j'ai mentoré quelqu'un qui travaillait sur cette partie du code l'été dernier (http://code.google.com/soc/2007/freenet/appinfo.html?csaid=B(...) ).
Alors, dans l'ordre:
1) Non il n'y a pas de négociation en clair (il y a deux niveaux de chiffrement: une couche d'obfuscation et une "vrai" couche de crypto)
2) Non les clefs de la couche d'obfuscation ne sont pas fixes (sauf en opennet ou celles des seednodes sont publiques)
3) Non le protocole n'est pas sensible aux attaques man in the middle; comme tout protocole d'échange de clef qui se respecte, on utilise une variante d'un echange Diffie Helman
4) Non, un noeud freenet ne peut pas être port-scanné même de manière active. Il n'y a pas de message de rejet dans le protocole; si les noeuds ne se comprennent pas ils s'ignorent
Ensuite même si le flux est crypté, celui-ci à quand même des caractéristiques. A la louche :
- il ne sort pas sur des ports standard (pas https, ssh, ...)
- Tu émets des connections chiffré, mais tu en acceptes aussi ( ca pue le p2p : 90 % des gens ne font pas serveur)
- nombre de connection vers ta machine
1) Le fait qu'on utilise pas des ports standards est aussi une des caractéristiques qui font que le protocole est difficile à identifier. Là tu cites deux protocoles qui utilisent TCP, nous on utilise UDP.
2) Tu n'acceptes que les connections venant de noeuds "authentifiés"; pas les connections venant de n'importe qui! (cf http://wiki.freenetproject.org/OpennetDesign )
3) Un noeud freenet n'établit pas plus de 20 connections vers d'autre noeuds... Les logiciels de p2p classique en ont plusieur centaines!
Je ne suis pas en train de dire que freenet n'est pas identifiable au niveau réseau... mais toutes les techniques que tu donnes là sont vouées à l'échec.
Et puis je serais un gouvernement de type chinois j'interdirais toutes les connections chiffrés que je ne sais pas casser.
Ca c'est un autre débat... et c'est là qu'interviennent les transports stéganographiques :)
[ Répondre ]
Re: darknet
Par contre comme populaire est parfois incompatible avec la qualité d'un document, y-a-t il un moyen de protection des fichier faiblement demandé pour leur éviter de disparaître ?
Il suffit de demander à y accéder ou de le réinsérer régulièrement
[ Répondre ]
Re: Freenet et éthique
Va convaincre le gouvernement Chinoix, Nord-coréen, Emirats Arabes Unis...
Freenet n'a pas été initialement développé dans ces pays. J'imagine donc que, au moins pour les intentions initiales, la vocation de freenet s'applique plutôt aux pays occidentaux où, tu le soulignes bien, le problème de la liberté d'expression se pose tout à fait différemment.
Non freenet a une vocation beaucoup plus large... Et où as tu vu que freenet était développé en europe ? Le project-leader est aux states, je suis en corée, ...
[ Répondre ]
Re: Comment fonctionne l'anonymat ?
se connecter (...) directement aux noeuds de ses amis
Hum, comment fait un tibétain qui n'a pas d'ami dans Freenet ? Enfin, disons qu'il ne veut pas mouiller ses amis dans ses affaires de publication de documents top secrets. De mémoire, il faut échanger son IP avec des inconnus sur IRC en clair. Je ne comprend pas trop comment cette étape peut garantir l'anonymat justement. Est-ce que le gouvernement chinois ne pourrait se débrouiller pour inscrire les tibétains à leur réseau pour faciliter l'espionnage ?
L'idée est que tu as des rapports sociaux avec tes amis... donc que tu échanges déjà régulièrement des données avec eux. Que ce soit par email, skype, un jeu vidéo quelconque, ... ce sont des transferts de données récurents qui ne paraissent pas forcément anormaux si le gouvernement fait une analyse de flux sur les données que tu envoies à ton FAI.
À ce que j'ai compris, on dessine manuellement le routage : les paquets ne passent que par nos soit disant « amis ».
Il se trouve que les réseaux sociaux (le fait de se connecter à ses amis) produit une topologie sur laquelle il est facile de router des informations efficacement (Small_world_network).
Or si tous nos amis sont des espions, ne peuvent-ils pas mesurer le temps de réponse pour certaines données, et donc savoir si on a la donnée en cache, voir même si on est à l'origine du document ?
Hmm, il y a plusieur choses qui entrent en jeux ici:
1) Si tous tes amis sont des espions oui bien sûr ton anonymat est compromis. D'un autre coté, si toi même, humain passant les tests de Turing n'est pas capable de te connecter à des gens qui ne sont pas des espions, comment penses tu que Freenet (programme du monde des machines ;)) puisse ?
2) Mesurer le temps de réponse ne sert à rien. Freenet fonctionne comme une table de hashage distribuée ayant de nombreux niveaux de cache; Ni la latence ni le débit de téléchargement ne peuvent te donner des données utiles. De plus, tu ne connais pas forcément les amis de tes amis: ton amis peut avoir des données dans son cache local car un de ses amis a demandé à son noeud de les forwarder; ça n'implique pas que l'amis que tu connais et auquel tu es connecté ait accédé aux données lui même (plausible deniability).
3) Non, il n'est pas possible d'intérroger un "cache" à distance: Nous utilisons deux niveaux de cache pour le stockage (stockage long-terme et 'cache' réel)
Plus d'infos sur http://wiki.freenetproject.org/FreenetZeroPointSevenSecurity
C'est pour cette raison que l'"opennet" (mode hybride) a été implémenté.
Comment fonctionne ce mode ? Est-ce simplement une automatisation de l'étape d'inscription du mode darknet ?
Là je te renvois à la doc :) Oui le mode opennet choisira des "amis" pour toi.
http://wiki.freenetproject.org/OpennetDesign
http://wiki.freenetproject.org/OpennetAttacks
[ Répondre ]
Re: freenet
>>java n'est pas fondalementalement plus lent que le que le C"
>pour moi fondamentalement il l'est. Le C est compilé (qui plus peut l'etre avec des options de compil specialement étudiée) et le java non. Mais dans la pratique tu as raison: cela dépend des développeurs :)
heuh... Le java est pre-compilé (transformé en bytecode) et ensuite "optimisé" à l'exécution (JIT & co)... Toutes les optimisations que tu peux avoir lors d'une compilation sont transposables au bytecode... Sauf qu'en C tu peux plus optimiser à la volée après vu qu'il n'y a pas de machine virtuelle.
Tu n'as certainement pas lu le lien que j'ai mis dans mon message...
Il est clair que toute machine virtuelle introduit un "overhead"... et que comparé a du code natif parfait il sera plus lent...
La question c'est combien de temps peux-tu consacrer à optimiser/debugger ton code ? Si la réponse est "pas beaucoup" alors il n'est pas évident que ce soit plus rapide sans machine vituelle... Pour te donner un exemple, on a des parties de freenet écrit en assembleur (pour la crypto)... on a "vraiment" optimisé une section critique du code... pas le reste.
>Ce qui me pose problème par exemple c'est la gestion cpu et mémoire - des developpeurs on reussit a faire utiliser 500 mo de mémoire à leur jvm pour l'affichage du suivi de 40000 transferts par exemple - peut etre n'utilisent ils pas correctement le GC ?
Des gens qui savent pas coder codent dans tous les languages... dont le java, oui.
>De plus je trouve l'acces fichier en java lourd en terme de code par rapport a ce qui se fait en C et donc en terme de perf je me dis que ca peut avoir un impact sur les perf ?
Gnih??? parse-error.
En quoi la "lourdeur du code" (j'interprète: de la syntaxe) peut-elle avoir un impact quelconque sur les perfs ?
>1) l'exploitation des ipc en java... d'apres mes connaissance actuelle elles ne sont tous simplement pas exploitable ?
Heuh, si tu connais le C et pas le java .... oui t'iras plus vite à coder en C.
Java c'est un language de haut niveau, tu ne manipules pas les IPCs directement... prenont un exemple : la synchronisation: c'est fait à base de moniteurs (java <=1.4) et uniquement de moniteurs.
>2) l'exploitation des memoire flash... j'ai vu ici ou la des developpement java à ce propos, mais malheuresement aucun tutorial d'implementation par exemple....
C'est pas propre au language ça.
[ Répondre ]
freenet
Je suis dévelopeur freenet et je confirme que c'est *vieux* :)
Viens sur #freenet (irc.freenode.net) pour en discuter si tu veux...
Tout dépend de la taille des messages à echanger, leur nombre, ...
Et non, java n'est pas fondalementalement plus lent que le C, surtout pour faire ce genre de choses. La JVM met un temps certain à se charger... mais si ton programme est bien écrit elle n'est chargée qu'une seule fois.
Je recommande la lecture de http://www-128.ibm.com/developerworks/java/library/j-jtp09275.html?ca=dgr-jw22JavaUrbanLegends
[ Répondre ]
le bios!
Le problème c'est le BIOS...
http://pair.offshore.ai/pic/
http://www.gensw.com/pages/stories/amdpicst.htm
http://www.gensw.com/pages/prod/fwapp/bootsec.htm
[ Répondre ]
Re: Le piratage, c'est m@l !
Le système juridique français est bâti comme une pyramide : constitution, lois, décrets, ...
Tu ne peux en théorie pas revenir sur la présomption d'innocence (ou alors le système n'est plus intègre)...Je sais bien que dans la pratique c'est pas toujours le cas :/
Freenet à pour but de lutter contre la censure : si le système n'est pas intègre la seule solution restante est de lutter activement contre lui : résister. Bien sûr cela comporte des risques (faire tourner un noeud peut devenir répréhensible comme tu l'as souligné)... mais tout est fait pour que la détection de celui-ci soit techniquement impossible et dans tous les cas trop couteuse pour être mise en place.
"Là les auteurs sont visés mais on peut penser que les utilisateurs pourraient également être des cibles." => c'est bien là le problème de cette lois amha : pour faire une analogie, on n'emprisonne pas les marchands d'armes mais les meurtriers : ce que propose dadvsi c'est d'inverser la logique (eh oui, il est techniquement difficile de mettre en taule la majorité de son électorat)
[ Répondre ]
Re: Le piratage, c'est m@l !
La subtilité avec freenet est que la clef publique permettant de lire le contenu est contenue dans l'URI: si tu n'as pas demandé le contenu tu ne la possèdes pas... donc coopérer avec la justice ne les aidera pas.
La majorité des chefs d'accusation retenus contre les gens qui sont poursuivis est quelque chose du genre "mise à disposition de contenu copyrighté"... ce n'est pas une accusation valable avec freenet vu que tu ne le fais pas sciemment et que dans tous les cas on ne peut rien prouver.
[ Répondre ]
The Freenet Project
Freenet a candidaté de nouveau cette année.
Il y a plein de choses intéressantes à faire. Si vous cherchez un projet sympa, avant gardiste et un poil utopique, que vous ne comptez pas vos heures et que communiquer dans la langue de Shakespear ne vous effraie pas, Freenet est fait pour vous!
Pour répondre à la question trollistique qui ne manquera pas d'être posée :
Oui, freenet est écrit en java et Non, on est pas obtus au point de refuser systématiquement toute proposition d'implémentation dans un autre langage.
Pour information, il y a eu 4 étudiants du summer of code google qui ont travaillés sur le projet l'année dernière. Nous étions deux français parmis les quatre. Tous les projets se sont déroulés "normalement" ... et tous les étudiants sélectionnés contribuent encore régulièrement.
http://freenetproject.org
http://wiki.freenetproject.org/SummerOfCode2007
http://archives.freenetproject.org/message/20070310.211702.e(...)
http://code.google.com/soc/2006/freenet/about.html
[ Répondre ]
oui
Oui c'est possible :
1) établir un "pont" [1]
2) Utiliser ebtables [2] pour que le traffic ne passe que dans un sens
Et oui, il est possible de faire ça par vlan (en passant son interface ethernet en mode trunking grace à vconfig [3])
[1] http://linux-net.osdl.org/index.php/Bridge
[2] http://ebtables.sourceforge.net/
[3] http://www.candelatech.com/~greear/vlan.html
[ Répondre ]
Les PICs
Tiens, ça ressemble à ce qui est arrivé avec les PICs :
http://www.amdboard.com/pic.html
http://arstechnica.com/news.ars/post/20061112-8201.html
qui a dit que l'histoire ne se répétait pas ?
[ Répondre ]


Re: Et pour les gens qui veulent utiliser autre chose que tor
hmm, une seule page de doc, pas de code... c'est quoi? une tentative de réinventer freenet? :)
En quoi est-ce différent?
http://freenetproject.org
NextGen$
We love our country, but fear our government.
[ Répondre ]