Security CS 4720 Web & Mobile Systems CS 4720 - - PowerPoint PPT Presentation

security
SMART_READER_LITE
LIVE PREVIEW

Security CS 4720 Web & Mobile Systems CS 4720 - - PowerPoint PPT Presentation

Security CS 4720 Web & Mobile Systems CS 4720 The Tradi/onal Security Model The Firewall Approach Keep the good guys in and the


slide-1
SLIDE 1

CS ¡4720 ¡

Security ¡

CS ¡4720 ¡– ¡Web ¡& ¡Mobile ¡Systems ¡ ¡

slide-2
SLIDE 2

CS ¡4720 ¡

The ¡Tradi/onal ¡Security ¡Model ¡

  • The ¡Firewall ¡Approach ¡
  • “Keep ¡the ¡good ¡guys ¡in ¡and ¡the ¡bad ¡guys ¡out” ¡

2

slide-3
SLIDE 3

CS ¡4720 ¡

Distributed ¡System ¡Security ¡

3

  • “Islands ¡of ¡Security” ¡
slide-4
SLIDE 4

CS ¡4720 ¡

A ¡Paradigm ¡ShiH ¡without ¡a ¡Clutch ¡

  • These ¡models ¡were ¡just ¡fine ¡when ¡corpora/ons

¡ had ¡their ¡own ¡networks ¡

  • If ¡you ¡needed ¡in, ¡you ¡used ¡a ¡VPN ¡
  • Now ¡the ¡open ¡Internet ¡is ¡used ¡as ¡the ¡main ¡

network ¡

  • How ¡does ¡this ¡change ¡the ¡security ¡model? ¡
  • Consider ¡this: ¡how ¡do ¡you ¡access ¡a ¡web ¡

service? ¡

4

slide-5
SLIDE 5

CS ¡4720 ¡

A ¡Paradigm ¡ShiH ¡without ¡a ¡Clutch ¡

5

  • Firewall ¡security ¡happens ¡at ¡

the ¡network ¡layer ¡

  • But ¡now ¡we ¡need ¡access ¡on ¡a ¡

per-­‑applica/on ¡basis ¡

  • How ¡can ¡we ¡achieve ¡that? ¡
slide-6
SLIDE 6

CS ¡4720 ¡

A ¡Paradigm ¡ShiH ¡without ¡a ¡Clutch ¡

6

  • Web ¡services ¡are ¡designed ¡to ¡penetrate ¡

firewalls, ¡since ¡they ¡use ¡port ¡80 ¡

  • Applica/on-­‑level ¡security ¡is ¡needed ¡to ¡

examine: ¡

– Who ¡is ¡making ¡a ¡request ¡ – What ¡info ¡is ¡being ¡accessed ¡ – What ¡services ¡is ¡being ¡addressed ¡

  • IP ¡based ¡security ¡is ¡s/ll ¡needed ¡though! ¡
slide-7
SLIDE 7

CS ¡4720 ¡

Applica/on ¡Security ¡101 ¡

  • What ¡are ¡some ¡basic ¡things ¡you ¡do ¡to ¡protect ¡

your ¡system ¡at ¡the ¡applica/on ¡level? ¡

  • Catch ¡excep/ons ¡and ¡don’t ¡show ¡detailed ¡error

¡ messages ¡

  • Hide ¡interfaces ¡
  • “Don’t ¡trust ¡your ¡users” ¡
  • Encryp/on ¡

7

slide-8
SLIDE 8

CS ¡4720 ¡

Applica/on ¡Security ¡101 ¡

8

  • Well… ¡shoot. ¡
  • Web ¡services: ¡

– Have ¡publically ¡announced ¡interfaces! ¡ – Must ¡return ¡detailed ¡excep/ons ¡to ¡debug ¡systems! ¡ – At ¡some ¡level, ¡must ¡trust ¡users! ¡

  • We ¡need ¡security ¡that ¡is ¡basically ¡XML-­‑aware ¡
slide-9
SLIDE 9

CS ¡4720 ¡

System ¡Security ¡

9

  • Human: ¡social ¡engineering ¡abacks ¡
  • Physical: ¡“steal ¡the ¡server ¡itself” ¡
  • Network: ¡treat ¡your ¡server ¡like ¡a ¡2 ¡year ¡old ¡
  • Opera/ng ¡System: ¡the ¡war ¡con/nues ¡
  • Applica/on: ¡just ¡discussed ¡
  • Database: ¡protec/ng ¡the ¡data ¡
slide-10
SLIDE 10

CS ¡4720 ¡

XML-­‑Aware ¡Security ¡

  • Must ¡be ¡able ¡to ¡inspect ¡content ¡of ¡network ¡

traffic ¡

  • Must ¡be ¡able ¡to ¡make ¡authoriza/on ¡decisions ¡
  • Must ¡be ¡able ¡to ¡make ¡authen/ca/on ¡decisions ¡
  • Must ¡be ¡able ¡to ¡verify ¡XML ¡as ¡valid ¡for ¡this ¡

transac/on ¡

  • Must ¡also ¡deal ¡with ¡confiden/ality ¡and ¡privacy ¡

concerns ¡(encryp/on, ¡message ¡integrity, ¡audit) ¡

10

slide-11
SLIDE 11

CS ¡4720 ¡

Web ¡Service ¡Security ¡Concerns ¡

  • Unauthorized ¡Access: ¡people ¡view ¡info ¡that ¡

they ¡shouldn’t ¡from ¡a ¡message ¡

  • Unauthorized ¡Altera/on: ¡an ¡abacker ¡modifies ¡

part ¡of ¡a ¡message ¡

  • Man-­‑in-­‑the-­‑Middle: ¡an ¡abacker ¡sits ¡in-­‑between ¡

two ¡par/es ¡and ¡views ¡messages ¡(or ¡alters ¡ them) ¡as ¡they ¡pass ¡by ¡

  • Denial-­‑of-­‑Service: ¡flood ¡the ¡service ¡with ¡so ¡

many ¡messages ¡that ¡it ¡can’t ¡keep ¡up ¡

11

slide-12
SLIDE 12

CS ¡4720 ¡

Network ¡Level ¡Security ¡

  • Let’s ¡start ¡with ¡the ¡basic ¡stuff ¡
  • Firewalls ¡

– IP ¡Packet ¡Filtering ¡

  • Sta/c ¡Filtering: ¡follow ¡the ¡rules ¡and ¡toss ¡whatever ¡you ¡

see ¡

  • Stateful ¡Filtering: ¡allow ¡for ¡dynamically ¡changed ¡rules ¡as ¡

requests ¡go ¡out ¡from ¡inside ¡the ¡firewall ¡

– Packet ¡filtering ¡only ¡works ¡on ¡IP ¡address… ¡not ¡on ¡ the ¡people ¡using ¡the ¡IP ¡address ¡ – Further, ¡no ¡idea ¡what ¡the ¡payload ¡is ¡

12

slide-13
SLIDE 13

CS ¡4720 ¡

Network ¡to ¡Applica/on ¡

  • Applica/on-­‑specific ¡proxy ¡servers ¡

– A ¡connec/on ¡comes ¡in ¡to ¡the ¡proxy ¡ – It ¡verifies ¡the ¡user ¡and ¡payload ¡ – Then ¡creates ¡a ¡connec/on ¡to ¡the ¡applica/on ¡server ¡

  • Disadvantages? ¡

13

slide-14
SLIDE 14

CS ¡4720 ¡

Encryp/on ¡

  • Without ¡going ¡too ¡deep ¡into ¡this… ¡
  • There ¡are ¡three ¡basic ¡“types” ¡of ¡encryp/on ¡

methodologies ¡that ¡we ¡use ¡on ¡the ¡Internet: ¡

– Symmetric ¡ – Asymmetric ¡ – Digital ¡Signature ¡/ ¡Cer/ficate ¡

  • Encryp/on ¡can ¡address: ¡authen/ca/on, ¡

confiden/ality, ¡and ¡integrity ¡of ¡a ¡message ¡

14

slide-15
SLIDE 15

CS ¡4720 ¡

Applica/on ¡Level ¡Security ¡

  • Refers ¡to ¡security ¡safeguards ¡built ¡into ¡a ¡

par/cular ¡applica/on ¡and ¡operate ¡ independently ¡from ¡the ¡network ¡level ¡security ¡

  • Authen/ca/on ¡
  • Authoriza/on ¡
  • Integrity ¡/ ¡Confiden/ality ¡
  • Non-­‑repudia/on ¡/ ¡Audi/ng ¡

15

slide-16
SLIDE 16

CS ¡4720 ¡

Authen/ca/on ¡

  • Verifying ¡that ¡the ¡requester ¡is ¡the ¡requester… ¡
  • … ¡and ¡that ¡the ¡service ¡is ¡the ¡service ¡
  • This ¡requires ¡a ¡mechanism ¡of ¡“proof ¡of ¡

iden/ty” ¡

  • What ¡are ¡some ¡ways ¡accomplish ¡this? ¡
  • Username ¡/ ¡password ¡
  • Signed ¡Cer/ficates ¡
  • Kerberos ¡

16

slide-17
SLIDE 17

CS ¡4720 ¡

Kerberos ¡

  • A ¡third ¡party ¡system ¡for ¡authen/ca/on ¡and ¡

encryp/on ¡

  • What ¡was ¡Kerberos? ¡

17

slide-18
SLIDE 18

CS ¡4720 ¡

A ¡lible ¡closer ¡to ¡home ¡ ¡

  • Netbadge ¡(or ¡more ¡

accurately, ¡ PubCookie) ¡

  • hbp://

www.pubcookie.org/ docs/how-­‑ pubcookie-­‑ works.html ¡

18

slide-19
SLIDE 19

CS ¡4720 ¡

Authoriza/on ¡

  • Now ¡that ¡we ¡know ¡who ¡you ¡are, ¡what ¡are ¡you ¡

allowed ¡to ¡do? ¡

  • Permissions ¡
  • Role-­‑based ¡security ¡
  • How ¡does ¡this ¡work ¡in ¡a ¡database ¡system? ¡
  • How ¡about ¡an ¡opera/ng ¡system? ¡

19

slide-20
SLIDE 20

CS ¡4720 ¡

Integrity ¡/ ¡Confiden/ality ¡

  • What ¡happens ¡if ¡a ¡message ¡is: ¡

– Captured ¡and ¡reused? ¡ – Captured ¡and ¡modified? ¡ – Monitored ¡as ¡is ¡passes ¡by ¡in ¡a ¡passive ¡manner? ¡

  • How ¡do ¡we ¡verify ¡a ¡message ¡hasn’t ¡been ¡

tampered ¡with? ¡

– Digital ¡signature ¡

  • How ¡do ¡we ¡verify ¡it ¡hasn’t ¡been ¡viewed? ¡

– Encryp/on ¡

20

slide-21
SLIDE 21

CS ¡4720 ¡

Non-­‑repudia/on ¡/ ¡Audi/ng ¡

  • When ¡we’re ¡charging ¡to ¡use ¡a ¡web ¡service, ¡

how ¡do ¡we ¡prove ¡you ¡used ¡the ¡service ¡so ¡we ¡ can ¡charge ¡you? ¡

  • How ¡do ¡we ¡track ¡your ¡ac/vi/es? ¡
  • Digitally ¡signed ¡logs, ¡effec/vely ¡
  • Also ¡saves ¡the ¡cer/ficate ¡used ¡to ¡perform ¡the ¡

transac/on ¡(like ¡a ¡signature ¡on ¡a ¡receipt) ¡

21

slide-22
SLIDE 22

CS ¡4720 ¡

What ¡did ¡this ¡cover? ¡

  • Authen/ca/on: ¡

– Cer/ficate ¡authority ¡can ¡vouch ¡for ¡sender ¡ – Username ¡and ¡Password ¡are ¡part ¡of ¡WS-­‑Security ¡ – Public/Private ¡key ¡pair ¡

  • Integrity/Confiden/ality: ¡

– Signatures ¡ – Encryp/on ¡ – All ¡the ¡good ¡stuff ¡ ¡

22

slide-23
SLIDE 23

CS ¡4720 ¡

Authoriza/on? ¡

  • Doesn’t ¡take ¡place ¡at ¡this ¡“transfer” ¡level ¡
  • More ¡with ¡user ¡groups ¡in ¡the ¡applica/on ¡
  • Database ¡users ¡
  • File ¡system ¡permissions ¡
  • Have ¡a ¡good ¡role-­‑based ¡security ¡policy ¡

– People ¡only ¡have ¡access ¡to ¡just ¡enough ¡info ¡and ¡ nothing ¡more ¡ – Nothing ¡runs ¡as ¡root ¡ – Privileges ¡are ¡given ¡out ¡in ¡a ¡very ¡specific ¡fashion ¡

23

slide-24
SLIDE 24

CS ¡4720 ¡

Non-­‑repudia/on? ¡

  • Either ¡done ¡through ¡text ¡logs ¡or ¡a ¡DB ¡table ¡

with ¡transac/ons ¡

– Probably ¡a ¡DB ¡table ¡would ¡be ¡beber ¡

  • Record ¡the ¡signature ¡and ¡important ¡ac/vi/es ¡

that ¡the ¡user ¡performed ¡

24

slide-25
SLIDE 25

CS ¡4720 ¡

Ugh, ¡I ¡have ¡to ¡figure ¡all ¡this ¡out? ¡

  • If ¡you ¡are ¡building ¡your ¡own ¡service ¡based ¡on ¡

JSON/XML ¡and ¡you ¡want ¡to ¡secure ¡it… ¡yup ¡

  • But ¡if ¡you’re ¡doing ¡SOAP, ¡there’s ¡an ¡agreed-­‑

upon ¡standard ¡

  • WS-­‑Security ¡

– Provides ¡rules ¡for ¡how ¡to ¡handle ¡all ¡security ¡for ¡ SOAP ¡web ¡services ¡ – Provides ¡schema ¡for ¡the ¡XML ¡to ¡make ¡all ¡this ¡work ¡

25