Andaira Technology

Scrum Roles - Una breve introducción

Combined Java, .NET and Web Application Security 


Certificación: N/A 

Acreditación: N/A 

Duración: 3 días 

Idioma del material: Inglés 

Formato: Presencial 

Créditos: N/A

Introducción:

Both Java and .NET development environments provide powerful means for security development, but developers should know how to apply the various architecture- and coding-level programming techniques in order to implement the desired security functionality and avoid vulnerabilities.

Providing hands-on knowledge, the course contains numerous exercises on how to use various APIs and tools to prevent untrusted code from performing privileged actions, protect resources through strong authentication and authorization, provide secured remote procedure calls, handle sessions, introduce different implementations for certain functionality, and many more.

Most importantly, the course explains the most frequent and severe programming flaws typically committed by programmers. General web-based vulnerabilities are demonstrated through presenting the relevant attacks, while the recommended coding techniques and mitigation methods are explained in the context of both development platforms. Besides the typical security-relevant Java and .NET bugs, the introduced security vulnerabilities cover both language-specific issues and problems stemming from the runtime environments one should be aware of. 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 and .NET developers, architects and testers

Objetivos:

Individuals certified at this level will have demonstrated:

  • Understand basic concepts of security, IT security, cryptography and secure coding
  • Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them
  • Learn client-side vulnerabilities and secure coding practices
  • Learn to use various security features of the Java and .NET development environment
  • Get information about some recent vulnerabilities in Java and .NET framework
  • Learn about typical coding mistakes and how to avoid them
  • Get practical knowledge in using security testing tools
  • 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

  • Injection
  • Broken authentication and session management
  • Cross-Site Scripting (XSS)
  • Insecure direct object reference
  • Missing function level access control
  • Cross Site Request Forgery (CSRF)
  • Unvalidated redirects and forwards

Basics of cryptography

  • Cryptosystems
  • Symmetric-key cryptography
  • Other cryptographic algorithms
  • Asymmetric (public-key) cryptography
  • Public Key Infrastructure (PKI)

Foundations of Java security

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

Java security services

  • Java security services – architecture
  • Authentication and authorization
  • Cryptographic services
  • Secure communication

.NET security architecture and services

  • .NET architecture
  • Code Access Security
  • Role-based security
  • Cryptography in .NET

ASP.NET security architecture

  • ASP.NET basics
  • ASP.NET features
  • ASP.NET authentication and identity management
  • ASP.NET authorization
  • Input validation
  • Improper use of security features
  • Improper error and exception handling
  • Time and state problems
  • Code quality problems

ASP.NET security features and  vulnerabilities

  • Custom protected configuration providers
  • Postback validation
  • Viewstate protection
  • Viewstate protection
  • Event validation
  • Accessing disabled and hidden controls
  • Control sequence attacks
  • NULL byte termination vulnerability
  • Real life example – Forms Authentication Bypass
  • Denial of service possibilities
  • Mobile code

                                                              

Knowledge sources