Chap 3: Program Security.  Programming errors with security implications: buffer overflows, incomplete access control  Malicious code: viruses, worms,

Slides:



Advertisements
Similar presentations
Higher Computing Computer Systems S. McCrossan Higher Grade Computing Studies 8. Supporting Software 1 Software Compatibility Whether you are doing a fresh.
Advertisements

Thank you to IT Training at Indiana University Computer Malware.
Dr. John P. Abraham Professor UTPA 2 – Systems Threats and Risks.
Lecturer: Fadwa Tlaelan
Chapter 3 (Part 1) Network Security
Unit 18 Data Security 1.
ITMS Information Systems Security 1. Malicious Code Malicious code or rogue program is the general name for unanticipated or undesired effects in.
________________ CS3235, Nov 2002 Viruses Adapted from Pfleeger[Chap 5]. A virus is a program [fragment] that can pass on malicious code [usually itself]
Chapter 14 Computer Security Threats Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Security: Attacks. 2 Trojan Horse Malicious program disguised as an innocent one –Could modify/delete user’s file, send important info to cracker, etc.
1 Pertemuan 05 Malicious Software Matakuliah: H0242 / Keamanan Jaringan Tahun: 2006 Versi: 1.
Lecture 15 Overview. Kinds of Malicious Codes Virus: a program that attaches copies of itself into other programs. – Propagates and performs some unwanted.
CSE331: Introduction to Networks and Security Lecture 31 Fall 2002.
1 Computer Viruses (and other “Malicious Programs) Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
Definitions  Virus A small piece of software that attaches itself to a program on the computer. It can cause serious damage to your computer.  Worm.
Henric Johnson1 Chapter 10 Malicious Software Henric Johnson Blekinge Institute of Technology, Sweden
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Data Security.
Chapter 15: Security (Part 1). The Security Problem Security must consider external environment of the system, and protect the system resources Intruders.
Malicious Code Brian E. Brzezicki. Malicious Code (from Chapter 13 and 11)
The Utility Programs: The system programs which perform the general system support and maintenance tasks are known as utility programs. Tasks performed.
CSCE 201 Attacks on Desktop Computers: Malicious Code Hardware attacks.
 a crime committed on a computer network, esp. the Internet.
Lecture 14 Overview. Program Flaws Taxonomy of flaws: – how (genesis) – when (time) – where (location) the flaw was introduced into the system 2 CS 450/650.
A virus is software that spreads from program to program, or from disk to disk, and uses each infected program or disk to make copies of itself. Basically.
1 Higher Computing Topic 8: Supporting Software Updated
Information Technology Software. SYSTEM SOFTWARE.
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
CSCE 522 Lecture 12 Program Security Malicious Code.
Viruses, Trojans and Worms The commonest computer threats are viruses. Virus A virus is a computer program which changes the way in which the computer.
Administrative: Objective: –Tutorial on Risks –Phoenix recovery Outline for today.
Computer Crimes 8 8 Chapter. The act of using a computer to commit an illegal act Authorized and unauthorized computer access. Examples- o Stealing time.
Malicious Code By Diana Peng. What is Malicious Code? Unanticipated or undesired effects in programs/program parts, caused by an agent with damaging intentions.
Chapter 10 Malicious software. Viruses and ” Malicious Programs Computer “ Viruses ” and related programs have the ability to replicate themselves on.
Types of Electronic Infection
Program Security Week-2. Programming Fault: When a human makes a mistake, called an error, in performing some software activity, the error may lead to.
30.1 Lecture 30 Security II Based on Silberschatz & Galvin’s slides And Stallings’ slides.
CSCE 522 Lecture 12 Program Security Malicious Code.
For any query mail to or BITS Pilani Lecture # 1.
Malicious Logic and Defenses. Malicious Logic Trojan Horse – A Trojan horse is a program with an overt (documented or known) effect and covert (undocumented.
CPSC 6126 Computer Security Information Assurance.
Malicious Software.
VIRUS.
n Just as a human virus is passed from person from person, a computer virus is passed from computer to computer. n A virus can be attached to any file.
Computer Systems Viruses. Virus A virus is a program which can destroy or cause damage to data stored on a computer. It’s a program that must be run in.
Computer virus Speaker : 蔡尚倫.  Introduction  Infection target  Infection techniques Outline.
Computer Security Threats CLICKTECHSOLUTION.COM. Computer Security Confidentiality –Data confidentiality –Privacy Integrity –Data integrity –System integrity.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
W elcome to our Presentation. Presentation Topic Virus.
MALICIOUS SOFTWARE Rishu sihotra TE Computer
Page 1 Viruses. Page 2 What Is a Virus A virus is basically a computer program that has been written to perform a specific set of tasks. Unfortunately,
Malicious Programs (1) Viruses have the ability to replicate themselves Other Malicious programs may be installed by hand on a single machine. They may.
Information Systems CS-507 Lecture 32. Physical Intrusion The intruder could physically enter an organization to steal information system assets or carry.
COMPUTER VIRUSES Computer Technology. What is a Computer Virus? A kind of A kind of Malicious software written intentionallyMalicious software written.
PCs ENVIRONMENT and PERIPHERALS Lecture 10. Computer Threats: - Computer threats: - It means anything that has the potential to cause serious harm to.
Antivirus Software Technology By Mitchell Zell. Intro  Computers are vulnerable to attack  Most common type of attack is Malware  Short for malicious.
CHAPTER 3 PROGRAM SECURITY.
Buffer Overflows Incomplete Access Control
Operating Systems Services provided on internet
COMPUTER VIRUSES Computer Technology.
CSE565: Computer Security Lecture 27 Program Security
Computer Technology Notes 5
WHAT IS A VIRUS? A Computer Virus is a computer program that can copy itself and infect a computer A Computer Virus is a computer program that can copy.
Text Book: Security in Computing
Chap 10 Malicious Software.
Program Security Jagdish S. Gangolly School of Business
UNIT 18 Data Security 1.
Chapter 22: Malicious Logic
Chap 10 Malicious Software.
Malicious Program and Protection
Presentation transcript:

Chap 3: Program Security

 Programming errors with security implications: buffer overflows, incomplete access control  Malicious code: viruses, worms, Trojan horses  Program development controls against malicious code and vulnerabilities: software engineering principles and practices  Controls to protect against program flaws in execution: operating system support and administrative controls SE571 Security in Computing Dr. Ogara 2

 Malware infection – most common attack (67.1%)  Losses due to cybercrime Malicious insiders NOT responsible (only 59.1%) None of the losses due to non-malicious insider actions (only 39.5%)  New incidents Exploits of client’s Web browser Exploits of users’ social network profile (Source: Computer Security Institute 2010/2011 Survey ) SE571 Security in Computing Dr. Ogara 3

4

 What are programs?  Why do we need to secure them?  What do we secure them from?  How do we secure them?  What are security flaws?  What is a fault?  Causes of the fault  Effects of a fault  How to fix a fault SE571 Security in Computing Dr. Ogara 5

 What are programs? Pieces of code Are the heart of computing Examples - OS, device drivers, network infrastructure, DBMS,.exe files, applications, etc SE571 Security in Computing Dr. Ogara 6

 Why security at the program level? Programs are used by users Many programs perform variety of task Secure program implies some degree of trust  Confidentiality  Integrity  Availability Security characteristics depends on application and user’s perception about the quality of the application SE571 Security in Computing Dr. Ogara 7

 Fault Incorrect step, command or process in computer programs caused by human mistake(error) Inside view as seen by developers  Failure Departure from systems required behavior Outside view of the system as seen by users SE571 Security in Computing Dr. Ogara 8

 Fixing faults Penetrate and patch Patches introduce more problems Patches cause side effects SE571 Security in Computing Dr. Ogara 9

 Program security flaw An inappropriate program behavior caused by a program vulnerability Do the programs behave as the designers intended – unexpected behavior Vulnerability is a weakness in the security system Can derive from any kind of software fault Example, a program containing Trojan horse is vulnerable but the user may not see security flaw in the program SE571 Security in Computing Dr. Ogara 10

 Intentionally induced errors Malicious flaws Non-malicious flaws  Inadvertent flaws/Unintentional human errors Validation error Domain error Serialization and aliasing Inadequate identification &authentication Boundary condition violation Logic errors SE571 Security in Computing Dr. Ogara 11

 Buffer overflows  Incomplete mediation  Time-of-Check to Time-of-Use Errors  Combination of Non-malicious Program Flaws SE571 Security in Computing Dr. Ogara 12

 Analogy – Pouring 2 gal of water into 1 gal pitcher. Some water will spill out. Error leads to a mess  Buffer (array or string) is a space on which data can be held  Buffer resides in memory  Buffer’s capacity is finite  Because of this most programmers must declare needed buffer size SE571 Security in Computing Dr. Ogara 13

 Consider the code below For (i=0; i<=9; i++) Sample [i] = ‘A’; Sample [10] = ‘B’  Programs and data elements share space with OS, other codes and resident routine  Four cases to consider in deciding where extra character - ‘B’ goes SE571 Security in Computing Dr. Ogara 14

SE571 Security in Computing Dr. Ogara 15 Last two gives users access to systems data/privil eges

 Last 2 cases would cause problems System gets unstable b’se data is now inconsistent User code now runs system privileges  Although flaw is from honest mistake, attackers can exploit such flaws  Attacker may replace code in the system space by masquerading as the OS. SE571 Security in Computing Dr. Ogara 16

 Used less often  Occurs when access is not checked universally  Unchecked data values represent serious potential vulnerability SE571 Security in Computing Dr. Ogara 17

 Based on true story  Company selling products on their website  Web design flaw  Company passes price of items back to itself as parameters  Customer browser shows: 55A&qy=20&price =10&ship=boat&shipcost=5&total=205 SE571 Security in Computing Dr. Ogara 18

 Malicious attacker may change the parameters as follows: 55A&qy=20&price =1&ship=boat&shipcost=5&total=25  Buy products for less – pay $25 instead of $ 205. SE571 Security in Computing Dr. Ogara 19

 Exploits the delay between the time-of- check and time-of-use  Change may occur between time access was checked and time result of check was used  Analogy Agree on price Buyer counts stack of money Buyer takes back part of money without seller knowing (condition has changed before exchange) Buyer passes money, gets receipt and product (paid less) SE571 Security in Computing Dr. Ogara 20

 Prevention Avoid exposing critical parameters during any loss of control - access checking software must own request until requested action is complete Do not allow interruption (loss of control) during validation Validation routine can copy from the user’s space to the routine’s area—out of the user’s reach SE571 Security in Computing Dr. Ogara 21

 Uses three flaws above as one step in a multistep attack SE571 Security in Computing Dr. Ogara 22

 Why are they problems? Write message on screen Stop a running program Generate sound Erase a file My be triggered by time, date, event or condition Run with same authority as user – read, write, modify, delete privileges SE571 Security in Computing Dr. Ogara 23

 Viruses  Worms  Rabbit  Trojan horse  Trap doors  Logic bomb SE571 Security in Computing Dr. Ogara 24

 By running or installing programs containing viruses  attachments which execute automatically  Executable zip files  Macros SE571 Security in Computing Dr. Ogara 25

 Appended viruses  Viruses that surround a program  Integrated viruses and replacements  Document viruses – macros SE571 Security in Computing Dr. Ogara 26

SE571 Security in Computing Dr. Ogara 27

SE571 Security in Computing Dr. Ogara 28

SE571 Security in Computing Dr. Ogara 29

 Difficult to detect  Not easily destroyed or deactivated  Spread infection widely  Ability to re-infect home or other programs  Easy to create  Machine and OS independent SE571 Security in Computing Dr. Ogara 30

 Replacing home program  Boot sector viruses  Memory resident viruses  Macros SE571 Security in Computing Dr. Ogara 31

 Completely replacing a program SE571 Security in Computing Dr. Ogara 32

SE571 Security in Computing Dr. Ogara 33

 Based on signature Polymorphic viruses make it more difficult  Tracking storage patterns  Execution patterns  Transmission patterns Boot process Disk access Network connections SE571 Security in Computing Dr. Ogara 34

 Program that spread copies of itself across the network  Also copies itself as a stand alone program  Usually spread through a network  Example, Code red SE571 Security in Computing Dr. Ogara 35

 Merges bits of seemingly inconsequential data to produce powerful results  Programs disregard small amount of money during computations  These can be shaved off and accumulated elsewhere SE571 Security in Computing Dr. Ogara 36

 Name based on Greek legend mythology  Malicious code hides within or looks like legitimate program  Certain conditions triggers it  Does not replicate SE571 Security in Computing Dr. Ogara 37

 Hides in the computer  Allows someone from remote location to take control of your computer  Ability to execute programs, change settings, monitor activities and access files on a remote computer SE571 Security in Computing Dr. Ogara 38

 Class of malicious code that activates as a result of specific condition  Time dependent SE571 Security in Computing Dr. Ogara 39