Andaira Technology

Mejoramos los procesos, reducimos los costes

Standard Java Security 


Certificación: N/A 

Acreditación: N/A 

Duración: 2 días 

Idioma del material: Inglés 

Formato: Presencial 

Créditos: N/A

Introducción:

The Java language and the Runtime Environment (JRE) was designed to be free from the most problematic common security vulnerabilities experienced in other languages, like C/C++. Yet, software developers and architects should not only know how to use the various security features of the Java environment (“Java for security”), but should also be aware of the numerous vulnerabilities that are still relevant for Java development (“security of Java”).

The introduction of security services is preceded with a brief overview of the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. The use of these components is presented through several practical exercises, where participants can try out the discussed APIs for themselves.

The course also goes through and explains the most frequent and severe programming flaws of the Java language and platform. Besides the typical bugs committed by Java programmers, the introduced security vulnerabilities cover both language-specific issues and problems stemming from the runtime environment. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.

Audiencia:

Java developers, software architects and testers

Objetivos:

Individuals certified at this level will have demonstrated:

  • Understand basic concepts of security, IT security and secure coding
  • Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
  • Learn to use various security features of the Java development environment
  • Get information about some recent vulnerabilities in Java framework
  • Learn about typical coding mistakes and how to avoid them
  • Get sources and further reading on secure coding practices

Prerrequisitos:

None

Material del curso:

You will receive the following as part of this course:

  • A participant handbook with reference materials
  • Virtual machine with the exercises (to be distributed by the instructor on a USB drive)

Examen:

There are no exams associated with this course

Requisitos técnicos:

A preinstalled exercise environment in the form of desktop virtual machine will be distributed on USB sticks for the participants at the start of the course by the instructor.

Hardware and software specifications for the used host PCs are:

  • CPU equivalent to Core i5 with virtualization technology is recommended, minimum is Core i3 (or equivalent laptop processors)
  • 4GB is recommended, minimum is 2GB
  • At least 20 GB free space on the HDD.
  • Display resolution minimum 1024×768 (the larger the better)
  • Keyboard, mouse: any can be used as long as participants are familiar with them.
  • VMware Player minimal version is 3.2, preferred is 5.0.4.

Temario:

IT security and secure coding

  • Nature of security
  • IT security related terms
  • Definition of risk
  • Different aspects of IT security
  • Requirements of different application areas
  • IT security vs. secure coding
  • From vulnerabilities to botnets and cybercrime
  • Classification of security flaws

Web application vulnerabilities

  • SQL Injection
  • Other injection flaws
  • Cross-Site Scripting (XSS)
  • Broken authentication and session management
  • Cross Site Request Forgery (CSRF)
  • Insecure direct object reference
  • Unvalidated file upload

Foundations of Java security

  • The Java environment
  • Java security
  • Low-level security – the Java language
  • High-level security – access control

Basics of cryptography

  • Cryptosystems
  • Symmetric-key cryptography
  • Other cryptographic algorithms
  • Asymmetric (public-key) cryptography

Java security services

  • Java security services – architecture
  • Cryptographic services
  • Secure communication

Java specific vulnerabilities

  • Input validation
  • Improper use of security features
  • Improper error and exception handling
  • Time and state problems
  • Code quality problems
  • Mobile code

Knowledge sources

  • Secure coding sources – a starter kit
  • Vulnerability databases