Combined C/C++, Java and Web Application Security Training

Combined C/C++, Java and Web Application Security Training

Combined C/C++, Java and Web Application Security Training

Certificate: N/A
Duration: 4 days
Course Delivery: Classroom
Accreditor: None
Language: English
Credits: N/A

Course Description:
To serve in the best way heterogeneous development groups that are using various platforms simultaneously during their everyday work, we have merged various topics into a combined course that presents diverse secure coding subjects in didactic manner on a single training event. This course combines C/C++ and Java platform security to provide an extensive, cross-platform secure coding expertise.
Concerning C/C++, common security vulnerabilities are discussed, backed by practical exercises about the attacking methods that exploit these vulnerabilities, with the focus on the mitigation techniques that can be applied to prevent the occurrences of these dangerous bugs, detect them before market launch or prevent their exploitation.
Security components and service of Java are discussed by presenting the different APIs and tools through a number of practical exercises where participants can gain hands-on experience in using them. The course also covers security issues of Web services and the related Java services that can be applied to prevent the most aching threats of the Internet based services. Finally, web- and Java-related security vulnerabilities are demonstrated by easy-to-understand exercises, which not only show the root cause of the problems, but also demonstrate the attack methods along with the recommended mitigation and coding techniques in order to avoid the associated security problems.

Learning Objectives:
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 development environment
● Be informed about recent vulnerabilities in various platforms, frameworks and libraries
● Realize the severe consequences of un-secure buffer handling in native code
● Understand the architectural protection techniques and their weaknesses
● 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

Exercises were fun and helpful. Got a lot of info…
Budapest, Hungary

Prerequisites:
None
Course Materials:
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)

Course Outline:
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
● Security misconfiguration
● Failure to restrict URL access
● Transport layer security issues
● Unvalidated redirects and forwards
Client-side security
● JavaScript security
● Ajax security
● HTML5 Security
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
● Public Key Infrastructure (PKI)
Java security services
● Java security services – architecture
● Authentication and authorization
● Cryptographic services
● Secure communication
Security relevant C/C++ programming bugs and flaws
● x86 machine code, memory layout, stack operations
Buffer overflow
● Buffer overflow
● Stack overflow
● Protection principles
● Stack smashing protection
● Address Space Layout Randomization (ASLR)
● Non executable memory areas – the NX bit
● Return-to-libc attack – Circumventing the NX bit
● Return oriented programming (ROP)
● Heap overflow
● Some additional native code-related vulnerabilities
Java specific vulnerabilities
● Input validation
● Improper use of security features
● Improper error and exception handling
● Time and state problems
● Code quality problems
● Mobile code
Using security testing tools
● Web vulnerability scanners
● SQL injection tools
● Static code analysis
Knowledge sources
● Secure coding sources – a starter kit
● Vulnerability databases

Audience:
C/C++ and Java developers, architects and testers

Examination:
There are no exams associated with this course

You may also like

Değer Mühendisliği Programı

DEĞER MÜHENDİSLİĞİ PROGRAMI Certified Value Engineer – CVE