40
Some Possible Futures of Computing Marcus J. Ranum <[email protected]>

Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

SomePossible FuturesofComputing

Marcus J. Ranum<[email protected]>

Page 2: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

2

Who Am I?

• Early innovator in firewall market• Early innovator in VPN market• Early innovator in IDS market• Currently researching system log

analysis/aggregation and eventmanagement

Page 3: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

3

What?

• What is this talk about and why?– We have been cheerfully assuming things

can continue to go along the same paththey have been going

• Bugs, complexity, CPU speed, etc– But… Can they?

Page 4: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

4

A Word of Warning

• All statistics in this talk are made up– I.e.: Entirely fictitious

• All cool charts are completely fake

…But they might be accurate

Page 5: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

5

The History of Computing

Planetary Time

Humans

Technology

Sorry; they don’tmake pixels that

small

Computers

Page 6: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

6

The History of Computing

• What’s the point?– We’ve been doing this for such a short time

there’s no reason not to believe that wewon’t have some cataclysmic technologicalreversal or reinvention

• Horses -> steam• Steam -> internal combustion• Internal combustion -> hybrid electrical

• Let’s not get comfortable!

Page 7: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

7

Moore’s “Law”

• We’ve all seen this one:

Time

CPUspeed

Page 8: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

8

Moore’s “Law”

• Problems:– Asymptotic curve (doubling)

means eventual “off the chart” behavior

• I.e.: “infinite CPU speed”?

Time

CPUspeed

Page 9: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

9

Moore & Electricity

• Power consumption ofmain-line processors approx’tracks Moore’s Law

Time

WattsYour desktopcomputer

needs its ownnuclear reactor

2015AD

Page 10: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

10

Moore & Temperature

• Have you looked at thecooling on your PC lately?

Time

DegreesF.

Fortunately, we won’tget here (because ofenergy consumption)

since this is thesurface temperature

of the sun

2020AD

Page 11: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

11

Windows Sys Administration

• Estimated time to re-install WinXP byinexperienced user: 4 hours– If it’s not secured, likelihood a re-install will

be required with 1 year: 50%• Estimated time to secure WinXP by

experienced security admin: 1 hour– If it’s secured, likelihood a re-install will be

required within 1 year: 50%

Page 12: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

12

Windows Sys Administration

Time

Systemsunderadmin.

Every man, woman,and child on earth(over the age of 6)will be a Windows

system administrator

• 2020AD: The Infocalypse

2020AD

EarthPopulation

Page 13: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

13

Windows Sys Administration

• The Infocalypse: take 2– By 2030, 80% of human effort on planet

earth will be Windows SystemAdministration

– The rest will be working in Redmondwriting patches and bug-fixes

– 2 guys in Kansas will be left to grow all thefood for the planet

Page 14: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

14

Windows Sys Administration

• The Infocalypse: take 3– 2035AD:

“Anno Domini” assumes a new meaning:“Active Directory”

Dave Piscitello suggested the “AD” transition concept. :) Blame him!

Page 15: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

15

Windows Sys Administration

• System administration is a HardProblem– Really: it’s about coping with complexity

Page 16: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

16

Software Engineering

• In current advanced militaryprocurements softwarecosts are 40% of the totalprogram R&D

Time

Softwaredev.costs

2020AD

Aircraft:$1 Million

Aircraft:$175 Million

1957AD

Aircraft:$1.2 Billion

2005AD

Page 17: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

17

Software Engineering

P-38 Lightning:$138,284 apiece

Lots of.50 cal ammo:

priceless!

Lines ofCode:0

Page 18: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

18

Software Engineering

F-18A:$59,000,000 apiece

Does this thingalso play MP3s?

1986 (first flight)

Lines ofCode:1,000,000+

2004 (gulf war)

Lines ofCode:8,300,000+Dude, you’re

getting a(bigger) Dell!

Page 19: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

19

Software Engineering

F-???:So that’s what 1%of the GNP looks

like!

Where’s mywingman!?

Dude,you’re it!You’re allwe canafford!!

I hope heremembered to

patch IIS...

Lines ofCode:56,000,000+(not counting Windows CE)

Page 20: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

20

Code Bloat

• Microsoft used to brag about how manylines of code went into Windows…Now they are silent– Because nobody knows

• Is a 3rd party device driver written by aPakistani consultant for a Taiwanese companyresold by a US dot-com a part of Windows ornot?

(Of course it is; it runs in kernel address space!!)

Page 21: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

21

Code Bloat

• More simple example:– Sendmail used to be considered

“dangerously large software” and wasshunned by many security practitioners(including me)

– 17362 lines: sendmail 4.6 (1991) from net2 tape– 299545 lines: postfix-2.2.2 (current release)– 220263 lines: sendmail-8.13.4 (current release)

The “small” alternativemailer is now bigger!

Page 22: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

22

Complexity

• Today:– It is literally impossible to tell what code

you are running• DLLs call DLLs• Interpreters are everywhere• Plug-ins call .NET remote procedure calls

– Forget understanding code

Page 23: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

23

Complexity

The active widget callsfoo342.dll which links in

the C library as it’s calledby the Java runtime...

I know. I’ll justshoot myself.

Page 24: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

24

Complexity

No, wait.I’ll just get it to compile,

ship it as beta, and let ourcustomers find

if it works!

Page 25: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

25

Complexity implies Bugs

• I don’t need to harp on this

Page 26: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

26

Bugs Impact Security

• I don’t need to harp on this, either

Page 27: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

27

Bugs Impact Security (redux)

• Our usual reaction to security problems:Add something new– Bad network code: add firewall– Bad firewall diagnostics: add IDS– Bad execution permissions: add antivirus– Bad process model: add antispyware… more complexity!

Page 28: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

28

The Quest for “Plan B”

• It’s an open question, to me, if we’ll everget our heads out of the sand and lookfor an alternative

Page 29: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

29

Coping with Complexity

• 3 Obvious Options– Add layers of complexity management– Build Better Humans– Build Simpler Stuff

Page 30: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

30

Complexity Management

• Develop tools that manage complexityfor us– Then hope they work!

Because - how do you verify that they workcorrectly without managing the complexityyourself?

– Cases where this works: CAD, Chip design– Cases where this fails: Network

management, Software development

Page 31: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

31

Complexity Management (more)

• In fact, it appears that complexitymanagement tools work well only inproblems that are fairly closely bounded– Like chip design– Unlike system administration

• Because system administration is the art ofmassive individuality

• My Guess: Not likely

Page 32: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

32

Build Better Humans

• The “video game generation” may befollowed by the “millions of lines of codegeneration”– It’s possible we’ll adapt rapidly enough to

keep up• Maybe we’ll develop a “windows system

administration” center in our brains?

• My guess: I think we’re not keeping up

Page 33: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

33

Build Simpler Stuff

• Remove device customization and youcan build simpler devices and code forthem– This is the basis of the “appliance”– If PCs for example, had 1) hard drive

interface (instead of IDE, SATA, SCSI, etc)1) video interface and 1) network interfacewe could reduce kernel code size of Linuxby 30%

Page 34: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

34

Build Simpler Stuff (more)

• If PCs were simple, they’d be SonyPlaystation-2s

Page 35: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

35

When Moore’s “Law” Fails

• KleenKode™ concept– Instead of relying on faster processors to

carry more dumb code:• Run smarter code on existing processors!

– KleenKode for Microsoft Office:• Microsoft Word with 90% of the features

removed• 16Mb executable becomes 120K• 20Mb core image becomes 2Mb

Page 36: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

36

Push toward Appliances

• The death of general-purposecomputing

• The advent of disposable softwaresystems

Page 37: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

37

The Future (my view)

• Zero sysadmin systems == disposablesystems

• KleenKode == low-energy low-costsystems

• Death of general purpose computing ==end of Windows except as legacyserver platform

Page 38: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

38

The Future (my view)

• Software Sales Model Overturn ==“buying” software makes no sense in anenvironment where platforms aredisposable– Switch to per-service subscription model

• Cell phones, PDAs, etc, are examples of this

Page 39: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

39

The Future (my view)

• What happens to Security?– Security now becomes a problem where

systems bump up against eachother andexchange data

– Security compromise? Reset it or throw itaway

• Viz: Paris Hilton’s cellphone– Servers become highly specialized (high

cost high value points of attack)

Page 40: Some Possible Futures of Computing - Ranum...can build simpler devices and code for them – This is the basis of the “appliance” – If PCs for example, had 1) hard drive interface

40

Summary

• I don’t think we’re doomed…but I think we’re in trouble

• Computing is still very much in itsinfancy– Plenty of time to re-assess and re-design

our approach to it• Besides we’ll have no choice