Skip to content

Commit

Permalink
Merge pull request #4 from mauariza/patch-2
Browse files Browse the repository at this point in the history
Update 0x10-V5-Network_communication_requirements.md
  • Loading branch information
mpolastro authored May 27, 2020
2 parents 0c1a464 + 2aa6ab3 commit d372c71
Showing 1 changed file with 34 additions and 34 deletions.
68 changes: 34 additions & 34 deletions Document-ptbr/0x10-V5-Network_communication_requirements.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,39 @@
# V5: Network Communication Requirements
# V5: Requerimentos de Comunicação de Rede

## Control Objective
## Objetivo do Controle

The purpose of the controls listed in this section is to ensure the confidentiality and integrity of information exchanged between the mobile app and remote service endpoints. At the very least, a mobile app must set up a secure, encrypted channel for network communication using the TLS protocol with appropriate settings. Level 2 lists additional defense-in-depth measure such as SSL pinning.
O propósito dos controles listados nessa seção é garantir a confidencialidade e integridade das informações trocadas entre o aplicativo móvel e os *endpoints* de serviço remoto. Um aplicativo móvel deve, pelo menos, criar um canal seguro e criptografado para comunicação de rede utilizando o protocolo TLS com as configurações apropriadas. O Nível 2 lista medidas adicionais de defesa em profundidade, como fixação de SSL (*SSL Pinning*).

## Security Verification Requirements
## Requerimentos de Verificação de Segurança

| # | MSTG-ID | Description | L1 | L2 |
| # | MSTG-ID | Descrição | L1 | L2 |
| -- | -------- | ---------------------- | - | - |
| **5.1** | MSTG-NETWORK-1 | Data is encrypted on the network using TLS. The secure channel is used consistently throughout the app. |||
| **5.2** | MSTG-NETWORK-2 | The TLS settings are in line with current best practices, or as close as possible if the mobile operating system does not support the recommended standards. |||
| **5.3** | MSTG-NETWORK-3 | The app verifies the X.509 certificate of the remote endpoint when the secure channel is established. Only certificates signed by a trusted CA are accepted. |||
| **5.4** | MSTG-NETWORK-4 | The app either uses its own certificate store, or pins the endpoint certificate or public key, and subsequently does not establish connections with endpoints that offer a different certificate or key, even if signed by a trusted CA. | ||
| **5.5** | MSTG-NETWORK-5 | The app doesn't rely on a single insecure communication channel (email or SMS) for critical operations, such as enrollments and account recovery. | ||
| **5.6** | MSTG-NETWORK-6 | The app only depends on up-to-date connectivity and security libraries. | ||

## References

The OWASP Mobile Security Testing Guide provides detailed instructions for verifying the requirements listed in this section.

- General: Testing Network Communication - <https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04f-Testing-Network-Communication.md>
- Android: Testing Network Communication - <https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md>
- iOS: Testing Network Communication - <https://github.com/OWASP/owasp-mstg/blob/master/Document/0x06g-Testing-Network-Communication.md>

For more information, see also:

- OWASP Mobile Top 10: M3 (Insecure Communication) - <https://owasp.org/www-project-mobile-top-10/2016-risks/m3-insecure-communication>
- CWE 295 (Improper Certificate Validation) - <https://cwe.mitre.org/data/definitions/295.html>
- CWE 296 (Improper Following of a Certificate's Chain of Trust) - <https://cwe.mitre.org/data/definitions/296.html>
- CWE 297 (Improper Validation of Certificate with Host Mismatch) - <https://cwe.mitre.org/data/definitions/297.html>
- CWE 298 (Improper Validation of Certificate Expiration) - <https://cwe.mitre.org/data/definitions/298.html>
- CWE 308 (Use of Single-factor Authentication) - <https://cwe.mitre.org/data/definitions/308.html>
- CWE 319 (Cleartext Transmission of Sensitive Information) - <https://cwe.mitre.org/data/definitions/319.html>
- CWE 326 (Inadequate Encryption Strength) - <https://cwe.mitre.org/data/definitions/326.html>
- CWE 327 (Use of a Broken or Risky Cryptographic Algorithm) - <https://cwe.mitre.org/data/definitions/327.html>
- CWE 780 (Use of RSA Algorithm without OAEP) - <https://cwe.mitre.org/data/definitions/780.html>
- CWE 940 (Improper Verification of Source of a Communication Channel) - <https://cwe.mitre.org/data/definitions/940.html>
- CWE 941 (Incorrectly Specified Destination in a Communication Channel) - <https://cwe.mitre.org/data/definitions/941.html>
| **5.1** | MSTG-NETWORK-1 | Os dados são criptografados na rede utilizando TLS. O canal seguro é utilizado de forma consistente através do aplicativo. |||
| **5.2** | MSTG-NETWORK-2 | As configurações do TLS estão alinhadas com as melhores práticas atuais, ou o mais próximas possível se o sistema operacional móvel não oferece suporte aos padrões recomendados. |||
| **5.3** | MSTG-NETWORK-3 | O aplicativo verifica o certificado X.509 do *endpoint* remoto quando o canal seguro é estabelecido. Apenas certificados assinados por uma CA confiável são aceitos. |||
| **5.4** | MSTG-NETWORK-4 | O aplicativo utiliza seu próprio armazenamento de certificados, ou define um certificado ou chave pública do *endpoint* e, posteriormente, não estabelece conexões com *endpoints* que ofereçam um certificado ou chave diferente, mesmo que assinados por uma CA confiável. | ||
| **5.5** | MSTG-NETWORK-5 | O aplicativo não confia em um único canal de comunicações inseguro (email ou SMS) para operações críticas, como registros/cadastros ou recuperação de conta. | ||
| **5.6** | MSTG-NETWORK-6 | O aplicativo depende de conectividade e bibliotecas de segurança atualizadas. | ||

## Referências

O Guia de Teste de Segurança de Aplicações Móveis da OWASP provê instruções detalhadas para verificar os requerimentos listados nessa seção.

- Geral: Testando Comunicações de Rede (em inglês) - <https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04f-Testing-Network-Communication.md>
- Android: Testando Comunicações de Rede (em inglês) - <https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md>
- iOS: Testando Comunicações de Rede (em inglês) - <https://github.com/OWASP/owasp-mstg/blob/master/Document/0x06g-Testing-Network-Communication.md>

Para mais informações, veja também (em inglês):

- OWASP Mobile Top 10: M3 (Communicação Insegura) - <https://owasp.org/www-project-mobile-top-10/2016-risks/m3-insecure-communication>
- CWE 295 (Validação Inadequada de Certificados) - <https://cwe.mitre.org/data/definitions/295.html>
- CWE 296 (Seguindo uma Cadeia de Confiança de Certificado Incorretamente) - <https://cwe.mitre.org/data/definitions/296.html>
- CWE 297 (Validação Inadequada de Certificado com Incompatibilidade de *Host*) - <https://cwe.mitre.org/data/definitions/297.html>
- CWE 298 (Validação Inadequada de Expiração de Certificado) - <https://cwe.mitre.org/data/definitions/298.html>
- CWE 308 (Uso de Autenticação de Fator Único) - <https://cwe.mitre.org/data/definitions/308.html>
- CWE 319 (Transmissão em Texto Claro de Informações Sensíveis) - <https://cwe.mitre.org/data/definitions/319.html>
- CWE 326 (Encriptação com Força Inadequada) - <https://cwe.mitre.org/data/definitions/326.html>
- CWE 327 (Uso de Algoritmos Criptográficos Quebrados ou de Risco) - <https://cwe.mitre.org/data/definitions/327.html>
- CWE 780 (Uso de Algoritmo RSA sem OAEP) - <https://cwe.mitre.org/data/definitions/780.html>
- CWE 940 (Verificação Inadequada de Origem em um Canal de Comunicação) - <https://cwe.mitre.org/data/definitions/940.html>
- CWE 941 (Especificação Incorreta de Destino em um Canal de Comunicação) - <https://cwe.mitre.org/data/definitions/941.html>

0 comments on commit d372c71

Please sign in to comment.