INF_123_Lecture_14x

Download Report

Transcript INF_123_Lecture_14x

INF 123
SW ARCH, DIST SYS & INTEROP
LECTURE 14
Prof. Crista Lopes
Objectives


Understanding threats to security in decentralized
systems
Understanding basic mechanisms for security on the
Internet
 Firewalls
 SSL/TLS
 HTTPS
Decentralization




No centralized authority to coordinate and control
entities
Independent peers, with possibly conflicting goals,
interact with each other and make local autonomous
decisions
Presence of malicious peers in open decentralized
applications
Need for measures to protect peers against
malicious attacks
Security

“The protection afforded to an automated
information system in order to attain the applicable
objectives of preserving the integrity, availability
and confidentiality of information system resources
(includes hardware, software, firmware,
information/data, and telecommunications).”
 National
Institute of Standards and Technology
Security
Computer systems include the people using the computers.
Many security threats exploit the human [good] nature.
Security



Confidentiality
 Preserving the confidentiality of information means preventing
unauthorized parties from accessing the information or perhaps
even being aware of the existence of the information. I.e.,
secrecy.
Integrity
 Maintaining the integrity of information means that only
authorized parties can manipulate the information and do so only
in authorized ways.
Availability
 Resources are available if they are accessible by authorized
parties on all appropriate occasions.
Trust


Who do you trust? For what functions?
Trust is not a binary concept! Nor static!
Blind trust
No trust

If trust is high
 Security

measures can be lowered
If trust is low
 Security
measures must be ramped up
Trust & Security

What security measures?
Security is not necessarily machine-bound

Depending on many tradeoffs

 Security

Social
measures
measures can be technological
Upon limited trust
 Security
measures may be social
 Punitive
measures for breach of trust
Computer
measures
Computer Security
Well-Known Threats
Well-Known Solutions
Computer Security in Practice



A never-ending game of
Vulnerability; Attack; Fix; Repeat
There’s no such thing as a completely secure system
Know your system’s goals and requirements, set
security investment accordingly
Integrity of Computer Systems

Firewalls
 “part
of a computer system or network that is designed
to block unauthorized access while permitting
authorized communications. It is a device or set of
devices which is configured to permit or deny computer
applications based upon a set of rules and other
criteria.”
 Basic task is to regulate some of the flow of traffic
between computer networks of different trust levels.
 Software and/or hardware
Firewalls: The problem

Computers inside a local area network (LAN) run
applications that assume a high-level of trust within
that LAN, but that trust does not hold wrt the rest of
the Internet
Types of Firewalls

Packet filters: Operate at UDP/TCP/IP level
 Traffic
filtering based on properties such as:
Source IP address & port, Destination IP address & port
Application-level protocols, …

Application-layer
 Knowledge
of services (WWW, FTP, Naspter)
 May have knowledge of users

On inspecting all packets for improper content,
firewalls can restrict or prevent the spread of
networked computer worms and trojans
Integrity Threat: Botnets
Bots are installed on victims’
computers via unsuspecting
acts like installing goodies,
unziping files, etc.
Bots talk to master using
unsuspecting channels such as
IRC, Twitter, IM, etc.
Very hard to fight
Confidentiality of Data

Cryptography
Steganography

On the Internet

 Secure
 HTTPS
Socket Layer / Transport Layer Security
Cryptography




Encryption: converts human-parseable information
into unintelligible gibberish
Decryption: the opposite
Cypher: pair of algorithms for encrypting and
decrypting information
Ancient “art” used prominently in WWII
MD5 Hashes


Message Digest algorithm 5
Transforms an arbitrary-length message into a
128-bit value
 One


way function
Used widely for everyday cryptography
Proved not very secure, collisions
MD5 Hashes


MD5("The quick brown fox jumps over the lazy dog")
= 9e107d9d372bb6826bd81d3542a419d6
MD5("The quick brown fox jumps over the lazy dog.")
= e4d909c290d0fb1ca068ffaddf22cbd0
Typical MD5 use


Password encryption for storage and network
Example: OpenSim passwords
 http://beta.opensimulator.org/node/56
Dictionary Attack

Attempt at deciphering passwords by using words
from a dictionary
 Brute-force

or probabilistic
Given 9e107d9d372bb6826bd81d3542a419d6
 Try
MD5(words) and compare the hash
Dictionary Attack Counter-Measure

Salts: append MD5(password) with an arbitrary
(long) number, and hash that
 Result
= MD5(MD5(password) : salt)
 Need to keep the salt around for password verification

Example: OpenSim passwords
Main Lesson about Passwords


Avoid transmitting and storing naked passwords!
Next: transmitting confidential data over the
Internet
Remember Wifi?
POST /wifi/login HTTP/1.1
Hostname: …
Content-Type: …
Content-Length: …
METHOD=login&firstname=foo&lastname=bar&password=hereismypassword
Naked transmission!
Attacks

Eavesdropping
 Remember

all routing that happens on the Internet
Man-in-the-middle
 Malicious
server pretends to be target server
Encryption of data

JavaScript-encrypt before sending
 Application

overhead
Use Transport Layer Security (TLS)
SSL/TLS


Extra pieces of transport-layer protocol for
negotiating cyphers and ensuring authentication of
the server
Bottom line:
 Payload
data is encrypted before sending, decrypted
upon reception
HTTPS = HTTP + SSL/TLS
POST /wifi/login HTTP/1.1
Hostname: …
Content-Type: …
Content-Length: …
METHOD=login&firstname=foo&lastname=bar
&password=hereismypassword
Unintelligible gibberish
HTTPS = HTTP + SSL/TLS

https:// instead of http://

Uses port 443 by default instead of port 80