DSci529:
Security and Privacy
In Informatics
Technical Means of Protection:
a Primer on Computer Security
Prof. Clifford Neuman
Lecture 3
31 Jan 2025
A primer in-security
• Much of todays lecture will be review for students
in the security informatics program.
• The objectives of today’s lecture are to provide an
overview of security for the non-security
specialist.
– Useful for those in data informatics
– Useful for those outside of engineering
• What you need to know about the security of the
information you manage
Trusted vs. Trustworthy
• We trust our computers
– We depend upon them.
– We are vulnerable to breaches of security.
• Our computer systems today
are not worthy of trust.
– We have buggy software
– We configure the systems incorrectly
– Our user interfaces are ambiguous regarding the
parts of the system with which we communicate.
The Security Triad
• Confidentiality
• Keep data out of the
wrong hand
• Integrity
• Keep data from being
modified
• Availability
• Keep the system
running and reachable
Terminology
Trusted – Parts of a system that we depend upon for the proper
enforcement of policies, whether or not the code is free of
vulnerabilities (almost all systems have vulnerabilities). - as
compared with
Trustworthy – our belief that a system is free of vulnerabilities that
could result in the violation the relevant security policies.
What’s the Difference
We trust our computers
We depend upon them.
We are vulnerable to breaches of security.
Our computer systems today are not worthy of trust.
We have buggy software
We configure the systems incorrectly
Our user interfaces are ambiguous regarding the parts
of the system with which we communicate.
Trust is for a purpose and an assumed environment
Policy v. Mechanism
Security policy defines what is and is not allowed
• What confidentiality, integrity,
and availability actually mean
Security mechanisms are methods or tools for enforcing security
policy
• Prevention
• Detection
• Reaction
Among mechanisms are:
• Mechanisms that enforce policy.
• Mechanisms that solve intermediate problems.
• Authentication, Audit
• Containment
Important Considerations
Risk analysis and Risk Management
• Impact of loss of data.
• Impact of disclosure.
• Legislation may play a role.
Human factors
• The weakest link
Goal should be to mitigate consequence
Adversaries: Tool Users
Attacker has specific tools
• Casts the tool widely to see what can be caught.
• Sometimes described as script-kiddies
• Gets them into systems or with specific vulnerabilities
• Gets them account access to susceptible employees
• The gather what they find, ex-filtrate or modify, and stop
there
Strong security posture is effective
• Sound security practices
• Systems up to date
• Least privilege
Adversaries: Bottom Up Opportunistic
Looks for the weak link
• Uses tools to scan for vulnerabilities
• Once in, repeats the process
• This time starting with elevated access because of the
system or user ID already compromised.
Your containment architecture is critical against
such adversaries.
• You need to be aware of the paths that might be
followed to reach sensitive data.
Adversaries: Goal-Oriented Top-Down
Learns about your organization and system
• Goal is to compromise some component of your system or
access specific data.
• Learns precursor activities to be achieved to meet that goal.
• Often applies APT – Advanced Persistent Threat tactics
• Will wait for threat vector to propagate
Defenses require all of:
• Strong security posture
• Training of privileged employees
• Containment Architecture
• Strong defenses to subversion.
Attack Terminology
Vulnerability – A weakness in a system, program, procedure, or
configuration that could allow an adversary to violate the
intended policies of a system.
Threat – Tools or knowledge (capabilities) that care capable of
exploiting a vulnerability to violate the intended policies of a
system.
Attack – An attempt to exploit a vulnerability to violate the intended
policies of a system.
Compromise or intrusion – The successful actions that violate the
intended polices of a system.
Incidents and Breaches
Penetration – A successful attack (intrusion) that exploits a vulnerability
in the code base of a system or its configuration. The result will
often be to install a subversion.
Denial of Service – An attack that prevents authorized access to a
resource, by destroying a target or overwhelming it with undesired
requests.
Subversion - An intentional change to the code base or configuration of
a system that alters the proper enforcement of policy. This includes
the installation of backdoors and other control channels in violation
of the policy relevant to the system.
Subversion vectors – the methods by which subversions are introduced
into a system. Often the vectors take the form of malicious code.
More Terminology
Secure – A system is secure if it correctly enforces a correctly stated
policy for a system. A system can only be secure with respect to a
particular set of policies and under a set of stated assumptions.
There is no system that is absolutely secure.
Trusted Computing Base – That part of a system which if
compromised affects the security of the entire system. One often
unstated assumption made with respect to a secure system is
that the TCB is correctly implemented and has not been
compromised.
Attack Surface – The accumulation of all parts of a system that are
exposed to an adversary against which the adversary can try to
find and exploit a vulnerability that will render the system
insecure (i.e. violate the security policies of the system).
Security and Society
Does society set incentives for security.
• OK for criminal aspects of security.
• Not good in assessing responsibility for
allowing attacks.
• Privacy rules are a mess.
• Incentives do not capture gray area
• Spam and spyware
• Tragedy of the commons
Why we aren’t secure
Impersonation
Theft of password/keys
Malicious Code
The Human Element
Social Engineering
Errors
Insider Threat
Incorrect Policy
Protocols design failures and weak software
Denial of service
What we want from security
Confidentiality
Prevent unauthorized disclosure
Integrity
Authenticity of document
That it hasn’t changed
Availability
That the system continues to operate
That the system and data is reachable and readable.
Enforcement of policies
Privacy
Accountability and audit
Some Important
Mechanisms
• Encryption • Virtual Private Nets
• Checksums • Intrusion detection
• Key management • Intrusion response
• Authentication • Development tools
• Authorization • Virus Scanners
• Accounting • Policy managers
• Firewalls • Trusted hardware
Security Today
Most deployment of security services today
handles the easy stuff, implementing security
at a single point in the network, or at a single
layer in the protocol stack:
Firewalls, VPN’s
IPSec
SSL
Virus scanners
Intrusion detection
It’s Not That Easy
Unfortunately, security isn’t that easy. It must be
better integrated with the application.
At the level at which it must ultimately be
specified, security policies pertain to
application level objects, and identify
application level entities (users).
Loosely Managed Systems
Security is made even more difficult to implement since
today’s systems lack a central point of control.
• Home machines unmanaged
• Networks managed by different organizations.
• A single function touches machines managed by
different parties.
• Clouds
Cryptography
Cryptography and Security
Cryptography underlies many fundamental
security services
• Confidentiality
• Data integrity
• Authentication
It is a basic foundation of much of security.
A Brief HIstory
Steganography: “covered writing”
• Demaratus and wax tablets
• German microdots (WWII) .
• Flaw: Discovery yields knowledge
• Confidentiality through obscurity
Cryptography: “secret writing”
• TASOIINRNPSTO and TVCTUJUVUJPO
Encryption used to scramble data
PLAINTEXT CIPHERTEXT PLAINTEXT
+ +
(KEY) (KEY)
ENCRYPTION DECRYPTION
Cryptography Basics
• Two basic types of cryptography
• TASONO PINSTIR
• Message broken up into units
• Units permuted in a seemingly random but reversible
manner
• Difficult to make it easily reversible only by intended
receiver
• Exhibits same first-order statistics
Cryptography Basics
• Two basic types of cryptography
• TRANSPOSITION (TASONOPINSTIR)
• Message broken up into units
• Units permuted in a seemingly random but reversible
manner
• Difficult to make it easily reversible only by intended
receiver
• Exhibits same first-order statistics
Cryptography Basics
• Two basic types of cryptography (cont)
• TVCTUJUVUJPO
• Message broken up into units
• Units mapped into ciphertext
• Ex: Caesar cipher
• First-order statistics are isomorphic
in simplest cases
• Predominant form of encryption
Cryptography Basics
• Two basic types of cryptography (cont)
• SUBSTITUTION (TVCTUJUVUJPO)
• Message broken up into units
• Units mapped into ciphertext
• Ex: Caesar cipher
• First-order statistics are isomorphic
in simplest cases
• Predominant form of encryption
How Much Security
Mono-alphabetic substitution cipher
• Permutation on message units—letters
• 26! different permutations
• Each permutation considered a key
• Key space contains 26! = 4x1026 keys
• Equals number of atoms in gallon H2O
• Equivalent to an 88-bit key
How Much Security
So why not use substitution ciphers?
• Hard to remember 26-letter keys
• But we can restrict ourselves to shorter keys
• Ex: JULISCAERBDFGHKM, etc
• Remember: first-order statistics are isomorphic
• Vulnerable to simple cryptanalysis
• Hard-to-read fonts for crypto?!
Crypto-Analytic Attack Types
• Cipher text only
• Adversary sees only the ciphertext
• Known plain text
• May know some corresponding
plaintext (e.g. Login:)
• Chosen plaintext
• Can ask to have text encrypted
Two Types of
Cryptosystems
Symmetric-key (conventional)
• Single key used for both encryption and decryption
• Keys are typically short, because key space is
densely filled
• Ex: AES, DES, 3DES, RC4, Blowfish, IDEA, etc
• Substitution of blocks
Two Types of
Cryptosystems
Public-key (asymmetric)
• Two keys: one for encryption,
one for decryption
• Keys are typically long, because key
space is sparsely filled
• Ex: RSA, El Gamal, DSA, etc
• Substitution of blocks
Other Types of
Cryptosystems
• For confidentiality, One Time Pad provably secure.
• Generate truly random key stream size of data to be encrypted.
• Encrypt: Xor plaintext with the keystream.
• Decrypt: Xor again with keystream.
• Weak for integrity
• 1 bit changed in cipher text causes corresponding bit to flip in plaintext.
• Key size makes key management difficult
• If key reused, the cipher is broken.
• If key pseudorandom, no longer provably secure
• Beware of claims of small keys but as secure as one time pad – such
claims are wrong.
Block Ciphers (vs Stream)
• Block ciphers encrypt message in units called blocks
• E.g. DES: 8-byte key (56 key bits),
8-byte block
• AES (discussed later) is also a
block cipher with 128 bit blocks (16 byte)
• Larger blocks make simple cryptanalysis useless (at least for
short messages)
• Not enough samples for valid statistics
• 8 byte blocks common
• But can still tell if something is the same.
Stream Ciphers (vs Block)
• Stream ciphers encrypt a bit, byte, or block at a time, but
the transformation that is performed on a bit, byte, or
block varies depending on position in the input stream
and possibly the earlier blocks in the stream.
• Identical plaintext block will yield a different cipher
text block.
• Makes cryptanalysis more difficult.
• DES modes CBC, CFB, and OFB modes (discussed next)
create stream ciphers from DES, which is a block
cipher.
• Similar modes available for AES.
Block to Stream – DES CBC
x1 x2 xn
Encrypt:
IV
eK eK eK
y1 y2 yn
Decrypt: y1 y2 yn
dK dK dK
I
V x1 x2 xn
– Each plaintext block XOR’d with previous ciphertext
– Easily incorporated into decryption
– What if prefix is always the same? IV!
Certification of DES
• Had to be recertified every ~5 years
• 1983: Recertified routinely
• 1987: Recertified after NSA tried to promote
secret replacement algorithms
• Withdrawal would mean lack of protection
• Lots of systems then using DES
• 1993: Recertified after continued lack of
alternative
Enter AES
• 1998: NIST finally refuses to recertify DES
• 1997: Call for candidates for Advanced
Encryption Standard (AES)
• Fifteen candidates whittled down to five
• Criteria: Security, but also efficiency
• Compare Rijndael with Serpent
• 9/11/13 rounds vs 32 (breakable at 7)
• 2000: Rijndael selected as AES
Structure of Rijndael (AES)
Unlike DES, operates on whole bytes for
efficiency of software implementations
• Key sizes: 128/192/256 bits
• Variable rounds: 9/11/13 rounds
Security of Rijndael (AES)
• Key size is enough
• Immune to linear or differential analysis
• But Rijndael is a very structured cipher
• Attack on Rijndael’s algebraic structure
• Breaking can be modeled as equations
• Currently of theoretical interest only
• Reduces complexity of attack
to about 2^100
Public Key Cryptography
Public Key Cryptography
• aka asymmetric cryptography
• Based on some NP-complete problem
• Unique factorization
• Discrete logarithms
• For any b, n, y: Find x such that bx mod n = y
• Modular arithmetic produces folding
A Short Note on Primes
• Why are public keys (and private keys) so
large?
• What is the probability that some large
number p is prime?
• About 1 in 1/ln(p)
• When p ~ 2512, equals about 1 in 355
• About 1 in 3552 numbers ~ 21024 is product of two
primes (and therefore valid RSA modulo)
RSA
Rivest, Shamir, Adleman
• Generate two primes: p, q
• Let n = pq
• Choose e, a small number, relatively prime to (p-
1)(q-1)
• Choose d such that
ed = 1 mod (p-1)(q-1)
• Then, c = me mod n and m = cd mod n
An RSA Example
• Let p = 5, q = 11, e = 3 Computing 1327 mod 55
• Then n = 55 131 mod 55 = 13, 132
• d = 27, since (3)(27) mod 55 = 4, 134 mod
mod 40 = 1 55 = 16, 138 mod 55 =
36, 1316 mod 55 = 31
• If m = 7, then c = 73
1327 mod 55 = (13)(4)(36)
mod 55 = 343 mod 55
(31) mod 55 = (1872
= 13 mod 55)(31) mod 55 =
• Then m should = 1327 62 mod 55 = 7 (check)
mod 55
Cryptography for Integrity
Hash Functions
• Given m, compute H(m)
• Should be…
• Efficient: H() easy to compute
• One-way: Given H(m), hard to find m’ such that
H(m’) = H(m)
• Collision-resistant: Hard to find m and m’ such
that H(m’) = H(m)
Digital Signatures
• Provides data integrity
• Can it be done with symmetric systems?
• Verification requires shared key
• Doesn’t provide non-repudiation
• Need proof of provenance
• Hash the data, encrypt with private key
• Verification uses public key to decrypt hash
• Provides “non-repudiation”
• But what does non-repudiation really mean?
Digital Signatures
• RSA can be used
• DSA: Digital Signature Algorithm
• Variant of ElGamal signature
• Adopted as part of DSS by NIST in 1994
• Slower than RSA (but likely unimportant)
• NSA had a hand in its design (?!)
• Key size ranges from 512 to 1024 bits
• Royalty-free
Key Management
Cryptography in Use
• Provides foundation for security services
• Provides confidentiality
• Validates integrity
• Provides data origin authentication
• If we know the key
• Where does the key come from
• Straightforward plan (not quite)
• One side generates key
• Transmits key to other side
• But how?
The Problem is Key
Management
Key management is where much security
weakness lies
• Choosing keys
• Storing keys
• Communicating keys
Bootstrapping Security
• Exchange the key in person
• Can exchange key before it is needed.
• Could be a password.
• Hide the key in something else
• Steganography, fairly weak
• Armored courier
• If all else fails
• Send key over the net encrypted
• But, using what key (bootstrap)
Diffie-Hellman Key Exchange
• Choose large prime n, and generator g
• For any b in (1, n-1), there exists an a such that g a
= b. This means that every number mod p can
be written as a power of g (mod p).
• To find such a g, pick the p such that
p = 2q + 1 where q is also prime.
• For such choices of p, half the numbers will
be generators, and you can test if a
candidate g is a generator by testing
whether g^q (mod n) is equal to n-1.
Diffie-Hellman Key Exchange
• Alice, Bob select secret values x, y
• Alice sends X = gx mod n
• Bob sends Y = gy mod n
• Both compute gxy mod n,
a shared secret
• Can be used as keying material
Man in the Middle
• DH provides key exchange, but not authentication
• You don’t really know you have a secure channel
• Man in the middle
• You exchange a key with eavesdropper, who exchanges key
with the person you think you are talking to.
• Eavesdropper relays all messages, but observes or changes
them in transit.
• Solutions:
• Published public values
• Authenticated DH (Sign or encrypt DH value)
• Encrypt the DH exchange
• Subsequently send hash of DH value, with secret
Peer-to-Peer Key Distribution
• Technically easy
• Distribute keys in person
• But it doesn’t scale
• Hundreds of servers…
• Times thousands of users…
• Yields ~ million keys
Incremental Key Distribution
• Examples: Needham and Schroeder or Kerberos
• Will be Covered Next Lecture
• Basic Approach
• Parties manually exchange keys with KDC
• KDC Generates new keys as needed for pairs of
communicating entities.
• KDC sends the newly generated keys to both
parties protected using the keys previously
exchanged.
Key Distribution Center
Third-party authentication service
Distributes session keys for authentication, confidentiality,
and integrity
KDC
Simplified
2. {Kc,sS ,n }Kc, {Kc,s C}Ks
1. s,n
C S
3-5. TKT, {Nonce or T}Kcs
Public Key Distribution
• Public key can be public!
• How does either side know who and what the key is
for? Private agreement? (Not scalable.)
• Does this solve key distribution problem?
• No – while confidentiality is not required, integrity is.
• Still need trusted third party
Certification Infrastructure
• Public keys represented by
certificates Root
• Certificates signed by CA CA
whose keys are embedded
in other certificates
• User delegates trust to
Verisign
trusted certificates
• Certificate chains
transfer trust up several
levels.
Website
Recovery from Exposed Keys
• Revocation lists (CRL’s)
• Long lists
• Hard to propogate
• Lifetime / Expiration
• Short life allows assurance of validitiy at time
of issue.
• Realtime validation
• Online Certificate Status Protocol (OCSP)
• What about existing messages?
Practical Use of Keys
• Email (PEM or S/MIME or PGP)
• Hashes and message keys to be distributed and
signed.
• Conferencing
• Authentication (next lecture)
• SSL
• And other “real time” protocols
• Key establishment
Authorization and Access Control
Final Goal is Authorization
Final goal of security
• Determine whether to allow an operation
• Simple answer: yes or no
Depends upon
• Policy
• Possibly authentication
• Other characteristics
Two Kinds of Policy
Specific criteria evaluated by a system (reference
monitor) to decide whether an action is permitted.
• This will be the definition we use in most of this
lecture.
But also, statements and requirements imposed on
the operation of a system, such as required
security characteristics, etc.
• Organization Policy
• Public Policy
Reference Monitor
In computer systems, the reference monitor is a
“reference validation mechanism” and enforces
an access control policy.
The reference monitor should exhibit the following
properties:
• Non-Bypassable
• Always Invoked
• Tamper-Proof
• Verifiable
Policy Enforcement
By Axiomatics - Axiomatics, CC BY 3.0, [Link]
Policy – The Access Matrix
Policy represented by an Access Matrix
• Also called Access Control Matrix
• One row per object
• One column per subject
• Tabulates permissions
• But implemented by:
• Row – Access Control List
• Column – Capability List
Instantiation – Access Control List
Access Control Lists
• For each object, list subjects and actions
permitted by that subject.
• Corresponds to rows of ACM
Physical Example
• Proximity cards
Instantiation – Capabilities
Capabilities
• For each principal, list objects and actions
permitted for that principal
• Corresponds to columns of ACM
Physical Example
• Key Ring
The Unix file system is an example of…?
Limits of the Access Control Matrix
Permissions may need to be determined
dynamically
• Time
• System load
• Relationship with other objects
• Security status of host
Other Policy Models
Mandatory Policy - Bell Lapadula
• Top Secret, Secret, Confidential, Unclassified
• * Property: S can write O if and only if
Level S <= Level O
• Write UP, Read DOWN
• Categories treated as levels
• Form a matrix
Other Policy Models
• Mandatory Acces Control
• Bell-Lepadula is an example
• Discretionary Access Control
• Many examples
• Role Based Access Control
• Integrity Policies
• Biba Model – Like BellLepadula but inverted
• Clark Wilson
• Constrained Data, IVP and TPs
Role Based Access Control
Similar to groups in ACLs, but more general.
• Multiple phases
• Administration
• Session management
• Access Control
Roles of a user can change
• Restrictions may limit holding multiple roles
simultaneously or within a session, or over longer
periods.
• Supports separation of roles
Maps to Organization Structure
Integrity Policies
• Biba Model – Like BellLepadula but inverted
• Clark Wilson
• Constrained Data, IVP and TPs
Authorization Examples
• Access Matrix
• Access Control Lists
• .htaccess (web servers)
• Unix file access (in a limited sense)
• On login lookup groups
• SSH Authorized Keys
• Capabilities
• Unix file descriptors
• Proxies mix ACLs and capabilities
Security is more than mix of point solutions
Today’s security tools work with no coordinated policy
Firewalls and Virtual Private Networks
Authentication and Public Key Infrastructure
Intrusion Detection and limited response
We need better coordination
Intrusion response affected at firewalls, VPN’s and Applications
Not just who can access what, but policy says what kind of encryption to
use, when to notify ID systems.
Tools should implement coordinated policies
Policies originate from multiple sources
Policies should adapt to dynamic threat conditions
Policies should adapt to dynamic policy changes
Attack Terminology
Vulnerability, Threat, Attack
Vulnerability – A weakness in a system, program, procedure, or
configuration that could allow an adversary to violate the intended
policies of a system.
Threat – Tools or knowledge (capabilities) that care capable of exploiting a
vulnerability to violate the intended policies of a system.
Attack – An attempt to exploit a vulnerability to violate the intended
policies of a system.
Compromise or intrusion – The successful actions that violate the
intended polices of a system.
Trust and Assurance
Trusted – Parts of a system that we depend upon for the proper
enforcement of policies, whether or not the code is free of
vulnerabilities (almost all systems have vulnerabilities). - as
compared with
Trustworthy – our belief that a system is free of vulnerabilities that
could result in the violation the relevant security policies.
Accreditation – A statement by a third party that a system or
software has been found to be trustworthy with respect to a
particular set of policies and for a particular operational
environment.
Incidents and Breaches
Penetration – A successful attack (intrusion) that exploits a vulnerability
in the code base of a system or its configuration. The result will often
be to install a subversion.
Denial of Service – An attack that prevents authorized access to a
resource, by destroying a target or overwhelming it with undesired
requests.
Subversion - An intentional change to the code base or configuration of
a system that alters the proper enforcement of policy. This includes
the installation of backdoors and other control channels in violation
of the policy relevant to the system.
Subversion vectors – the methods by which subversions are introduced
into a system. Often the vectors take the form of malicious code.
More Terminology
Secure – A system is secure if it correctly enforces a correctly stated
policy for a system. A system can only be secure with respect to a
particular set of policies and under a set of stated assumptions.
There is no system that is absolutely secure.
Trusted Computing Base – That part of a system which if
compromised affects the security of the entire system. One often
unstated assumption made with respect to a secure system is
that the TCB is correctly implemented and has not been
compromised.
Attack Surface – The accumulation of all parts of a system that are
exposed to an adversary against which the adversary can try to
find and exploit a vulnerability that will render the system
insecure (i.e. violate the security policies of the system).
Attack Vectors
Trojan Horse
Extra code added manually to web page, program, plugin, etc.
Viruses
Self-propagating (on execution)
Contains a malicious payload.
Worms
Self-propagating through process exploit.
Contains a malicious payload.
Penetration Tools (remote or local)
Exploits vulnerabilities to violate policy
Injection, Overrun, Logic, other
Impersonation / Insider Threats
Malicious Code
Categorizing Malicious Code
Trojan Horses
Embedded in useful program that others will
want to run.
Covert secondary effect.
Viruses (a specialization of a Trojan horse)
When program started will try to
propagate itself.
Worms
Exploits bugs to infect running programs.
Infection is immediate.
Trojan Horse
A desirable documented effect
Is why people run a program
A malicious payload
An “undocumented” activity
that might be counter to the
interests of the user.
Examples: Some viruses, much spyware.
Key Goal: To get user to run the program.
Trojan Horse: How executed
Software (or hardware) that doesn’t come from
a reputable source may embed trojans.
Program with same name as one commonly
used inserted in search path.
Depending on settings, visiting a web site or
reading email may cause program to execute.
Virus
Resides within another program
Infected program becomes trojan-
horse
Self-Propagating
To infect new programs (or
instance)
New email to propagate
Boot Sector Virus
Early viruses used boot sector
• Instruction for booting system
• Modified to start virus then system.
• Virus writes itself to boot sector of all media.
• Propagates by shared disks.
Thumb drives and CDs use Autorun
Software Virus
Some viruses infect program
Same concept, on start program jumps to code for
the virus.
Virus may propagate to other programs then jump
back to host program.
Virus may deliver payload.
Email Viruses
Self propagating programs
Use mailbox and address book for likely targets.
Mail program to targeted addresses.
Forge sender to trick recipient to open program.
Exploit bugs to cause auto execution on remote site.
Trick users into opening attachments.
Macro Viruses
Code is interpreted by common application such
as word, excel, postscript interpreter, etc.
May be virulent across architectures.
Virus Phases
Insertion Phase
• How the virus propagates
Execution phase
• Virus performs other malicious action
• This part is referred to as the payload
Virus returns to host program
v. Biological Viruses
• Self propagating
• Requires a host program to replicate.
• Similar strategies
• If deadly to start won’t spread
very far – it kills the host.
• Delayed Effect
• If infects and propagates before causing damage, can
go unnoticed until it is too late to react.
Delayed Effect
• Malicious code may go undetected if effect is
delayed until some external event.
• A particular time
• Some occurrence
• An unlikely event used to trigger the logic.
• Persistent Threat
• The attacks we don’t know about
Worms
Propagate across systems by exploiting vulnerabilities in
programs already running.
• Buffer overruns on network ports
• Does not require user to “run” the worm, instead it
seeks out vulnerable machines.
• Often propagates server to server.
• Can have very fast spread times.
Malicious Payloads
Spyware and Exfiltration
• Scan Disk
• Keyloggers
• Web traffic
Misappropriation of resources
• Processing – Bitcoin Mining
• Network Bandwidth
• Hosting Criminal Sites
• VPN Endpoints
• Access to local network
• Ransomware
Modification of data
• Ransomware
Subversion
• Backdoors
• Rootkits
• Botnets
• APT Actors
Subversive Root Kits
Hide traces of infection or control
• Intercept systems calls
• Return false information that hides the malicious
code.
• Returns false information to hide effect of malicious
code.
• Some root kits have countermeasures to attempts to
detect the root kits.
• Blue pill makes itself hyper-root
Defenses – Malicious Code
Detection
• Virus scanning and Intrusion Detection
• Signature vs Activity vs Specification Based
• Change Detection
• Tripwire, AFIK
• Signed Executables
• Statistical Analysis
Least Privilege
• Don’t run as root
• Separate users ID’s
• Prevent memory used as both data and code
Defenses – Malicious Code
Isolation
• Mandatory controls on information flow
• Virtualization
• Firewalls
Sandboxing
• Limits access of running program
• So doesn’t have full access or even users access.
Backup
• Keep something stable to recover
Theory of Malicious Code
• Can not detect a virus by determining whether
a program performs a particular activity.
• Reduction from the Halting Problem
• Can not detect compromised from within
compromised system
• But can apply heuristics
Best detected from outside
Platform that is not infected
• Look at network packets using external device.
• Mount disks on safe machine and run detection
on the safe machine.
The Dark Economy
• Controlled machines for sale
• Botnets
• “Protection” for sale
• Against DDoS, Release of Data
• Attack software for sale
• And Zero-Days
• Stolen data for sale
• Credit Cards, SSN’s, login credentials
• Ransomware as a service
Identification and Authentication
Identification vs Authentication
• Identification
• Associating an identity with an individual,
process, or request
• Authentication (or Verification)
• Verifying a claimed identity
Bases for Authentication
• Ideally
• Who you are
• Practically
• Something you know
• Something you have
• Something about you
• (Sometimes mistakenly called things you are)
Something you Know
Password or Algorithm
• e.g. encryption key derived from password
Issues
• Someone else may learn it
• Find it, sniff it, trick you into providing it
• Other party must know how to check
• You must remember it
• How stored and checked by verifier
Attacks on Passwords (stYK)
• Guessing
• Brute force
• Dictionary
• Pre-computed Dictionary
• Finding elsewhere
• Social Engineering - Phishing
• Skimming
• Keystroke loggers
Phishing in the News
Phishing is now (and has been)
an automated process.
• Discussion:
• Why we need to move
away from passwords.
• What are the effective
alternatives.
Something you Have
• Time varying password
• Cards
• Mag stripe (= password)
• Smart card
• USB key
• Cell Phone
• Issues
• How to validate
• How to read (i.e. infrastructure)
Smartphones as 2nd Factor
Better than passwords alone,
but text messages can still be
intercepted, or your phone
account taken over.
Something about You
Biometrics
Measures some physical attribute
Iris scan
Fingerprint
Picture
Voice
Issues
How to prevent spoofing
Suited when biometric device is trusted, not suited
otherwise
Enrollment – Which comes first
How to initially exchange the secret.
In person enrollment
Information known in advance
Third party verification
Mail or email verification
How this relates to “what” is authenticated
Have we verified an address, email, or real person
Multi-Factor
Require at least two of the classes above.
e.g. Smart card plus PIN
RSA SecurID plus password (AOL)
Biometric and password
Issues
Better than one factor
Be careful about how the second factor is validated.
Does it reduce to same as first factor
Single Sign-On
“Users should log in once
And have access to everything”
Many systems store password lists
Which are easily stolen
Better is encryption-based credentials
Usable with multiple verifiers
Interoperability is complicating factor.
Encryption-Based Authentication
Proving knowledge of encryption key
• Therefore, it is based on something you know
• Prove by encrypting (or decrypting) a
• Nonce = Non-repeating value
C S
{Nonce or TS}Kcs
Certificate-Based Authentication
Certification authorities issue signed certificates
• Banks, companies, & organizations like Verisign act as
CA’s
• Certificates bind a public key to the name
of a user
• Public key of CA certified by higher-level CA’s
• Root CA public keys configured in browsers & other
software
• Certificates provide key distribution
Certificate-Based Authentication
Authentication steps
• Verifier provides nonce, or a timestamp is used instead.
• Principal selects session key and sends it to verifier
with nonce, encrypted with principal’s private key and
verifier’s public key, and possibly with principal’s
certificate
• Verifier checks signature on nonce, and validates
certificate.
CA Certifies for Public Key
Certificates may be published, held by verifier
or stored in directory
Dir
[CERT]
[CERT req]
C S
[CERT] {Nonce or TS}Kc-1
Secure Socket Layer and TLS
Hello
Hello + CertS
{PMKey}Ks [CertC + VerifyC ]
C S
VerifyS
Attacker
Encryption support provided between
Browser and web server - below HTTP layer
Client checks server certificate
Works as long as client starts with the correct URL
Key distribution supported through cert steps
Authentication provided by verify steps
Trust Models for Certification
X.509 Hierarchical
• Single root (original plan)
• Multi-root (better accepted)
• SET has banks as CA’s and common SET root
PGP Model
• “Friends and Family approach” - S. Kent
No certificates at all
• Out of band key distribution
• SSH
Federated Identity
Examples:
• Microsoft Passport
• Liberty Alliance and SAML
• Shibboleth
• Login with Google
• Login with “Facebook Connect”
But also
• Authentication services with multiple domains
Shibboleth Architecture
Service Provider
• Browser goes to Resource Manager who
users WAYF, and users Attribute Requester,
and decides whether to grant access.
Where are you from service
• Redirects to correct servers
Federation
Shibboleth Protocol
2. I don’t know you, or 3. Where are you from?
where you are from Client 4. Redirect to IdP for your org
Web Browser
1. User requests 5. I don’t know you.
resource Authenticate using your
org’s web login
8
1
3
2 WAYF 4
Identity Provider
Service Provider (SP) (IdP) LDAP
Web Site 6
Web Site
7
6. I know you now.
8. Based on attribute
7. I don’t know your attributes. Redirect to SP, with a
values, allow access to
Ask the IdP (peer to peer) handle for user
resource
Source: Kathryn Huxtable khuxtable@[Link] 10 June 2005
Authentication in Applications
Examples:
• Unix login
• SSH
• HTTP (Web browsing)
• SMTP (Email)
Unix (linux) and other Passwords
One way encryption of password
• Salted as defense against pre-computed dictionary
attacks
• To validate, encrypt and compare with stored
encrypted password
• May use shadow password file
SSH – Secure Shell
Encrypted channel with Unix login
Establish encrypted channel, using public key
presented by server
Send password of user over channel
Unix login to validate password.
Public key stored on target machine
User generate Public Private key pair, and uploads the
public key to directory on target host.
Target host validates that corresponding private key is
known.
Web Browsing HTTP
• Connect in the clear, Unix Password
• Connect through SSL, Unix password
• Digest authentication (RFC 2617)
• Server sends nonce
• Response is MD5 checksum of
• Username, password, nonce URI
• User certificate, strong authentication
Sending email
SMTP – To send mail
Usually, network address based
Can use password
Can be SSL protected
SMTP after POP
HTTP Webmail
For real authentication use PGP or
S/MIME
Retrieving email
Post Office Protocol
• Plaintext Password
• Can be SSL protected
• Eudora supports Kerberos authent
IMAP
• Password authentication
• Can be SSL protecteds
• Can also support Kerberos
• HTTP Web Mail
Email – End-to-end authentication
PGP and S/MIME
• Digital Signature on messages
• Message encrypted in session key
• Optional
• Hash of message encrypted in private
key
• Validation using sender’s public key
Email – Anti-Spam Authentication
SPF – Server Provided From
• Authenticate domain of sender
• SPF record for domain in DNS
▪ Specifies what hosts (i.e. mail server host)
can send mail originating from that address.
▪ Receivers may validate authorized sender
based on record
▪ Can falsely reject for forwarded messages
Email – Anti-Spam Authentication
Domain Keys
Public key associated with domain in DNS
Originators MTA attaches signature
▪ Authenticates senders domain
▪ Not individual sender
▪ Signature covers specific header fields and
possibly part of message.
Messages may be forwarded
Current Event
Amazon Faces Class Action Over Alleged Data Privacy Violations – Ying Yang
[Link]
69423
Amazon faces a lawsuit accusing the company of secretly collecting and selling user location
data through its Ads SDK. The lawsuit alleges that Amazon and its advertising partners gather
sensitive location data from users without their consent, potentially exposing personal
details such as religious beliefs and sexual orientation. Additionally, Amazon's Ads SDK is
integrated into many well-known apps, such as Speedtest, which also collect user data
without consent.
Lawsuit alleges new Trump administration email system for federal employees raises
privacy concerns - Bryan Velazquez-flores
[Link]
s-lawsuit/[Link]
Two federal employees have sued the Trump Administration (US Office of Personnel
Management) for allegedly creating an email distribution system for the federal workforce.
The employees are concerned about workers’ private data. The OPM sent a test email. The
OPM emailed employees to “confirm that an email can be sent and replied to by all
government employees.” The article says that the President could use this email system to
communicate directly with government workers but that the OPM has been hacked recently.
Current Event
Be careful with DeepSeek, Australia says - so is it safe to use?
Julia Beck posted
URL: [Link]
DeepSeek has been dominating the GenAI sphere recently, and as such, has seen high
scale adoption across the world, including in the US. Now, there are discussion
beginning around the safety of using DeepSeek. The article states, "... while the app
harvests a lot of data, experts point out it's very similar to privacy policies users may
have already agreed to for rival services like ChatGPT and Gemini, or even social media
platforms." However, with the ongoing issues around TikTok, which doesn't gather any
exceptional data about American citizens that other social media doesn't either, it will
be interesting to see whether the conversation around another Chinese software
offering will evolve differently or the same.