Software Security (Vulnerabilities) And Physical Security

Nicholas Davis
Nicholas DavisChief Information Security Officer (CISO) at University of Wisconsin System, CISA, CISSP
Information Systems 365/765
             Lecture 11
Software Security (Vulnerabilities) and
          Physical Security
Vulnerability
• Applied to a weakness in a
  system which allows an
  attacker to violate the
  integrity of that system.
  Vulnerabilities may result from
  weak passwords, software
  bugs, a computer virus or
  other malware, a script code
  injection, or a SQL injection.
Vulnerability vs. Exploit

• A security risk is classified as a
  vulnerability if it is recognized as a
  possible means of attack.
• A security risk with one or more
  known instances of working and
  fully-implemented attacks is
  classified as an exploit.
Causes
• There are multiple causes of
  vulnerabilities
• Password Management
  Flaws
• Fundamental Operating
  System Design Flaws
• Software Bugs
• Unchecked User Input
Password Management
             Flaws
• The computer user uses weak
  passwords that could be
  discovered by brute force.
• The computer user stores the
  password on the computer
  where a program can access
  it.
• Users re-use passwords
  between many programs and
  websites.
Software Security (Vulnerabilities) And Physical Security
Operating System Design Flaws

• The operating system designer chooses
  to enforce sub optimal policies on
  user/program management. F
• or example operating systems with
  policies such as default permit grant
  every program and every user full
  access to the entire computer.
• This operating system flaw allows
  viruses and malware to execute
  commands on behalf of the
  administrator
Software Bugs
• The programmer
  leaves an exploitable
  bug in a software
  program.
• The software bug may
  allow an attacker to
  misuse an application
  through (for example)
  bypassing access
  control checks or
  executing commands
  on the system hosting
  the application.
Software Bugs
• Also the programmer's
  failure to check the
  size of data buffers,
  which can then be
  overflowed, causing
  corruption of the stack
  or heap areas of
  memory (including
  causing the computer
  to execute code
  provided by the
  attacker).
Unchecked User Input
• The program
  assumes that all
  user input is safe.
  Programs that do
  not check user
  input can allow
  unintended direct
  execution of
  commands or SQL
  statements
  (known as Buffer
  overflows, SQL
  injection or other
  non-validated
  inputs).
Vulnerability Disclosure
• The method of disclosing
  vulnerabilities is a topic of debate
  in the computer security
  community.
• Some advocate immediate full
  disclosure of information about
  vulnerabilities once they are
  discovered.
• Others argue for limiting disclosure
  to the users placed at greatest
  risk, and only releasing full details
  after a delay, if ever.
• What do you think?
Vulnerability Disclosure
• Benefit to limited disclosure:
• Such delays may allow those
  notified to fix the problem by
  developing and applying
  patches,
• Drawback to limited disclosure
• May increase the risk to those
  not privy to full details.
Full Disclosure

• Disclose all the details of a security
  problem which are known. It is a
  philosophy of security
  management completely opposed
  to the idea of security through
  obscurity
Full Disclosure
• The theory behind full disclosure is
  that releasing vulnerability
  information immediately results in
  quicker fixes and better security.
• Fixes are produced faster because
  vendors and authors are forced to
  respond in order to save face.
• Security is improved because the
  window of exposure, the amount
  of time the vulnerability is open to
  attack, is reduced.
Responsible Disclosure
• Some believe that in the
  absence of any public exploits
  for the problem, full and
  public disclosure should be
  preceded by disclosure of the
  vulnerability to the vendors or
  authors of the system. This
  private advance disclosure
  allows the vendor time to
  produce a fix or workaround.
Limited Disclosure
• With full details going to a
  restricted community of
  developers and vendors, and
  only the existence of the
  problem being released to the
  public, is another possible
  approach
• Nick doesn’t like Limited
  Disclosure
A.C. Hobbs - Locksmith
• A commercial, and in some respects a
  social doubt has been started within the
  last year or two, whether it is right to
  discuss so openly the security or
  insecurity of locks. Many well-meaning
  persons suppose that the discussion
  respecting the means for baffling the
  supposed safety of locks offers a
  premium for dishonesty, by showing
  others how to be dishonest. This is a
  fallacy. Rogues are very keen in their
  profession, and know already much
  more than we can teach them respecting
  their several kinds of roguery.
Security Through Obscurity
• Attempts to use secrecy (of
  design, implementation, etc.) to
  provide security.
• A system relying on security
  through obscurity may have
  theoretical or actual security
  vulnerabilities, but its owners or
  designers believe that the flaws
  are not known, and that attackers
  are unlikely to find them.
Software Security (Vulnerabilities) And Physical Security
Vulnerability Disclosure Date
• When can it be said that a
  vulnerability has been disclosed?
• 1. The information is freely
  available to the public
• 2. The vulnerability information is
  published by a trusted and
  independent channel/source
• 3. The vulnerability has
  undergone analysis by experts
  such that risk rating information is
  included upon disclosure
Examples of Vulnerabilities
•   Buffer overflows
•   Dangling pointers
•   Input validation errors, such as:
•   Format string bugs
•   Improperly handling shell metacharacters so they are
    interpreted
•   SQL injection
•   Code injection
•   E-mail injection
•   Directory traversal
•   Cross-site scripting in web applications
•   Race conditions, such as:
•   Time-of-check-to-time-of-use bugs
•   Symlink races
•   Privilege-confusion bugs, such as:
•   Cross-site request forgery in web applications
•   Privilege escalation
•   User interface failures, such as:
•   Warning fatigue or user conditioning
•   Blaming the Victim Prompting a user to make a security
    decision without giving the user enough information to
    answer it.
•   Race Conditions
Buffer Overflow
• A condition where
  a process
  attempts to store
  data beyond the
  boundaries of a
  fixed-length
  buffer.
• The result is that
  the extra data
  overwrites
  adjacent memory
  locations.
Buffer Overflow
• The overwritten data may include
  other buffers, variables and
  program flow data, and may result
  in erratic program behavior, a
  memory access exception,
  program termination (a crash),
  incorrect results or ― especially if
  deliberately caused by a malicious
  user ― a possible breach of
  system security.
Basic example
• In the following example, a
  program has defined two data
  items which are adjacent in
  memory: an 8-byte-long string
  buffer, A, and a two-byte integer,
  B. Initially, A contains nothing but
  zero bytes, and B contains the
  number 3. Characters are one byte
  wide.
                A                       B


0   0   0   0       0   0   0   0   0       3
Buffer Overflow Example

• Now, the program attempts to
  store the character string
  "excessive" in the A buffer,
  followed by a zero byte to
  mark the end of the string. By
  not checking the length of the
  string, it overwrites the value
  of B:
             A                   B
'e' 'x' 'c' 'e' 's' 's' 'i' 'v' 'e' 0
SQL Injection
• User input is either incorrectly
  filtered for string literal escape
  characters embedded in SQL
  statements or user input is not
  strongly typed and thereby
  unexpectedly executed. It is in fact
  an instance of a more general
  class of vulnerabilities that can
  occur whenever one programming
  or scripting language is embedded
  inside another.
SQL Injection Humor
Email Injection
• A security vulnerability that
  can occur in Internet
  applications that are used to
  send e-mail messages. Like
  SQL injection attacks, this
  vulnerability is one of a
  general class of vulnerabilities
  that occur when one
  programming language is
  embedded within another.
Software Security (Vulnerabilities) And Physical Security
Directory Traversal
• The goal of this attack is to order an
  application to access a computer file
  that is not intended to be accessible.
  This attack exploits a lack of security
  (the software is acting exactly as it is
  supposed to) as opposed to exploiting
  a bug in the code.
• Directory traversal is also known as
  the ../ (dot dot slash) attack, directory
  climbing, and backtracking.
Cross-Site Scripting
• (XSS) is a type of computer security
  vulnerability typically found in web
  applications which allow code injection
  by malicious web users into the web
  pages viewed by other users. Examples
  of such code include HTML code and
  client-side scripts. An exploited cross-
  site scripting vulnerability can be used
  by attackers to bypass access controls
  such as the same origin policy.
Software Security (Vulnerabilities) And Physical Security
Time-of-check-to-time-of-use

• TOCTTOU − pronounced "TOCK
  too") is a software bug caused by
  changes in a system between the
  checking of a condition (such as a
  security credential) and the use of
  the results of that check. It is a
  kind of race condition.
Confused Deputy

• A confused deputy is a computer
  program that is innocently fooled
  by some other party into misusing
  its authority. It is a specific type of
  privilege escalation. In information
  security, the confused deputy
  problem is often cited as an
  example of why capability-based
  security is important.
• Billing example
Blaming The Victim

• Prompting a
  user to make a
  security
  decision
  without giving
  the user
  enough
  information to
  answer it.
Physical Security
• Physical security
  describes measures
  that prevent or
  deter attackers
  from accessing a
  facility, resource, or
  information stored
  on physical media.
  It can be as simple
  as a locked door or
  as elaborate as
  multiple layers of
  armed guardposts.
3 Elements to Physical Security

• Obstacles, to frustrate trivial
  attackers and delay serious ones;
• Alarms, security lighting, security
  guard patrols or closed-circuit
  television cameras, to make it
  likely that attacks will be noticed;
  and
• Security response, to repel, catch
  or frustrate attackers when an
  attack is detected.
4 Layers to Physical Security

• Environmental design
• Mechanical and electronic
  access control
• Intrusion detection
• Video monitoring
What Are Physical Security
           Goals?
• The goal is to convince
  potential attackers that the
  likely costs of attack exceed
  the value of making the
  attack.
• If you are unable to convince
  them, then the second goal
  comes into play—to keep
  them from entering
Layer One - Physical
• The initial layer of security for a
  campus, building, office, or
  physical space uses Crime
  Prevention Through Environmental
  Design to deter threats. Some of
  the most common examples are
  also the most basic - barbed wire,
  warning signs and fencing,
  concrete bollards, metal barriers,
  vehicle height-restrictors, site
  lighting and trenches.
Layer Two - Mechanical
• Includes gates, doors, and locks.
• Key control of the locks becomes a
  problem with large user populations and
  any user turnover.
• Keys quickly become unmanageable
  forcing the adoption of electronic access
  control.
• Electronic access control easily manages
  large user populations, controlling for
  user lifecycles times, dates, and
  individual access points.
• For example a user's access rights could
  allow access from 0700 to 1900 Monday
  through Friday and expires in 90 days.
Layer Three – Intrusion
            Detection
• Monitors for attacks. It is
  less a preventative
  measure and more of a
  response measure,
  although some would
  argue that it is a
  deterrent. Intrusion
  detection has a high
  incidence of false
  alarms. In many
  jurisdictions, law
  enforcement will not
  respond to alarms from
  intrusion detection
  systems.
Layer Four - Monitoring
• Typically video monitoring systems.
  Like intrusion detection, these are not
  much of a deterrent.
• Video monitoring systems are more
  useful for incident verification and
  historical analysis.
• For instance, if alarms are being
  generated and there is a camera in
  place, the camera could be viewed to
  verify the alarms.
• In instances when an attack has
  already occurred and a camera is in
  place at the point of attack, the
  recorded video can be reviewed.
• Monitoring is ALWAYS active
Intertwined in These Four
        Layers are People
• Guards have a role in all layers.
• In the first as patrols and at
  checkpoints.
• In the second to administer
  electronic access control.
• In the third to respond to alarms.
  The response force must be able
  to arrive on site in less time than
  it is expected that the attacker
  will require to breach the
  barriers.
• In the fourth to monitor and
  analyze video.
Users Are Helpful Too
• Users obviously have a role also by
  questioning and reporting suspicious
  people.
• Aiding in identifying people as known
  versus unknown are identification
  systems.
• Often photo ID badges are used and are
  frequently coupled to the electronic
  access control system.
• Visitors are often required to wear a
  visitor badge.
Examples of Physical Security
• ATMs (cash dispensers) are
  protected, not by making them
  invulnerable, but by spoiling the
  money inside when they are
  attacked. Thieves quickly learned
  that it was futile to steal or break
  into an ATM if all they got was
  worthless money covered in dye.
Examples Continued
• Safes are rated in terms
  of the time in minutes
  which a skilled, well
  equipped safe-breaker is
  expected to require to
  open the safe. These
  ratings are developed by
  highly skilled safe
  breakers employed by
  insurance agencies, such
  as Underwriters
  Laboratories. In a
  properly designed
  system, either the time
  between inspections by
  a patrolling guard should
  be less than that time,
  or an alarm response
  force should be able to
  reach it in less than that
  time.
How Is Physical Security Like
          Software Security?
• Hiding the resources, or hiding the
  fact that resources are valuable, is
  also often a good idea as it will
  reduce the exposure to opponents
  and will cause further delays
  during an attack, but should not be
  relied upon as a principal means of
  ensuring security
• Security through obscurity can
  be used in the cases of
  software security and physical
  security!
• Video!
1 de 48

Recomendados

DDoS Attack PPT by Nitin Bisht por
DDoS Attack  PPT by Nitin BishtDDoS Attack  PPT by Nitin Bisht
DDoS Attack PPT by Nitin BishtNitin Bisht
11.7K visualizações37 slides
Software security por
Software securitySoftware security
Software securityRoman Oliynykov
4K visualizações48 slides
Information Security- Threats and Attacks presentation by DHEERAJ KATARIA por
Information Security- Threats and Attacks presentation by DHEERAJ KATARIAInformation Security- Threats and Attacks presentation by DHEERAJ KATARIA
Information Security- Threats and Attacks presentation by DHEERAJ KATARIADheeraj Kataria
573 visualizações19 slides
password cracking and Key logger por
password cracking and Key loggerpassword cracking and Key logger
password cracking and Key loggerPatel Mit
2.7K visualizações29 slides
Intruders por
IntrudersIntruders
Intruderstechn
16.2K visualizações26 slides
Introduction to cyber security por
Introduction to cyber securityIntroduction to cyber security
Introduction to cyber securitySelf-employed
39.9K visualizações21 slides

Mais conteúdo relacionado

Mais procurados

Network Security Fundamentals por
Network Security FundamentalsNetwork Security Fundamentals
Network Security FundamentalsRahmat Suhatman
16.1K visualizações96 slides
Introduction to Cyber Security por
Introduction to Cyber SecurityIntroduction to Cyber Security
Introduction to Cyber SecurityStephen Lahanas
47.8K visualizações38 slides
Computer Security Lecture 1: Overview por
Computer Security Lecture 1: OverviewComputer Security Lecture 1: Overview
Computer Security Lecture 1: OverviewBenha University
2.5K visualizações40 slides
Firewalls and packet filters por
Firewalls and packet filtersFirewalls and packet filters
Firewalls and packet filtersMOHIT AGARWAL
2.6K visualizações17 slides
Computer security overview por
Computer security overviewComputer security overview
Computer security overviewCAS
12.9K visualizações23 slides
Web application attacks por
Web application attacksWeb application attacks
Web application attackshruth
56.5K visualizações37 slides

Mais procurados(20)

Network Security Fundamentals por Rahmat Suhatman
Network Security FundamentalsNetwork Security Fundamentals
Network Security Fundamentals
Rahmat Suhatman16.1K visualizações
Introduction to Cyber Security por Stephen Lahanas
Introduction to Cyber SecurityIntroduction to Cyber Security
Introduction to Cyber Security
Stephen Lahanas47.8K visualizações
Computer Security Lecture 1: Overview por Benha University
Computer Security Lecture 1: OverviewComputer Security Lecture 1: Overview
Computer Security Lecture 1: Overview
Benha University2.5K visualizações
Firewalls and packet filters por MOHIT AGARWAL
Firewalls and packet filtersFirewalls and packet filters
Firewalls and packet filters
MOHIT AGARWAL2.6K visualizações
Computer security overview por CAS
Computer security overviewComputer security overview
Computer security overview
CAS12.9K visualizações
Web application attacks por hruth
Web application attacksWeb application attacks
Web application attacks
hruth56.5K visualizações
Network Security por Manoj Singh
Network SecurityNetwork Security
Network Security
Manoj Singh11.1K visualizações
Network security model.pptx por ssuserd24233
Network security model.pptxNetwork security model.pptx
Network security model.pptx
ssuserd24233222 visualizações
Phases of penetration testing por Abdul Rahman
Phases of penetration testingPhases of penetration testing
Phases of penetration testing
Abdul Rahman863 visualizações
Basic concepts in computer security por Arzath Areeff
Basic concepts in computer securityBasic concepts in computer security
Basic concepts in computer security
Arzath Areeff27.1K visualizações
Fault tolerance por Gaurav Rawat
Fault toleranceFault tolerance
Fault tolerance
Gaurav Rawat8.9K visualizações
Computer Security | Types of Computer Security | Cybersecurity Course | Edureka por Edureka!
Computer Security | Types of Computer Security | Cybersecurity Course | EdurekaComputer Security | Types of Computer Security | Cybersecurity Course | Edureka
Computer Security | Types of Computer Security | Cybersecurity Course | Edureka
Edureka!678 visualizações
System security por sommerville-videos
System securitySystem security
System security
sommerville-videos17.1K visualizações
Types of cyber attacks por krishh sivakrishna
Types of cyber attacksTypes of cyber attacks
Types of cyber attacks
krishh sivakrishna28.1K visualizações
NETWORK SECURITY por afaque jaya
NETWORK SECURITYNETWORK SECURITY
NETWORK SECURITY
afaque jaya377 visualizações
Malicious software por rajakhurram
Malicious softwareMalicious software
Malicious software
rajakhurram12.9K visualizações
Network attacks por Manjushree Mashal
Network attacksNetwork attacks
Network attacks
Manjushree Mashal10.6K visualizações
Information Security por Dhilsath Fathima
Information SecurityInformation Security
Information Security
Dhilsath Fathima15.7K visualizações

Similar a Software Security (Vulnerabilities) And Physical Security

Exploitation techniques and fuzzing por
Exploitation techniques and fuzzingExploitation techniques and fuzzing
Exploitation techniques and fuzzingG Prachi
488 visualizações56 slides
Program security por
Program securityProgram security
Program securityG Prachi
12K visualizações32 slides
Security Design Principles.ppt por
 Security Design Principles.ppt Security Design Principles.ppt
Security Design Principles.pptDrBasemMohamedElomda
149 visualizações32 slides
An Introduction of SQL Injection, Buffer Overflow & Wireless Attack por
An Introduction of SQL Injection, Buffer Overflow & Wireless AttackAn Introduction of SQL Injection, Buffer Overflow & Wireless Attack
An Introduction of SQL Injection, Buffer Overflow & Wireless AttackTechSecIT
2K visualizações26 slides
Chapter 9 system penetration [compatibility mode] por
Chapter 9 system penetration [compatibility mode]Chapter 9 system penetration [compatibility mode]
Chapter 9 system penetration [compatibility mode]Setia Juli Irzal Ismail
827 visualizações33 slides
Secure coding guidelines por
Secure coding guidelinesSecure coding guidelines
Secure coding guidelinesZakaria SMAHI
637 visualizações32 slides

Similar a Software Security (Vulnerabilities) And Physical Security(20)

Exploitation techniques and fuzzing por G Prachi
Exploitation techniques and fuzzingExploitation techniques and fuzzing
Exploitation techniques and fuzzing
G Prachi488 visualizações
Program security por G Prachi
Program securityProgram security
Program security
G Prachi12K visualizações
Security Design Principles.ppt por DrBasemMohamedElomda
 Security Design Principles.ppt Security Design Principles.ppt
Security Design Principles.ppt
DrBasemMohamedElomda149 visualizações
An Introduction of SQL Injection, Buffer Overflow & Wireless Attack por TechSecIT
An Introduction of SQL Injection, Buffer Overflow & Wireless AttackAn Introduction of SQL Injection, Buffer Overflow & Wireless Attack
An Introduction of SQL Injection, Buffer Overflow & Wireless Attack
TechSecIT2K visualizações
Chapter 9 system penetration [compatibility mode] por Setia Juli Irzal Ismail
Chapter 9 system penetration [compatibility mode]Chapter 9 system penetration [compatibility mode]
Chapter 9 system penetration [compatibility mode]
Setia Juli Irzal Ismail827 visualizações
Secure coding guidelines por Zakaria SMAHI
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
Zakaria SMAHI637 visualizações
presentation_security_1510578971_320573.pptx por AadityaRauniyar1
presentation_security_1510578971_320573.pptxpresentation_security_1510578971_320573.pptx
presentation_security_1510578971_320573.pptx
AadityaRauniyar14 visualizações
Develop, Test & Maintain Secure Systems (While Being PCI Compliant) por Security Innovation
Develop, Test & Maintain Secure Systems (While Being PCI Compliant)Develop, Test & Maintain Secure Systems (While Being PCI Compliant)
Develop, Test & Maintain Secure Systems (While Being PCI Compliant)
Security Innovation188 visualizações
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap... por IBM Security
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
IBM Security1.1K visualizações
Application Security Testing for Software Engineers: An approach to build sof... por Michael Hidalgo
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...
Michael Hidalgo21.5K visualizações
Introduction to cyber security por Geevarghese Titus
Introduction to cyber securityIntroduction to cyber security
Introduction to cyber security
Geevarghese Titus101 visualizações
How to Destroy a Database por John Ashmead
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a Database
John Ashmead3.6K visualizações
1 (20 files merged).ppt por seshas1
1 (20 files merged).ppt1 (20 files merged).ppt
1 (20 files merged).ppt
seshas16 visualizações
Owasp top 10 2017 por ibrahimumer2
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017
ibrahimumer2114 visualizações
Expand Your Control of Access to IBM i Systems and Data por Precisely
Expand Your Control of Access to IBM i Systems and DataExpand Your Control of Access to IBM i Systems and Data
Expand Your Control of Access to IBM i Systems and Data
Precisely132 visualizações
Web and Mobile Application Security por Prateek Jain
Web and Mobile Application SecurityWeb and Mobile Application Security
Web and Mobile Application Security
Prateek Jain790 visualizações
Owasp Proactive Controls for Web developer por Sameer Paradia
Owasp  Proactive Controls for Web developerOwasp  Proactive Controls for Web developer
Owasp Proactive Controls for Web developer
Sameer Paradia 937 visualizações
The 5 Layers of Security Testing by Alan Koch por QA or the Highway
The 5 Layers of Security Testing by Alan KochThe 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan Koch
QA or the Highway89 visualizações
The 5 Layers of Security Testing by Alan Koch por QA or the Highway
The 5 Layers of Security Testing by Alan KochThe 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan Koch
QA or the Highway114 visualizações

Mais de Nicholas Davis

Top Cybersecurity Challenges Facing Your Business por
Top Cybersecurity Challenges Facing Your BusinessTop Cybersecurity Challenges Facing Your Business
Top Cybersecurity Challenges Facing Your BusinessNicholas Davis
381 visualizações32 slides
UW-Madison, Information Systems 371 - Decision Support Systems por
UW-Madison, Information Systems 371 - Decision Support SystemsUW-Madison, Information Systems 371 - Decision Support Systems
UW-Madison, Information Systems 371 - Decision Support SystemsNicholas Davis
298 visualizações64 slides
Lecture blockchain por
Lecture blockchainLecture blockchain
Lecture blockchainNicholas Davis
337 visualizações56 slides
Software Development Methodologies por
Software Development MethodologiesSoftware Development Methodologies
Software Development MethodologiesNicholas Davis
3.7K visualizações45 slides
Information systems 365 - Cloud and BYOD Security por
Information systems 365 - Cloud and BYOD SecurityInformation systems 365 - Cloud and BYOD Security
Information systems 365 - Cloud and BYOD SecurityNicholas Davis
216 visualizações50 slides
Information Security Awareness: at Work, at Home, and For Your Kids por
Information Security Awareness: at Work, at Home, and For Your Kids Information Security Awareness: at Work, at Home, and For Your Kids
Information Security Awareness: at Work, at Home, and For Your Kids Nicholas Davis
1K visualizações47 slides

Mais de Nicholas Davis(20)

Top Cybersecurity Challenges Facing Your Business por Nicholas Davis
Top Cybersecurity Challenges Facing Your BusinessTop Cybersecurity Challenges Facing Your Business
Top Cybersecurity Challenges Facing Your Business
Nicholas Davis381 visualizações
UW-Madison, Information Systems 371 - Decision Support Systems por Nicholas Davis
UW-Madison, Information Systems 371 - Decision Support SystemsUW-Madison, Information Systems 371 - Decision Support Systems
UW-Madison, Information Systems 371 - Decision Support Systems
Nicholas Davis298 visualizações
Lecture blockchain por Nicholas Davis
Lecture blockchainLecture blockchain
Lecture blockchain
Nicholas Davis337 visualizações
Software Development Methodologies por Nicholas Davis
Software Development MethodologiesSoftware Development Methodologies
Software Development Methodologies
Nicholas Davis3.7K visualizações
Information systems 365 - Cloud and BYOD Security por Nicholas Davis
Information systems 365 - Cloud and BYOD SecurityInformation systems 365 - Cloud and BYOD Security
Information systems 365 - Cloud and BYOD Security
Nicholas Davis216 visualizações
Information Security Awareness: at Work, at Home, and For Your Kids por Nicholas Davis
Information Security Awareness: at Work, at Home, and For Your Kids Information Security Awareness: at Work, at Home, and For Your Kids
Information Security Awareness: at Work, at Home, and For Your Kids
Nicholas Davis1K visualizações
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini... por Nicholas Davis
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...
Information Systems 365/765, Lecture 4, Policies, Data Classification, Traini...
Nicholas Davis245 visualizações
Information Systems 371 -The Internet of Things Overview por Nicholas Davis
Information Systems 371 -The Internet of Things OverviewInformation Systems 371 -The Internet of Things Overview
Information Systems 371 -The Internet of Things Overview
Nicholas Davis445 visualizações
Cyberwar Gets Personal por Nicholas Davis
Cyberwar Gets PersonalCyberwar Gets Personal
Cyberwar Gets Personal
Nicholas Davis287 visualizações
University of Wisconsin-Madison, Information Security 365/765 Course Summary,... por Nicholas Davis
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...University of Wisconsin-Madison, Information Security 365/765 Course Summary,...
University of Wisconsin-Madison, Information Security 365/765 Course Summary,...
Nicholas Davis802 visualizações
Bringing the Entire Information Security Semester Together With a Team Project por Nicholas Davis
Bringing the Entire Information Security Semester Together With a Team ProjectBringing the Entire Information Security Semester Together With a Team Project
Bringing the Entire Information Security Semester Together With a Team Project
Nicholas Davis138 visualizações
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info... por Nicholas Davis
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...
The Deep and Dark Web - Spooky Halloween Information Security Lecture -- Info...
Nicholas Davis728 visualizações
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M... por Nicholas Davis
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...
Student Presentation Sample (Netflix) -- Information Security 365/765 -- UW-M...
Nicholas Davis1.7K visualizações
Information Security Fall Semester 2016 - Course Wrap Up Summary por Nicholas Davis
Information Security Fall Semester 2016 - Course Wrap Up SummaryInformation Security Fall Semester 2016 - Course Wrap Up Summary
Information Security Fall Semester 2016 - Course Wrap Up Summary
Nicholas Davis1.1K visualizações
Organizational Phishing Education por Nicholas Davis
Organizational Phishing EducationOrganizational Phishing Education
Organizational Phishing Education
Nicholas Davis347 visualizações
Security Operations -- An Overview por Nicholas Davis
Security Operations -- An OverviewSecurity Operations -- An Overview
Security Operations -- An Overview
Nicholas Davis396 visualizações
Network Design, Common Network Terminology and Security Implications por Nicholas Davis
Network Design, Common Network Terminology and Security ImplicationsNetwork Design, Common Network Terminology and Security Implications
Network Design, Common Network Terminology and Security Implications
Nicholas Davis562 visualizações
Survey Presentation About Application Security por Nicholas Davis
Survey Presentation About Application SecuritySurvey Presentation About Application Security
Survey Presentation About Application Security
Nicholas Davis204 visualizações
Information Security 365/765 Lecture 13 – Legal Regulations, Industry Compli... por Nicholas Davis
Information Security 365/765 Lecture 13 – Legal Regulations,  Industry Compli...Information Security 365/765 Lecture 13 – Legal Regulations,  Industry Compli...
Information Security 365/765 Lecture 13 – Legal Regulations, Industry Compli...
Nicholas Davis418 visualizações
Demystifying Professional Certifications por Nicholas Davis
Demystifying Professional CertificationsDemystifying Professional Certifications
Demystifying Professional Certifications
Nicholas Davis274 visualizações

Software Security (Vulnerabilities) And Physical Security

  • 1. Information Systems 365/765 Lecture 11 Software Security (Vulnerabilities) and Physical Security
  • 2. Vulnerability • Applied to a weakness in a system which allows an attacker to violate the integrity of that system. Vulnerabilities may result from weak passwords, software bugs, a computer virus or other malware, a script code injection, or a SQL injection.
  • 3. Vulnerability vs. Exploit • A security risk is classified as a vulnerability if it is recognized as a possible means of attack. • A security risk with one or more known instances of working and fully-implemented attacks is classified as an exploit.
  • 4. Causes • There are multiple causes of vulnerabilities • Password Management Flaws • Fundamental Operating System Design Flaws • Software Bugs • Unchecked User Input
  • 5. Password Management Flaws • The computer user uses weak passwords that could be discovered by brute force. • The computer user stores the password on the computer where a program can access it. • Users re-use passwords between many programs and websites.
  • 7. Operating System Design Flaws • The operating system designer chooses to enforce sub optimal policies on user/program management. F • or example operating systems with policies such as default permit grant every program and every user full access to the entire computer. • This operating system flaw allows viruses and malware to execute commands on behalf of the administrator
  • 8. Software Bugs • The programmer leaves an exploitable bug in a software program. • The software bug may allow an attacker to misuse an application through (for example) bypassing access control checks or executing commands on the system hosting the application.
  • 9. Software Bugs • Also the programmer's failure to check the size of data buffers, which can then be overflowed, causing corruption of the stack or heap areas of memory (including causing the computer to execute code provided by the attacker).
  • 10. Unchecked User Input • The program assumes that all user input is safe. Programs that do not check user input can allow unintended direct execution of commands or SQL statements (known as Buffer overflows, SQL injection or other non-validated inputs).
  • 11. Vulnerability Disclosure • The method of disclosing vulnerabilities is a topic of debate in the computer security community. • Some advocate immediate full disclosure of information about vulnerabilities once they are discovered. • Others argue for limiting disclosure to the users placed at greatest risk, and only releasing full details after a delay, if ever. • What do you think?
  • 12. Vulnerability Disclosure • Benefit to limited disclosure: • Such delays may allow those notified to fix the problem by developing and applying patches, • Drawback to limited disclosure • May increase the risk to those not privy to full details.
  • 13. Full Disclosure • Disclose all the details of a security problem which are known. It is a philosophy of security management completely opposed to the idea of security through obscurity
  • 14. Full Disclosure • The theory behind full disclosure is that releasing vulnerability information immediately results in quicker fixes and better security. • Fixes are produced faster because vendors and authors are forced to respond in order to save face. • Security is improved because the window of exposure, the amount of time the vulnerability is open to attack, is reduced.
  • 15. Responsible Disclosure • Some believe that in the absence of any public exploits for the problem, full and public disclosure should be preceded by disclosure of the vulnerability to the vendors or authors of the system. This private advance disclosure allows the vendor time to produce a fix or workaround.
  • 16. Limited Disclosure • With full details going to a restricted community of developers and vendors, and only the existence of the problem being released to the public, is another possible approach • Nick doesn’t like Limited Disclosure
  • 17. A.C. Hobbs - Locksmith • A commercial, and in some respects a social doubt has been started within the last year or two, whether it is right to discuss so openly the security or insecurity of locks. Many well-meaning persons suppose that the discussion respecting the means for baffling the supposed safety of locks offers a premium for dishonesty, by showing others how to be dishonest. This is a fallacy. Rogues are very keen in their profession, and know already much more than we can teach them respecting their several kinds of roguery.
  • 18. Security Through Obscurity • Attempts to use secrecy (of design, implementation, etc.) to provide security. • A system relying on security through obscurity may have theoretical or actual security vulnerabilities, but its owners or designers believe that the flaws are not known, and that attackers are unlikely to find them.
  • 20. Vulnerability Disclosure Date • When can it be said that a vulnerability has been disclosed? • 1. The information is freely available to the public • 2. The vulnerability information is published by a trusted and independent channel/source • 3. The vulnerability has undergone analysis by experts such that risk rating information is included upon disclosure
  • 21. Examples of Vulnerabilities • Buffer overflows • Dangling pointers • Input validation errors, such as: • Format string bugs • Improperly handling shell metacharacters so they are interpreted • SQL injection • Code injection • E-mail injection • Directory traversal • Cross-site scripting in web applications • Race conditions, such as: • Time-of-check-to-time-of-use bugs • Symlink races • Privilege-confusion bugs, such as: • Cross-site request forgery in web applications • Privilege escalation • User interface failures, such as: • Warning fatigue or user conditioning • Blaming the Victim Prompting a user to make a security decision without giving the user enough information to answer it. • Race Conditions
  • 22. Buffer Overflow • A condition where a process attempts to store data beyond the boundaries of a fixed-length buffer. • The result is that the extra data overwrites adjacent memory locations.
  • 23. Buffer Overflow • The overwritten data may include other buffers, variables and program flow data, and may result in erratic program behavior, a memory access exception, program termination (a crash), incorrect results or ― especially if deliberately caused by a malicious user ― a possible breach of system security.
  • 24. Basic example • In the following example, a program has defined two data items which are adjacent in memory: an 8-byte-long string buffer, A, and a two-byte integer, B. Initially, A contains nothing but zero bytes, and B contains the number 3. Characters are one byte wide. A B 0 0 0 0 0 0 0 0 0 3
  • 25. Buffer Overflow Example • Now, the program attempts to store the character string "excessive" in the A buffer, followed by a zero byte to mark the end of the string. By not checking the length of the string, it overwrites the value of B: A B 'e' 'x' 'c' 'e' 's' 's' 'i' 'v' 'e' 0
  • 26. SQL Injection • User input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed. It is in fact an instance of a more general class of vulnerabilities that can occur whenever one programming or scripting language is embedded inside another.
  • 28. Email Injection • A security vulnerability that can occur in Internet applications that are used to send e-mail messages. Like SQL injection attacks, this vulnerability is one of a general class of vulnerabilities that occur when one programming language is embedded within another.
  • 30. Directory Traversal • The goal of this attack is to order an application to access a computer file that is not intended to be accessible. This attack exploits a lack of security (the software is acting exactly as it is supposed to) as opposed to exploiting a bug in the code. • Directory traversal is also known as the ../ (dot dot slash) attack, directory climbing, and backtracking.
  • 31. Cross-Site Scripting • (XSS) is a type of computer security vulnerability typically found in web applications which allow code injection by malicious web users into the web pages viewed by other users. Examples of such code include HTML code and client-side scripts. An exploited cross- site scripting vulnerability can be used by attackers to bypass access controls such as the same origin policy.
  • 33. Time-of-check-to-time-of-use • TOCTTOU − pronounced "TOCK too") is a software bug caused by changes in a system between the checking of a condition (such as a security credential) and the use of the results of that check. It is a kind of race condition.
  • 34. Confused Deputy • A confused deputy is a computer program that is innocently fooled by some other party into misusing its authority. It is a specific type of privilege escalation. In information security, the confused deputy problem is often cited as an example of why capability-based security is important. • Billing example
  • 35. Blaming The Victim • Prompting a user to make a security decision without giving the user enough information to answer it.
  • 36. Physical Security • Physical security describes measures that prevent or deter attackers from accessing a facility, resource, or information stored on physical media. It can be as simple as a locked door or as elaborate as multiple layers of armed guardposts.
  • 37. 3 Elements to Physical Security • Obstacles, to frustrate trivial attackers and delay serious ones; • Alarms, security lighting, security guard patrols or closed-circuit television cameras, to make it likely that attacks will be noticed; and • Security response, to repel, catch or frustrate attackers when an attack is detected.
  • 38. 4 Layers to Physical Security • Environmental design • Mechanical and electronic access control • Intrusion detection • Video monitoring
  • 39. What Are Physical Security Goals? • The goal is to convince potential attackers that the likely costs of attack exceed the value of making the attack. • If you are unable to convince them, then the second goal comes into play—to keep them from entering
  • 40. Layer One - Physical • The initial layer of security for a campus, building, office, or physical space uses Crime Prevention Through Environmental Design to deter threats. Some of the most common examples are also the most basic - barbed wire, warning signs and fencing, concrete bollards, metal barriers, vehicle height-restrictors, site lighting and trenches.
  • 41. Layer Two - Mechanical • Includes gates, doors, and locks. • Key control of the locks becomes a problem with large user populations and any user turnover. • Keys quickly become unmanageable forcing the adoption of electronic access control. • Electronic access control easily manages large user populations, controlling for user lifecycles times, dates, and individual access points. • For example a user's access rights could allow access from 0700 to 1900 Monday through Friday and expires in 90 days.
  • 42. Layer Three – Intrusion Detection • Monitors for attacks. It is less a preventative measure and more of a response measure, although some would argue that it is a deterrent. Intrusion detection has a high incidence of false alarms. In many jurisdictions, law enforcement will not respond to alarms from intrusion detection systems.
  • 43. Layer Four - Monitoring • Typically video monitoring systems. Like intrusion detection, these are not much of a deterrent. • Video monitoring systems are more useful for incident verification and historical analysis. • For instance, if alarms are being generated and there is a camera in place, the camera could be viewed to verify the alarms. • In instances when an attack has already occurred and a camera is in place at the point of attack, the recorded video can be reviewed. • Monitoring is ALWAYS active
  • 44. Intertwined in These Four Layers are People • Guards have a role in all layers. • In the first as patrols and at checkpoints. • In the second to administer electronic access control. • In the third to respond to alarms. The response force must be able to arrive on site in less time than it is expected that the attacker will require to breach the barriers. • In the fourth to monitor and analyze video.
  • 45. Users Are Helpful Too • Users obviously have a role also by questioning and reporting suspicious people. • Aiding in identifying people as known versus unknown are identification systems. • Often photo ID badges are used and are frequently coupled to the electronic access control system. • Visitors are often required to wear a visitor badge.
  • 46. Examples of Physical Security • ATMs (cash dispensers) are protected, not by making them invulnerable, but by spoiling the money inside when they are attacked. Thieves quickly learned that it was futile to steal or break into an ATM if all they got was worthless money covered in dye.
  • 47. Examples Continued • Safes are rated in terms of the time in minutes which a skilled, well equipped safe-breaker is expected to require to open the safe. These ratings are developed by highly skilled safe breakers employed by insurance agencies, such as Underwriters Laboratories. In a properly designed system, either the time between inspections by a patrolling guard should be less than that time, or an alarm response force should be able to reach it in less than that time.
  • 48. How Is Physical Security Like Software Security? • Hiding the resources, or hiding the fact that resources are valuable, is also often a good idea as it will reduce the exposure to opponents and will cause further delays during an attack, but should not be relied upon as a principal means of ensuring security • Security through obscurity can be used in the cases of software security and physical security! • Video!