T1510

Ladda ner som PDF

Combined Java, .NET and Web application security

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.

Audience

Java and .NET developers, architects and testers

Prior knowledge

Preparedness: Basic Java, ASP.NET and Web application

Language

The course is taught in English (Contact us if you prefer Swedish).

Courseware

Material in English

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.

Web vulnerabilities:OWASP top 10 and beyond: SQL Injection and other injection flaws, Cross-Site Scripting: persistent and reflected XSS, session handling challenges, using cookies, remote code execution, Insecure Direct Object Reference, Cross-Site Request Forgery (CSRF), restricting URL access.

Java security technologies and services:Java language security solutions, Java Virtual Machine (JVM) and Java Runtime Environment (JRE); ByteCode Verifier and Classloader; Security Manager and Access Controller, managing permissions with the PolicyTool; Java Cryptography Architecture (JCA) and Java Cryptographic Extension (JCE), Java Secure Socket Extension (JSSE), ... Läs mer

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.

Web vulnerabilities:OWASP top 10 and beyond: SQL Injection and other injection flaws, Cross-Site Scripting: persistent and reflected XSS, session handling challenges, using cookies, remote code execution, Insecure Direct Object Reference, Cross-Site Request Forgery (CSRF), restricting URL access.

Java security technologies and services:Java language security solutions, Java Virtual Machine (JVM) and Java Runtime Environment (JRE); ByteCode Verifier and Classloader; Security Manager and Access Controller, managing permissions with the PolicyTool; Java Cryptography Architecture (JCA) and Java Cryptographic Extension (JCE), Java Secure Socket Extension (JSSE), Java Authentication and Authorization Service (JAAS), Java Keystore (JKS) and the KeyTool

.NET and ASP.NET security technologies and services:Code Access Security, permissions, the stack walk, trust levels; Role-based Security; cryptography in .NET; ASP.NET authentication and authorization solutions, windows and form authentication, Live SDK, roles; session handling; XSS protection, validation features, viewstate protection in ASP.NET.

Java and .NET specific vulnerabilities:input validation problems, integer overflows in Java, using the checked keyword in .NET, Calendar/ZoneInfo deserialization bug (CVE 2008-5353) in Java, log forging; improper use of cryptographic features, insecure randomness in Java and .NET, challenges of password management, cracking hashed passwords with search engines; improper error and exception handling, returning from finally in Java; time and state problems, race conditions, synchronization and mutual exclusion, deadlocks, file and database race conditions; general code quality issues, object hijacking, immutable objects, serialization of sensitive information; Denial-of-Service (DoS) in Java (the “2.2250738585072012e-308 bug”) and .NET (hashtable collision), attacks against ASP.NET, string termination inconsistency; dangers of mobile code, critical public data, problem with inner classes, and many more...

Exercises:exploiting SQL injection; exploiting command injection; crafting reflective and persistent Cross-Site Scripting attacks; HTML injection; session fixation; uploading and running executable code; insecure direct object reference; committing Cross-Site Request Forgery (CSRF); setting and using permissions in Java, authentication and authorization through JAAS, using JCA/JCE providers for digital signing and encryption, permission for signed code, using JSSE – switching from HTTP to HTTPS; sandboxing .NET code, using roles, using cryptographic classes in .NET, implementing form authentication, input validation in ASP.NET; crashing native code; unsafe reflections; hash cracking by googling; using reflection to break accessibility modifiers; information leakage through error reporting; missing synchronization; wrong exclusion granularity; avoiding deadlocks; overcoming file race conditions; object hijacking; immutable string; preventing serialization; crashing Java with magic double values; using hidden and disable controls; value shadowing; exploiting mobile code vulnerabilities; exploiting inner classes.

Utbildningen levereras i samarbete med

Kurs-ID: T1510
Längd: 3 dagar
Kan betalas med:
TRAINING CARD

Lämna dina kontaktuppgifter om du önskar en företagsintern utbildning.

Tipsa