Slide - University of Utah
Download
Report
Transcript Slide - University of Utah
Active Protocols for Agile
Censor-Resistant Networks
Robert Ricci
Jay Lepreau
University of Utah
May 22, 2001
Key Ideas
Censor-resistant (p2p) publishing is a
compelling and feasible application of
active networking
…through on-demand, rapid,
decentralized, diversification of the
hop-by-hop protocol
We prototyped this in Freenet
Active Networking’s Biggest
Problem
Demand: no killer app
Inherent problem, by definition!
The space of AN protocols is interesting,
not any given protocol
But… a good match for censor-resistant
networks
Censor-Resistant Networks
Goals
– Make intentional deletion or denial of access
infeasible or difficult
– Often: Anonymity
Usually: overlay network
An example: Freenet
– Keyed data retrieval system; routing based on a hash
of key
– Message initiation/relaying look the same
– Copies made along return route for requests:
preserves popular data
Some Problems Facing CRNs
CRN traffic may be identifiable
– Static set of protocols a weakness
Mere membership may be incriminating
– Only identification may be necessary, not
eavesdropping
– Last link vulnerable: mercy of ISP
Users on restricted networks cannot
participate
– But special techniques can get traffic through
firewalls, proxies, etc.
Agile Protocols
Use active networking techniques for
replacement of single-hop protocols
Completely decentralized
– Any node can create a new protocol & pass to its peer
– Rapid response time to censorship
– Nodes can customize for their environment
Unbounded set of protocols
– Attacker cannot even know what percentage of set
they have discovered
Protocol Examples
Disguise and tunnel, eg through SMTP,
HTTP
Port-hopping… randomly
Port-smearing (~spread spectrum)
Bounce thru 3rd host
Steganography
…even better in wireless domain:
physical & link level
“Protocol Objects”
Protocol Objects implement replacement
single-hop protocols
Identified by content hash
What About Malicious
Protocol Objects?
Protecting Local Node’s Integrity,
Privacy, and Availability
Threat model like Java applet, but
worse for privacy
– node state: cache contents, neighbor list, IP
addr, username, hard drive contents
– message itself
Integrity and privacy: std type-safety
and namespace isolation
Resource attacks: resource-managing
JVM [OSDI’00, ...]
Publishing-specific DoS
Attacks
Same general issues as malicious nodes
Failure (total or intermittent)
– Either malicious or unintentional
– Heuristic approach: rate Protocol Objects
• Ratings based on success rates for requests
• Evaluate via loopback test harness
– Ratings are node-local
More attacks/responses in paper
What About Bootstrapping?
Shared by base Freenet system: must
acquire initial {IP addr, port} out-ofband
Now need {IP addr, byte code}
Quantitative difference ==> qualitative
change?
Memory, piece of paper ==> floppy
disk, email attachment, applet
Conclusion: acceptable
Our Implementation
Prototype based on Freenet system
Peers can exchange Java bytecode for
new protocols
Protocol usage can be asymmetric, can
change on any message boundary
Restricted namespace
Four sample Protocol Objects
‘Classic’ Freenet protocol
HTTPProtocol: Looks (vaguely) like
HTTP
TrickyProtocol: Negotiates port change
after every message
SpreadProtocol: Splits message on
arbitrary byte boundaries, sends each
chunk on a different port
Reprise:AN’s Major Technical
Challenges
Performance: no problem
– In Java already!
– Overlay network: IP not my problem
Security
– Key: change local, keep global protocol
– Global network: domain-specific, therefore tractable.
– Local to node: tractable, based on recent research
Conclusions, Future Work
AN techniques seem likely to improve
the censor-resistance of CR networks
Feasible to implement in existing
systems
Future work
– Implement ratings, etc.
– Evaluate in lab
– Evaluate “in the wild”
Active Networking’s Major
Technical Challenges
Performance
Security
– Local: node
– Global: network
Attacks (cont’d)
Selective failure: targeted censorship
– Solution: encrypt before passing to PO
Attack on document integrity
– Reduce system integrity, or ‘tag’ for tracing
– Solution: secure hash