SlideShare a Scribd company logo
1 of 47
Download to read offline
Attacking JavaEE Application 
Servers 
Martin Toshev
Bulgarian Java Users Group (BG JUG): 
https://groups.google.com/forum/#!forum/bg-jug 
http://java-bg.org/
Agenda 
• Attack vectors 
• Strategies and tools 
• Secure coding and deployment
Attack Vectors 
OS 
Java EE Application Server 
war/ear war/ear
Attack Vectors 
• An attack could be originating: 
• externally 
• from the application server itself 
• from an application
Attack Vectors 
OS 
Java EE Application Server 
war/ear war/ear
Attack Vectors 
• An external attack can: 
o exploit directly remote services exposed by the 
JavaEE application server 
o exploit another remotely accessible process 
running in the OS
Attack Vectors 
• An external attack can: 
o exploit input for applications deployed in the Java 
EE Server (such as input validation attacks, SQL 
injection, XSS …)
Attack Vectors 
OS 
Java EE Application Server 
war/ear war/ear
Attack Vectors 
• An attack can: 
o originate from a malicious application running in 
the same OS 
• Administrators do not always install from 
trusted sources or check against MD5 
checksums …
Attack Vectors 
OS 
Java EE Application Server 
war/ear war/ear
Attack Vectors 
• An attack originating from the application 
server can: 
• be crafted by modifying the codebase and 
rebuilding the application server 
• be achieved more easily by targeting open-source 
application servers such as Glassfish and Wildfly
Attack Vectors 
… Administrators do not always install JavaEE 
application servers from trusted sources or 
check against MD5 checksums … 
… which makes this type of attacks a real 
scenario
Attack Vectors 
OS 
Java EE Application Server 
war/ear war/ear
Attack Vectors 
• An attack originating from an application can 
be performed due to: 
o misconfigured security during deployment 
o intentional malicious code inside the application
Attack Vectors 
(scenario 1: misconfigured security in the app) 
… leads to opening holes in the Java EE security 
model
Attack Vectors 
(scenario 1: misconfigured security in the app) 
Application 
server 
war 
(with missing 
security 
configuration) 
ear 
(with missing 
security 
configuration)
Attack Vectors 
Java EE Security Model in a nutshell: 
Application 
server 
war 
• roles 
• role 
ear 
mappings • users 
• roles 
• role 
mappings 
• groups 
• realms 
JDBC realm 
file realm
Attack Vectors 
Java EE Security Model in a nutshell: 
1. initial request is made 
2. server authenticates the client using an authentication mechanism 
3. URL authorization based on info from deployment descriptors or from annotations 
in source code is done 
4. In case an EJB method is invoked the EJB container checks the appropriate 
permissions based on user roles 
(the web container delegates information about the user and its roles to the EJB 
container)
Attack Vectors 
Example: 
import javax.annotation.security.DeclareRoles; 
import javax.annotation.security.RolesAllowed; 
... 
@DeclareRoles({"MANAGER", "EMPLOYEE", "ADMIN"}) 
@Stateless 
public class PaymentServiceImpl implements PaymentService { 
// Jim: temporarily commented for testing purposes 
// TODO: uncomment before deployment on PROD 
// @RolesAllowed("MANAGER") 
public void increaseSalary(User employee, int ammount) { 
… 
}
Attack Vectors 
(scenario 2: malicious code in the app) 
… can be made possible due to misconfiguration 
of the Java SE security model of the application 
server
Attack Vectors 
(scenario 2: malicious code in the app) 
Application 
server 
war 
(with malicious 
code) 
ear 
(with malicious 
code)
Attack Vectors 
Java SE Security Model in a nutshell: 
Application 
server 
war 
• invokes 
ear 
restricted 
operation 
• performs 
permission 
checks 
• invokes 
restricted 
operation 
security.policy
Strategies and Tools 
(external) 
Try to exploit services exposed by the OS or the 
application server (such as JMX) 
Vulnerability databases such as SecurityFocus, 
osvdb and nvd and application server 
changelogs are valuable sources of information
Strategies and Tools 
Tools: 
o network scanners - Nmap, SATAN, Nessus, GFI 
LANguard, TripWire, SuperScan 
o remote system administration - Back Office, ProRat 
o vulnerability scanners - metasploit, w3af, Nexpose 
o MITM on the local network - Ettercap
Strategies and Tools 
… This Security Alert addresses the security issue 
CVE-2008-3257, a vulnerability in the Apache 
Connector component (mod_weblogic) of the 
Oracle Weblogic Server (formerly BEA WebLogic 
Server). This vulnerability may be remotely 
exploitable without authentication, i.e. it may be 
exploited over a network without the need for a 
username and password …
Strategies and Tools 
… Unfortunately, the person(s) who published 
this vulnerability and associated exploit codes 
didn't contact Oracle before publicly disclosing 
this issue. This means that the vulnerability was 
made public before providing Oracle an 
opportunity to develop an appropriate fix for 
this issue and notify its customers … 
Affected versions: 6.1, 7.0, 8.1, 9.0, 9.1, 9.2, 10.0
Strategies and Tools 
… Earlier community editions of JBoss allow you 
to use default authentication to the JMX server 
running on the server (shutting down the server 
via JMX is made possible to attackers) - CVE- 
2013-4810 … 
Affected versions: 4x, 5x
Strategies and Tools 
(ear/war) 
• craft malicious code that bypasses code 
reviews and code analysis tools (and possibly 
open a "back-door" in the application server)
Strategies and Tools 
(ear/war) 
• make use of techniques for: 
o initialization of classes based on loadable 
services or configuration files 
o AOP weaving 
o servlet filters 
o annotation processors
Strategies and Tools 
Tools: 
… write your own …
Secure Coding and Deployment 
• The OS: 
• secure the environment of your application 
server 
• always patch your OS with latest updates
Secure Coding and Deployment 
• The application server: 
• check that application server comes from a 
trusted source (compare against true MD5 
checksum) 
• disable unused services when installing 
application servers
Secure Coding and Deployment 
• The application server: 
• always enable encryption for the remote services 
exposed by the application server 
• check the documentation of your application 
server on the default security manager and 
security policy enabled by the application server
Secure Coding and Deployment 
• The application server: 
• if necessary define proper security policy and 
define additional access control checks for the 
applications being deployed 
• always apply security patches to your application 
server installation
Secure Coding and Deployment 
• The ear/war: 
• allow minimum set of permissions to roles in the 
application context 
• follow best security practices as defined by the 
Secure Coding Guidelines for Java SE
Secure Coding and Deployment 
• The ear/war: 
• perform static & dynamic code analysis in order 
to find possible bugs or resource leaks (that may 
lead to implicit DoS) 
• do not leave behind test/unused URLs
Secure Coding and Deployment 
• The ear/war: 
• perform in-container security policy tests (e.g. 
using Cactus or Arquillian frameworks …) 
• perform in-container resource consumption tests
Go ahead and try to find leaks … 
9.0.0.Alpha1 4.1 12.1.3
Thank you
References 
Java EE 7 tutorial part X: Security 
https://docs.oracle.com/javaee/7/tutorial/doc/ 
Java Platform, Enterprise Edition (JavaEE) Specification, 
v7 
http://download.oracle.com/otndocs/jcp/java_ee-7-fr-eval-spec/ 
index.html
References 
Back door into JavaEE application servers 
macaron.googlecode.com/files/en-macaron.pdf 
OWASP Top 10 for JavaEE 
https://www.owasp.org/images/8/89/OWASP_Top_10_2007 
_for_JEE.pdf 
Attacking Jboss like a boss 
https://www.defcon.org/images/defcon-18/dc-18- 
presentations/Krpata/DEFCON-18-Krpata-Attacking- 
JBoss.pdf
References 
Oracle Security Alert for CVE-2008-3257 
http://www.oracle.com/technetwork/middleware/ias/downlo 
ads/alert-cve2008-3257-088842.html 
Securing a WebLogic Server deployment 
https://docs.oracle.com/cd/E13222_01/wls/docs61/security/ 
lockdown.html 
Whitepaper on Jboss exploitation 
http://securityxploded.com/JBoss%20Whitepaper.pdf
References 
Java Security Overview (white paper) 
http://www.oracle.com/technetwork/java/js-white-paper- 
149932.pdf 
Java SE Platform Security Architecture Spec 
http://docs.oracle.com/javase/7/docs/technotes/guides/sec 
urity/spec/security-spec.doc.html 
Inside Java 2 Platform Security, 2nd edition 
http://www.amazon.com/Inside-Java%C2%BF-Platform- 
Security-Implementation/dp/0201787911
References 
Java Security, 2nd edition, Scott Oaks 
http://shop.oreilly.com/product/9780596001575.do 
Securing Java, Gary McGraw, Ed Felden 
http://www.securingjava.com 
Secure Coding Guidelines for Java SE 
http://www.oracle.com/technetwork/java/seccodeguide 
-139067.html#0
References 
Java 2 Network Security 
http://www.amazon.com/JAVA-Network-Security-2nd- 
Edition/dp/0130155926 
Java Security Documentation 
http://docs.oracle.com/javase/8/docs/technotes/guides/sec 
urity/index.html
References 
Core Java Security: Class Loaders, Security Managers and 
Encryption 
http://www.informit.com/articles/article.aspx?p=1187967 
Overview of Java Security Models 
http://docs.oracle.com/cd/E12839_01/core.1111/e10043/intr 
ojps.htm#CHDCEJGH

More Related Content

What's hot

Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseScott Sutherland
 
Cloud Security vs Security in the Cloud
Cloud Security vs Security in the CloudCloud Security vs Security in the Cloud
Cloud Security vs Security in the CloudTjylen Veselyj
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slidesBassam Al-Khatib
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application SecurityTed Husted
 
Application Security-Understanding The Horizon
Application Security-Understanding The HorizonApplication Security-Understanding The Horizon
Application Security-Understanding The HorizonLalit Kale
 
Martin Toshev - Java Security Architecture - Codemotion Rome 2019
Martin Toshev - Java Security Architecture - Codemotion Rome 2019Martin Toshev - Java Security Architecture - Codemotion Rome 2019
Martin Toshev - Java Security Architecture - Codemotion Rome 2019Codemotion
 
Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2
Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2
Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2NetSPI
 
Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...
Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...
Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...Lionel Briand
 
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Nazar Tymoshyk, CEH, Ph.D.
 
Os Command Injection Attack
Os Command Injection AttackOs Command Injection Attack
Os Command Injection AttackRaghav Bisht
 
Sandboxing (Distributed computing)
Sandboxing (Distributed computing)Sandboxing (Distributed computing)
Sandboxing (Distributed computing)Sri Prasanna
 
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities Braindev Kyiv
 
Reversing & Malware Analysis Training Part 13 - Future Roadmap
Reversing & Malware Analysis Training Part 13 - Future RoadmapReversing & Malware Analysis Training Part 13 - Future Roadmap
Reversing & Malware Analysis Training Part 13 - Future Roadmapsecurityxploded
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandDavid O'Dowd
 
Session2-Application Threat Modeling
Session2-Application Threat ModelingSession2-Application Threat Modeling
Session2-Application Threat Modelingzakieh alizadeh
 

What's hot (20)

Thick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash CourseThick Application Penetration Testing: Crash Course
Thick Application Penetration Testing: Crash Course
 
Secure coding-guidelines
Secure coding-guidelinesSecure coding-guidelines
Secure coding-guidelines
 
Cloud Security vs Security in the Cloud
Cloud Security vs Security in the CloudCloud Security vs Security in the Cloud
Cloud Security vs Security in the Cloud
 
Attques web
Attques webAttques web
Attques web
 
Web applications security conference slides
Web applications security  conference slidesWeb applications security  conference slides
Web applications security conference slides
 
Testing Web Application Security
Testing Web Application SecurityTesting Web Application Security
Testing Web Application Security
 
Owasp
Owasp Owasp
Owasp
 
Application Security-Understanding The Horizon
Application Security-Understanding The HorizonApplication Security-Understanding The Horizon
Application Security-Understanding The Horizon
 
Martin Toshev - Java Security Architecture - Codemotion Rome 2019
Martin Toshev - Java Security Architecture - Codemotion Rome 2019Martin Toshev - Java Security Architecture - Codemotion Rome 2019
Martin Toshev - Java Security Architecture - Codemotion Rome 2019
 
Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2
Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2
Application Risk Prioritization - Overview - Secure360 2015 - Part 1 of 2
 
Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...
Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...
Modeling and Testing Security and Privacy Requirements: A Use Case-Driven App...
 
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
Security Hole #12 Lviv SoftServe-Symphony Solutions "Lockpicking Authentication"
 
Os Command Injection Attack
Os Command Injection AttackOs Command Injection Attack
Os Command Injection Attack
 
Vulnerability manager v1.0
Vulnerability manager v1.0Vulnerability manager v1.0
Vulnerability manager v1.0
 
Sandboxing (Distributed computing)
Sandboxing (Distributed computing)Sandboxing (Distributed computing)
Sandboxing (Distributed computing)
 
Secure Coding in C/C++
Secure Coding in C/C++Secure Coding in C/C++
Secure Coding in C/C++
 
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
Sergey Kochergan - OWASP Top 10 Web Application Vulnerabilities
 
Reversing & Malware Analysis Training Part 13 - Future Roadmap
Reversing & Malware Analysis Training Part 13 - Future RoadmapReversing & Malware Analysis Training Part 13 - Future Roadmap
Reversing & Malware Analysis Training Part 13 - Future Roadmap
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest Ireland
 
Session2-Application Threat Modeling
Session2-Application Threat ModelingSession2-Application Threat Modeling
Session2-Application Threat Modeling
 

Similar to ATTACKING JAVAEE SERVERS

Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)Martin Toshev
 
Java Platform Security Architecture
Java Platform Security ArchitectureJava Platform Security Architecture
Java Platform Security ArchitectureRamesh Nagappan
 
Security Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformSecurity Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformMartin Toshev
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problemskiansahafi
 
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your Code
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your CodeHow-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your Code
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your CodeDevOps.com
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Achim D. Brucker
 
VAPT PRESENTATION full.pptx
VAPT PRESENTATION full.pptxVAPT PRESENTATION full.pptx
VAPT PRESENTATION full.pptxDARSHANBHAVSAR14
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...IJNSA Journal
 
VAPT_FINAL SLIDES.pptx
VAPT_FINAL SLIDES.pptxVAPT_FINAL SLIDES.pptx
VAPT_FINAL SLIDES.pptxkarthikvcyber
 
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and WhyFilling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and WhyBlack Duck by Synopsys
 
Realities of Security in the Cloud
Realities of Security in the CloudRealities of Security in the Cloud
Realities of Security in the CloudAlert Logic
 
The Anatomy of Java Vulnerabilities (Devoxx UK 2017)
The Anatomy of Java Vulnerabilities (Devoxx UK 2017)The Anatomy of Java Vulnerabilities (Devoxx UK 2017)
The Anatomy of Java Vulnerabilities (Devoxx UK 2017)Steve Poole
 
Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?Yassine Aboukir
 
Realities of Security in the Cloud - CSS ATX 2017
Realities of Security in the Cloud - CSS ATX 2017Realities of Security in the Cloud - CSS ATX 2017
Realities of Security in the Cloud - CSS ATX 2017Alert Logic
 
z/OS Authorized Code Scanner
z/OS Authorized Code Scannerz/OS Authorized Code Scanner
z/OS Authorized Code ScannerLuigi Perrone
 

Similar to ATTACKING JAVAEE SERVERS (20)

Javantura v4 - Security architecture of the Java platform - Martin Toshev
Javantura v4 - Security architecture of the Java platform - Martin ToshevJavantura v4 - Security architecture of the Java platform - Martin Toshev
Javantura v4 - Security architecture of the Java platform - Martin Toshev
 
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
 
Java Platform Security Architecture
Java Platform Security ArchitectureJava Platform Security Architecture
Java Platform Security Architecture
 
Security Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java PlatformSecurity Аrchitecture of Тhe Java Platform
Security Аrchitecture of Тhe Java Platform
 
Using Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security ProblemsUsing Analyzers to Resolve Security Problems
Using Analyzers to Resolve Security Problems
 
Cyber ppt
Cyber pptCyber ppt
Cyber ppt
 
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your Code
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your CodeHow-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your Code
How-To Find Malicious Backdoors and Business Logic Vulnerabilities in Your Code
 
Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...Bringing Security Testing to Development: How to Enable Developers to Act as ...
Bringing Security Testing to Development: How to Enable Developers to Act as ...
 
VAPT PRESENTATION full.pptx
VAPT PRESENTATION full.pptxVAPT PRESENTATION full.pptx
VAPT PRESENTATION full.pptx
 
Security in Java
Security in JavaSecurity in Java
Security in Java
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
 
VAPT_FINAL SLIDES.pptx
VAPT_FINAL SLIDES.pptxVAPT_FINAL SLIDES.pptx
VAPT_FINAL SLIDES.pptx
 
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and WhyFilling your AppSec Toolbox - Which Tools, When to Use Them, and Why
Filling your AppSec Toolbox - Which Tools, When to Use Them, and Why
 
JavaSecure
JavaSecureJavaSecure
JavaSecure
 
Realities of Security in the Cloud
Realities of Security in the CloudRealities of Security in the Cloud
Realities of Security in the Cloud
 
Security testing
Security testingSecurity testing
Security testing
 
The Anatomy of Java Vulnerabilities (Devoxx UK 2017)
The Anatomy of Java Vulnerabilities (Devoxx UK 2017)The Anatomy of Java Vulnerabilities (Devoxx UK 2017)
The Anatomy of Java Vulnerabilities (Devoxx UK 2017)
 
Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?Hacking WebApps for fun and profit : how to approach a target?
Hacking WebApps for fun and profit : how to approach a target?
 
Realities of Security in the Cloud - CSS ATX 2017
Realities of Security in the Cloud - CSS ATX 2017Realities of Security in the Cloud - CSS ATX 2017
Realities of Security in the Cloud - CSS ATX 2017
 
z/OS Authorized Code Scanner
z/OS Authorized Code Scannerz/OS Authorized Code Scanner
z/OS Authorized Code Scanner
 

More from Martin Toshev

Building highly scalable data pipelines with Apache Spark
Building highly scalable data pipelines with Apache SparkBuilding highly scalable data pipelines with Apache Spark
Building highly scalable data pipelines with Apache SparkMartin Toshev
 
Big data processing with Apache Spark and Oracle Database
Big data processing with Apache Spark and Oracle DatabaseBig data processing with Apache Spark and Oracle Database
Big data processing with Apache Spark and Oracle DatabaseMartin Toshev
 
Semantic Technology In Oracle Database 12c
Semantic Technology In Oracle Database 12cSemantic Technology In Oracle Database 12c
Semantic Technology In Oracle Database 12cMartin Toshev
 
Practical security In a modular world
Practical security In a modular worldPractical security In a modular world
Practical security In a modular worldMartin Toshev
 
Java 9 Security Enhancements in Practice
Java 9 Security Enhancements in PracticeJava 9 Security Enhancements in Practice
Java 9 Security Enhancements in PracticeMartin Toshev
 
Writing Stored Procedures in Oracle RDBMS
Writing Stored Procedures in Oracle RDBMSWriting Stored Procedures in Oracle RDBMS
Writing Stored Procedures in Oracle RDBMSMartin Toshev
 
Security Architecture of the Java platform
Security Architecture of the Java platformSecurity Architecture of the Java platform
Security Architecture of the Java platformMartin Toshev
 
Oracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsOracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsMartin Toshev
 
RxJS vs RxJava: Intro
RxJS vs RxJava: IntroRxJS vs RxJava: Intro
RxJS vs RxJava: IntroMartin Toshev
 
Writing Stored Procedures with Oracle Database 12c
Writing Stored Procedures with Oracle Database 12cWriting Stored Procedures with Oracle Database 12c
Writing Stored Procedures with Oracle Database 12cMartin Toshev
 
Concurrency Utilities in Java 8
Concurrency Utilities in Java 8Concurrency Utilities in Java 8
Concurrency Utilities in Java 8Martin Toshev
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message BrokerMartin Toshev
 
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Martin Toshev
 
Writing Java Stored Procedures in Oracle 12c
Writing Java Stored Procedures in Oracle 12cWriting Java Stored Procedures in Oracle 12c
Writing Java Stored Procedures in Oracle 12cMartin Toshev
 
KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)Martin Toshev
 

More from Martin Toshev (20)

Building highly scalable data pipelines with Apache Spark
Building highly scalable data pipelines with Apache SparkBuilding highly scalable data pipelines with Apache Spark
Building highly scalable data pipelines with Apache Spark
 
Big data processing with Apache Spark and Oracle Database
Big data processing with Apache Spark and Oracle DatabaseBig data processing with Apache Spark and Oracle Database
Big data processing with Apache Spark and Oracle Database
 
Jdk 10 sneak peek
Jdk 10 sneak peekJdk 10 sneak peek
Jdk 10 sneak peek
 
Semantic Technology In Oracle Database 12c
Semantic Technology In Oracle Database 12cSemantic Technology In Oracle Database 12c
Semantic Technology In Oracle Database 12c
 
Practical security In a modular world
Practical security In a modular worldPractical security In a modular world
Practical security In a modular world
 
Java 9 Security Enhancements in Practice
Java 9 Security Enhancements in PracticeJava 9 Security Enhancements in Practice
Java 9 Security Enhancements in Practice
 
Java 9 sneak peek
Java 9 sneak peekJava 9 sneak peek
Java 9 sneak peek
 
Writing Stored Procedures in Oracle RDBMS
Writing Stored Procedures in Oracle RDBMSWriting Stored Procedures in Oracle RDBMS
Writing Stored Procedures in Oracle RDBMS
 
Spring RabbitMQ
Spring RabbitMQSpring RabbitMQ
Spring RabbitMQ
 
Security Architecture of the Java platform
Security Architecture of the Java platformSecurity Architecture of the Java platform
Security Architecture of the Java platform
 
Oracle Database 12c Attack Vectors
Oracle Database 12c Attack VectorsOracle Database 12c Attack Vectors
Oracle Database 12c Attack Vectors
 
JVM++: The Graal VM
JVM++: The Graal VMJVM++: The Graal VM
JVM++: The Graal VM
 
RxJS vs RxJava: Intro
RxJS vs RxJava: IntroRxJS vs RxJava: Intro
RxJS vs RxJava: Intro
 
Spring RabbitMQ
Spring RabbitMQSpring RabbitMQ
Spring RabbitMQ
 
Writing Stored Procedures with Oracle Database 12c
Writing Stored Procedures with Oracle Database 12cWriting Stored Procedures with Oracle Database 12c
Writing Stored Procedures with Oracle Database 12c
 
Concurrency Utilities in Java 8
Concurrency Utilities in Java 8Concurrency Utilities in Java 8
Concurrency Utilities in Java 8
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
 
Writing Java Stored Procedures in Oracle 12c
Writing Java Stored Procedures in Oracle 12cWriting Java Stored Procedures in Oracle 12c
Writing Java Stored Procedures in Oracle 12c
 
KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)KDB database (EPAM tech talks, Sofia, April, 2015)
KDB database (EPAM tech talks, Sofia, April, 2015)
 

Recently uploaded

Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 

Recently uploaded (20)

Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 

ATTACKING JAVAEE SERVERS

  • 1. Attacking JavaEE Application Servers Martin Toshev
  • 2. Bulgarian Java Users Group (BG JUG): https://groups.google.com/forum/#!forum/bg-jug http://java-bg.org/
  • 3. Agenda • Attack vectors • Strategies and tools • Secure coding and deployment
  • 4. Attack Vectors OS Java EE Application Server war/ear war/ear
  • 5. Attack Vectors • An attack could be originating: • externally • from the application server itself • from an application
  • 6. Attack Vectors OS Java EE Application Server war/ear war/ear
  • 7. Attack Vectors • An external attack can: o exploit directly remote services exposed by the JavaEE application server o exploit another remotely accessible process running in the OS
  • 8. Attack Vectors • An external attack can: o exploit input for applications deployed in the Java EE Server (such as input validation attacks, SQL injection, XSS …)
  • 9. Attack Vectors OS Java EE Application Server war/ear war/ear
  • 10. Attack Vectors • An attack can: o originate from a malicious application running in the same OS • Administrators do not always install from trusted sources or check against MD5 checksums …
  • 11. Attack Vectors OS Java EE Application Server war/ear war/ear
  • 12. Attack Vectors • An attack originating from the application server can: • be crafted by modifying the codebase and rebuilding the application server • be achieved more easily by targeting open-source application servers such as Glassfish and Wildfly
  • 13. Attack Vectors … Administrators do not always install JavaEE application servers from trusted sources or check against MD5 checksums … … which makes this type of attacks a real scenario
  • 14. Attack Vectors OS Java EE Application Server war/ear war/ear
  • 15. Attack Vectors • An attack originating from an application can be performed due to: o misconfigured security during deployment o intentional malicious code inside the application
  • 16. Attack Vectors (scenario 1: misconfigured security in the app) … leads to opening holes in the Java EE security model
  • 17. Attack Vectors (scenario 1: misconfigured security in the app) Application server war (with missing security configuration) ear (with missing security configuration)
  • 18. Attack Vectors Java EE Security Model in a nutshell: Application server war • roles • role ear mappings • users • roles • role mappings • groups • realms JDBC realm file realm
  • 19. Attack Vectors Java EE Security Model in a nutshell: 1. initial request is made 2. server authenticates the client using an authentication mechanism 3. URL authorization based on info from deployment descriptors or from annotations in source code is done 4. In case an EJB method is invoked the EJB container checks the appropriate permissions based on user roles (the web container delegates information about the user and its roles to the EJB container)
  • 20. Attack Vectors Example: import javax.annotation.security.DeclareRoles; import javax.annotation.security.RolesAllowed; ... @DeclareRoles({"MANAGER", "EMPLOYEE", "ADMIN"}) @Stateless public class PaymentServiceImpl implements PaymentService { // Jim: temporarily commented for testing purposes // TODO: uncomment before deployment on PROD // @RolesAllowed("MANAGER") public void increaseSalary(User employee, int ammount) { … }
  • 21. Attack Vectors (scenario 2: malicious code in the app) … can be made possible due to misconfiguration of the Java SE security model of the application server
  • 22. Attack Vectors (scenario 2: malicious code in the app) Application server war (with malicious code) ear (with malicious code)
  • 23. Attack Vectors Java SE Security Model in a nutshell: Application server war • invokes ear restricted operation • performs permission checks • invokes restricted operation security.policy
  • 24. Strategies and Tools (external) Try to exploit services exposed by the OS or the application server (such as JMX) Vulnerability databases such as SecurityFocus, osvdb and nvd and application server changelogs are valuable sources of information
  • 25. Strategies and Tools Tools: o network scanners - Nmap, SATAN, Nessus, GFI LANguard, TripWire, SuperScan o remote system administration - Back Office, ProRat o vulnerability scanners - metasploit, w3af, Nexpose o MITM on the local network - Ettercap
  • 26. Strategies and Tools … This Security Alert addresses the security issue CVE-2008-3257, a vulnerability in the Apache Connector component (mod_weblogic) of the Oracle Weblogic Server (formerly BEA WebLogic Server). This vulnerability may be remotely exploitable without authentication, i.e. it may be exploited over a network without the need for a username and password …
  • 27. Strategies and Tools … Unfortunately, the person(s) who published this vulnerability and associated exploit codes didn't contact Oracle before publicly disclosing this issue. This means that the vulnerability was made public before providing Oracle an opportunity to develop an appropriate fix for this issue and notify its customers … Affected versions: 6.1, 7.0, 8.1, 9.0, 9.1, 9.2, 10.0
  • 28. Strategies and Tools … Earlier community editions of JBoss allow you to use default authentication to the JMX server running on the server (shutting down the server via JMX is made possible to attackers) - CVE- 2013-4810 … Affected versions: 4x, 5x
  • 29. Strategies and Tools (ear/war) • craft malicious code that bypasses code reviews and code analysis tools (and possibly open a "back-door" in the application server)
  • 30. Strategies and Tools (ear/war) • make use of techniques for: o initialization of classes based on loadable services or configuration files o AOP weaving o servlet filters o annotation processors
  • 31. Strategies and Tools Tools: … write your own …
  • 32. Secure Coding and Deployment • The OS: • secure the environment of your application server • always patch your OS with latest updates
  • 33. Secure Coding and Deployment • The application server: • check that application server comes from a trusted source (compare against true MD5 checksum) • disable unused services when installing application servers
  • 34. Secure Coding and Deployment • The application server: • always enable encryption for the remote services exposed by the application server • check the documentation of your application server on the default security manager and security policy enabled by the application server
  • 35. Secure Coding and Deployment • The application server: • if necessary define proper security policy and define additional access control checks for the applications being deployed • always apply security patches to your application server installation
  • 36. Secure Coding and Deployment • The ear/war: • allow minimum set of permissions to roles in the application context • follow best security practices as defined by the Secure Coding Guidelines for Java SE
  • 37. Secure Coding and Deployment • The ear/war: • perform static & dynamic code analysis in order to find possible bugs or resource leaks (that may lead to implicit DoS) • do not leave behind test/unused URLs
  • 38. Secure Coding and Deployment • The ear/war: • perform in-container security policy tests (e.g. using Cactus or Arquillian frameworks …) • perform in-container resource consumption tests
  • 39. Go ahead and try to find leaks … 9.0.0.Alpha1 4.1 12.1.3
  • 41. References Java EE 7 tutorial part X: Security https://docs.oracle.com/javaee/7/tutorial/doc/ Java Platform, Enterprise Edition (JavaEE) Specification, v7 http://download.oracle.com/otndocs/jcp/java_ee-7-fr-eval-spec/ index.html
  • 42. References Back door into JavaEE application servers macaron.googlecode.com/files/en-macaron.pdf OWASP Top 10 for JavaEE https://www.owasp.org/images/8/89/OWASP_Top_10_2007 _for_JEE.pdf Attacking Jboss like a boss https://www.defcon.org/images/defcon-18/dc-18- presentations/Krpata/DEFCON-18-Krpata-Attacking- JBoss.pdf
  • 43. References Oracle Security Alert for CVE-2008-3257 http://www.oracle.com/technetwork/middleware/ias/downlo ads/alert-cve2008-3257-088842.html Securing a WebLogic Server deployment https://docs.oracle.com/cd/E13222_01/wls/docs61/security/ lockdown.html Whitepaper on Jboss exploitation http://securityxploded.com/JBoss%20Whitepaper.pdf
  • 44. References Java Security Overview (white paper) http://www.oracle.com/technetwork/java/js-white-paper- 149932.pdf Java SE Platform Security Architecture Spec http://docs.oracle.com/javase/7/docs/technotes/guides/sec urity/spec/security-spec.doc.html Inside Java 2 Platform Security, 2nd edition http://www.amazon.com/Inside-Java%C2%BF-Platform- Security-Implementation/dp/0201787911
  • 45. References Java Security, 2nd edition, Scott Oaks http://shop.oreilly.com/product/9780596001575.do Securing Java, Gary McGraw, Ed Felden http://www.securingjava.com Secure Coding Guidelines for Java SE http://www.oracle.com/technetwork/java/seccodeguide -139067.html#0
  • 46. References Java 2 Network Security http://www.amazon.com/JAVA-Network-Security-2nd- Edition/dp/0130155926 Java Security Documentation http://docs.oracle.com/javase/8/docs/technotes/guides/sec urity/index.html
  • 47. References Core Java Security: Class Loaders, Security Managers and Encryption http://www.informit.com/articles/article.aspx?p=1187967 Overview of Java Security Models http://docs.oracle.com/cd/E12839_01/core.1111/e10043/intr ojps.htm#CHDCEJGH