Application Security 2007 Annual Security Training Kansas State University.

Slides:



Advertisements
Similar presentations
Alexander Carrington and Liam Martell. Introduction Client: Tom Goldsworthy – G-Group Security Project: Electronic Incident Reporting System Online access.
Advertisements

Legal Meetings: Extended Instructions on Movica and Screencast.
Chapter 1 We’ve Got Problems…. Four Horsemen  … of the electronic apocalypse  Spam --- unsolicited bulk o Over 70% of traffic  Bugs ---
Copyright © Microsoft Corp 2006 Introduction to Security Testing Shawn Hernan Security Program Manager Security Engineering and Communication.
Online Banking Fraud Prevention Recommendations and Best Practices This document provides you with fraud prevention best practices that every employee.
How (not) to use your firewall Jurjen N.E. Bos Information Security Consultant.
Security in By: Abdulelah Algosaibi Supervised by: Prof. Michael Rothstein Summer II 2010: CS 6/79995 Operating System Security.
DATABASE APPLICATION DEVELOPMENT SAK 3408 The Web and DBMS.
Security Awareness: Applying Practical Security in Your World Chapter 6: Total Security.
Computer Security and Penetration Testing
1 Security and Software Engineering Steven M. Bellovin AT&T Labs – Research
BUILDING A SECURE STANDARD LIBRARY Information Assurance Project I MN Tajuddin hj. Tappe Supervisor Mdm. Rasimah Che Mohd Yusoff ASP.NET TECHNOLOGY.
Norman SecureSurf Protect your users when surfing the Internet.
FTP. SMS based FTP Introduction Existing System Proposed Solution Block Diagram Hardware and Software Features Benefits Future Scope Conclusion.
Avanade: 10 tips for å sikring av dine SQL Server databaser Bernt Lervik Infrastructure Architect Avanade.
Vulnerabilities. flaws in systems that allow them to be exploited provide means for attackers to compromise hosts, servers and networks.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
11 SECURING INTERNET MESSAGING Chapter 9. Chapter 9: SECURING INTERNET MESSAGING2 CHAPTER OBJECTIVES  Explain basic concepts of Internet messaging. 
Real Security for Server Virtualization Rajiv Motwani 2 nd October 2010.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Ladd Van Tol Senior Software Engineer Security on the Web Part One - Vulnerabilities.
1 All Your iFRAMEs Point to Us Mike Burry. 2 Drive-by downloads Malicious code (typically Javascript) Downloaded without user interaction (automatic),
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
Honeypot and Intrusion Detection System
Security Professional Services. Security Assessments Vulnerability Assessment IT Security Assessment Firewall Migration Custom Professional Security Services.
BLENDED ATTACKS EXPLOITS, VULNERABILITIES AND BUFFER-OVERFLOW TECHNIQUES IN COMPUTER VIRUSES By: Eric Chien and Peter Szor Presented by: Jesus Morales.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
SECURITY ZONES. Security Zones  A security zone is a logical grouping of resources, such as systems, networks, or processes, that are similar in the.
Cloud Computing Characteristics A service provided by large internet-based specialised data centres that offers storage, processing and computer resources.
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
1 CHAPTER 2 LAWS OF SECURITY. 2 What Are the Laws of Security Client side security doesn’t work Client side security doesn’t work You can’t exchange encryption.
UNESCO ICTLIP Module 1. Lesson 61 Introduction to Information and Communication Technologies Lesson 6. What is the Internet?
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
CPT 123 Internet Skills Class Notes Internet Security Session A.
Security - Why Bother? Your projects in this class are not likely to be used for some critical infrastructure or real-world sensitive data. Why should.
Determina DARPA PI meeting Page 2Confidential © Determina, Inc. Agenda LiveShield –Product and Technology –Current Status Applications to Application.
CIS 450 – Network Security Chapter 14 – Specific Exploits for UNIX.
Understanding Computer Viruses: What They Can Do, Why People Write Them and How to Defend Against Them Computer Hardware and Software Maintenance.
COSC 513 Operating Systems Project Presentation: Internet Security Instructor: Dr. Anvari Student: Ying Zhou Spring 2003.
November 19, 2008 CSC 682 Use of Virtualization to Thwart Malware Written by: Ryan Lehan Presented by: Ryan Lehan Directed By: Ryan Lehan Produced By:
Lecture 13 Page 1 CS 236 Online Principles for Secure Software Following these doesn’t guarantee security But they touch on the most commonly seen security.
Lecture 19 Page 1 CS 236 Online Securing Your System CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
CSIT 220 (Blum)1 Remote Procedure Calls Based on Chapter 38 in Computer Networks and Internets, Comer.
IT Security Policy: Case Study March 2008 Copyright , All Rights Reserved.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
I NTRODUCTION TO N ETWORK A DMINISTRATION. W HAT IS A N ETWORK ? A network is a group of computers connected to each other to share information. Networks.
The Digital Crime Scene: A Software Perspective Written By: David Aucsmith Presented By: Maria Baron.
Introduction TO Network Administration
TOPIC 7.0 LINUX SERVICES AND CONFIGURATION. ROOT USER Root user is called “super user” because it has power far beyond those of mortal user. As root,
Web Security Firewalls, Buffer overflows and proxy servers.
Bring Your Own Security (BYOS™): Deploy Applications in a Manageable Java Container with Waratek Locker on Microsoft Azure MICROSOFT AZURE ISV PROFILE:
Role Of Network IDS in Network Perimeter Defense.
I NTRODUCTION TO N ETWORK A DMINISTRATION. W HAT IS A N ETWORK ? A network is a group of computers connected to each other to share information. Networks.
Kaspersky Small Office Security INTRODUCING New for 2014!
Securing a Host Computer BY STEPHEN GOSNER. Definition of a Host  Host  In networking, a host is any device that has an IP address.  Hosts include.
Lecture 14 Page 1 CS 236 Online Secure Programming CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Common System Exploits Tom Chothia Computer Security, Lecture 17.
ONLINE SHOP MANAGEMENT SYSTEM
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
Critical Security Controls
Computer Software Lecture 5.
HARDENING CLIENT COMPUTERS
^ About the.
Firewalls.
Nessus Vulnerability Scanning
Topic 5: Communication and the Internet
In-house Developed Library Solutions
Implementing Firewalls
Presentation transcript:

Application Security 2007 Annual Security Training Kansas State University

Introduction Jeremiah Shirk InfoSec geek for over a decade –Firewall design –Security consulting –Vulnerability and malware research Currently, Application Services Administrator for the Office of Mediated Education

Office of Mediated Education Our mission –The Office of Mediated Education is dedicated to providing innovative and reliable solutions to meet the academic computing needs of K-State in the areas of teaching and learning as well as research, technology transfer and outreach. Project Highlights –DCE/EIS, Survey, K-State Online / Axio, Transaction Hub, Electronic Grade Submission, KEAS, eProfile & WID Support tools, ExpanSIS,Online TEVAL, SGA Elections, several Lecture Series, and too many more to list.

OME Services Web Hosting and Design Instructional Design Consultation Live A/V Webcasting CD/DVD Duplication A/V Encoding and Editing Web Presentations More information available at:

Application Security Difficult to define, but the following comes close “everything involved in developing, maintaining, and purchasing applications that your organization can trust” –OWASP

Why does it matter? Attacks focus on data Applications have a trusted place in our networks Attacks on applications come in through avenues that cannot simply be blocked at the perimeter

Different perspectives Commercial applications –Expect vendor to keep application secure –Administrators (and users!) have a responsibility as well Home-grown applications –We are the vendor and user Open source application –Some mix of the above All applications –Ultimately, we are responsible for the security of all the apps that we install and/or use

Sample attacks To illustrate, a few sample attacks –WinAMP playlist parsing overflow –Word memory corruption (CVE ) –PHP Project Management file inclusion –iPhone TIFF file processing vulnerability

Scope of the problem Vulnerability statistics –CVE (Common Vulnerabilities and Exposures) is a widely accepted standard naming system for publicly known vulnerabilities Year * Vulns * 2007 through mid-October

Which apps are vulnerable? Probably most of them Many vulnerabilities are as yet unknown In my personal experience: –Many who have looked for vulnerabilities have found them –None who looked at an app reported finding nothing –This is admittedly unscientific, but strongly suggestive If you look for vulnerabilities, you will find them

New threats How are new application vulnerabilities found? –Input fuzzing –Patch analysis Source, if available Binary patch differential analysis –Executable “debugging” Where do vulnerabilities come from? Developers, but more on that later

Input Fuzzing Testing by providing random input to a program, and noting failures and exceptions –Practical fuzzing takes into account data structures in protocols and/or file formats –SPIKE, and SPIKE Proxy, PROTOS –Inputs can include network connections, files, environment variables, yielding different attack vectors

Patch Analysis When a patch comes out, examine what changes This drastically narrows the scope of searching for vulnerabilities, which will work on all un-patched systems Tools to make it easier –Sabre BinDiff

Debugging/disassembling Complementary to fuzzing and patch analysis –Once you know where the code breaks, debugging/disassembling lets you find out how it breaks, and how to exploit it –Tools SoftICE IDAPro OllyDbg -- Free and powerful

Defense: What can we do? Depends on the type of software –Third party applications Open source Commercial –Internally developed applications Some strategies for each type

Third-party application security strategies Keep up with patches Read the (fine) manual Subscribe to security and announcement mailing lists Minimal software footprint Select applications with a better security track record

Keep up with patches Pay special attention to security patches, if the vendor makes the distinction Some vendors, such as Microsoft, allow for automatic patching. For most users, the risk of a bad patch is less than the risk of a delayed patch. Worms often spread near patch releases (immediately before and after) so time is of the essence.

Read the manual If your software manual specifically refers to security, it’s probably important –Most often true of servers and frameworks The PHP manual has multiple chapters on security ( Apache security tips ( tips.html) tips.html

Subscribe to security mailing lists Almost all vendors now have a mailing list for security issues. This is one of the best ways to know as soon as possible about threats to your applications Details often found at /security /security Or search with Google…these lists almost always exist

Minimal software footprint Avoid installing components you don’t need For servers and frameworks, turn off or restrict features you won’t use The less software you run, the less chance you are running insecure code

Select secure software Some vendors have a better security track record Review security mailing lists: Does the vendor: –release patches before vulnerabilities are disclosed? –Release patches quickly? –Give direct information about risks?

Home grown applications Security advantages –Fewer interested attackers –Security through obscurity Security disadvantages –Responsible for own patches –Those who find flaws may be less likely to reveal them

Principles for secure apps Input validation –Defending against fuzzing and ‘smart’ attacks Start with a secure platform Limit public interfaces Layered security Avoid clear-text protocols

Guidelines for secure coding Depends on your tool set, but there is a lot of good help out there –.Net Security –Secure Coding Guidelines for the Java Programming Language –Secure Coding in C and C++ (Book) –CERT Secure Coding Standards (Wiki)

Resources and References Open Web Application Security Project SPIKE, SPIKE Proxy freesoftware.shtml freesoftware.shtml PROTOS CERT Secure Coding Standards (Wiki) CERT