Secure Software Programming and Vulnerability Analysis



Similar documents
Dos & DDoS Attack Signatures (note supplied by Steve Tonkovich of CAPTUS NETWORKS)

Firewalls and Intrusion Detection

Gaurav Gupta CMSC 681

SY system so that an unauthorized individual can take over an authorized session, or to disrupt service to authorized users.

CS5008: Internet Computing

Denial Of Service. Types of attacks

Abstract. Introduction. Section I. What is Denial of Service Attack?

1. Introduction. 2. DoS/DDoS. MilsVPN DoS/DDoS and ISP. 2.1 What is DoS/DDoS? 2.2 What is SYN Flooding?

Overview of Network Security The need for network security Desirable security properties Common vulnerabilities Security policy designs

CMS Operational Policy for Firewall Administration

Denial of Service Attacks. Notes derived from Michael R. Grimaila s originals

Introduction of Intrusion Detection Systems

Denial of Service (DoS)

CS 356 Lecture 16 Denial of Service. Spring 2013

Strategies to Protect Against Distributed Denial of Service (DD

Malicious Programs. CEN 448 Security and Internet Protocols Chapter 19 Malicious Software

Firewall Firewall August, 2003

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Security: Attack and Defense

A S B

CS 640 Introduction to Computer Networks. Network security (continued) Key Distribution a first step. Lecture24

co Characterizing and Tracing Packet Floods Using Cisco R

Analysis on Some Defences against SYN-Flood Based Denial-of-Service Attacks

Federal Computer Incident Response Center (FedCIRC) Defense Tactics for Distributed Denial of Service Attacks

CMPT 471 Networking II

Distributed Denial of Service Attack Tools

Security vulnerabilities in the Internet and possible solutions

20-CS X Network Security Spring, An Introduction To. Network Security. Week 1. January 7

Seminar Computer Security

CYBER ATTACKS EXPLAINED: PACKET CRAFTING

Denial of Service Attacks

How Cisco IT Protects Against Distributed Denial of Service Attacks

Network/Internet Forensic and Intrusion Log Analysis

Network Security. Chapter 9. Attack prevention, detection and response. Attack Prevention. Part I: Attack Prevention

ensure prompt restart of critical applications and business activities in a timely manner following an emergency or disaster

Denial of Service. Tom Chen SMU

Network Security. 1 Pass the course => Pass Written exam week 11 Pass Labs

1. Firewall Configuration

ITEC441- IS Security. Chapter 15 Performing a Penetration Test

CS 665: Computer System Security. Network Security. Usage environment. Sources of vulnerabilities. Information Assurance Module

SECURITY FLAWS IN INTERNET VOTING SYSTEM

Safeguards Against Denial of Service Attacks for IP Phones

General Network Security

DDos. Distributed Denial of Service Attacks. by Mark Schuchter

Chapter 8 Security Pt 2

Denial of Service (DoS) Technical Primer

UMHLABUYALINGANA MUNICIPALITY FIREWALL MANAGEMENT POLICY

Network Security. Tampere Seminar 23rd October Overview Switch Security Firewalls Conclusion

White Paper A SECURITY GUIDE TO PROTECTING IP PHONE SYSTEMS AGAINST ATTACK. A balancing act

Web Application Security

2.2 Methods of Distributed Denial of Service Attacks. 2.1 Methods of Denial of Service Attacks

Network Security -- Defense Against the DoS/DDoS Attacks on Cisco Routers

Guide to DDoS Attacks December 2014 Authored by: Lee Myers, SOC Analyst

Chapter 11 Cloud Application Development

Protecting Critical Infrastructure

Firewalls. Firewalls. Idea: separate local network from the Internet 2/24/15. Intranet DMZ. Trusted hosts and networks. Firewall.

Network Security: A Practical Approach. Jan L. Harrington

Architecture Overview

Frequent Denial of Service Attacks

Attack Lab: Attacks on TCP/IP Protocols

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

8 steps to protect your Cisco router

Strategies to Protect Against Distributed Denial of Service (DDoS) Attacks

TCP SYN Flood - Denial of Service Seung Jae Won University of Windsor wons@uwindsor.ca

Chapter 28 Denial of Service (DoS) Attack Prevention

Firewalls & Intrusion Detection

Botnets. Botnets and Spam. Joining the IRC Channel. Command and Control. Tadayoshi Kohno

TECHNICAL NOTE 06/02 RESPONSE TO DISTRIBUTED DENIAL OF SERVICE (DDOS) ATTACKS

Network Security: 30 Questions Every Manager Should Ask. Author: Dr. Eric Cole Chief Security Strategist Secure Anchor Consulting

Linux Network Security

Distributed Denial of Service (DDoS)

Network Security Policy

A Decision Maker s Guide to Securing an IT Infrastructure

SECURING APACHE : DOS & DDOS ATTACKS - I

Company Co. Inc. LLC. LAN Domain Network Security Best Practices. An integrated approach to securing Company Co. Inc.

DDoS Protection on the Security Gateway

Secure networks are crucial for IT systems and their

Firewalls. Ola Flygt Växjö University, Sweden Firewall Design Principles

SECURING APACHE : DOS & DDOS ATTACKS - II

REPORT ON AUDIT OF LOCAL AREA NETWORK OF C-STAR LAB

Network Security. Dr. Ihsan Ullah. Department of Computer Science & IT University of Balochistan, Quetta Pakistan. April 23, 2015

Firewalls, Tunnels, and Network Intrusion Detection

Project 4: (E)DoS Attacks

Bendigo and Adelaide Bank Ltd Security Incident Response Procedure

Client Server Registration Protocol

How To Classify A Dnet Attack

Brocade NetIron Denial of Service Prevention

Honeypots for Distributed Denial of Service Attacks

Modern Denial of Service Protection

Security Toolsets for ISP Defense

Best Practices Guide: Vyatta Firewall. SOFTWARE-BASED NETWORKING & SECURITY FROM VYATTA February 2013

Chapter 7 Protecting Against Denial of Service Attacks

Building A Secure Microsoft Exchange Continuity Appliance

A Layperson s Guide To DoS Attacks

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

DDoS Protection. How Cisco IT Protects Against Distributed Denial of Service Attacks. A Cisco on Cisco Case Study: Inside Cisco IT

Network and Host-based Vulnerability Assessment

Transcription:

Secure Software Programming and Vulnerability Analysis Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Operations and Denial of Service Secure Software Programming 2

Overview Security issues at various stages of application life-cycle mistakes, vulnerabilities, and exploits avoidance, detection, and defense Architecture security considerations when designing the application Implementation security considerations when writing the application Operation security considerations when the application is in production Secure Software Programming 3 Overview Separation of development and operations staff people are unaware of problems and risks in the other domain for example, a developer considers the OS and network secure Running secure applications on insecure OS, or vice versa Attackers choose path of least resistance go for the underlying infrastructure if easier Ensure that application can be deployed in a safe environment! Security is everybody s problem Secure Software Programming 4

Operations Besides direct access to applications, attacker can try alternative paths Administrative access can be a problem standard remote access (e.g., ssh, telnet) usually reachable from within the whole enterprise convenient often not as well protected attacker can obtain access at the OS level and circumvent application defense user-level access at OS level is a problem too Secure Software Programming 5 Operations Besides direct access to applications, attacker can try alternative paths Administrative access can be a problem standard remote access (e.g., ssh, telnet) usually reachable from within the whole enterprise convenient often not as well protected attacker can obtain access at the OS level and circumvent application defense user-level access at OS level is a problem too Secure Software Programming 6

Operations Good practice takes a holistic approach all aspects are equally important 1. Secure the network 2. Secure the operating system 3. Deploy application with diligence 4. Follow good operational practice Secure Software Programming 7 Secure the Network Allow essential network services only good firewall configuration be careful when multiple interfaces are in use Use secure protocols obviously, no clear text protocols administrative access should be at least as secure as application Separate production data from management data use two separate networks also good in case of denial of service attacks Secure Software Programming 8

Secure the Network Monitor for unauthorized activities deploy intrusion detection systems at least, on network level (e.g., Snort) if you monitor bad behavior, don t flame the source immediately could be spoofed source, or misconfigurations Defense in depth use multiple layers of defense firewall, tightened switches, IDS, personal firewalls Log events detection, but also accountability and forensics log on dedicated (hardened, stealth) machine Secure Software Programming 9 Secure the Operating System Secure baseline after initial installation, harden the OS turn off unwanted network services remove daemons from startup scripts local firewall tighten file access control use principle of least privilege remove unwanted binaries no compiler on a Web server install latest patches make installation process repeatable Secure Software Programming 10

Deploy Application with Diligence Set up correct file permissions especially for configuration files Enable event logging make sure that someone reads these logs send regularly an email summary to administrator Use compartmentalization chroot() is common privilege separation with different users Also applies to third-party code Secure Software Programming 11 Good Operational Practice Manage privileges use different roles, users, and groups developers, users, and operational staff can get different privileges Manage user accounts centralized account management also check for application / database accounts Treat temporary or contract personal appropriately shared accounts for all temporaries results in loss of accountability Secure Software Programming 12

Good Operational Practice Configuration and patch management use standardized configuration tools and procedures not only consider reliability and stability an issue patch also production machines Test your configuration changes to configurations and patches might break applications previously test these changes separate test network is convenient if too expensive, use virtual machine software (VMware, bochs) Secure Software Programming 13 Good Operational Practice Conduct backups securely doing backups is vital for every data center storing the backups off-site is even better but, the data needs to be transported and stored securely Threat and risk analysis who could attack, how could the attack happen, what are the assets Incident handling plans what happens in case of an attack backup systems, shut down operations Secure Software Programming 14

Good Operational Practice Stay current invest time to familiarize yourself with security issues Perform audits code reviews penetration tests request external opinions Avoid mission creep every firewall become useless after some time as more and more rules are added Don t pass the buck or do shortcuts because it is easier Secure Software Programming 15 Operations and Denial of Service Secure Software Programming 16

Denial of Service Definition explicit attempt by attackers to prevent legitimate users of a service from using that service not all service outages (even those that result from malicious activity) are necessarily denial of service attacks Examples attempts to "flood" a network, thereby preventing legitimate network traffic attempts to disrupt connections between two machines, thereby preventing access to a service attempts to disrupt service to a specific system or person Secure Software Programming 17 Denial of Service Impact disable computer or network depending on organization, disabling complete organization Asymmetric denial of service (DoS) attacker uses only limited resources against a large victim Modes of Attack 1. consumption of scare, limited, or non-renewable resources 2. destruction or alteration of configuration information 3. physical destruction or alteration of (network) components Secure Software Programming 18

Denial of Service 1. Consumption of scare, limited, or non-renewable resources computers and networks require certain things to operate properly: CPU time, bandwidth, memory, access to other computers, and environmental resources (e.g., power) 1. network connectivity consume entries in the receive queue (SYN attack) 2. consume bandwidth send a lot of packets 3. use victim resources against itself connect chargen and echo services smurf attack Secure Software Programming 19 Denial of Service 4. fill file system with data or files (to use up inodes) anonymous ftp servers systems without quota 5. generate excessive amount of log entries 6. generate excessive amount of mail messages 7. generate excessive amounts of processes fork bombs 8. exploit lock-out scheme account disabling after a few attempts 9. sending input that crashes OS or applications WinNuke Secure Software Programming 20

Denial of Service 2. Destruction or alteration of configuration information change router information change Windows Registry information 3. Physical destruction or alteration of (network) components cut wires blow up NOC (network operation center) Secure Software Programming 21 Denial of Service Many tools for DoS available Especially for distributed denial of service (DDoS) Distributed denial of service many coordinated attackers overflow one victim Trinoo, Stacheldraht, Tribal Flood Network (TFN) Stacheldraht involved hosts: client hosts: are used to control handlers (1:n relationship) handler hosts: are used to control agents (1:n relationship), n < 1000 agent hosts: send the ICMP echo request to the victim all communication is encrypted (TCP + ICMP) http://staff.washington.edu/dittrich/misc/stacheldraht.analysis Secure Software Programming 22

Denial of Service Client Client Handler Handler Handler Handler Handler Agent Agent Agent Agent Agent Victim flood Secure Software Programming 23 Denial of Service Defense mechanisms difficult to do locally especially with spoofed source addresses and changing content traffic shaping rate limit incoming traffic use well-configured firewalls infrastructural techniques cooperating routers push back path identification client puzzles client has to solve a resource intensive task to continue communication Secure Software Programming 24

Denial of Service Syn cookies technique to prevent syn floods particular choice of initial 32 bit TCP sequence number top 5 bits t mod 32, where t is a 32-bit time counter that increases every 64 seconds next 3 bits an encoding of an MSS selected by the server in response to the client's MSS bottom 24 bits a server-selected secret function of the client IP address and port number, the server IP address and port number, and t. no receive queue needed anymore when second packet from client is received (finishing 3-way handshake), just check for validity of ack value Secure Software Programming 25 Summary Operations 1. Secure the network 2. Secure the operating system 3. Deploy application with diligence 4. Follow good operational practice Denial of service explicit attempt by attackers to prevent legitimate users of a service from using that service 1. consumption of scare, limited, or non-renewable resources 2. destruction or alteration of configuration information 3. physical destruction or alteration of (network) components Secure Software Programming 26