Curso Java Development for Secure Systems

  • Development

Curso Java Development for Secure Systems

24 horas
Visão Geral

Este Curso Java Development for Secure Systems foi projetado para fornecer aos alunos uma ampla gama de desafios e técnicas que compõem a “segurança Java”. A prática de codificação segura para Java incorpora técnicas para Java SE e Java EE, e cada vez mais os aplicativos EE estão usando técnicas SE, como arquivos de políticas e autenticação JAAS. Este curso passa algum tempo em cada plataforma, para que os alunos sejam expostos aos conceitos básicos de SE, como controlador de acesso, permissões e políticas; e também técnicas tradicionais de EE, como declarações de segurança da web e o modelo de autorização EJB. Os capítulos de práticas recomendadas encerram a cobertura de cada plataforma.

O curso enfatiza exercícios práticos e os alunos passarão mais da metade do tempo em sala de aula resolvendo problemas específicos de segurança. A maioria dos laboratórios são organizados como cenários nos quais é possível uma violação de segurança do software existente - os alunos começam hackeando o sistema de alguma forma. Em seguida, o trabalho do laboratório é reforçar o software para eliminar a ameaça: definir uma política segura, assinar um arquivo, limpar partes superexpostas de uma API, exigir login do usuário, etc

Objetivo

Após a conclusão do Curso Java Development for Secure Systems, os alunos serão capazes de:

  • Projete e implemente políticas de segurança para aplicativos, servidores e componentes Java.
  • Gerencie chaves e certificados para um aplicativo Java e assine fontes de código conforme necessário.
  • Pratique design e codificação seguros e equilibre usabilidade com segurança em UI e API.
  • Assine e verifique dados e mensagens do aplicativo usando o JCA e criptografe/descriptografe usando o JCE.
  • Incorpore a autenticação JAAS em um aplicativo.
  • Implemente um LoginModule JAAS para conectar-se aos dados do seu próprio aplicativo.
  • Proteja aplicativos Java EE por URL e função e integre a autenticação JAAS.
  • Evite armadilhas comuns de aplicativos Web Java, incluindo injeção de SQL e ataques de script entre sites
Publico Alvo
  • Programadores Java
Pre-Requisitos
  • Sólida experiência em programação Java
  • Algum conhecimento de arquitetura e desenvolvimento Java EE (recomendado)
Materiais
Português + Lab Pratico on premise vs cloud
Conteúdo Programatico

Java SE Security

  1. Holistic Security Practices
  2. Threats to the User
  3. The Class Loader and Bytecode Verifier
  4. System Classes and the Core API
  5. SecurityManager and AccessController
  6. Permissions
  7. Implication
  8. CodeSources
  9. Policies
  10. Configuring Java SE Security
  11. Dynamic Policies
  12. Privileged Actions

Code Signature and Key Management

  1. Encryption and Digital Signature
  2. Keystores
  3. Keys and Certificates
  4. Certificate Authorities
  5. The KeyStore API
  6. Signing JARs
  7. Signed CodeSources
  8. Additional Policy Semantics

Secure Development Practices: Java SE

  1. Code Injection
  2. Final Classes and Methods
  3. Singletons, Factories, and Flyweights
  4. Methods, Collections, and Data Hiding
  5. Sealing JARs
  6. Code Obfuscation
  7. Object Serialization

Cryptography

  1. Threats to Identity and Privacy
  2. The Java Cryptography Extensions
  3. The Signature Class
  4. SignedObjects
  5. The Java Cryptography Extensions
  6. SecretKeys and KeyGenerator
  7. The Cipher Class
  8. Dangerous Practices
  9. HTTP and JSSE

JAAS

  1. Pluggable Authentication Logic
  2. JAAS
  3. Packages and Interfaces
  4. Subjects and Principals
  5. ANDs and ORs
  6. Impersonation Methods
  7. Permissions for JAAS Use
  8. LoginContext and LoginModule
  9. Configuring JAAS
  10. CallbackHandler and Callbacks
  11. Implementing a JAAS Client
  12. Implementing a LoginModule

Java EE Security

  1. Java EE Servers as Code Hosts
  2. Tomcat Security Configuration
  3. Declaring Roles
  4. Securing URLs
  5. HTTP Authentication Schemes
  6. Securing EJBs
  7. Programmatic Security
  8. JAAS in Java EE
  9. Realms and LoginModules
  10. JAAS in Tomcat
  11. JACC
  12. Certifying a Java EE Application
  13. HTTPS Configuration

Secure Development Practices: Java EE

  1. Presentation-Tier Vulnerabilities
  2. User Accounts
  3. MVC and Security
  4. Validating User Input
  5. SQL Injection
  6. Cross-Site Scripting
  7. Reflected XSS
  8. Defeating XSS
  9. OWASP
  10. Penetration Testing
  11. Error Handling and Information Leakage
  12. Logging and Auditing
  13. Appendix A: Learning Resources
TENHO INTERESSE

Cursos Relacionados

Curso Python Programação Advanced

32 horas

Curso SAP ABAP S4hana Developer Foundation

32 horas

Curso Full Stack and React Essentials

32 Horas

Curso Node.js for JavaScript Developers

24 horas

Curso Elasticsearch for Developers

16H

Curso Elastic Stack Foundation

24 horas

Curso Apache Spark™ Foundation

8 Horas