0% found this document useful (0 votes)
6 views65 pages

Lecture 1 - Introduction

The document outlines the introductory lecture for a course on Computer Security, covering key topics such as the CIA triad (Confidentiality, Integrity, Availability), encryption methods, and the attack model. It emphasizes the importance of secure programming practices, awareness of common security threats, and the need for adversarial thinking in security analysis. Additionally, it provides details on course structure, assessments, and policies regarding academic integrity and plagiarism.

Uploaded by

jhmoon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views65 pages

Lecture 1 - Introduction

The document outlines the introductory lecture for a course on Computer Security, covering key topics such as the CIA triad (Confidentiality, Integrity, Availability), encryption methods, and the attack model. It emphasizes the importance of secure programming practices, awareness of common security threats, and the need for adversarial thinking in security analysis. Additionally, it provides details on course structure, assessments, and policies regarding academic integrity and plagiarism.

Uploaded by

jhmoon
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 65

Lecture 1: Introduction and Basics of Security

• Course Details

• Computer Security and CIA Triad

• Encryption and Decryption (Symmetric Key)

• Attack Model
o Attacker Goals
o Attacker Capabilities
0 Course Details
Who am I?

• Nitya Lakshmanan
• Lecturer at SoC
• Research Area: 4G/5G security
• Office: COM3-02-44
• Email id: nitya.l@nus.edu.sg

https://pollev.com/nitya
Teaching Team and Support

• Tutors (email ids on Canvas)


o Tutorials TA: for tutorial sessions
o Grey hats: for assignments

• Forum discussion
o Piazza for all discussions
o https://piazza.com/nus.edu.sg/spring2025/cs2107

• Consultation
o Every Thursday (2 PM – 4 PM) [Office: COM3-02-44]
o Each TA will also open a weekly consultation.

https://pollev.com/nitya
Course Objective

• Introductory module on Information Security

• Illustrates the fundamentals of


o how systems fail due to malicious activities
o how they can be protected

• The module also places emphasis on the practices of secure programming


and implementation.

https://pollev.com/nitya
Learning Outcome

• Awareness of common and well-known attacks (e.g. phishing, SQL, XSS, ...)
• Understand basic concepts of security (e.g. availability, confidentiality, ...)

• Understand basic mechanisms & practice of protections (e.g. crypto, PKI,


access control...)

• Awareness of common pitfalls in implementation (Secure programming)


• Develop “adversarial thinking”, i.e., always assume that there are attackers
who try to compromise the system and think like them

https://pollev.com/nitya
Lectures and Tutorials

• Lecture (11 lectures):


o In-person lecture (recording will be uploaded in Canvas)
o Students are expected to attend lecture, and the recordings are for revision
o In the events that lead to loss of recording (e.g. system crashed while recording), there would
not be another new recording

• Tutorials (11 Tutorial):


o In-person tutorial
o Attendance will be taken

https://pollev.com/nitya
https://canvas.nus.edu.sg/courses/69923/pages/syllabus

https://pollev.com/nitya
Quizzes and Assignments
• Quizzes: Best 4 out of 5 quizzes
o Take home (1.5 day deadline, 1 attempt)
o Opens at 12 PM, Thursday after lecture, closes Friday, 23:59 PM
o Scope: Quiz 1( L1, L2), Quiz 2( L3, L4), Quiz 3( L5, L6), Quiz 4( L7, L8), Quiz 5( L9, L10)

• Assignment
o CTF-style 2 assignments
o 3 weeks deadline
o Assignment 1 (Week 5 - Week 7), Assignment 2 (Week 10 - Week 12)
o Piazza and consultation: for clarifications

https://pollev.com/nitya
CA Components
CA Component Weightage
Take-home CTF 10% + 10% = 20 %
Quiz (Best 4 out of 5) 6%
Midterm 25%
Tutorial attendance (8 out of 11) 4%
End term 45%
Total: 100%

https://pollev.com/nitya
References
• Security in Computing (5th ed). Prentice Hall.
• Computer Security (3rd ed), Dieter Gollman, Wiley.
o Very concise. Abstract concepts clearly explained.
o Good to have if you plan to take higher level security courses.
• Computer Security: Principles and Practice, William Stallings
• Security Engineering (3rd edition), Ross Anderson.
• Introduction to Modern Cryptography (2nd ed), Katz & Y. Lindell

https://pollev.com/nitya
Important Dates

• 28th Jan 2025 (Tuesday – after 2PM): Makeup tutorial (Chinese NY)
• 30th Jan 2025 (Thursday): No lecture (Chinese NY)
• 6th March 2025 (Thursday): Midterm exam (lecture time and venue: MPSH 2B)
• 28th March 2025 (Friday): Makeup tutorial (Well-Being Day)
• 31st March 2025 (Monday): Makeup tutorial (Hari-Raya)
• 18th April 2025 (Friday): Makeup tutorial (Good Friday Day)
• 5th May 2025 (Monday): End term test, 5:00 PM - 7:00 PM (Venue: TBA)

https://pollev.com/nitya
Registration for Tutorials

• Tutorials slots available – 16 slots


o 6 Monday, 8 Tuesday, 2 Friday
o Slots not available for bidding: T7, T8, T17, T18

• Current vacancy:
o All Monday slots => T1 to T6
o Tuesday Slots => T10, T15, T16
o Friday slots=> filled

https://pollev.com/nitya
1 Plagiarism
Zero-Tolerance for Plagiarism​
• https://www.comp.nus.edu.sg/cug/plagiarism/
• All students share the responsibility for upholding the academic standards and reputation
of the University. Academic honesty is a prerequisite condition in the pursuit and
acquisition of knowledge. Academic dishonesty is any misrepresentation with the intent
to deceive or failure to acknowledge the source or falsification of information or
inaccuracy of statements or cheating at examinations/tests or inappropriate use of
resources. There are many forms of academic dishonesty and plagiarism is one of them.
• Plagiarism is generally defined as the practice of taking someone else’s work or
ideas and passing them off as one’s own (The New Oxford Dictionary of English).
• The University does not condone plagiarism.

https://pollev.com/nitya
Zero-Tolerance for Plagiarism​
• Students will be reported to University for disciplinary action for plagiarism/cheating
offence​
• Assignment:
o Not allowed:
− Sharing of “flag” and program (essentially materials submitted) is considered plagiarism.
− Using tools in public domain is allowed, except tools that are specifically developed for CS2107
assignments.
− Receive or provide any part of the solution to the assignments
o Allowed:
− Group discussion of assignments without producing a solution for reference
− Discussing course material to understand it better
• Resources:​
o http://www.nus.edu.sg/celc/programmes/plagiarism.html
o https://www.comp.nus.edu.sg/cug/plagiarism/

https://pollev.com/nitya
Plagiarism from Internet/ChatGPT

• The following are always improper uses of AI tools:


o Generating an output and presenting it as your own work or idea.
o Generating an output, paraphrasing it, and then presenting the output as your own work or
idea.
o Processing an original source not created by yourself to plagiarize it (e.g., using an AI
paraphrasing tool to disguise someone else’s original work, or even the output of an AI tool,
and then presenting the final output as your own work or idea).

• If you completed any work with the aid of an AI tool, you should always
acknowledge the use.
o Specify which AI tools were used, in which parts of the process they were used, what were the
prompts used to generate results

https://pollev.com/nitya
Unintentional Plagiarism​

• A student may not knowingly intend to plagiarize, but that should not be used
as an excuse for plagiarism.
• Students should seek clarification from their instructors if they are unsure
whether or not they are plagiarizing the work of another person.
• You also need to protect your work. If using GitHub, make it private.

• If your project work is carelessly accessible by others, and they plagiarize, you
are responsible too.​

https://pollev.com/nitya
Common theme​

The common theme thus, to avoid plagiarism is

ATTRIBUTION
You must acknowledge the “original sources” of all parts of your
submission at all times.​
GIVE CREDIT to who did the work.

https://pollev.com/nitya
3 What is Computer/Information Security
System Failures

• System may fail, which could be due to operator mistakes


o A system file is accidentally deleted leading to system “crash”
o Hardware failures
o Poor implementation (for e.g., year 2000 problem), etc.

• Many systems are robust against typical noise.


• However, some failure are inflicted by deliberate human actions that are
designed to cause failure.
o Possible security issue

https://pollev.com/nitya
Security: Intentional Failures

• Security is about such intentional failures.


o An attacker who carries out a particular combination of steps on the ATM to withdraw money
without being recorded[1].

o An attacker uses objects resemble coins to buy drinks from vending machines

• Such combination of steps is extremely unlikely to occur by mistake.

https://pollev.com/nitya
Computer/Information Security

• NIST Computer Security Handbook [NIST95]


o Computer Security: The protection afforded to an automated information system in order to
attain the applicable objectives of preserving the integrity, availability, and confidentiality of
information system resources (includes hardware, software, firmware, information/data, and
telecommunications).

• The practice of protecting information and information systems from


unauthorized access, use, disclosure, disruption, modification, or destruction.

https://pollev.com/nitya
Vulnerability Threat Control Paradigm

• Vulnerability: A weakness in the system.


o e.g., anyone can reboot the workstation from USB or disk to gain control

• Threat: A set of circumstances that has the potential to cause loss or harm.
o e.g., an attacker with control of the workstation in the lecture theatre could maliciously gather
sensitive info such as passwords

• Control: A countermeasure or security mechanism to counter threats.


o e.g., restrict physical access to the workstation, disable USB booting

A threat is blocked by control of a vulnerability

https://pollev.com/nitya
Why Important?

• Protection of Sensitive Information: prevent identity theft, financial loss, etc


• Risk Mitigation: organization can prevent data breaches, DoS, etc

• Regulatory Compliance: adhere to strict govt regulation


• Competitive Advantage: help maintain customer trust and loyalty

• Adaptation to Evolving Threats

https://pollev.com/nitya
Internet Security Threat Report [link]

Comprehensive analysis into the cybersecurity landscape


=> trends, tactics, and threats over a specified period

https://pollev.com/nitya
Open Web Application Security Project (OWASP)
[link]

Report outlining security concerns for web


application, focusing on the 10 most critical risks.

https://pollev.com/nitya
CrowdStrike [link]

Report examines how adversaries are operating with stealth,


adapting their attacks to move faster and evade detection

https://pollev.com/nitya
4 CIA Triad
Security Definitions: C-I-A Triad
Principles that guide the design and implementation of secure systems

Integrity

Confidentiality Availability

Data and
services

https://pollev.com/nitya
1. Confidentiality

• Confidentiality: Assures that private or confidential information is not made


available or disclosed to unauthorized individuals.
• Example:
o A student “hacked” into the university system and downloaded the examination
reports. He now know the marks obtained by each student.
o Confidentiality of the exam result is compromised.
o Marks should be known to only the student, their parents, and admin who needs the
info for doing their job.

Reference: Computer Security Principle (William Stalling, Ch 1)


https://pollev.com/nitya
1. Confidentiality

• Sometime privacy is also grouped under confidentiality.


• Privacy: Assures that individuals control or influence what information
related to them may be collected and stored and by whom and to whom
that information may be disclosed.
• Example:
o A student “hacked” into the university system and downloaded the examination
reports.
o Privacy of the students is compromised since students’ personal academic information
has been exposed without their consent.
Reference: Computer Security Principle (William Stalling, Ch 1)
https://pollev.com/nitya
2. Integrity

• Integrity: Assures that the data has not been altered or tampered with by
unauthorized users.
• Examples:
o A student “hacked” into the university system and modified the grade. Integrity of the
exam result is compromised.
o An application is being modified by an attacker. The integrity of the application is being
compromised.
o The compromised application carries out key-logging. It captures the password
entered by the user and sends it to the attackers. As a result, the confidentiality of the
user password is compromised.

https://pollev.com/nitya
3. Availability

• Assures that systems work promptly, and service is not denied to authorized
users.

• Example:
o A botnet floods a web-server with large number of http requests. A legitimate http
request now takes longer time to be processed. Thus, the quality of the service
significantly degraded.
o In the extreme case, the web-server crashed and not able to provide web service
(distributed denial of service attack (DDoS) on the web-server)

https://pollev.com/nitya
Other Requirements

• Some literatures group them under C-I-A, whereas some argue that they
are fundamentally different requirements.
• Confidentiality
o Anonymity, Privacy, Covert Channel

• Integrity
o Non-Repudiation (digital signature): The ability of a system to confirm that a sender
cannot convincingly deny having sent something
o Source Authenticity: The ability of a system to confirm the identity of a sender

https://pollev.com/nitya
5 Why is it Difficult to be Secure?
Trade-off with Ease-of-use, Performance and Cost
• Ease-of-use: Security mechanisms interfere with working patterns users
originally familiar with (aka usability).
• Performance: Security mechanisms consumes more resources and lowers
performance.
• Cost: Security mechanisms are expensive to develop and manage.

Noun Project: Eucalyp, ZULIANA Sebastian Salomon bsd studio


https://pollev.com/nitya
Difficulty in Achieving Security
• Security not considered:
o Many systems do not consider security during the early design stage. So, possibility of
vulnerability.
o In the early stage, typically the main concerns are on usability, cost and performance. (e.g.,
DNS)

• Difficult to formulate requirements:


o Designers not aware of many possible attack scenarios (e.g., many side-channel were
discovered recently).

• Difficult to Design:
o System most vulnerable at its weakest point, and there are many constraints. (e.g., we
understand email spoofing very well. But there is no practical foolproof design.)

https://pollev.com/nitya
Difficulty in Achieving Security
• Implementation bugs:
o Even if the design is secure, the system may not be properly implemented, especially for
large, complex systems.
o Also, it is difficult to verify whether an implementation is correct.

• Difficult to operate/manage:
o Human in-the-loop.
o Complexity leads to configuration errors, mismanagement of patches, credential, etc. (e.g.,
developers’ accounts remain in production system)

https://pollev.com/nitya
Summary

• Need precise formulation of “Security” for analysis: C-I-A requirement


• Security framework: Vulnerability-Threat-Control paradigm

• Aware of
o Security Trade-off (usability, cost, performance)
o Difficulty to achieve

• Adversarial thinking in analysis (think like the attacker when analysing a


system)

https://pollev.com/nitya
6 Encryption and Decryption
Symmetric Key Encryption Scheme

• A way to achieve confidentiality.

• Encryption is the process of converting a message (plaintext) into a


meaningless messages (ciphertext).
• Decryption is the reverse process.
• Alternatively, the terms encode and decode or encipher and decipher are used
instead of encrypt and decrypt.

• A system for encryption and decryption is called a cryptosystem.

https://pollev.com/nitya
An Application Scenario
k sent via a secure channel, i.e.,
no one can eavesdrop the info.
Key Key

Encrypt Decrypt
Ek(PT) Dk(CT)

Plaintext, PT Ciphertext, CT Plaintext, PT

Eve can get CT, but without


Ciphertext sent via a public channel.
knowing the key is unable to get
Thus, data might be eavesdropped
any information on PT
Eve
Project Noun: Muhammad Atiq Juicy Fish Naya Putri Arif Hariyanto
https://pollev.com/nitya
Properties

• Correctness: For any plaintext x and key k, Dk(Ek(x)) = x


• Security: This is challenging to define and there are different requirements.
o Informally, from the ciphertext, the eavesdropper is unable to derive useful information of
the key k or the plaintext x, even if the eavesdropper can “probe” the system.
o The ciphertext should be “indistinguishable” from a random stream.

• Probabilistic: Encryption could be probabilistic.


o That is, for the same plaintext, there could be different ciphertext.
o Yet they all can be decrypted to the same x.

https://pollev.com/nitya
Cryptography (Cryptology)

• Cryptography is the study of techniques in securing communication in the


presence of attackers who have access to the communication.
• Although cryptography is commonly associated with encryption, there are other
primitives such as cryptographic hash, digital signature, etc.
• Terminology: Common placeholders used in cryptography are Alice (usually the
originator of message), Bob (usually the recipient), Eve (eavesdropper: can only
listen), Mallory (malicious: can modify messages)

(see the interesting list in https://en.wikipedia.org/wiki/Alice_and_Bob)


https://pollev.com/nitya
7 Attack Model or Threat Model
C-I-A is Still a Broad Definition

• We might still need a more precise way to describe the security requirement.
• Consider the fingerprint system that unlocks mobile phone.
o Who are the attackers? What is he capable of?
o Does the system consider an attacker who attempts to unlock the phone by pressing a
fingerprint on the sensor?
o Does the system consider an attacker who dissembles the phone and feed in data to the
communication port?
o Does the system consider an attacker who only wants to steal information of the registered
fingerprints?
o…

https://pollev.com/nitya
Which System is more Secure?

• One rigorous way to describe security achieved by a system is by describing the


class of attacks that it can prevent.
o The system is considered secure with respect to those class of attacks.

• We can describe a class of attacks by giving:


o the attacker’s goals
o the attacker’s capabilities (including information and services it has access to).

• This description is also known as attack model, threat model, adversary model &
security model.

https://pollev.com/nitya
How is the Attack Model Used?

• With an attack model, we can compare two systems.

• If some attacks are successful on S1, whereas S2 can prevent all possible
attacks (within the class of attacks formulated by the attack model)

• Then S2 is more secure than S1 with respect to the attack model.

https://pollev.com/nitya
8 Attacker Goals and Capabilities
Attack Model: Attacker’s Goals

Total Break Partial Break


• The attacker wants to find the key • Want to decrypt a ciphertext but
not interested in the secret key
• Or simply want to extract some
Key
information about the plaintext.
• E.g., whether the plaintext is a jpeg
image or a C program

Possibly an image
https://pollev.com/nitya
Attack Model: Attacker’s Goals
• Distinguishability: Most modest goal
o With some “non-negligible” probability more than half, the attacker can correctly
distinguish the ciphertexts of a given plaintext (say, “Y”) from the ciphertext of another
given plaintext (say, “N”).
o If attacker is unable to distinguish, we call this property indistinguishability (IND) or the
scheme is semantically secure.

Prob > 1/2

Y' N'
For rigorous definition see the textbook: J. Katz & Y.
https://pollev.com/nitya
Lindell, Introduction to Modern Cryptography, 2nd ed.
Attack Model: Attacker’s Goals
• Total break is the “most difficult” goal. Total Break

• If an attacker can achieve total break, the attacker also can Partial Break
achieve partial break and distinguishability.

• Distinguishability is the “weakest” goal. Distinguishability

• We want to design a secure system that can prevent attacker


from achieving the “weakest” goal.

https://pollev.com/nitya
Attack Models: Attacker’s Capability

• Depending on the amount of information attacker have, he can try different


attacks:
o Ciphertext-only attack (CTO)

o Known plaintext attack (KPA)

o Chosen plaintext attack (CPA)

o Chosen ciphertext attack (CCA2)

https://pollev.com/nitya
Attacker’s Capability: Ciphertext-Only Attack
(CTO)
• The attacker is given a collection of ciphertext, c and may know some
properties of the plaintext (type of plaintext that is concealed)
o E.g., the plaintext is an English sentence or French text, etc.
o Attacker can’t choose the plaintext

m1, m2,.. c1 = Ek(m1), c2 = Ek(m2),.. m1, m2,..


Encrypt Decrypt
Ek(…) Dk(CT)

m* (some PT
distribution)
Attacker

https://pollev.com/nitya
Attacker’s Capability: Ciphertext-Only Attack
(CTO)
• The attacker will analysis of the ciphertext itself, generally applying various
statistical tests to it.
o Exhaustively attempt all possible keys to decrypt the ciphertext and obtain the plaintext.
o Verify if the decrypted plaintext matches the expected plaintext distribution; if it does, the
corresponding key is likely Alice's key.

• Challenge: Test often time is not conclusive.


• Weakest attacker capability because it provides the least amount of
information

https://pollev.com/nitya
Attacker’s Capability: Known-Plaintext Attack
(KPA)
• The attacker is given a collection of plaintext m and their corresponding
ciphertext c (the attacker can’t choose the plaintext.)
• The attacker may be able to capture one or more (plaintext, ciphertext) pairs.

m1, m2,.. c1 = Ek(m1), c2 = Ek(m2),.. m1, m2,..


Encrypt Decrypt
Ek(…) Dk(CT)

m* (some PT
distribution)
Attacker

https://pollev.com/nitya
Attacker’s Capability: Known-Plaintext Attack
(KPA)
• The attacker may know that certain plaintext patterns will appear in a
message.
o For example, a file that is encoded in the Postscript format always begins with the same
pattern or standardized header such html, etc

• With this knowledge, the attacker may be able to find the key based on the way
the known-plaintext is transformed.

https://pollev.com/nitya
Attacker’s Capability: Chosen-Plaintext Attack
(CPA)
• The attacker can choose arbitrary plaintexts to be encrypted and obtain the
corresponding ciphertexts.
• Model this by considering attacker has access to encryption oracle.

m1, m2,..
Encrypt
Ek(…)
c1 = Ek(m1), c2 = Ek(m2),..
Attacker
Encryption Oracle

https://pollev.com/nitya
Attacker’s Capability: Chosen-Plaintext Attack
(CPA)
• The attacker can choose and feed any plaintext, m to the oracle and obtain
the corresponding ciphertext, c (all encrypted with the same key).
• He can see the multiple ciphertext and analyse how different plaintext inputs
affect the ciphertext outputs.
• The attacker can access the oracle many times, as long as it is within the
attacker’s compute power.
Is CPA a
realistic
concern?
Reference: J. Katz & Y. Lindell, Introduction to Modern
Cryptography, 2nd ed. https://pollev.com/nitya
Attacker’s Capability: Chosen-Plaintext Attack
(CPA)
• It has been shown that CPA is possible (link)

• Example:
o An attacker is typing on a terminal, which in turn encrypts and sends message using a key
shared with a remote server (and unknown to the attacker).
o Here the attacker exactly controls what gets encrypted and he maps the patterns to
ciphertext over multiple submissions.

Reference: J. Katz & Y. Lindell, Introduction to Modern


Cryptography, 2nd ed. https://pollev.com/nitya
Attacker’s Capability: Chosen-Ciphertext Attack
(CCA2)
• Same as chosen plaintext attack, but here, the attacker chooses the ciphertext
and the black-box outputs the plaintext.
• We call the black-box a decryption oracle.

c1 = Ek(m1), c2 = Ek(m2),..
Decrypt
Dk(…)
m1, m2,..
Attacker Decryption Oracle

https://pollev.com/nitya
Why assuming the Attacker has Decryption Oracle ?

• Isn’t it already “game over” if the attacker has a decryption oracle?

• There are practical scenarios where the attacker has access to a weaker form
of decryption oracle.
o We are going to see an example: Padding Oracle.
o There could be many different weaker forms of decryption oracle.
o If a cipher can defend against decryption oracle, then the cipher can defend against all other
weaker forms.

https://pollev.com/nitya
Why assuming the Attacker has Decryption Oracle ?

• So, from the defender’s point of view


o It make sense to assume that the attacker has access to the decryption oracle
o We want a cipher that can protect against the attacker with the highest capability

• Unfortunately, many systems employ cipher that is only secure against CPA but
not CCA2.

https://pollev.com/nitya
Summary

• Encryption is designed for confidentiality. (not necessary provides integrity,


although some do.)
• Attack model (aka threat model) defines classes of attacks to be prevent.
o Attacker’s goal: (in)distinguishability
o Capability & Info available: Ciphertext, plaintext, etc.

• Notion of Oracle to model the capability of the attack


o Encryption Oracle: this is practical, e.g. smart card, protocol
o Decryption Oracle. A special type: Padding Oracle.

https://pollev.com/nitya

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy