CPSC 4200 Midterm

Adversary

  • “computer security studies how systems behave in the presence of an adversary”

  • aks the attacker, the bad guy

  • an intelligence that actively tries to cause the system to misbehave


Know your enemy

  • motives?

  • capabilities?

  • degree of access?


Security Mindset

  • attackers perspective

    • look for weakest links (easiest to attack)

    • identify assumptions that security depends on (are they false, can I make them false?)

    • think outside the box (not constrained by system designer’s worldview)

  • defenders perspective

    • security policy

      • what assets trying to protect

      • what properties trying to enforce

    • threat model

      • who are the attackers, capabilities, motivations

      • what kinds of attack are we trying to prevent

    • risk assessment

      • what are the weaknesses of the system

      • what will successful attacks cost us

      • how likely

    • countermeasures

      • costs vs benefits

      • technical vs nontechnical


Security Policies

  • What assets are we trying to protect?

    • assets - any data, device, or other components of the environment that supports information-related activities

    • software, hardware, confidential info

  • what properties are we trying to enforce?: CIA

    • ex. two parties want to communicate across untrusted intermediary

    • Confidentiality - info has not been disclosed in an unauthorized way

      • problem: ensure that only trusted parties (bob) can read the message

      • attack: eavesdropping

      • countermeasure: encryption

    • Integrity - info has not been altered in an unauthorized way

      • problem: ensure message received by bob is sent by alice

      • attack: spoofing (altering the message)

      • countermeasure: message authentication code (MAC)

    • Availability - assure that systems work promptly and service is not denied to authorized users

      • problem: alice needs to access email server at all times (~100% uptime)

      • attack: denial of service (DoS)

      • countermeasure: intrusion detection system

    • other: authenticity, anonymity, accountability (AAA)


Terminology and Recap

  • threat - any potential occurrence, malicious or not, that could harm an asset (can be software bug)

  • vulnerability - a weakness that makes a threat possible

    • reason: poor design, config mistakes, or insecure coding techniques

  • attack - an action that exploits a vulnerability or enacts a threat

    • implicit concept of intent (intentional threat)

    • server crash can also cause loss of availability, but it is not an attack


Other Security Properties (AAA)

  • authenticity - ability to determine that statement, policies, and permissions issued by persons/systems are genuine

  • anonymity - certain records/transactions cannot be attributable to any individual

  • accountability - requirement for actions of an entity to be traced uniquely to that individual to support non-repudiation


Taxonomy of Attacks

  • passive vs active

    • passive - eavesdropping on message

    • active - modification of message (masquerading, replay, spoofing, DoS)

  • inside vs outside

    • inside - initiated by authorized entity inside security perimeter (insider)

    • outside - initiated by unauthorized entity outside the perimeter (outsider)

  • attack surface

    • network (weak crypto for digital signature)

    • software (buffer overflow)

    • human (social engineering)


Why are there security vulnerabilities?

  • buggy software

    • humans writing insecure code

    • awareness is the main issue

  • other contributing factors

    • few security courses

    • few security audits

    • C is unsafe language (memory wise)

    • programmers have other things to worry about

    • legacy software

    • consumer don’t care about security 

    • security is expensive and take time


State of the security

  • never ending war between bad and good guys

  • for every asset, there’s at least one vulnerability

  • for every protective measure, they’ll find another vulnerability

  • no such thing as bullet proof barrier for computer security

  • only a multi-layered approach has a chance of success