SlideShare a Scribd company logo
1 of 29
Download to read offline
© 2013 IBM Corporation
JavaOne 2013
Securing Java in the Server Room
CON 3636
Tim Ellison, IBM United Kingdom Ltd.
© 2013 IBM Corporation
Important Disclaimers
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY.
WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION
CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED.
ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLED
ENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE
DIFFERENCES.
ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE.
IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT
PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE.
IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE
OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF:
- CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIR
SUPPLIERS AND/OR LICENSORS
2
© 2013 IBM Corporation
About me
 Based in the Java Technology Centre, Hursley UK
 Working on various runtime technologies for >20 years
 Experience of open source communities
 Currently focused on class library design and delivery
 Overall technical lead for IBM Java 8 SE
tim_ellison@uk.ibm.com
@tpellison
3
© 2013 IBM Corporation
The nature of server-side security
© 2013 IBM Corporation
Client-side computing
 Clients perform multiple tasks for a single user
 Variety of devices, operating systems, and
applications
 Typically connect over untrusted networks
 Under control of individuals disassociated with
the services it uses
 May be compromised, or deliberately used to
challenge the security of the server
flickr: NielsBD
© 2013 IBM Corporation
Server-side computing
 Servers typically perform a single task for multiple users
 Usually more powerful computing capacity than clients
 Running controlled applications
 Connecting to a wide variety of clients and back end
systems
 Servers are considered a higher value target to attackers
because:
– more valuable to the owning organization's business
– they provide a service to multiple users
– have access to data regarding multiple clients / services
© 2013 IBM Corporation
“The only secure computer is one that is unplugged, locked in a
safe, and buried 20 feet under ground in a secret location ...
and I am not even too sure about that one.”
attributed to Dennis Huges, F.B.I.
Flickr: buster19761976
© 2013 IBM Corporation
Server security
 Server side security is distributed across a number of systems and zones
 Requests must pass through multiple checks before reaching the server platform
 Specialized filters and applications run at each level to scrub the requests and check for
abnormal behaviors that indicate a security breach
Outer DMZClient Inner DMZ Server platform
filter
filter
filter
© 2013 IBM Corporation
Securing the computing platform
 Host intrusion detection and prevention system
– Monitor the system activity to identify and block malicious activities
– Identify the suspicious activity by comparing to known good signatures of activity
– Block suspicious activities and raises operator alerts
– Maintain the integrity of the server
 Firewall
– Interface between trusted and untrusted networks
– Ensure server's network connections are within policy
– Limited level of application knowledge security
 Antivirus software
– Identify and prevent spread of malware in the trusted network
– Often black-list or heuristics based
– Servers can have more restrictive white-list detection
© 2013 IBM Corporation
Securing the cloud computing platform
 Cloud service platforms
– Service provider must be trusted
– Outsourcing some security considerations (can be a good thing!)
– Ability to control details of server infrastructure is limited
– Sensitive data must leave the organization
 Virtualized servers
– Resources are shared, potentially with untrusted
tenants
– Applications may be migrated dynamically between
hosts
– Protection appliances and software should be
virtualization-aware
© 2013 IBM Corporation
Securing Java in the server room
 While Java may be used to implement the filters and zone software, we will focus on the
application service provider running on the server platform
Outer
DMZ
Client
Inner
DMZ
Server
platform
– Data-loss / exposure
– Denial of service
– Data and process integrity
– Bad actors
– Suppliers (code and services)
Risks
© 2013 IBM Corporation
Writing secure applications in Java
 Secure applications require a whole life-cycle approach
– Secure requirements, threat modelling, risk analysis,
secure coding, security testing, security documentation,
incident response policy
– Management of third-party dependencies
– Source code management
– Coding guidelines
– Compiler settings and analysis tools
– Explicit security testing
 Use Java's strengths appropriately
– Java has strong typing, array bounds checking, bytecode verification, JAR signing, ...
– Java also has a number of legacy/unsafe APIs and defaults that are inappropriate for secure coding
– No strong model for data security
– May have to call out to other languages
– ...this is where there are lessons to be learnt
© 2013 IBM Corporation
Sources of server-side Java security information
© 2013 IBM Corporation
Common Vulnerabilities and Exposures
 Standardized naming authority for known vulnerabilities and exposures
 A common name helps identify the same issue across multiple vendors, tools, releases, etc
 Contains brief information, such as status indicator, short description, and related issues
 No description of impact, fix information, or detailed technical information
 Contains approx. 57,000 CVEs
 US Government repository for vulnerability management data
 Indexed by CVE, gives assessment of impact, complexity of exploit, technical details, and
links to vendor information, etc
 Utilizes the “Common Vulnerability Scoring System (CVSS)” to assess
vulnerabilities
National Vulnerability Database
© 2013 IBM Corporation
Common Weakness Enumeration
 List of software weaknesses across various languages
– Sponsored by Office of Cybersecurity and Communications, U.S. Department of Homeland Security
– Contributions by a broad community including a wide variety of organizations
– Shared resource for software developers, tools vendors, security researchers, educators, etc.
– CWE Compatibility and Effectiveness Program for certifying products and services
 CWE version 2.5
– 940 vulnerabilities described, categorized into 187 different categories
– Complete with taxonomy, examples, consequences, relationships, etc.
– 73 are classified as weaknesses specific to software written in Java
 The “Top 25 CWEs” represent the most significant exploitable software constructs
 Utilizes the Common Weakness Scoring System, and
Common Weakness Risk Analysis Framework
– Gives a quantitative measurement of the unfixed weaknesses in an application
– Rates weaknesses in terms of impact to business
© 2013 IBM Corporation
Open Web Application Security Project
 Community driven open source materials related to software security
– Raising awareness about risks and specific coding vulnerabilitites
– Advocate risk management approach rather than find and patch
 Publish a Top 10 list of most critical web app security risks
 Vulnerabilities are classified to enable the likely impact to the business
© 2013 IBM Corporation
Vendor Security Bulletins
 Specific information about security vulnerabilities that may
affect vendor products are published on-line
 e.g. IBM Product Security Incident Response
– https://www.ibm.com/blogs/PSIRT
 e.g. Oracle Critical Patch Updates, Security Alerts and
Third Party Bulletin
– http://www.oracle.com/technetwork/topics/security/
alerts-086861.html
Java Specific Notices
© 2013 IBM Corporation
A closer look at server-side security
© 2013 IBM Corporation
Simplified Server Application Architecture
 Useful to consider the various weaknesses in the context of a simplified server architecture
OS Platform
Java
Middleware
Application
User Sessions & Data
Client Interface Database
datadata
filter
Computing Platform
Potential issues attributed to the application's computing platform
 Risks from mis-configuration or manipulation of the computer
system hosting the application.
 Vulnerabilities affecting the safe and secure operation of the application and its data by
deliberate or inadvertent unauthorized manipulation of the system.
OS Platform
Java
Middleware
Application
User Sessions
Client
Interface Database
CWE-842: Placement of User into Incorrect Group
The software or the administrator places a user into an incorrect group.
CWE-605: Multiple Binds to the Same Port
When multiple sockets are allowed to bind to the same port, other services on that port
may be stolen or spoofed.
CWE-405: Asymmetric Resource Consumption (Amplification)
Software that does not appropriately monitor or control resource consumption can lead to
adverse system performance. Sometimes this is a factor in "flood" attacks, but other
types of amplification exist.
Examples
Java Platform
Potential issues attributed to Java-specific weaknesses
 Using APIs as they are intended to be used, and adopting
mitigating actions for those with known high risk.
 Designing the application and using coding patterns that promote secure practices, while
avoiding those shown to be at risk of introducing vulnerabilities.
CWE-227: Improper Fulfillment of API Contract ('API Abuse')
The software uses an API in a manner contrary to its intended use, or makes assumptions
that are not assured by the API documentation.
CWE-487: Reliance on Package Level Scope
Java packages are not inherently closed; therefore, relying on them for code security is
not a good practice.
CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
The application uses external input with reflection to select which classes or code to
use, but it does not sufficiently prevent the input from selecting improper classes or
code.
Examples
OS Platform
Java
Middleware
Application
User Sessions
Client
Interface Database
Application and Middleware
Potential issues attributed to concepts in the application middleware stack
 Ensuring correct usage of high-level concepts and their
semantics by developers.
 Potential risks by defining behavior and manipulating data at
different levels of application-defined authority.
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')
The software receives input from an upstream component, but it does not neutralize or
incorrectly neutralizes code syntax before using the input in a dynamic evaluation call
(e.g. "eval").
CWE-579: J2EE Bad Practices: Non-serializable Object Stored in Session
The application stores a non-serializable object as an HttpSession attribute, which means
the session cannot be replicated across JVMs.
CWE-613: Insufficient Session Expiration
Insufficient Session Expiration is when a web site permits an attacker to reuse old
session credentials or session IDs for authorization.
Examples
OS Platform
Java
Middleware
Application
User Sessions
Client
Interface Database
User Sessions
Potential issues attributed to concepts in management of user level controls
 Ensuring that the logical unit of work encapsulated as application
sessions are secure, robust, and do not lead to data exposure.
 Protecting the integrity of shared secrets and methods for establishing identity of users,
systems, applications, etc
CWE-268: Privilege Chaining
Privileges, roles, capabilities, or rights can be combined in a way that allows an entity
to perform unsafe actions that would not be allowed without that combination.
CWE-272: Least Privilege Violation
Elevated privilege levels required to perform operations should be dropped immediately
after the operation is performed.
CWE-784: Reliance on Cookies without Validation and Integrity Checking in a Security Decision
Attackers can easily modify cookies and can bypass protection mechanisms such as
authorization and authentication by modifying the cookie to contain an expected value.
CWE-732: Incorrect Permission Assignment for Critical Resource
Giving permissions to a wider range of actors than required, could lead to the exposure
of sensitive information, or the modification of that resource by unintended parties.
Examples
OS Platform
Java
Middleware
Application
User Sessions
Client
Interface Database
Client Interface
Risks for systems that depend upon secure communications
 Avoiding numerous risks that may diminish the assurances of
secrecy through the use of cryptographic techniques.
 Protecting the integrity of secure data exchange and methods for establishing identity of the
participants.
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
The use of a broken or risky cryptographic algorithm is an unnecessary risk that may
result in the exposure of sensitive information.
CWE-337: Predictable Seed in PRNG
A PRNG is initialized from a predictable seed, e.g. using process ID or system time.
CWE-299: Improper Check for Certificate Revocation
The software does not check or incorrectly checks the revocation status of a certificate,
which may cause it to use a certificate that has been compromised.
CWE-297: Improper Validation of Certificate with Host Mismatch
The software communicates with a host that provides a certificate, but the software does
not properly ensure that the certificate is actually associated with that host.
Examples
OS Platform
Java
Middleware
Application
User Sessions
Client
Interface Database
Database
Risks in managing the data you use to achieve a business objective
 Risks associated with application data being modified by, or
exposed to, those with no business need for such access.
 Increasing the security assurances around application data that is exposed to external storage,
either temporarily or permanently.
CWE-313: Cleartext Storage in a File or on Disk
The application stores sensitive information in cleartext in a file, or on disk that
could be read by attackers with access to the file, or with physical or administrator
access to the raw disk.
CWE-499: Serializable Class Containing Sensitive Data
The code contains a class with sensitive data, but the class does not explicitly deny
serialization. The data can be accessed by serializing the class through another class.
CWE-359: Privacy Violation
Mishandling private information, such as customer passwords or social security numbers,
can compromise user privacy and is often illegal..
Examples
OS Platform
Java
Middleware
Application
User Sessions
Client
Interface Database
System Data
Consideration of risks handling data associated with the computing
platform itself
 Risks associated with storing descriptive system history in
shared log locations.
 Risks of inadvertently disclosing through system tools and behavior information that is
protected by the application.
CWE-532: Information Exposure Through Log Files
While logging all information may be helpful during development stages, it is important
that logging levels be set appropriately before a product ships so that sensitive user
data and system information are not accidentally exposed to potential attackers.
CWE-208: Information Exposure Through Timing Discrepancy
Two separate operations in a product require different amounts of time to complete, in a
way that is observable to an actor and reveals security-relevant information about the
state of the product, such as whether a particular operation was successful or not.
CWE-530: Exposure of Backup File to an Unauthorized Control Sphere
A backup file is stored in a directory that is accessible to actors outside of the
intended control sphere.
Examples
OS Platform
Java
Middleware
Application
User Sessions
Client
Interface Database
Summary – securing Java in the server room
 Planning
 risk assessment for type of application
 define integrity and confidentiality goals
 identify applicable policies
 assurances about the computing platform
 Development
 secure engineering practices
 mitigation and avoidance of known risks
 security testing and review
 user and administrator guidance
 Operations
 configuration management control and auditing
 intrusion detection and monitoring
 action plan for dealing with security incidents
 contingency planning
IBM AppScan
 Scans
 ability to regularly scan deployed systems to
identify vulnerabilities
 proactive pre-deployment scans & scheduled
scans
 Detection
 collects and analyses events to identify priorities
 analytics identifies application vulnerabilities
 map events back to code level issues
 Protection
 integrated with network intrusion detection
software
 issues a “virtual patch”to protect specific
vulnerabilities
http://www.ibm.com/security/
Securing Java in the Server Room

More Related Content

What's hot

Introduction to Symantec Endpoint Management75.pptx
Introduction to Symantec Endpoint Management75.pptxIntroduction to Symantec Endpoint Management75.pptx
Introduction to Symantec Endpoint Management75.pptxArrow ECS UK
 
Amarjeet_Updated_Resume
Amarjeet_Updated_ResumeAmarjeet_Updated_Resume
Amarjeet_Updated_ResumeAmarjeet Kumar
 
Enhancing your mobile enterprise security with ibm worklight tips
Enhancing your mobile enterprise security with ibm worklight tipsEnhancing your mobile enterprise security with ibm worklight tips
Enhancing your mobile enterprise security with ibm worklight tipsbupbechanhgmail
 
Solvay secure application layer v2015 seba
Solvay secure application layer v2015   sebaSolvay secure application layer v2015   seba
Solvay secure application layer v2015 sebaSebastien Deleersnyder
 
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...IRJET Journal
 
Kailash Kapal Resume v5
Kailash Kapal Resume v5Kailash Kapal Resume v5
Kailash Kapal Resume v5Kailash Kapal
 
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0lisanl
 
Devasis Kumar Mahato - Resume
Devasis Kumar Mahato - ResumeDevasis Kumar Mahato - Resume
Devasis Kumar Mahato - ResumeDevasis Kumar
 
TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...
TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...
TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...Symantec
 
IBM Infosphere Guardium - Database Security
IBM Infosphere Guardium - Database SecurityIBM Infosphere Guardium - Database Security
IBM Infosphere Guardium - Database Securityebuc
 
Hitachi ID Suite 9.0 Features and Technology
Hitachi ID Suite 9.0 Features and TechnologyHitachi ID Suite 9.0 Features and Technology
Hitachi ID Suite 9.0 Features and TechnologyHitachi ID Systems, Inc.
 
Altiris IT Management Suite 7
Altiris IT Management Suite 7Altiris IT Management Suite 7
Altiris IT Management Suite 7Symantec
 
Cybercom Enhanced Security Platform
Cybercom Enhanced Security PlatformCybercom Enhanced Security Platform
Cybercom Enhanced Security Platformabelsonp
 
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...lisanl
 

What's hot (20)

SCEP 2012 inside SCCM 2012
SCEP 2012 inside SCCM 2012SCEP 2012 inside SCCM 2012
SCEP 2012 inside SCCM 2012
 
Is it an internal affair
Is it an internal affairIs it an internal affair
Is it an internal affair
 
Introduction to Symantec Endpoint Management75.pptx
Introduction to Symantec Endpoint Management75.pptxIntroduction to Symantec Endpoint Management75.pptx
Introduction to Symantec Endpoint Management75.pptx
 
Amarjeet_Updated_Resume
Amarjeet_Updated_ResumeAmarjeet_Updated_Resume
Amarjeet_Updated_Resume
 
Sba web sec_dg
Sba web sec_dgSba web sec_dg
Sba web sec_dg
 
Enhancing your mobile enterprise security with ibm worklight tips
Enhancing your mobile enterprise security with ibm worklight tipsEnhancing your mobile enterprise security with ibm worklight tips
Enhancing your mobile enterprise security with ibm worklight tips
 
Solvay secure application layer v2015 seba
Solvay secure application layer v2015   sebaSolvay secure application layer v2015   seba
Solvay secure application layer v2015 seba
 
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
 
Harsha CV
Harsha CVHarsha CV
Harsha CV
 
Kailash Kapal Resume v5
Kailash Kapal Resume v5Kailash Kapal Resume v5
Kailash Kapal Resume v5
 
Liberatore_Resume
Liberatore_ResumeLiberatore_Resume
Liberatore_Resume
 
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0
Consistent Regions in Specialized Toolkits for IBM InfoSphere Streams V4.0
 
Devasis Kumar Mahato - Resume
Devasis Kumar Mahato - ResumeDevasis Kumar Mahato - Resume
Devasis Kumar Mahato - Resume
 
TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...
TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...
TECHNICAL BRIEF: Using Symantec Endpoint Protection 12.1 to Protect Against A...
 
IBM Infosphere Guardium - Database Security
IBM Infosphere Guardium - Database SecurityIBM Infosphere Guardium - Database Security
IBM Infosphere Guardium - Database Security
 
Hitachi ID Suite 9.0 Features and Technology
Hitachi ID Suite 9.0 Features and TechnologyHitachi ID Suite 9.0 Features and Technology
Hitachi ID Suite 9.0 Features and Technology
 
Altiris IT Management Suite 7
Altiris IT Management Suite 7Altiris IT Management Suite 7
Altiris IT Management Suite 7
 
Cybercom Enhanced Security Platform
Cybercom Enhanced Security PlatformCybercom Enhanced Security Platform
Cybercom Enhanced Security Platform
 
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...
Security Authentication and Authorization Service (AAS) for IBM InfoSphere St...
 
ConklinResume2
ConklinResume2ConklinResume2
ConklinResume2
 

Similar to Securing Java in the Server Room

JavaOne2013: Securing Java in the Server Room - Tim Ellison
JavaOne2013: Securing Java in the Server Room - Tim EllisonJavaOne2013: Securing Java in the Server Room - Tim Ellison
JavaOne2013: Securing Java in the Server Room - Tim EllisonChris Bailey
 
Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013MattKilner
 
JavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaJavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaChris Bailey
 
Closing Mainframe Integrity Gaps
Closing Mainframe Integrity GapsClosing Mainframe Integrity Gaps
Closing Mainframe Integrity GapsRay Overby
 
IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM
 
Secure Engineering Practices for Java
Secure Engineering Practices for JavaSecure Engineering Practices for Java
Secure Engineering Practices for JavaTim Ellison
 
SSL VPN Evaluation Guide
SSL VPN Evaluation GuideSSL VPN Evaluation Guide
SSL VPN Evaluation Guide Array Networks
 
Visibility & Security for the Virtualized Enterprise
Visibility & Security for the Virtualized EnterpriseVisibility & Security for the Virtualized Enterprise
Visibility & Security for the Virtualized EnterpriseEMC
 
Integrated Intrusion Detection Services for z/OS Communications Server
Integrated Intrusion Detection Services for z/OS Communications Server Integrated Intrusion Detection Services for z/OS Communications Server
Integrated Intrusion Detection Services for z/OS Communications Server zOSCommserver
 
00. introduction to app sec v3
00. introduction to app sec v300. introduction to app sec v3
00. introduction to app sec v3Eoin Keary
 
Web Server Security Guidelines
Web Server Security GuidelinesWeb Server Security Guidelines
Web Server Security Guidelineswebhostingguy
 
클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...
클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...
클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...Amazon Web Services Korea
 
Ibm app security assessment_ds
Ibm app security assessment_dsIbm app security assessment_ds
Ibm app security assessment_dsArun Gopinath
 
Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-
Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-
Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-WilheminaRossi174
 
AWS Lambda Security Inside & Out
AWS Lambda Security Inside & OutAWS Lambda Security Inside & Out
AWS Lambda Security Inside & OutPureSec
 
Securing Public Web Servers
Securing Public Web ServersSecuring Public Web Servers
Securing Public Web Serverswebhostingguy
 

Similar to Securing Java in the Server Room (20)

JavaOne2013: Securing Java in the Server Room - Tim Ellison
JavaOne2013: Securing Java in the Server Room - Tim EllisonJavaOne2013: Securing Java in the Server Room - Tim Ellison
JavaOne2013: Securing Java in the Server Room - Tim Ellison
 
Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013Security in the Real World - JavaOne 2013
Security in the Real World - JavaOne 2013
 
JavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaJavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for Java
 
Closing Mainframe Integrity Gaps
Closing Mainframe Integrity GapsClosing Mainframe Integrity Gaps
Closing Mainframe Integrity Gaps
 
IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future IBM Relay 2015: Securing the Future
IBM Relay 2015: Securing the Future
 
Secure Engineering Practices for Java
Secure Engineering Practices for JavaSecure Engineering Practices for Java
Secure Engineering Practices for Java
 
SSL VPN Evaluation Guide
SSL VPN Evaluation GuideSSL VPN Evaluation Guide
SSL VPN Evaluation Guide
 
Visibility & Security for the Virtualized Enterprise
Visibility & Security for the Virtualized EnterpriseVisibility & Security for the Virtualized Enterprise
Visibility & Security for the Virtualized Enterprise
 
Rik Ferguson
Rik FergusonRik Ferguson
Rik Ferguson
 
Integrated Intrusion Detection Services for z/OS Communications Server
Integrated Intrusion Detection Services for z/OS Communications Server Integrated Intrusion Detection Services for z/OS Communications Server
Integrated Intrusion Detection Services for z/OS Communications Server
 
00. introduction to app sec v3
00. introduction to app sec v300. introduction to app sec v3
00. introduction to app sec v3
 
Web Server Security Guidelines
Web Server Security GuidelinesWeb Server Security Guidelines
Web Server Security Guidelines
 
클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...
클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...
클라우드 환경에서의 SIEMLESS 통합 보안 서비스, Alert Logic - 채현주 보안기술본부장, Openbase :: AWS Sum...
 
Ibm app security assessment_ds
Ibm app security assessment_dsIbm app security assessment_ds
Ibm app security assessment_ds
 
Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-
Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-
Chapter 4Secure Design PrinciplesCopyright © 2014 by McGraw-
 
AWS Lambda Security Inside & Out
AWS Lambda Security Inside & OutAWS Lambda Security Inside & Out
AWS Lambda Security Inside & Out
 
Securing Public Web Servers
Securing Public Web ServersSecuring Public Web Servers
Securing Public Web Servers
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
IBM Security Portfolio - 2015
IBM Security Portfolio - 2015IBM Security Portfolio - 2015
IBM Security Portfolio - 2015
 
CloudSecurity
CloudSecurityCloudSecurity
CloudSecurity
 

More from Tim Ellison

The Extraordinary World of Quantum Computing
The Extraordinary World of Quantum ComputingThe Extraordinary World of Quantum Computing
The Extraordinary World of Quantum ComputingTim Ellison
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016Tim Ellison
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceTim Ellison
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open InnovationTim Ellison
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOSTim Ellison
 
Inside IBM Java 7
Inside IBM Java 7Inside IBM Java 7
Inside IBM Java 7Tim Ellison
 
Real World Java Compatibility
Real World Java CompatibilityReal World Java Compatibility
Real World Java CompatibilityTim Ellison
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemTim Ellison
 
Five cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark fasterFive cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark fasterTim Ellison
 
Virtualization aware Java VM
Virtualization aware Java VMVirtualization aware Java VM
Virtualization aware Java VMTim Ellison
 
What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?Tim Ellison
 
Using GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with JavaUsing GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with JavaTim Ellison
 

More from Tim Ellison (12)

The Extraordinary World of Quantum Computing
The Extraordinary World of Quantum ComputingThe Extraordinary World of Quantum Computing
The Extraordinary World of Quantum Computing
 
Apache Big Data Europe 2016
Apache Big Data Europe 2016Apache Big Data Europe 2016
Apache Big Data Europe 2016
 
A Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark PerformanceA Java Implementer's Guide to Better Apache Spark Performance
A Java Implementer's Guide to Better Apache Spark Performance
 
Apache Harmony: An Open Innovation
Apache Harmony: An Open InnovationApache Harmony: An Open Innovation
Apache Harmony: An Open Innovation
 
Java on zSystems zOS
Java on zSystems zOSJava on zSystems zOS
Java on zSystems zOS
 
Inside IBM Java 7
Inside IBM Java 7Inside IBM Java 7
Inside IBM Java 7
 
Real World Java Compatibility
Real World Java CompatibilityReal World Java Compatibility
Real World Java Compatibility
 
Modules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module SystemModules all the way down: OSGi and the Java Platform Module System
Modules all the way down: OSGi and the Java Platform Module System
 
Five cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark fasterFive cool ways the JVM can run Apache Spark faster
Five cool ways the JVM can run Apache Spark faster
 
Virtualization aware Java VM
Virtualization aware Java VMVirtualization aware Java VM
Virtualization aware Java VM
 
What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?
 
Using GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with JavaUsing GPUs to Handle Big Data with Java
Using GPUs to Handle Big Data with Java
 

Recently uploaded

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 

Recently uploaded (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 

Securing Java in the Server Room

  • 1. © 2013 IBM Corporation JavaOne 2013 Securing Java in the Server Room CON 3636 Tim Ellison, IBM United Kingdom Ltd.
  • 2. © 2013 IBM Corporation Important Disclaimers THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILST EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. ALL PERFORMANCE DATA INCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED IN A CONTROLLED ENVIRONMENT. YOUR OWN TEST RESULTS MAY VARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE DIFFERENCES. ALL DATA INCLUDED IN THIS PRESENTATION ARE MEANT TO BE USED ONLY AS A GUIDE. IN ADDITION, THE INFORMATION CONTAINED IN THIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE. IBM AND ITS AFFILIATED COMPANIES SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALL HAVE THE EFFECT OF: - CREATING ANY WARRANT OR REPRESENTATION FROM IBM, ITS AFFILIATED COMPANIES OR ITS OR THEIR SUPPLIERS AND/OR LICENSORS 2
  • 3. © 2013 IBM Corporation About me  Based in the Java Technology Centre, Hursley UK  Working on various runtime technologies for >20 years  Experience of open source communities  Currently focused on class library design and delivery  Overall technical lead for IBM Java 8 SE tim_ellison@uk.ibm.com @tpellison 3
  • 4. © 2013 IBM Corporation The nature of server-side security
  • 5. © 2013 IBM Corporation Client-side computing  Clients perform multiple tasks for a single user  Variety of devices, operating systems, and applications  Typically connect over untrusted networks  Under control of individuals disassociated with the services it uses  May be compromised, or deliberately used to challenge the security of the server flickr: NielsBD
  • 6. © 2013 IBM Corporation Server-side computing  Servers typically perform a single task for multiple users  Usually more powerful computing capacity than clients  Running controlled applications  Connecting to a wide variety of clients and back end systems  Servers are considered a higher value target to attackers because: – more valuable to the owning organization's business – they provide a service to multiple users – have access to data regarding multiple clients / services
  • 7. © 2013 IBM Corporation “The only secure computer is one that is unplugged, locked in a safe, and buried 20 feet under ground in a secret location ... and I am not even too sure about that one.” attributed to Dennis Huges, F.B.I. Flickr: buster19761976
  • 8. © 2013 IBM Corporation Server security  Server side security is distributed across a number of systems and zones  Requests must pass through multiple checks before reaching the server platform  Specialized filters and applications run at each level to scrub the requests and check for abnormal behaviors that indicate a security breach Outer DMZClient Inner DMZ Server platform filter filter filter
  • 9. © 2013 IBM Corporation Securing the computing platform  Host intrusion detection and prevention system – Monitor the system activity to identify and block malicious activities – Identify the suspicious activity by comparing to known good signatures of activity – Block suspicious activities and raises operator alerts – Maintain the integrity of the server  Firewall – Interface between trusted and untrusted networks – Ensure server's network connections are within policy – Limited level of application knowledge security  Antivirus software – Identify and prevent spread of malware in the trusted network – Often black-list or heuristics based – Servers can have more restrictive white-list detection
  • 10. © 2013 IBM Corporation Securing the cloud computing platform  Cloud service platforms – Service provider must be trusted – Outsourcing some security considerations (can be a good thing!) – Ability to control details of server infrastructure is limited – Sensitive data must leave the organization  Virtualized servers – Resources are shared, potentially with untrusted tenants – Applications may be migrated dynamically between hosts – Protection appliances and software should be virtualization-aware
  • 11. © 2013 IBM Corporation Securing Java in the server room  While Java may be used to implement the filters and zone software, we will focus on the application service provider running on the server platform Outer DMZ Client Inner DMZ Server platform – Data-loss / exposure – Denial of service – Data and process integrity – Bad actors – Suppliers (code and services) Risks
  • 12. © 2013 IBM Corporation Writing secure applications in Java  Secure applications require a whole life-cycle approach – Secure requirements, threat modelling, risk analysis, secure coding, security testing, security documentation, incident response policy – Management of third-party dependencies – Source code management – Coding guidelines – Compiler settings and analysis tools – Explicit security testing  Use Java's strengths appropriately – Java has strong typing, array bounds checking, bytecode verification, JAR signing, ... – Java also has a number of legacy/unsafe APIs and defaults that are inappropriate for secure coding – No strong model for data security – May have to call out to other languages – ...this is where there are lessons to be learnt
  • 13. © 2013 IBM Corporation Sources of server-side Java security information
  • 14. © 2013 IBM Corporation Common Vulnerabilities and Exposures  Standardized naming authority for known vulnerabilities and exposures  A common name helps identify the same issue across multiple vendors, tools, releases, etc  Contains brief information, such as status indicator, short description, and related issues  No description of impact, fix information, or detailed technical information  Contains approx. 57,000 CVEs  US Government repository for vulnerability management data  Indexed by CVE, gives assessment of impact, complexity of exploit, technical details, and links to vendor information, etc  Utilizes the “Common Vulnerability Scoring System (CVSS)” to assess vulnerabilities National Vulnerability Database
  • 15. © 2013 IBM Corporation Common Weakness Enumeration  List of software weaknesses across various languages – Sponsored by Office of Cybersecurity and Communications, U.S. Department of Homeland Security – Contributions by a broad community including a wide variety of organizations – Shared resource for software developers, tools vendors, security researchers, educators, etc. – CWE Compatibility and Effectiveness Program for certifying products and services  CWE version 2.5 – 940 vulnerabilities described, categorized into 187 different categories – Complete with taxonomy, examples, consequences, relationships, etc. – 73 are classified as weaknesses specific to software written in Java  The “Top 25 CWEs” represent the most significant exploitable software constructs  Utilizes the Common Weakness Scoring System, and Common Weakness Risk Analysis Framework – Gives a quantitative measurement of the unfixed weaknesses in an application – Rates weaknesses in terms of impact to business
  • 16. © 2013 IBM Corporation Open Web Application Security Project  Community driven open source materials related to software security – Raising awareness about risks and specific coding vulnerabilitites – Advocate risk management approach rather than find and patch  Publish a Top 10 list of most critical web app security risks  Vulnerabilities are classified to enable the likely impact to the business
  • 17. © 2013 IBM Corporation Vendor Security Bulletins  Specific information about security vulnerabilities that may affect vendor products are published on-line  e.g. IBM Product Security Incident Response – https://www.ibm.com/blogs/PSIRT  e.g. Oracle Critical Patch Updates, Security Alerts and Third Party Bulletin – http://www.oracle.com/technetwork/topics/security/ alerts-086861.html Java Specific Notices
  • 18. © 2013 IBM Corporation A closer look at server-side security
  • 19. © 2013 IBM Corporation Simplified Server Application Architecture  Useful to consider the various weaknesses in the context of a simplified server architecture OS Platform Java Middleware Application User Sessions & Data Client Interface Database datadata filter
  • 20. Computing Platform Potential issues attributed to the application's computing platform  Risks from mis-configuration or manipulation of the computer system hosting the application.  Vulnerabilities affecting the safe and secure operation of the application and its data by deliberate or inadvertent unauthorized manipulation of the system. OS Platform Java Middleware Application User Sessions Client Interface Database CWE-842: Placement of User into Incorrect Group The software or the administrator places a user into an incorrect group. CWE-605: Multiple Binds to the Same Port When multiple sockets are allowed to bind to the same port, other services on that port may be stolen or spoofed. CWE-405: Asymmetric Resource Consumption (Amplification) Software that does not appropriately monitor or control resource consumption can lead to adverse system performance. Sometimes this is a factor in "flood" attacks, but other types of amplification exist. Examples
  • 21. Java Platform Potential issues attributed to Java-specific weaknesses  Using APIs as they are intended to be used, and adopting mitigating actions for those with known high risk.  Designing the application and using coding patterns that promote secure practices, while avoiding those shown to be at risk of introducing vulnerabilities. CWE-227: Improper Fulfillment of API Contract ('API Abuse') The software uses an API in a manner contrary to its intended use, or makes assumptions that are not assured by the API documentation. CWE-487: Reliance on Package Level Scope Java packages are not inherently closed; therefore, relying on them for code security is not a good practice. CWE-470: Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection') The application uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code. Examples OS Platform Java Middleware Application User Sessions Client Interface Database
  • 22. Application and Middleware Potential issues attributed to concepts in the application middleware stack  Ensuring correct usage of high-level concepts and their semantics by developers.  Potential risks by defining behavior and manipulating data at different levels of application-defined authority. CWE-95: Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection') The software receives input from an upstream component, but it does not neutralize or incorrectly neutralizes code syntax before using the input in a dynamic evaluation call (e.g. "eval"). CWE-579: J2EE Bad Practices: Non-serializable Object Stored in Session The application stores a non-serializable object as an HttpSession attribute, which means the session cannot be replicated across JVMs. CWE-613: Insufficient Session Expiration Insufficient Session Expiration is when a web site permits an attacker to reuse old session credentials or session IDs for authorization. Examples OS Platform Java Middleware Application User Sessions Client Interface Database
  • 23. User Sessions Potential issues attributed to concepts in management of user level controls  Ensuring that the logical unit of work encapsulated as application sessions are secure, robust, and do not lead to data exposure.  Protecting the integrity of shared secrets and methods for establishing identity of users, systems, applications, etc CWE-268: Privilege Chaining Privileges, roles, capabilities, or rights can be combined in a way that allows an entity to perform unsafe actions that would not be allowed without that combination. CWE-272: Least Privilege Violation Elevated privilege levels required to perform operations should be dropped immediately after the operation is performed. CWE-784: Reliance on Cookies without Validation and Integrity Checking in a Security Decision Attackers can easily modify cookies and can bypass protection mechanisms such as authorization and authentication by modifying the cookie to contain an expected value. CWE-732: Incorrect Permission Assignment for Critical Resource Giving permissions to a wider range of actors than required, could lead to the exposure of sensitive information, or the modification of that resource by unintended parties. Examples OS Platform Java Middleware Application User Sessions Client Interface Database
  • 24. Client Interface Risks for systems that depend upon secure communications  Avoiding numerous risks that may diminish the assurances of secrecy through the use of cryptographic techniques.  Protecting the integrity of secure data exchange and methods for establishing identity of the participants. CWE-327: Use of a Broken or Risky Cryptographic Algorithm The use of a broken or risky cryptographic algorithm is an unnecessary risk that may result in the exposure of sensitive information. CWE-337: Predictable Seed in PRNG A PRNG is initialized from a predictable seed, e.g. using process ID or system time. CWE-299: Improper Check for Certificate Revocation The software does not check or incorrectly checks the revocation status of a certificate, which may cause it to use a certificate that has been compromised. CWE-297: Improper Validation of Certificate with Host Mismatch The software communicates with a host that provides a certificate, but the software does not properly ensure that the certificate is actually associated with that host. Examples OS Platform Java Middleware Application User Sessions Client Interface Database
  • 25. Database Risks in managing the data you use to achieve a business objective  Risks associated with application data being modified by, or exposed to, those with no business need for such access.  Increasing the security assurances around application data that is exposed to external storage, either temporarily or permanently. CWE-313: Cleartext Storage in a File or on Disk The application stores sensitive information in cleartext in a file, or on disk that could be read by attackers with access to the file, or with physical or administrator access to the raw disk. CWE-499: Serializable Class Containing Sensitive Data The code contains a class with sensitive data, but the class does not explicitly deny serialization. The data can be accessed by serializing the class through another class. CWE-359: Privacy Violation Mishandling private information, such as customer passwords or social security numbers, can compromise user privacy and is often illegal.. Examples OS Platform Java Middleware Application User Sessions Client Interface Database
  • 26. System Data Consideration of risks handling data associated with the computing platform itself  Risks associated with storing descriptive system history in shared log locations.  Risks of inadvertently disclosing through system tools and behavior information that is protected by the application. CWE-532: Information Exposure Through Log Files While logging all information may be helpful during development stages, it is important that logging levels be set appropriately before a product ships so that sensitive user data and system information are not accidentally exposed to potential attackers. CWE-208: Information Exposure Through Timing Discrepancy Two separate operations in a product require different amounts of time to complete, in a way that is observable to an actor and reveals security-relevant information about the state of the product, such as whether a particular operation was successful or not. CWE-530: Exposure of Backup File to an Unauthorized Control Sphere A backup file is stored in a directory that is accessible to actors outside of the intended control sphere. Examples OS Platform Java Middleware Application User Sessions Client Interface Database
  • 27. Summary – securing Java in the server room  Planning  risk assessment for type of application  define integrity and confidentiality goals  identify applicable policies  assurances about the computing platform  Development  secure engineering practices  mitigation and avoidance of known risks  security testing and review  user and administrator guidance  Operations  configuration management control and auditing  intrusion detection and monitoring  action plan for dealing with security incidents  contingency planning
  • 28. IBM AppScan  Scans  ability to regularly scan deployed systems to identify vulnerabilities  proactive pre-deployment scans & scheduled scans  Detection  collects and analyses events to identify priorities  analytics identifies application vulnerabilities  map events back to code level issues  Protection  integrated with network intrusion detection software  issues a “virtual patch”to protect specific vulnerabilities http://www.ibm.com/security/