• Home
  • What's Tribler
  • Download
  • FAQ
  • Forum
Tribler

Wiki Navigation


P2P Widgets

Goal is to generalise the notion of a plugin, widget, and mashup within a P2P architecture.

Status: initial design and 1st lines of code

Key to !P2PWidgets is the zero-server requirement for the whole software directory listing and software distribution plus update process. !P2PWidgets have access to four types of information: social network information, web 2.0 information, other running P2PWidget instances, and Bittorrent content. Our leading examples are Facebook for their directory listing and rating of widgets, Sourceforge which facilitates an active developers community, and Greasemonkey which provides a generic mashup solution.

In short, evolutionary biology is applied to a software ecosystem.

Support for P2P widgets or modules/plug-ins

  • Define P2P widgets API
  • Create several P2P widgets as examples
  • Include a repository of P2P widgets
  • Open Source only

Combining Web 2.0 with P2P:

Expanding the plug-in model towards greasemonkey, pipies, widgets... User-programmable!

P2PWidget architecture:

  • Storage of MP3/AVI/JPG using Bittorrent/Tribler
  • Communicate across an overlay with equal P2PWidgets
  • Access to social network
  • Website integration with Greasemonkey
  • HTTP/RSS/FTP

http://azureus.sourceforge.net/plugin_list.php http://www.facebook.com/apps/ 15000+ apps http://en.wikipedia.org/wiki/Greasemonkey http://www.lifehack.org/articles/productivity/top-10-greasemonkey-scripts-to-improve-your-productivity.html 10.000+ scripts: http://userscripts.org/scripts/show/22639 http://pipes.yahoo.com/pipes/pipe.info?_id=7hu75gzd2xGcqdSolfXiAA http://www.google.com/ig/directory disruptive

Research assignment

status: initial research by Delft msc student Alain van den Berg

Draft list of topics to find 20+ scientific publications on P2PWidgets

  • User-generated code
  • security and sandboxing
  • Deployed widget systems and algorithms (still client/server)
  • Zero-server Repository of widgets and discovery algorithms
  • DDoS, Malware and Spyware prevention
  • Existing Python frameworks

Research

Deployed widget systems

  • Eclipse (Plugin engine + plugins, Extensions & Extension points)
  • Google Desktop Gadgets
  • Youserve (P2P!)
  • Spamato (List required plugin permissions explicitly)
  • Facebook apps
  • Greasemonkey scripts

interesting points:

  • central site to find widgets.
  • category based
  • reputation per widget author (Google Desktop Gadgets)
  • comments (with rating) on widgets
  • Top Rated, Newest, Most Active widgets...
  • Documentation about the Widget API! (P2PWiki ?)

Zero-server Repository

The main goal of a zero-server repository is be able to store widgets without one single server and to be able to find them. For a zero-server widget repository, other aspects play a role, like the ones in a centralized widget repository (Metadata):

  • Security measures (Reputation system)
  • reputation system: ratings and comments
  • categorize widgets (tags) (metadata)
  • Thus, metadata management
  • Find updates for widgets
  • Pollution prevention

Update management:

  • uuids to identify a widget (hash wouldnt work!)
  • epidemic protocol

Storage of comments:

  • Most current P2P systems use a DHT to store and retrieve comments on torrents/files.

Distributed storage:

  • Project Cassandra (P2P Bigtable)
  • DHT (e.g. Khashmir) Drawback: only exact matches. Prefix Hash Trees.
  • Chord
  • Pastry
  • Gossiping/epidemic protocols

Security and sandboxing

Without prevention, P2P widgets give easy access to creation of malicious widgets. Normal widget systems have a centralized repository where the widgets are stored for downloading. With moderators checking submitted plugins, the plugins which can be downloaded are already checked.

In a P2P Widget repository without security measures, everyone would be able to submit their (malicious) widget and everybody could directly download and use it.

Threats

  • DDoS (Distributed Denial of Service attack)
  • Malware/Spyware widgets

Prevention:

  • Code signing
  • List permissions required and block everything else
  • Security policies
  • warn user that it is running 3rd party
  • Social Sandbox: Reputation system for widgets or authors.
  • Restrict the scripting language

Restricted execution of widget code

Running widget code in a restricted mode would require things like editing the source code to make sure it doesn't execute malicious things (compile time, like RestrictedPython?) or interpret the language (Python or another scripting language) and make sure the interpreter doesn't execute malicious code (runtime).

Current restricted execution environments are mostly restricting access to for example the file system, sockets, IO components. Another form of restricting the widget is Resource Limitation, which would prevent the widget from taking all CPU, internet access (to be used by a DDoS attack for example)

Restrict python:

  • Zope's RestrictedPython
  • PyPy's sandbox execution of RPython
  • Bastion rexec. e.g. Grail uses this deprecated library for its plugins

Other scripting languages

Other scripting languages would require an interpreter which restricts the language to some sort.

  • Javascript
  • Lua

Related work

Deployed widget systems papers

P2P Sharing of Web Applications R. Bayardo et al IBM Research Report RJ10268
Eclipse Technical Overview Object Institution Inc. --
Spamato Plugin Report Remo Meier Semester Project report

Zero Server Repository Papers

Directory service

A survey of peer-to-peer content distribution technologies Stephanos Androutsellis-Theotokis et al ACM Comput. Surv.
Survey of Research towards Robust Peer-to-Peer Networks: Search Methods John Risson et al Tech Report
Dl meets p2p - distributed document retrieval based on classification and content Wolf-tilo Balke et al In ECDL
PlanetP: using gossiping to build content addressable peer-to-peer information sharing communities Cuenca-Acuna et al Proc. 12th IEEE International Symposium on High Performance Distributed Computing
Peersearch: Efficient information retrieval in peer-to-peer networks Chunqiang Tang et al In Proceedings of HotNets?-I, ACM SIGCOMM
Distributed object location in a dynamic network Kirsten Hildrum et al SPAA '02: Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures

Reputation systems

Trust and Reputation Model in P2P Networks Wang et al Proc. Third International Conference on Peer-to-Peer Computing (P2P 2003)
Reputation in p2p anonymity systems Roger Dingledine In Workshop on Economics of Peer-to-Peer Systems
The Eigentrust algorithm for reputation management in P2P networks Kamvar et al 12th WWW conference
A social mechanism of reputation management in electronic communities Bin Yu et al In Proceedings of Fourth International Workshop on Cooperative Information Agents
On Distributed Rating Systems for Peer-to-Peer Networks YE TIAN et al COMPUTER JOURNAL 2008, VOL 51
PeerTrust: supporting reputation-based trust for peer-to-peer electronic communities Li Xiong et al IEEE Transactions on Knowledge and Data Engineering, 2004, 16
The Design of A Distributed Rating Scheme for Peer-to-peer Systems Debojyoti Dutta et al In Workshop on Economics of Peer-to-Peer Systems

Security Papers

DDoS

Exploiting P2P systems for DDoS attacks Naoum Naoumov et al InfoScale? '06: Proceedings of the 1st international conference on Scalable information systems
DDoS Attacks using P2P Networks Kohli et al --

Pollution

Content Availibility, Pollution and Poisoning Christin et al ACM E-Commerce Conference
Pollution in P2P File Sharing Systems J. Liang et al IEEE Infocom

Malicious Code

Attacking malicious code: a report to the Infosec Research Council McGraw?, G. et al IEEE Software
Mobile code security Rubin et al IEEE Internet Computing
Project transprose: Reconciling mobile-code security with execution efficiency Wolfram Amme et al In DARPA Information Survivability Conference and Exposition

Proof Carrying code

Trust Management and ProofCarrying Code in Secure Mobile-Code Applications Joan Feigenbaum et al In DARPA Workshop on Foundations for Secure Mobile Code Workshop. DARPA
Proof-carrying code George Necula POPL '97: Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Research on Proof-Carrying Code on Mobile-Code Security Peter Lee and George Necula Proceedings of the Workshop on Foundations of Mobile Code Security

Sandbox model/Security Policies

Specifying runtime environments and functionalities of downloadable components under the sandbox model Kaiya, H. and Kaijiri, K. Proc. International Symposium on Principles of Software Evolution
Usable Security Policies for Runtime Environments Almut Herzog et al Thesis

Attachments

  • P2P Sharing of Web Applications.pdf (31.4 kB) -YouServe?'s Plugin System, Sharing Plugins in a P2P way, added by amvandenberg on 09/15/08 13:02:35.
  • spamato_plugin_report.pdf (288.9 kB) -Spamato Plugin Report, added by amvandenberg on 09/15/08 13:03:26.
  • p2pddos.pdf (184.3 kB) -Paper about P2P DDoS attacks, added by amvandenberg on 09/15/08 13:03:51.
  • p2pddos2.pdf (250.7 kB) -Another Paper about P2P DDoS attacks, added by amvandenberg on 09/15/08 13:04:12.
  • ChristinWeigendChuang2005.pdf (271.5 kB) -P2P Pollution and Poisoning prevention, added by amvandenberg on 09/15/08 13:05:43.
  • maliciouscode.pdf (51.2 kB) -Defense against malicious code, added by amvandenberg on 09/15/08 13:11:06.
  • MaliciousFirefoxExtensions.pdf (164.1 kB) -Malicious Firefox extensions, added by amvandenberg on 09/15/08 13:11:41.
  • ProofCarryingCode_Mobile-code.pdf (130.4 kB) -Proof Carrying Code paper2, added by amvandenberg on 09/15/08 13:13:05.
  • Sandbox model.pdf (408.9 kB) -Specifying runtime environments and functionalities, added by amvandenberg on 09/15/08 13:15:27.
  • Usable Security Policies for Runtime Environments (Also Resource Limitation).pdf (1.5 MB) - added by amvandenberg on 09/15/08 13:16:26.
  • edutella_cn03_submission.pdf (332.8 kB) -Edutella: P2P and metadata, added by amvandenberg on 09/15/08 13:18:24.
  • Kademlia.pdf (149.8 kB) -Kademlia DHT, added by amvandenberg on 09/15/08 13:20:05.
  • JXTAsearch.pdf (481.4 kB) - added by amvandenberg on 09/15/08 13:20:47.
  • Scalable content-addressable network.pdf (152.0 kB) -CAN, added by amvandenberg on 09/15/08 13:21:31.
  • PeerSearch.pdf (109.4 kB) - added by amvandenberg on 09/15/08 13:22:49.
  • ProbYP.Paper.pdf (77.6 kB) -Probabilistic resource discovery, added by amvandenberg on 09/15/08 13:23:51.
  • P-Trees.pdf (211.8 kB) -Querying P2P systems using P-Trees, added by amvandenberg on 09/15/08 13:25:15.
  • Prefix Hash Tree.pdf (140.5 kB) - added by amvandenberg on 09/15/08 13:27:56.
  • mobile code security.pdf (106.4 kB) - added by amvandenberg on 09/15/08 13:28:30.
  • pollution.pdf (291.3 kB) -Pollution in P2P systems, added by amvandenberg on 09/15/08 13:33:25.
  • 120_wang_y.pdf (141.9 kB) -Reputation and trust in P2P, added by amvandenberg on 09/15/08 13:38:06.
  • rep.pdf (182.6 kB) -Reputation system in P2P, added by amvandenberg on 09/15/08 13:38:26.
  • rep-anon.pdf (102.4 kB) -Reputation and trust in P2P, added by amvandenberg on 09/15/08 13:38:41.
  • Pastry.pdf (164.4 kB) - added by amvandenberg on 09/15/08 14:09:21.
  • chord.pdf (200.9 kB) - added by amvandenberg on 09/15/08 14:10:20.
  • p2pstudy.pdf (0.9 MB) - added by amvandenberg on 09/15/08 14:18:24.
  • eigentrustalgorithm.pdf (179.4 kB) - added by amvandenberg on 09/15/08 15:55:27.
  • Social%20Mechanism%20of%20Reputation.pdf (0.6 MB) - added by amvandenberg on 09/15/08 15:55:52.
  • p2pSec.pdf (35.4 kB) - added by amvandenberg on 09/15/08 15:57:25.
  • an-infrastructure-for-fault-tolerant-wide-area-location-and-routing.pdf (189.5 kB) -Tapestry, added by amvandenberg on 09/15/08 17:42:44.
  • oceanstore-asplos00.pdf (127.3 kB) - added by amvandenberg on 09/15/08 17:44:50.
  • planetp.pdf (204.5 kB) -Using Gossiping to Build Content Addressable Peer-to-Peer Information Sharing Communities, added by amvandenberg on 09/18/08 13:31:12.
  • DistrDocumentRetrieval.pdf (131.9 kB) -based on classification and content, added by amvandenberg on 09/18/08 14:44:49.
  • Papers.doc (227.0 kB) - added by amvandenberg on 09/19/08 10:24:07.
  • GossipBasedAggregation.pdf (0.5 MB) - added by amvandenberg on 09/19/08 13:57:45.
  • PeerTrust.pdf (0.9 MB) - added by amvandenberg on 09/19/08 14:00:54.
  • DistributedRatingSystems.pdf (454.1 kB) - added by amvandenberg on 09/19/08 14:05:33.
  • p207-damiani.pdf (0.6 MB) -A ReputationBasedApproach? for ChoosingReliable? Resources, added by amvandenberg on 09/19/08 14:35:15.
  • amvandenberg.bib (0.7 kB) - added by amvandenberg on 09/19/08 15:25:48.
  • api.pdf (74.9 kB) -Towards a Common API for Structured Peer-to-Peer Overlays, added by amvandenberg on 09/19/08 15:54:30.
  • fedotova2008.pdf (224.6 kB) -Reputation management for DHT, added by amvandenberg on 09/22/08 14:20:25.
  • demersEpidemic.pdf (0.7 MB) - added by amvandenberg on 09/22/08 14:53:17.
  • A%20survey%20of%20peer-to-peer%20content%20distribution%20technologies.pdf (505.6 kB) - added by amvandenberg on 09/26/08 11:05:04.
  • p2p-overview.pdf (0.6 MB) - added by amvandenberg on 09/26/08 11:55:27.
  • Efficient P2P keyword searching.pdf (156.2 kB) - added by amvandenberg on 09/26/08 12:51:51.
  • design_of_a_distributed_rating_system.pdf (64.6 kB) - added by amvandenberg on 09/26/08 18:18:35.
  • object location.pdf (229.3 kB) - added by amvandenberg on 09/28/08 13:47:29.
  • eclipse-overview.pdf (361.1 kB) - added by amvandenberg on 09/30/08 10:22:58.
  • Necula_PCC.pdf (292.7 kB) -Proof carrying code, added by amvandenberg on 09/30/08 13:31:15.
  • mobile code with execution efficiency.pdf (157.9 kB) - added by amvandenberg on 09/30/08 13:32:17.
  • research_on_pcc_for_mobile_code.pdf (116.1 kB) - added by amvandenberg on 09/30/08 19:58:04.
  • DDoS_indexpoison.pdf (0.6 MB) - added by amvandenberg on 10/13/08 13:05:53.
  • Adding Security to Eclipse.pdf (394.7 kB) - added by amvandenberg on 10/21/08 20:39:13.

Latest news

28 October 2008

The long-awaited Tribler 4.5 is here''

29 April 2008

Tribler Team organized a successful course on Advanced P2P Technology
Read More

17 February 2008

19 Million Euro for P2P research
Read More

Please contact us if you have found a news item that's not listed here.


  • News
  • Developers
  • Business
  • Research
  • Jobs
  • About Us
  • Press
  • Contact
Login