SC4012 Lecture 1
SC4012 Lecture 1
presented by
Li Yi
Assistant Professor
SCSE
N4-02b-63
[email protected]
COPYRIGHT STATEMENT
• All course materials, including but not limited to, lecture slides, handout and
recordings, are for your own educational purposes only. All the contents
of the materials are protected by copyright, trademark or other
forms of proprietary rights.
• All rights, title and interest in the materials are owned by, licensed to or
controlled by the University, unless otherwise expressly stated. The
materials shall not be uploaded, reproduced, distributed,
republished or transmitted in any form or by any means, in whole
or in part, without written approval from the University.
• You are also not allowed to take any photograph, film, audio record or other
means of capturing images or voice of any contents during lecture(s) and/or
tutorial(s) and reproduce, distribute and/or transmit any form or by any
means, in whole or in part, without the written permission from the
University.
• Appropriate action(s) will be taken against you including but not limited to
disciplinary proceeding and/or legal action if you are found to have
committed any of the above or infringed the University’s copyright.
• A Brief History
• B.Comp. (hons) in Computer Science, NUS, Singapore
• M.Sc. & Ph.D. in Computer Science, University of Toronto, Canada
• Research Interests
• Program analysis, automated reasoning
• Software verification
• Software reuse
• Software security
• Contacts
• Office: N4-02b-63
• Email: [email protected]
“What you must learn is that these rules are no different than the rules of a
computer system ... some of them can be bent. Others ... can be broken.
Understand?”
-- The Matrix (1999)
• Cost:
• $148 million
• CEO and CTO’s jobs
• Cost:
• 1.5 million patients had their personal
particulars stolen
• IHiS, SingHealth fined $1m
Operation
Systems
Applications
• Michael Howard & David LeBlanc: Writing Secure Code, Microsoft Press,
2nd edition, 2002
• E-book available on NTULibrary
• Gary McGraw: Exploiting Software: How to Break Code, Addison-Wesley,
February 2004
• John Viega & Gary McGraw: Building Secure Software, Addison-Wesley,
2001
• J.C. Foster et al.: Buffer Overflow Attacks, Syngress, 2005
• Mark G. Graff & Kenneth R. van Wyk: Secure Coding, O’Reilly, 2003
• Security Fundamentals
• Security components & goals
• Aspects of computer security
• Malware
• Vulnerabilities
• Security strategies
• Secure software
• Why secure software
• Design for security
Confidentiality
Security
Goals
Integrity Availability
• Software Deletion
• By accident or intentionally
• Software Modifications
• Trojan horse: a program that overtly does one thing while covertly doing
another
• Virus: a specific type of malware, that can be used to spread infection from
one computer to another
• Trapdoor: a program that has a secret entry point
• Information leaks: make information accessible to unintended people or
programs
• More on malware later…
• Software Theft
• Unauthorized copying of software
• WannaCry
• Ransomware / cryptoware
• Asks payment using Bitcoin
• Targets at MS Windows – exploit
vulnerability in the Server Message
Block (SMB) protocol
• Likely known to NSA prior to the
attack
• Microsoft issued security bulletin
MS17-010 and patches on March 14,
2017
• Affected more than 200,000 computers across 150 countries
• Total damages ranging from hundreds of millions to billions of dollars
• Prevention
• Avoid vulnerabilities in new code
• Eliminate vulnerabilities from existing code base
• Harden execution environment so that attempts to exploit
vulnerable code are stopped
• Detection & reaction
• Virus/malware scanners
• Canaries (run-time checks)
• Intrusion detection systems (intrusion response systems)
4. Don’t be a victim
• A misguided belief in the market that people who can break
into systems are also the people who can secure them
• Hence, there are a lot of would-be consultants who believe
that they need some trophies mounted on their wall for
people to take them seriously
• You don’t want your product to be a head on someone’s wall!
• The cost of digitally signing the fix if you support signed code
• The cost of posting the fix to your website and writing the supporting
documentation
• The cost of handling bad public relations
• Bandwidth and download costs if you pay an ISP to host fixes for you
• The cost of lost productivity. Chances are good that everyone involved in
this process should be working on new code instead. Working on the fix
is time lost
• The cost to your customers to apply the fix. They might need to run the
fix on a nonproduction server to verify that it works as planned.
Productivity lost!
• Finally, the potential cost of lost revenue, from likely clients deciding to
either postpone or stop using your product
• If only you had had security in mind when you designed and built the
product in the first place!!!
• It’s hard to determine a dollar cost for a fix because there are many
intangibles
• While it is difficult to determine the exact cost of issuing a security fix,
the Microsoft Security Response Center believes a security bug that
requires a security bulletin costs in the neighborhood of $100,000
• Take a look at this: https://www.justice.gov/criminal-ccips