Designing a future Internet: Architecture and requirements

Download Report

Transcript Designing a future Internet: Architecture and requirements

The Internet today and tomorrow:
social implications of evolving
technology
David Clark
MIT CSAIL
November 2008
1
Internet today: background

The forces that are shaping it are not just
technical.


Technical changes are real: wireless,
embedded computers, location sensing.
But perhaps more important is the deep
embedding in society.
Privacy and identity.
 Social networking as a platform.
 The role of the ISP.

2
Internet tomorrow: background

FIND (Future Internet Design) is a U.S. NSF
program to look at what our global network of 15
years from now should be.


Challenges us to think about why we built what
we built.



3
Similar efforts in Asia and Europe.
A lot we got right (perhaps surprising…)
A lot is almost an accident.
Could we, by design, mitigate some of the
issues we debate today?
FIND: The Internet is a success

So why would we want to rethink its design?



It is not that some broad class of application is
unsupported.


Application designers have shown the broad utility of
the Internet.
The issues are centered in the broader context
within which the Internet is positioned.

4
It’s not the data plane.
Packets have proven their generality, and we have
polished the data forwarding function for years.
The FIND project must consider a broad range of
requirements.
Issues to consider









5
Security
Availability and resilience
Better management
Economic viability
Meet society’s needs
Support for tomorrow’s computing
Exploit tomorrow’s networking
Support tomorrow’s applications
Fit for purpose (it works…)
The role of the ISP

They forward packets.




They invest and manage risk.
They police (directly and indirectly).
They provide critical societal infrastructure.


They interconnect with their competitors.
The Internet cannot just be a creature of the private sector.
They want to profit from investment.


(Follow the money.)
Advertising


6
ISPs vs. Google. Deep packet inspection.
Manage usage and acceptable activities.
Neutrality and management

The net is not neutral and never has been.



The real discrimination (follow the money)
is at the points of interconnection.


7
We gave preference to interactive traffic in the
early days of the NSFnet.
ISPs block known security vulnerabilities.
Peering, transit, bargaining, routing, etc.
What the consumer sees is a side-effect of
interconnection negotiations.
Traffic management?

Usage does cost something. It is not free.


But it is not expensive.
For a typical big access ISP, might be $.05 or $.10
per GB.



But for a rural ISP (think small WISP), might be
10 times that.
Must deal with consequences of flat rate pricing.


Typical residential usage today may be 1% loading.
This is necessary. Otherwise nobody could afford
broadband.

8
Note that this has nothing to do with peak rate.
Again, has little to do with peak rate.
What is acceptable?


And how would we decide?
Is it acceptable for someone to profile my behavior?



If I opt in? If I get only select ads? If I can opt out selectively?
If it is “pre-anonymized” so it cannot be directly traced back to
me?
Is it acceptable for ISPs to limit what I do and how much
I send?

If limit is just measured in bytes, yes.




If limit is priority and service quality, yes.
If limit is performance variation among servers, it happens today
all the time.
To what extent should the ISP police the network?

9
Could limit using dollars. Moving to price tiers.
Inevitable, so get on to the issues.
A final comment

Being a residential broadband provider is a good
business.


There is a sense that (especially with respect to cable
guys), broadband is some marginal add-on to a highly
profitable cable business.




10
If big and (sub) urban.
This is silly.
ISPs pay for cable content. They get Internet content (“over the
top”) for free. Sometimes they get paid.
The issues are cost of delivery and who gets advertising
revenues.
They do not prefer one to another. They want them all.
Talk about tomorrow

Look at some of these important objectives



Describe some emerging proposals and
approaches



Sometimes conflicting, sometimes clear.
(Sometimes my personal point of view.)
So wander between requirements and
mechanism.


11
What is wrong with the network of today?
Why is it worth considering alternative designs?
Mechanism is easier to think about.
Requirements are more fundamental.
What was that list??


Those were not requirements.
They are a wish list.



It is a big jump from any of these items to
the design of mechanism.

12
Desiderata
An aide-memoire
And that is a big issue.
Security

Use as a first example of a requirement.


Hard and important.
Why is the problem so hard?

We don’t agree on the definition of good security




We want different outcomes in different contexts.
We cannot correct the insecurity of end-nodes.
Old framework:

Disclosure, integrity, availability

How does this relate to firewalls, VPNs?

13
A balance among stake-holders.
After the fact--not a part of the network
A different framework

Attacks on communication




Attacks on the host




Infiltration (can lead to most anything)
So either prevent infiltration or limit its consequences.
Attacks on information.
Denial of service

14
Confidentiality and integrity addressed with
encryption.
Availability?? The central objective of networks.
What else?
A special case of availability.
Availability

First, as much as possible, make the “what else” attacks
on communication into failures of availability.

Limit the range of attacks and responses.


Mechanism: wrap an end-to-end confirmation of identity around
a connection.


Cleanly makes many attacks on/by the network into an availability
problem.
Second, develop a theory of availability.

At a high level:



15
Think: what is excluded…?
All critical resources must be supported in a rich, heterogeneous,
diverse form.
It must be possible to detect and distinguish (to some degree)
failures.
The point of detection must be able to invoke different resources.

In general, only the end-points can detect failures.
Examples of attacks

Byzantine packet handling.


Re-routing, adding and dropping.
Only end-node can detect, so end-node must
be able to request re-routing.
Explicit
 Implicit



Multi-homed end-nodes
DNS corruption (pharming)

No architectural support today to mitigate this.

16
Design is redundant, but not in face of malice.
End-to-end checks

To turn misdirection attacks into “availability problems”,
need a means to confirm with whom you are
communicating.
 An issue of identity and shared information.



17
What notion(s) of identity will be suitable? (See below.)
“You” means the end-nodes, but not just the human. If
the end-node can be trusted, software can help.
 Corrupted end-nodes are a central issue here.
 Can a trusted helper node help?
To detect byzantine attacks, fault detection must be
integrated into the carriage of data.
 Security and management are entangled.
Economic viability

Fundamentals:




Our preferences:

18
Different parts of the network are built by
different actors.
Physical facilities (fibers, towers, etc.) require
capital investment.
Investors must be motivated to invest.
Facilities owners must not control the future of
the network. Just invest in it.
What happens today?

How do facilities owners operate and interact?

One answer is that they become ISPs.




ISPs serve a critical business function today.


19
Measure/model usage
Track customers and markets
Control routing.
They don’t just move packets, but manage capital
and risk. Important economic role.
But is this role fundamental?
Some specific requirements



20
ISPs must be able to model usage and demand
sufficiently well to make investment decisions.
Users must be able to select among paths through the
network that avoid failures.
The network design must allow users a degree of choice
among providers so as to impose the discipline of
competition.
A new idea--virtual networks

In a virtual network, facilities (routers, links, etc.)
are virtualized and then used by higher-level
service providers to implement different
networks, possibly using very different
architectures.



In a world of virtual networks, why would
someone invest in expensive facilities?

21
VPNs are a limited version of this idea today.
A new form of competition.
Owner does not control routing, so where should the
links go?
Another new ideas: futures




If investment in facilities is a “up-front” or “sunk”
cost, with a long period of depreciation and cost
recovery;
And virtual networks anticipate flexible access to
resources over a short term;
Then there must be some way to insulate
facilities investors from risk so that they will
invest.
Consider a futures market for bandwidth.

22
Happens today with really expensive cables.
A new interface

Do we need to standardize the interface
that defines this futures market?


Not sure, but if we do, it is an odd sort of
standard.


Not moving packets, but money.
Not just bandwidth, but in a location.

23
Has a lot in common with other commodity
markets.
Compare to spectrum auctions.
The alternatives?

Mandatory facilities unbundling.





Public sector investment.

24
As was called for in the Telecommunications Act of
1996 for access facilities.
As is being done in Europe today for access facilities.
Regulated rate of return or mandatory structural
separation.
Works where the motivation to invest is compelling.
Failure so far… (a controversial statement, I know.)
Interfaces define the industry

ISPs exist because of IP, and the protocols that
connect regions together.



Protocols define the services that can be
created across multiple regions.
So by creating protocols, we create
opportunities for service (e.g. revenue) creation.

25
There is no fundamental reason why ISPs look the
way they do.
Which are possible, which are dangerous?
Region interconnection


Old idea: BGP.
New ideas:







Interconnection of advanced services
Direct expression of business constraints
Routing overlays
Fault localization and correction
Interconnection of traffic aggregates
Short-term markets for service
Security issues


26
Control of DDoS
Detection of corrupted or untrustworthy regions
Observations

Management has a lot to do with
security,availability and economics.



27
These areas are not “modules”.
Cannot have a “security” or a “management”
design sub-group.
For all these areas, we have lots of great
ideas, but must sharpen the architectural
framework.
Information--moving up-layer


Old idea: an application issue (ignore it.)
New idea: need a framework

Naming and identity of information.


Independent of how you get it.
But: think about privacy.


Dissemination



28
If you shout for information, the whole world hears.
Swarms, P2P: (heterogeneous).
Should this be the basic service, or on top of a transport
service?
Improves availability of information if it is pushed into the
network.
Issues to consider









29
Security
Availability and resilience
Better management
Economic viability
Meet society’s needs
Support for tomorrow’s computing
Exploit tomorrow’s networking
Support tomorrow’s applications
Fit for purpose (it works…)
The role of identity

A requirement for identity comes up often:




30
Detect misdirection attacks on communication.
Detect invalid (unauthentic) pieces of information.
Validate identity/authority of incoming connections to
prevent infiltration attacks.
Allow application/network to pick desired
communication pattern, to insert the desired degree
of checking into the path between communicating
parties, depending on the degree of trust between the
parties.
Designing identity schemes

There is more than one way we could approach identity.

A private matter among end-nodes.


Signal of identity that is visible in the network.





Anonymity can only be revoked by its creators.
Probably need all in different circumstances, so
architecture should not constrain.
These are not choices to be made by technologists
alone.

Need a multi-disciplinary conversation.

31
Surveillance cameras in cyberspace.
Facilitate both policing (perhaps) and repression.
Third-party credentials vs. continuity-based familiarity.
Revocable anonymity.


E.g. encrypted or meaningless except at end points.
I am very fearful of getting this wrong.
Identity schemes imply deception

Both a human and a technical problem.

How do you know what information to trust?



Credentials? Continuity?
Collaborative filtering (trust again).
Identity itself should be rich and heterogeneous



How can we avoid illusion on the screen?
Remember that a human is not always present.

32
Integrity through availability.
Need ability (perhaps in restricted circumstances) to
delegate decision to a program.
Mechanism design


33
The previous discussion (very incomplete)
hints at the range of issues that designers
of a future network should consider.
A future network will have mechanisms
that (at a high level) are familiar, but they
may take very different forms.
Routing and forwarding



Forwarding: what a router does when it gets a packet.
Routing: computing the right paths to make forwarding
work.
Why should routers compute routes?



Issues: (examples…)




34
Why not make it a competitive business?
Let servers compute routes and download them into routers to
drive forwarding.
Resilience and route recovery.
Investment incentive.
Better security through diversity.
Better routes
Application design


Old view (simplistic): our machines talk.
New view:


Lots of servers and services.
Need for cross-application core services.



Modulate behavior based on trust.
Outsource security-related tasks to secure nodes.


Since the host is insecure.
Application design patterns and building blocks
should be part of the future network.

35
Identity management, social networks.
Social question: who is empowered and is this what
we wanted as the outcome?
Lots of things we did not discuss





36
Naming (of all sorts of things).
Location (physical).
Social context.
Other aspects of security (e.g., DDoS),
management, economics.
Computing and network technology.
Observations

Mechanism (e.g. routing) is a response to a set of
requirements, not a given.



The (new) interesting interfaces will not involve packets
but control, investment, social context, etc.
Technical design choices can shift the balance of the
social contract among the players.


Derive mechanism, don’t presume it.
Computer scientists are not trained to think in these terms, and
social scientists tend to take the technology as exogenous.
The role of the ISP is critical.

What will we be arguing about 5 years from now?

37
Policing, liability, advertising, out of date infrastructure.
38
Network management

Even less structured than security.



Possible decomposition:



Fault isolation and resolution.
Network planning and configuration.
Does this framing actually decompose the
problem?

39
No real consideration in original design.
Remote management of boxes.
Do we know the modules of management?
New ideas:

Critical interfaces:


Between layers to integrate application, network and technology.
Between regions to allow cross-domain capabilities.


Expression of end-user intent.



40
Critical in solving availability problem.
Better tools for abstracting the manager’s job.


This interface is fundamental. It reflects reality.
Critical in solving availability problem.
Default management automatic, just like dynamic host
configuration.
Instrumenting the data plane to detect problems.
Back to security


Earlier we discussed protecting
communication from attacks in the net.
Other aspects include:



Consider infiltration attacks.

41
Infiltration
DDoS attacks
Either prevent infiltration or limit
consequential damage.
Start from fundamentals

Node security

Classic end-nodes will always be insecure, but we can build
fixed-function nodes that are pretty good.


What parts do we have to work with?



Applications define the range of patterns of communication that
can be utilized, and what can be seen/modified in the
communication.
Elements in the network can examine what is revealed.
End-node controls the initiation of connections and what is
sent.


Encryption blunts the power of examination/modification.
Network controls topology and completion of connections.

42
Can we build secure virtual machines?
A tussle over availability.
Practice vs. theory

These asymmetries are understood in
practice…




43
Firewall topology
“Port 80” mode in apps.
VPNs.
But are not recognized or exploited in the
design of the network.
The design challenge

What trusted components, combined with
application modes that exploit them, can
protect untrustworthy end-nodes from
attack (in particular infiltration, sabotage
and exfiltration)?


The network can enforce the needed
patterns of communication.
Network elements can examine what the
application chooses to reveal.

44
Trusted and untrusted…
Prevent infiltration

Require identity as part of session initiation.


“Firewall of the future”


Represents a loss of privacy, so use selectively.
Host-centric actions.


45
Make port scans less effective.
Inspect incoming data for “bad stuff”.


Allow end-node (or trusted helper) to open ports dynamically.
Eliminate well-known ports.


Use agent to validate incoming service requests.
Virtual machines for risky actions.
Outsource risky apps to different machine.
Prevent exfiltration

If a machine is penetrated, limit the bad
consequences.



The problem with controlling theft:

46
Could be use as zombie, deletion or
corruption of data, or theft.
Theft is a major problem today.
How can an external agent tell if the transfer
is legitimate?
The dilemma

Two stories:

Foreign hackers penetrate a system and send
information back to their country.


Foreign citizens download public information from a U.S.
web site.


Their country try to block it.
What is the difference?



47
We try to block it.
We relabeled the actors.
In one case, had to penetrate the sender to implement the pattern.
In one case, the sender’s regime tries to block, in the other the
receiver’s regime tries to block.
The design challenge, part two

48
How can we design applications and
patterns of communication that can
distinguish between these two stories,
even if the sending machine has been
penetrated?
Distinguish the stories

In the first story:


In the second story:


Put the data into an open publish-subscribe or peer-to-peer
distribution system.
 Another example of the theory of availability.
 But protect the privacy of the requester…
Balance the interests…

49
Require that data being sent get an export permit (from a trusted
machine), that the user must concur, and that we get a strong
identity of the receiver before issuing the permit.
Don’t forget the third story, pushing information out.