Methods & Tools Secure Coding Antipatters Martin Englund, SUN Microsystems Inc.
|
|
|
- Lisa Booth
- 9 years ago
- Views:
Transcription
1 Methods & Tools Secure Coding Antipatters Martin Englund, SUN Microsystems Inc.
2 Goal Learn how to reduce vulnerabilities by avoiding insecure coding patterns (antipatterns)
3 What is a Vulnerability? A weakness in a system allowing an attacker to violate the integrity, confidentiality, access control, availability, consistency or audit mechanism of the system or the data and application it hosts
4 What Causes Vulnerabilities? Faulty assumptions in the application architecture Errors in configuration Incorrect logic Insecure programming practices (antipatterns)... This session focuses on antipatterns
5 Secure Coding Antipatterns Programming practices you should avoid Negative counterpart to a design pattern e.g. implementing methods that don't validate input parameters Antipatterns not set in stone Generally should avoid them, but there are exceptions Make sure you understand the consequences Vulnerabilities may exist in various locations Application code, shared libraries Java TM platform core libraries
6 Antipatterns in C versus the Java Language C-based antipatterns often exploit buffer overflows Java runtime safely manages memory Performs automatic bounds checks on arrays No pointer arithmetic The Java runtime often executes untrusted code Must protect against access to unauthorized resources Results in a different set of coding antipatterns than C
7 How this Presentation is Organized List common coding antipatterns For each antipattern: Show real example from an older JDK TM software release Explain the problem and attack scenario Describe the proper secure coding guidelines Summary URL pointing to more comprehensive list of Java language secure coding guidelines
8 Common Java Platform Antipatterns 1. Assuming objects are immutable 2. Basing security checks on untrusted sources 3. Ignoring changes to superclasses 4. Neglecting to validate inputs 5. Misusing public static variables 6. Believing a constructor exception destroys the object
9 Antipattern 1: Assuming Objects Are Immutable Example from JDK 1.1 Software package java.lang; public class Class { private Object[] signers; public Object[] getsigners() { return signers; *Class.getSigners() is actually implemented as a native method, but the behavior is equivalent to the above. See
10 Antipattern 1: Assuming Objects Are Immutable Attacker can change signers of a class package java.lang; public class Class { private Object[] signers; public Object[] getsigners() { return signers; Object[] signers = this.getclass().getsigners(); signers[0] = <new signer>;
11 Antipattern 1: Assuming Objects Are Immutable Problem Mutable input and output Objects can be modified by the caller Modifications can cause applications to bahave incorrectly Modifications to sensitive security state may result in elevated privileges for attacker e.g. altering the signers of a class can give the class unauthorized resources
12 Antipattern 1: Assuming Objects Are Immutable Secure Coding Guidelines Make a copy of mutable output parameters public Object[] getsigners() { // signers contains immutable type X509Certificate. // shallow copy of array is OK. return signers.clone(); Make a copy of mutable input parameters public MyClass(Date start, boolean[] flags) { this.start = new Date(start.getTime()); this.flags = flags.clone(); Perform deep cloning on arrays if necessary
13 Common Java Platform Antipatterns 1. Assuming objects are immutable 2. Basing security checks on untrusted sources 3. Ignoring changes to superclasses 4. Neglecting to validate inputs 5. Misusing public static variables 6. Believing a constructor exception destroys the object
14 Antipattern 2: Checks on Untrusted Sources Example from JDK 5.0 Software public RandomAccessFile openfile(final java.io.file f) { askuserparmission(f.getpath());... return (RandomAccessFile)AccessController.doPrivileged() { public Object run() { return new RandomAccessFile(f.getPath());
15 Antipattern 2: Checks on Untrusted Sources Attacker can pass in subclass of java.io.file that overrides getpath() public RandomAccessFile openfile(final java.io.file f) { askuserparmission(f.getpath());... return new RandomAccessFile(f.getPath());... public class BadFile extends java.io.file { private int count; public String getpath() { return (++count==1)? /tmp/foo : /etc/passwd ;
16 Antipattern 2: Checks on Untrusted Sources Problem Security checks can be fooled if they are based on information that attackers can control It is easy to assume input types defined in the Java core libraries (like java.io.file) are secure and can be trusted Non-final classes/methods can be subclassed Mutable types can be modified
17 Antipattern 2: Checks on Untrusted Sources Secure Coding Guidelines Don't assume input are immutable Make defensive copies of non-final or mutable inputs and perform checks using copies public RandomAccessFile openfile(file f) { final File copy = f.clone(); askuserpermission(copy.getpath());... return new RandomAccessFile(copy.getPath());
18 Antipattern 2: Checks on Untrusted Sources Secure Coding Guidelines WRONG: clone() copes attercker's subclass public RandomAccessFile openfile(java.io.file f) { final java.io.file copy = f.clone(); askuserpermission(copy.getpath());... RIGHT java.io.file copy = new java.io.file(f.getpath());
19 Common Java Platform Antipatterns 1. Assuming objects are immutable 2. Basing security checks on untrusted sources 3. Ignoring changes to superclasses 4. Neglecting to validate inputs 5. Misusing public static variables 6. Believing a constructor exception destroys the object
20 Antipattern 3: Ignoring changes to superclasses Example from JDK 1.2 Software java.util.hashtable extends put(key, val) remove(key) java.util.properties extends java.security.provider put(key, val)// security check remove(key) // security check
21 Antipattern 3: Ignoring changes to superclasses Example from JDK 1.2 Software (cont.) java.util.hashtable extends put(key, val) remove(key) Set entryset() java.util.properties extends java.security.provider put(key, val)// security check remove(key) // security check
22 Antipattern 3: Ignoring changes to superclasses Attacker bypasses remove method and uses inherited entryset method to delete properties java.util.hashtable extends put(key, val) remove(key) Set entryset() //supports removal java.util.properties extends java.security.provider put(key, val) // security check remove(key) // security check
23 Antipattern 3: Ignoring changes to superclasses Problem Subclasses can not guarantee encapsulation Superclass may modify behavior of methods that have not been overridden Superclass may add new methods Security checks enforced in subclasses can be bypassed Provider.remove() security check bypassed if attacker calls newly inherited entryset method to perform removal
24 Antipattern 3: Ignoring changes to superclasses Secure Coding Guidelines Avoid inappropriate subclassing Subclass when inheritance model is well-specified and well-understood Monitor changes to superclasses Identify behavioral changes to existing inherited methods and override if nexessary Identify new methods and override if necessary java.security.provider put(key, value)// security check remove(key) // security check Set entryset() // immutable set
25 Common Java Platform Antipatterns 1. Assuming objects are immutable 2. Basing security checks on untrusted sources 3. Ignoring changes to superclasses 4. Neglecting to validate inputs 5. Misusing public static variables 6. Believing a constructor exception destroys the object
26 Antipattern 4: Validate Inputs Example from JDK 1.4 Software package sun.net. public class HttpURLConnection extends java.net.httpurlconnection { /** * Set header on HTTP request */ public void setrequestproperty(string key, String value) { // no input validation on key and value
27 Antipattern 4: Validate Inputs Attacker crafts HTTP headers with embedded requests that bypass security package sun.net. public class HttpURLConnection extends java.net.urlconnection { public void setrequestproperty(string key, String value) { // no input validation on key and value urlconn.setrequestproperty ("Accept", "*.*\r\n\r\nget HTTP/1.0\r\n\r\n");
28 Antipattern 4: Validate Inputs Embedded request bypasses security check applet client host GET HTTP/1.0 Accept: *.* GET HTTP/1.0 web proxy GET HTTP/1.0 Accept: *.* applet origin host victim host GET HTTP/1.0 Intranet Internet
29 Antipattern 4: Validate Inputs Problem Creative inputs with out-of-bounds values or escape characters can be crafted Affects code that processes requests or delegates to subcomponents Implements network protocols Constructs SQL requests Calls shell scripts Additional issues when calling native methods No automatic array bounds check
30 Secure Coding Guidelines Validate inputs Antipattern 4: Validate Inputs Check for escape characters Check for out-of-bounds values Check for malformed requests Regular expression API can help validate String inputs Pass validated inputs to sub-components Wrap native methods in Java language wrapper to validate inputs Make naive methods private
31 Common Java Platform Antipatterns 1. Assuming objects are immutable 2. Basing security checks on untrusted sources 3. Ignoring changes to superclasses 4. Neglecting to validate inputs 5. Misusing public static variables 6. Believing a constructor exception destroys the object
32 Antipattern 5: Static Variables Example from JDK Software package org.apache.xpath.compiler; public class FunctionTable { public static FuncLoader m_functions;
33 Antipattern 5: Static Variables Attacker can replace function table package org.apache.xpath.compiler; public class FunctionTable { public static FuncLoader m_functions; FunctionTable.m_functions = <new_table>;
34 Antipattern 5: Static Variables Problem Sensitive static state can be modified by untrusted code Replacing the function table gives attackers access to XpathContect used to evaluate Xpath expressions Static variables are clobal acress a Java runtime environment Can be used as a communication channel between different application domains (e.g. by code loaded into different class loaders)
35 Antipattern 5: Static Variables Secure Coding Guidelines Reduce the scope of static fields private static FuncLoader m_functions; Treat public statics primarily as constants Consider using enum types Make public static fields final public class MyClass { public static final int LEFT = 1; public static final int RIGHT = 2;
36 Antipattern 5: Static Variables Secure Coding Guidelines Define accessor methods for mutable static state Add appropriate security checks public class MyClass { private static byte[] data; public static byte[] getdata() { return data.clone(); public static void setdata(byte[] b) { securitycheck(); data = b.clone();
37 Common Java Platform Antipatterns 1. Assuming objects are immutable 2. Basing security checks on untrusted sources 3. Ignoring changes to superclasses 4. Neglecting to validate inputs 5. Misusing public static variables 6. Believing a constructor exception destroys the object
38 Antipattern 6: Exception destroys the Object Example from JDK Software package java.lang; public class ClassLoader { public ClassLoader() { // permission needed to create class loader securitycheck(); init();
39 Antipattern 6: Exception destroys the Object Attacker overrides finalize() to get partially initialized ClassLoader instance package java.lang; public class ClassLoader { public ClassLoader() { securitycheck(); init(); public class MyCL extends ClassLoader { static ClassLoader cl; protected void finalize() { cl = this; public static void main(string[] s) { try { new MyCL(); catch (SecurityException e) { System.gc(); System.runFinalization(); System.out.println(cl);
40 Problem Antipattern 6: Exception destroys the Object Throwing an exception from a constructor does not prevent a partially initialized instance from being acquired Attacker can override finalize method to obtain the object Constructors that call into outside code often naively propagate exceptions Enables the same attack as if the constructor directly threw the exception
41 Antipattern 6: Exception destroys the Object Secure Coding Guidelines Make class final if possible If finalize() method can be overridden, ensure partially initialized instances are unusable Do not set fields until all checks have completed Use an initialized flag public class ClassLoader { private boolean initialized = false; ClassLoader() { securitycheck(); init(); initialized = true; // check flag in all relevant methods
42 Summary Vulnerabilities are concern for all developers Can have severe impacts on security and privacy Follow secure coding guidelines to reduce vulnerabilities Encourages secure programming from the outset Helps limit bad assumptions that might be made Avoids common antipatterns
43 For More Information Contact the Java SE Security Team with comments Secure coding guidelines for Java technology Currently being updated, new version posted soon
44 Acknowledgements Secure Internet Programming group at Princeton University Dirk Balfanz, Drew Dean, Edward W. Felten, and Dan Wallach Marc Schönefeld Harmen van der Wal
45 Font Options Myriad Web Myriad Web Bold Myriad Web Italic Myriad Condensed Web Myriad Condensed Web
46 M Font Options
47 Font Options Myriad Web Myriad Web Bold Myriad Web Italic Myriad Condensed Web Myriad Condensed Web
48 Two Columns One Two
49 Øredev Color Myriad Condensed
50 Remember! Enter the evaluation form and be a part of making Øredev even better. You will automatically be part of the evening lottery
Java and Java Virtual Machine Security
Java and Java Virtual Machine Security Vulnerabilities and their Exploitation Techniques by Last Stage of Delirium Research Group http://lsd-pl.net Version: 1.0.0 Updated: October 2nd, 2002 Copyright c
Homeland Security Red Teaming
Homeland Security Red Teaming Directs intergovernmental coordination Specifies Red Teaming Viewing systems from the perspective of a potential adversary Target hardening Looking for weakness in existing
Software security specification and verification
Software security specification and verification Erik Poll Security of Systems (SoS) group Radboud University Nijmegen Software (in)security specification and verification/detection Erik Poll Security
Java History. Java History (cont'd)
Java History Created by James Gosling et. al. at Sun Microsystems in 1991 "The Green Team" Were to investigate "convergence" technologies Gosling created a processor-independent language for '*7', a 2-way
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
Java Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
Integrated Network Vulnerability Scanning & Penetration Testing SAINTcorporation.com
SAINT Integrated Network Vulnerability Scanning and Penetration Testing www.saintcorporation.com Introduction While network vulnerability scanning is an important tool in proactive network security, penetration
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Security Vulnerability Notice
Security Vulnerability Notice SE-2014-01-ORACLE [Security vulnerabilities in Oracle Database Java VM, Issues 1-20] DISCLAIMER INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY
core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt
core. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Volume I - Fundamentals Seventh Edition CAY S. HORSTMANN GARY
FINAL DoIT 11.03.2015 - v.4 PAYMENT CARD INDUSTRY DATA SECURITY STANDARDS APPLICATION DEVELOPMENT AND MAINTENANCE PROCEDURES
Purpose: The Department of Information Technology (DoIT) is committed to developing secure applications. DoIT s System Development Methodology (SDM) and Application Development requirements ensure that
Java and Java Virtual Machine security vulnerabilities and their exploitation techniques
Java and Java Virtual Machine security vulnerabilities and their exploitation techniques by Last Stage of Delirium Research Group http://lsd-pl.net Version: 1.0 Updated: September 3 rd, 2002 Copyright
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
RMI Client Application Programming Interface
RMI Client Application Programming Interface Java Card 2.2 Java 2 Platform, Micro Edition Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, CA 94303 U.S.A. 650-960-1300 June, 2002 Copyright 2002 Sun
Java (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
Securing ios Applications. Dr. Bruce Sams, OPTIMAbit GmbH
Securing ios Applications Dr. Bruce Sams, OPTIMAbit GmbH About Me President of OPTIMAbit GmbH Responsible for > 200 Pentests per Year Ca 50 ios Pentests and code reviews in the last two years. Overview
FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE
Purpose: This procedure identifies what is required to ensure the development of a secure application. Procedure: The five basic areas covered by this document include: Standards for Privacy and Security
Customizing the Security Architecture
Chapter7.fm Page 113 Wednesday, April 30, 2003 4:29 PM CHAPTER7 Customizing the Security Architecture The office of government is not to confer happiness, but to give men opportunity to work out happiness
www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk
CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling
KAIST Cyber Security Research Center SAR(Security Analysis Report) Date. August 31, Modified
Document # Type Attack Trend Technical Analysis Specialty Analysis Title Date Modified Java Applet Vulnerability Analysis (CVE-2012-4681) August 25, KAIST Graduate School 2012 of Information Security Author
Statically Scanning Java Code for Security Vulnerabilities
MALICIOUS IT Statically Scanning Java Code for Security Vulnerabilities John Viega, Tom Mutdosch, and Gary McGraw Reliable Software Technologies Edward W. Felten Princeton University THE SOURCE CODE SCANNING
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
Thick Client Application Security
Thick Client Application Security Arindam Mandal ([email protected]) (http://www.paladion.net) January 2005 This paper discusses the critical vulnerabilities and corresponding risks in a two
Specialized Programme on Web Application Development using Open Source Tools
Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)
Webapps Vulnerability Report
Tuesday, May 1, 2012 Webapps Vulnerability Report Introduction This report provides detailed information of every vulnerability that was found and successfully exploited by CORE Impact Professional during
Columbia University Web Security Standards and Practices. Objective and Scope
Columbia University Web Security Standards and Practices Objective and Scope Effective Date: January 2011 This Web Security Standards and Practices document establishes a baseline of security related requirements
Bypassing Browser Memory Protections in Windows Vista
Bypassing Browser Memory Protections in Windows Vista Mark Dowd & Alexander Sotirov [email protected] [email protected] Setting back browser security by 10 years Part I: Introduction Thesis Introduction
Sitefinity Security and Best Practices
Sitefinity Security and Best Practices Table of Contents Overview The Ten Most Critical Web Application Security Risks Injection Cross-Site-Scripting (XSS) Broken Authentication and Session Management
Chapter 27 Hypertext Transfer Protocol
Chapter 27 Hypertext Transfer Protocol Columbus, OH 43210 [email protected] http://www.cis.ohio-state.edu/~jain/ 27-1 Overview Hypertext language and protocol HTTP messages Browser architecture CGI
CSC 551: Web Programming. Spring 2004
CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro
Java Card Applet Firewall Exploration and Exploitation
Java Card Applet Firewall Exploration and Exploitation Wojciech Mostowski and Erik Poll Digital Security Radboud University Nijmegen The Netherlands http://www.cs.ru.nl/~{woj,erikpoll}/ Introduction Study
Security Vulnerability Notice
Security Vulnerability Notice SE-2012-01-PUBLIC [Security vulnerabilities in Java SE, Issue 54] DISCLAIMER INFORMATION PROVIDED IN THIS DOCUMENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS
Lecture 7: Class design for security
Lecture topics Class design for security Visibility of classes, fields, and methods Implications of using inner classes Mutability Design for sending objects across JVMs (serialization) Visibility modifiers
Introduction to Programming System Design. CSCI 455x (4 Units)
Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,
An Overview of Java. overview-1
An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Sandy. The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis. Garage4Hackers
Sandy The Malicious Exploit Analysis. http://exploit-analysis.com/ Static Analysis and Dynamic exploit analysis About Me! I work as a Researcher for a Global Threat Research firm.! Spoke at the few security
Manual. Programmer's Guide for Java API
2013-02-01 1 (15) Programmer's Guide for Java API Description This document describes how to develop Content Gateway services with Java API. TS1209243890 1.0 Company information TeliaSonera Finland Oyj
The purpose of this report is to educate our prospective clients about capabilities of Hackers Locked.
This sample report is published with prior consent of our client in view of the fact that the current release of this web application is three major releases ahead in its life cycle. Issues pointed out
CS 111 Classes I 1. Software Organization View to this point:
CS 111 Classes I 1 Software Organization View to this point: Data Objects and primitive types Primitive types operators (+, /,,*, %). int, float, double, char, boolean Memory location holds the data Objects
Object Instance Profiling
Object Instance Profiling Lubomír Bulej 1,2, Lukáš Marek 1, Petr Tůma 1 Technical report No. 2009/7, November 2009 Version 1.0, November 2009 1 Distributed Systems Research Group, Department of Software
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda
Secure Web Application Coding Team Introductory Meeting December 1, 2005 1:00 2:00PM Bits & Pieces Room, Sansom West Room 306 Agenda 1. Introductions for new members (5 minutes) 2. Name of group 3. Current
Crash Course in Java
Crash Course in Java Based on notes from D. Hollinger Based in part on notes from J.J. Johns also: Java in a Nutshell Java Network Programming and Distributed Computing Netprog 2002 Java Intro 1 What is
JAVA IN A NUTSHELL O'REILLY. David Flanagan. Fifth Edition. Beijing Cambridge Farnham Köln Sebastopol Tokyo
JAVA 1i IN A NUTSHELL Fifth Edition David Flanagan O'REILLY Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface xvii Part 1. Introducing Java 1. Introduction 1 What 1s Java? 1 The
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Description of Class Mutation Mutation Operators for Java
Description of Class Mutation Mutation Operators for Java Yu-Seung Ma Electronics and Telecommunications Research Institute, Korea [email protected] Jeff Offutt Software Engineering George Mason University
Java SE 8 Programming
Oracle University Contact Us: 1.800.529.0165 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming
OWASP Top Ten Tools and Tactics
OWASP Top Ten Tools and Tactics Russ McRee Copyright 2012 HolisticInfoSec.org SANSFIRE 2012 10 JULY Welcome Manager, Security Analytics for Microsoft Online Services Security & Compliance Writer (toolsmith),
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats
WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top
Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
Table of Contents. Java CGI HOWTO
Table of Contents Java CGI HOWTO...1 by David H. Silber javacgi [email protected] 1.Introduction...1 2.Setting Up Your Server to Run Java CGI Programs (With Explanations)...1 3.Setting Up Your Server
elearning for Secure Application Development
elearning for Secure Application Development Curriculum Application Security Awareness Series 1-2 Secure Software Development Series 2-8 Secure Architectures and Threat Modeling Series 9 Application Security
The Sun Certified Associate for the Java Platform, Standard Edition, Exam Version 1.0
The following applies to all exams: Once exam vouchers are purchased you have up to one year from the date of purchase to use it. Each voucher is valid for one exam and may only be used at an Authorized
Put a Firewall in Your JVM Securing Java Applications!
Put a Firewall in Your JVM Securing Java Applications! Prateep Bandharangshi" Waratek Director of Client Security Solutions" @prateep" Hussein Badakhchani" Deutsche Bank Ag London Vice President" @husseinb"
C++FA 5.1 PRACTICE MID-TERM EXAM
C++FA 5.1 PRACTICE MID-TERM EXAM This practicemid-term exam covers sections C++FA 1.1 through C++FA 1.4 of C++ with Financial Applications by Ben Van Vliet, available at www.benvanvliet.net. 1.) A pointer
Web Application Security
Web Application Security Richard A. Kemmerer Reliable Software Group Computer Science Department University of California Santa Barbara, CA 93106, USA http://www.cs.ucsb.edu/~rsg www.cs.ucsb.edu/~rsg/
OMICS Group. Contact us at: [email protected]
OMICS Group OMICS Group International through its Open Access Initiative is committed to make genuine and reliable contributions to the scientific community. OMICS Group hosts over 400 leading-edge peer
<Insert Picture Here> Oracle Web Cache 11g Overview
Oracle Web Cache 11g Overview Oracle Web Cache Oracle Web Cache is a secure reverse proxy cache and a compression engine deployed between Browser and HTTP server Browser and Content
Check list for web developers
Check list for web developers Requirement Yes No Remarks 1. Input Validation 1.1) Have you done input validation for all the user inputs using white listing and/or sanitization? 1.2) Does the input validation
Database Security Guide
Institutional and Sector Modernisation Facility ICT Standards Database Security Guide Document number: ISMF-ICT/3.03 - ICT Security/MISP/SD/DBSec Version: 1.10 Project Funded by the European Union 1 Document
Pemrograman Dasar. Basic Elements Of Java
Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle
Bypassing CAPTCHAs by Impersonating CAPTCHA Providers
Bypassing CAPTCHAs by Impersonating CAPTCHA Providers Author: Gursev Singh Kalra Principal Consultant Foundstone Professional Services Table of Contents Bypassing CAPTCHAs by Impersonating CAPTCHA Providers...
FileMaker 14. ODBC and JDBC Guide
FileMaker 14 ODBC and JDBC Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker,
Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh
Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP
Scoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
WebView addjavascriptinterface Remote Code Execution 23/09/2013
MWR InfoSecurity Advisory WebView addjavascriptinterface Remote Code Execution 23/09/2013 Package Name Date Affected Versions Google Android Webkit WebView 23/09/2013 All Android applications built with
Preet raj Core Java and Databases CS4PR. Time Allotted: 3 Hours. Final Exam: Total Possible Points 75
Preet raj Core Java and Databases CS4PR Time Allotted: 3 Hours Final Exam: Total Possible Points 75 Q1. What is difference between overloading and overriding? 10 points a) In overloading, there is a relationship
SECURE APPLICATION DEVELOPMENT CODING POLICY OCIO-6013-09 TABLE OF CONTENTS
OFFICE OF THE CHIEF INFORMATION OFFICER OCIO-6013-09 Date of Issuance: May 22, 2009 Effective Date: May 22, 2009 Review Date: TABLE OF CONTENTS Section I. PURPOSE II. AUTHORITY III. SCOPE IV. DEFINITIONS
The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
ETHICAL HACKING 010101010101APPLICATIO 00100101010WIRELESS110 00NETWORK1100011000 101001010101011APPLICATION0 1100011010MOBILE0001010 10101MOBILE0001
001011 1100010110 0010110001 010110001 0110001011000 011000101100 010101010101APPLICATIO 0 010WIRELESS110001 10100MOBILE00010100111010 0010NETW110001100001 10101APPLICATION00010 00100101010WIRELESS110
How to Build a Trusted Application. John Dickson, CISSP
How to Build a Trusted Application John Dickson, CISSP Overview What is Application Security? Examples of Potential Vulnerabilities Strategies to Build Secure Apps Questions and Answers Denim Group, Ltd.
Auditing a Web Application. Brad Ruppert. SANS Technology Institute GWAS Presentation 1
Auditing a Web Application Brad Ruppert SANS Technology Institute GWAS Presentation 1 Objectives Define why application vulnerabilities exist Address Auditing Approach Discuss Information Interfaces Walk
Java Web Application Security
Java Web Application Security RJUG Nov 11, 2003 Durkee Consulting www.rd1.net 1 Ralph Durkee SANS Certified Mentor/Instructor SANS GIAC Network Security and Software Development Consulting Durkee Consulting
Habanero Extreme Scale Software Research Project
Habanero Extreme Scale Software Research Project Comp215: Java Method Dispatch Zoran Budimlić (Rice University) Always remember that you are absolutely unique. Just like everyone else. - Margaret Mead
1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications
1. Introduction 2. Web Application 3. Components 4. Common Vulnerabilities 5. Improving security in Web applications 2 What does World Wide Web security mean? Webmasters=> confidence that their site won
An Approach to Threat Modeling in Web Application Security Analysis
Volume-5, Issue EICA2012-5, February 10, 2012 An Approach to Threat Modeling in Web Application Security Analysis Sreenivasa Rao B Dept. of Computer Science & Engineering CMJ University, Shillong, India
Application security testing: Protecting your application and data
E-Book Application security testing: Protecting your application and data Application security testing is critical in ensuring your data and application is safe from security attack. This ebook offers
Advanced Administration for Citrix NetScaler 9.0 Platinum Edition
Advanced Administration for Citrix NetScaler 9.0 Platinum Edition Course Length: 5 Days Course Code: CNS-300 Course Description This course provides the foundation to manage, configure and monitor advanced
JAVA 2 Network Security
JAVA 2 Network Security M A R C O PISTOIA DUANE F. RELLER DEEPAK GUPTA MILIND NAGNUR ASHOK K. RAMANI PTR, UPPER http://www.phptr.com PRENTICE HALL SADDLE RIVER, NEW JERSEY 07458 Contents Foreword Preface
Introduction to Evidence-based security in.net Framework
Introduction to Evidence-based security in.net Framework Brad Merrill rogram Manager.NET Frameworks Integration Agenda The roblem: Customer Scenarios The Solution:.NET Security Role-based Security Evidence-based
BDD FOR AUTOMATING WEB APPLICATION TESTING. Stephen de Vries
BDD FOR AUTOMATING WEB APPLICATION TESTING Stephen de Vries www.continuumsecurity.net INTRODUCTION Security Testing of web applications, both in the form of automated scanning and manual security assessment
Review and Exploit Neglected Attack Surface in ios 8. Tielei Wang, Hao Xu, Xiaobo Chen of TEAM PANGU
Review and Exploit Neglected Attack Surface in ios 8 Tielei Wang, Hao Xu, Xiaobo Chen of TEAM PANGU BlackHat 2015 Agenda ios Security Background Review of Attack Surfaces Fuzz More IOKit and MIG System
First Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
X05. An Overview of Source Code Scanning Tools. Loulwa Salem. Las Vegas, NV. IBM Corporation 2006. IBM System p, AIX 5L & Linux Technical University
X05 An Overview of Source Code Scanning Tools Loulwa Salem Las Vegas, NV Objectives This session will introduce better coding practices and tools available to aid developers in producing more secure code.
AP Computer Science Java Subset
APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall
Risks with web programming technologies. Steve Branigan Lucent Technologies
Risks with web programming technologies Steve Branigan Lucent Technologies Risks with web programming technologies Abstract Java applets and their kind are bringing new life to the World Wide Web. Through
9243054 Issue 1. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation
9243054 Issue 1 Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation VPN Client User s Guide 9243054 Issue 1 Reproduction, transfer, distribution or storage of part or all of
Designing with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
Hack-proof Your Drupal App. Key Habits of Secure Drupal Coding
Hack-proof Your Drupal App Key Habits of Secure Drupal Coding DrupalCamp CT 2010 My Modules Introductions Erich Beyrent http://twitter.com/ebeyrent http://drupal.org/user/23897 Permissions API Search Lucene
JavaCard. Java Card - old vs new
JavaCard 1 Old Smart Cards: One program (applet) Written in machine-code, specific to chip Burned into ROM Java Card - old vs new old vs new smartcards New Smart Cards: Applet written in high-level language
Java Programming Fundamentals
Lecture 1 Part I Java Programming Fundamentals Topics in Quantitative Finance: Numerical Solutions of Partial Differential Equations Instructor: Iraj Kani Introduction to Java We start by making a few
Christchurch Polytechnic Institute of Technology Information Systems Acquisition, Development and Maintenance Security Standard
Christchurch Polytechnic Institute of Technology Information Systems Acquisition, Development and Maintenance Security Standard Corporate Policies & Procedures Section 1: General Administration Document
How Web Spoofing Works
a perspective on Electronic Commerce August 1998 How Web Spoofing Works SystemExperts Corporation Brad C. Johnson Abstract How Web Spoofing Works In networking lingo, spoofing means pretending to be something
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months
Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months Our program is a practical knowledge oriented program aimed at making innovative and attractive applications for mobile
