WebFund 2014W Lecture 15

From Soma-notes
Revision as of 00:44, 10 March 2014 by Soma (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The video from the lecture given on March 7, 2014 is available:


Web Security

Security is (roughly):

  • confidentiality
  • integrity
  • availability

Cryptography (SSL, secure hashes) are tools for achieving security. But they are not the only ones.

Security really matters for web applications because, by design, most are accessible by anyone in the world.

Threat Models

  • what are the attacker goals?
  • how may they achieve them?
  • in other words, how are you in danger? What are the risks?

There are always attacks outside of your threat model.

Attacker Goals

  • steal private information (e.g., financial)
  • reduce availability
    • impact reputation
  • perform malicious operations (using existing functionality)
    • steal money
    • blow up a reactor
    • use application to achieve attacker's goals
  • monitor usage (spying)
  • data tampering

Points of Vulnerability

What access does the attacker have?

  1. hardware (chips)?
  2. physical/virtual access to machine?
    • burglary
    • "insider attacks": sysadmins, cloud providers
    • Digital Rights Management (DRM)
  3. malicious input

Last is most significant for web security

Input validation

  • hard because application interface/front end is under attacker control
  • hardest use case: user-generated input
    • input becomes output semi-directly
    • (incorporated into web pages)
  • one JavaScript context per web page
  • DOM is accessible in it => all of the web page is accessible
  • easy to trust client, easy to forget "redundant" checks