/
Handout # 18 Network Security Handout # 18 Network Security

Handout # 18 Network Security - PowerPoint Presentation

gagnon
gagnon . @gagnon
Follow
342 views
Uploaded On 2022-06-11

Handout # 18 Network Security - PPT Presentation

Professor Yashar Ganjali Department of Computer Science University of Toronto yganjalicstorontoedu httpwwwcstorontoeduyganjali CSC 4582209 Computer Networks Announcements Programming Assignment 2 ID: 916637

toronto csc 2209 computer csc toronto computer 2209 458 fall university 2019 networks network dns packet hosts syn tcp

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Handout # 18 Network Security" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Handout # 18Network Security

Professor Yashar GanjaliDepartment of Computer ScienceUniversity of Torontoyganjali@cs.toronto.eduhttp://www.cs.toronto.edu/~yganjali

CSC 458/2209

– Computer Networks

Slide2

AnnouncementsProgramming Assignment 2To be completed individually.

Due: Friday, Nov. 29th at 5pmSubmit on MarkUs (pa2.tar.gz)No tutorials this weekNext week’s tutorial: PS2 review + PA2 Q&A

CSC 458/CSC 2209 – Computer Networks

2

University of Toronto – Fall 2019

Slide3

Announcements

Final ExamTime: Tue. December 10th, 2019; 14:00-16:00Location:A-KE: GB304KI-OM: MS2170OU-ZZ: WY119CSC2209 A-Z: WY119Please check the location online a few days before the exam

CSC 458/CSC 2209 – Computer Networks

3

University of Toronto – Fall 2019

Slide4

Connectivity: Good vs. Evil Network have improved significantly: in terms of bandwidth and latencyGood

We can communicateExchange informationTransfer data…EvilIt’s easier to do harm Harmful code can propagate fasterInformation collection, violating privacy…CSC 458/CSC 2209 – Computer Networks

4

University of Toronto – Fall 2019

Slide5

Life Just Before Slammer

CSC 458/CSC 2209 – Computer Networks5University of Toronto – Fall 2019

Slide6

CSC 458/CSC 2209 – Computer Networks6

University of Toronto – Fall 2019Life Just After Slammer

Slide7

A Lesson in EconomySlammer exploited connectionless UDP service, rather than connection-oriented TCP.Entire worm fit in a single packet! (376 bytes)

When scanning, worm could “fire and forget”.Stateless! Worm infected 75,000+ hosts in 10 minutes (despite broken random number generator).At its peak, doubled every 8.5 seconds.Progress limited by the Internet’s carrying capacity(= 55 million scans/sec)CSC 458/CSC 2209 – Computer Networks

7

University of Toronto – Fall 2019

Slide8

Why Security?First victim at 12:45 amBy 1:15 am, transcontinental links starting to fail300,000 access points downed in Portugal

All cell and Internet in Korea failed (27 million people)5 root name servers were knocked offline911 didn’t respond (Seattle)Flights canceledCSC 458/CSC 2209 – Computer Networks8

University of Toronto – Fall 2019

Slide9

Witty Worm

CSC 458/CSC 2209 – Computer Networks9University of Toronto – Fall 2019

Slide10

Witty Worm – Cont’d Attacks firewalls and security products (ISS)First to use vulnerabilities in security softwareISS announced a vulnerability

buffer overflow problemAttack in just one day!Attack started from a small number of compromised machinesIn 30 minutes 12,000 infected machines90 Gb/s of UDP trafficCSC 458/CSC 2209 – Computer Networks

10

University of Toronto – Fall 2019

Slide11

Detecting AttacksHow can we identify and measure attacks like Witty and Slammer?

CSC 458/CSC 2209 – Computer Networks11University of Toronto – Fall 2019

Slide12

Network TelescopeLarge piece of globally announced IP addressesNo legitimate hosts (almost)Inbound traffic is almost always anomalous

1/256th of the all IPv4 spaceOne packet in every 256 packets if unbiased random generators used.Provides global view of the spread of Internet worms.Question. Can this system identify attacks in real time?CSC 458/CSC 2209 – Computer Networks

12

University of Toronto – Fall 2019

Slide13

TodayNetwork Security GoalsSecurity vs. Internet DesignAttacksDefenses

CSC 458/CSC 2209 – Computer Networks13University of Toronto – Fall 2019

Slide14

Network Security GoalsAvailabilityEveryone can reach all network resources all the timeProtection

Protect users from interactions they don’t wantAuthenticityKnow who you are speaking withData IntegrityProtect data en-routePrivacyProtect private dataCSC 458/CSC 2209 – Computer Networks

14

University of Toronto – Fall 2019

Slide15

CSC 458/CSC 2209 – Computer Networks15

University of Toronto – Fall 2019TodayNetwork Security GoalsSecurity vs. Internet DesignAttacksDefenses

Slide16

Internet DesignDestination routingPacket based (statistical multiplexing)Global addressing (IP addresses)

Simple to join (as infrastructure)Power in end hosts (end-to-end argument)“Ad hoc” naming systemCSC 458/CSC 2209 – Computer Networks16University of Toronto – Fall 2019

Slide17

CSC 458/CSC 2209 – Computer Networks17

University of Toronto – Fall 2019Internet Design vs. SecurityDestination routingKeeps forwarding tables smallSimple to maintain forwarding tablesHow do we know where packets are coming from?

Probably simple fix to spoofing, why isn’t it in place?

Packet based (statistical multiplexing)

Global addressing (IP addresses)

Simple to join (as infrastructure)

Power in end hosts (end-to-end argument)

“Ad hoc” naming system

Slide18

CSC 458/CSC 2209 – Computer Networks18

University of Toronto – Fall 2019Internet Design vs. SecurityDestination RoutingPacket Based (statistical multiplexing)Simple + EfficientDifficult resource bound per-communication

How to keep someone from hogging?

(remember, we can’t rely on source addresses)

Global Addressing (IP addresses)

Simple to join (as infrastructure)

Power in End Hosts (end-to-end argument)

“Ad hoc” naming system

Slide19

CSC 458/CSC 2209 – Computer Networks19

University of Toronto – Fall 2019Internet Design vs. SecurityDestination routingPacket based (statistical multiplexing)Global Addressing (IP addresses)Very democratic

Even people who don’t necessarily want to be talked to

“every psychopath is your next door neighbor” – Dan Geer

Simple to join (as infrastructure)

Power in end hosts (end-to-end argument)

“Ad hoc” naming system

Slide20

CSC 458/CSC 2209 – Computer Networks20

University of Toronto – Fall 2019Internet Design vs. SecurityDestination routingPacket based (statistical multiplexing)

Global addressing (IP addresses)

Simple to join (as infrastructure)

Very democratic

Misbehaving routers can do very bad things

No model of trust between routers

Power in End Hosts (end-to-end argument)

“Ad hoc” naming system

Slide21

CSC 458/CSC 2209 – Computer Networks21

University of Toronto – Fall 2019Internet Design vs. SecurityDestination routingPacket based (statistical multiplexing)Global addressing (IP addresses)

Simple to join (as infrastructure)

Power in end-hosts (end-to-end argument)

Decouple hosts and infrastructure = innovation at the edge!

Giving power to least trusted actors

How to guarantee good behavior?

“Ad hoc” naming system

Slide22

CSC 458/CSC 2209 – Computer Networks22

University of Toronto – Fall 2019Internet Design vs. SecurityPacket Based (statistical multiplexing)Destination Routing

Global Addressing (IP addresses)

Simple to join (as infrastructure)

Power in End Hosts (end-to-end argument)

“Ad hoc” naming system

Seems to work OK

Fate sharing with hierarchical system

Off route = more trusted elements

Slide23

TodayNetwork Security GoalsSecurity vs. Internet DesignAttacksHow attacks leverage these weaknesses in practice

Denial of serviceIndirectionReconnaissance DefensesCSC 458/CSC 2209 – Computer Networks23

University of Toronto – Fall 2019

Slide24

DoS: Via Resource ExhaustionCSC 458/CSC 2209 – Computer Networks

24University of Toronto – Fall 2019

Downlink

bandwidth

Uplink

bandwidth

Memory

(e.g. TCP TCB

exhaustion)

CPU

User-time

Slide25

DoS: Via Resource ExhaustionUplink bandwidth Saturate uplink bandwidth using legitimate requests (e.g. download large image)Solution: use a CDN (Akamai)

Solution: admission control at the server (not a network problem??)CPU time similar to aboveVictim MemoryTCP connections require state, can try to exhaustE.g. SYN Flood (next few slides)CSC 458/CSC 2209 – Computer Networks

25

University of Toronto – Fall 2019

Slide26

Who Is Responsible?Can we rely on the attack victim to stop DoS attacks?If not, who can do this?

How?Which resource is cheaper?Bandwidth, or CPUCSC 458/CSC 2209 – Computer Networks26

University of Toronto – Fall 2019

Slide27

CSC 458/CSC 2209 – Computer Networks27

University of Toronto – Fall 2019TCP Handshake

C

S

SYN

C

SYN

S

, ACK

C

ACK

S

Listening

Store data

Wait

Connected

Slide28

CSC 458/CSC 2209 – Computer Networks28

University of Toronto – Fall 2019Example: SYN Flooding

C

S

SYN

C1

Listening

Store data

SYN

C2

SYN

C3

SYN

C4

SYN

C5

Slide29

Protection against SYN AttacksSYN CookiesClient sends SYNServer responds to Client with SYN-ACK cookie

sqn = f(src addr, src port, dest addr, dest port, rand)Server does not save stateHonest client responds with ACK(sqn)Server checks response If matches SYN-ACK, establishes connectionDrop Random TCB in SYN_RCVD state(likely to be attackers)CSC 458/CSC 2209 – Computer Networks

29

University of Toronto – Fall 2019

[Bernstein, Schenk]

Slide30

Distributed DoS (DDoS)Attacker compromises multiple hostsInstalls malicious program to do her biding(bots)

Bots flood (or otherwise attack) victims on command; Attack is coordinatedBot-networks of 80k to 100k have been seen in the wildAggregate bandwidth > 20Gbps (probably more)E.g. Blue Frog (by Blue Security)CSC 458/CSC 2209 – Computer Networks30

University of Toronto – Fall 2019

Slide31

Blue FrogAnti-spam tool: Persuade spammers to remove community members’ addresses from their mailing list

Users register: Do Not Intrude Registry, Firefox, and IE pluginsAutomatic reports: ISPs, law-enforcement, …Spammers attackedIntimidating e-mailsDDoS attack to “Blue Security” web pageRedirected to blogs.com  CollapseAttackers identifiedBlue Security ceased its anti-spam operation.CSC 458/CSC 2209 – Computer Networks

31

University of Toronto – Fall 2019

Slide32

What About Downlink? (Flooding)Assume attacker generates enough traffic to saturate downlink bandwidth.What can the server do?What can the network do?

Ideally want network to drop bad packetsHow to tell if a packet is part of a legitimate flow?(requires per flow state?)Even harder, how to tell if a SYN packet is part of a legitimate request?Is the phone network immune to such attacks?CSC 458/CSC 2209 – Computer Networks

32

University of Toronto – Fall 2019

Slide33

DoS AplentyAttacker guesses TCP seq. number for an existing connection:Attacker can send Reset packet to close connection. Results in DoS.

Most systems allow for a large window of acceptable seq. #’sOnly have to a land a packet in Attack is most effective against long lived connections, e.g. BGP.Congestion control DoS attackGenerate TCP flow to force target to repeatedly enter retransmission timeout stateDifficult to detect because packet rate is lowCSC 458/CSC 2209 – Computer Networks

33

University of Toronto – Fall 2019

RTO

2*RTO

Congestion

Congestion

Congestion

Slide34

Indirection AttacksRely on connecting to “end-points” to get content/access servicesUnfortunately network end-points (e.g. IPs, DNS names) are loosely bound

Long history of problems CSC 458/CSC 2209 – Computer Networks34University of Toronto – Fall 2019

Slide35

CSC 458/CSC 2209 – Computer Networks35

University of Toronto – Fall 2019Example: Fetching a Web PageDHCP Request

Client

ARP request (name server/gateway)

DNS request

HTTP Request

Slide36

DNS VulnerabilityUsers/hosts typically trust the host-address mapping provided by DNS

CSC 458/CSC 2209 – Computer Networks36University of Toronto – Fall 2019

Slide37

Bellovin/Mockapetris AttackTrust relationships use symbolic addresses/etc/hosts.equiv

contains friend.stanford.eduRequests come with numeric source addressUse reverse DNS to find symbolic nameDecide access based on /etc/hosts.equiv, …AttackSpoof reverse DNS to make host trust attackerCSC 458/CSC 2209 – Computer Networks

37

University of Toronto – Fall 2019

Slide38

CSC 458/CSC 2209 – Computer Networks38

University of Toronto – Fall 2019Reverse DNS Given numeric IP address, find symbolic addrTo find 222.33.44.3,Query 44.33.222.in-addr.arpaGet list of symbolic addresses, e.g.,

1 IN PTR server.small.com

2 IN PTR boss.small.com

3 IN PTR ws1.small.com

4 IN PTR ws2.small.com

Slide39

AttackGain control of DNS service for evil.orgSelect target machine in good.netFind trust relationships

SNMP, finger can help find active sessions, etc.Example: target trusts host1.good.netConnectAttempt rlogin from coyote.evil.orgTarget contacts reverse DNS server with IP addrUse modified reverse DNS to say “addr belongs to host1.good.net”Target allows rloginCSC 458/CSC 2209 – Computer Networks

39

University of Toronto – Fall 2019

Slide40

DNS Rebinding AttacksModern browsers implement the same-origin policy.

Isolate distinct origins.To attack:Subvert the same-origin policyConfuse browser to aggregate network resources.DNS Rebinding Attacks:register a domain, e.g. attacker.comAnswer DNS queries for attacker.com with your IP, short TTL, serve malicious JavaScriptScript requests IP address of attacker.com, feed the IP of private serverRead private information

CSC 458/CSC 2209 – Computer Networks

40

University of Toronto – Fall 2019

Protecting Browsers from DNS Rebinding Attacks, In Proceedings of ACM CCS 07

Slide41

Solution – DNS PinningOnce a hostname is resolved to an IP address, cache the result for a whileRegardless of TTL

Plug-ins can cause problemsCSC 458/CSC 2209 – Computer Networks41University of Toronto – Fall 2019

Slide42

TCP Connection SpoofingEach TCP connection has an associated stateClient IP and port number; same for server

Sequence numbers for client, server flowsProblemEasy to guess statePort numbers are standardSequence numbers (used to be) chosen in predictable wayCSC 458/CSC 2209 – Computer Networks42

University of Toronto – Fall 2019

Slide43

A, B trusted connectionSend packets with predictable

seq numbersE impersonates B to AOpens connection to A to get initial seq numberSYN-floods B’s queueSends packets to A that resemble B’s transmissionE cannot receive, but may execute commands on AOther ways to spoof source IP? IP Spoofing Attack

CSC 458/CSC 2209 – Computer Networks

43

University of Toronto – Fall 2019

Server A

B

E

Slide44

Reconnaissance/MiscTo attack a victim, first discover available resourcesMany commonly used reconnaissance techniquesPort scanning

Host/application fingerprintingTracerouteDNS (reverse DNS scanning, Zone transfer)SNMPThese are meant for use by admins to diagnose network problems!Trade-off between the ability to diagnose a network and reveal security sensitive informationCSC 458/CSC 2209 – Computer Networks

44

University of Toronto – Fall 2019

Slide45

Anecdotes …Large bot networks exist that scan the Internet daily looking for vulnerable hosts

Old worms still endemic on Internet (e.g. Code Red)Seem to come and go in massSurreptitious scanning effort?CSC 458/CSC 2209 – Computer Networks45

University of Toronto – Fall 2019

Slide46

CSC 458/CSC 2209 – Computer Networks46

University of Toronto – Fall 2019TodayNetwork Security GoalsSecurity vs. Internet DesignAttacksDefenses

Slide47

FirewallsKeep out unwanted trafficCan be done in the network (e.g. network perimeter) or at the hostMany mechanisms

Packet filtersStateful packet filtersProxies, gatewaysCSC 458/CSC 2209 – Computer Networks47

University of Toronto – Fall 2019

Slide48

Packet FiltersMake a decision to drop a packet based on packet headerProtocol typeTransport ports

Source/Dest IP addressEtc.Usually done on router at perimeter of networkAnd on virtually all end-hosts todayCSC 458/CSC 2209 – Computer Networks

48

University of Toronto – Fall 2019

Slide49

Packet Filters: ProblemAssume firewall rule(allow from port 53 and port 80)Easy for an attacker to send packets from port 53 or 80

Further attacker can forge sourceNot very effective for stopping packets from unwanted sendersCSC 458/CSC 2209 – Computer Networks49

University of Toronto – Fall 2019

Slide50

Stateful Packet FilterIdea: Only allow traffic initiated by clientFor each flow request (e.g. SYN or DNS req)keep a little state

Ensure packets received from Internet belong to an existing flowTo be effective must keep around sequence numbers per flowVery common, used in all NAT boxes todayStateful NATs downside: failure  all connection state is lost!CSC 458/CSC 2209 – Computer Networks

50

University of Toronto – Fall 2019

Slide51

ProxiesWant to look “deeper” into packetsApplication typeContent

Can do by reconstructing TCP flows and “peering” in, however this is really hard (Digression next slide)CSC 458/CSC 2209 – Computer Networks51

University of Toronto – Fall 2019

Slide52

Passive Reconstruction of TCP StreamUse passive network element to reconstruct TCP streams“Peer” into stream to find harmful payload

(e.g. virus signatures)Why is this really hard?CSC 458/CSC 2209 – Computer Networks52

University of Toronto – Fall 2019

Slide53

Reconstructing StreamsMust know the client’s view of dataHave to know if packet reaches destination(may not if TTL is too short)

Have to know how end-host manages overlapping TCP sequence numbersHave to know how end-host manages overlapping fragmentsCSC 458/CSC 2209 – Computer Networks53

University of Toronto – Fall 2019

End

host

router

X

TTL = 0

Slide54

ProxiesFull TCP termination in the networkOften done transparently (e.g. HTTP proxies)Allows access to objects passed over network

E.g. files, streams etc.Does not have same problems as stream reconstructionPlus can do lots of other fun thingsE.g. content cachingCSC 458/CSC 2209 – Computer Networks54

University of Toronto – Fall 2019

Slide55

Proxy DiscussionProxies duplicate per-flow state held by clientsHow does this break end-to-end semantics of TCP?E.g. what if proxy crashes right after reading from client? (lost data!)

How to fix?Lots of work in this areaCSC 458/CSC 2209 – Computer Networks55

University of Toronto – Fall 2019

Slide56

Final CommentsInternet not designed for securityMany, many attacksDefense is very difficult

Attackers are smart; Broken network aids them!Retrofitting solutions often break original design principlesSome of these solutions work, some of the timeSome make the network inflexible, brittleTime for new designs/principles?CSC 458/CSC 2209 – Computer Networks56

University of Toronto – Fall 2019