Saltar a contenido

Index

Configuraciones de red inseguras

Descripción

La Configuración de Seguridad de Red de Android (Network Security Configuration) permite establecer de forma declarativa la seguridad de red de la aplicación.

Cuando la Configuración de Seguridad de Red de Android falta o está configurada de manera insegura, puede dejar a la aplicación vulnerable a ataques MiTM.

Recomendación

La Configuración de Seguridad de Red de Android es un archivo XML que permite establecer de forma declarativa la seguridad de red de la aplicación.

Agregue la configuración de seguridad de red a su aplicación:

1- Cree un nuevo archivo XML en el directorio res/xml de su aplicación. Nómbrelo network_security_config.xml, o cualquier otro nombre adecuado. 2- Defina las Configuraciones de Seguridad, vea los ejemplos a continuación 3- Aplique la Configuración al Manifiesto:

<application
        android:networkSecurityConfig="@xml/network_security_config"
        <!-- Other attributes -->
        >
        <!-- Other configurations -->
</application>  

Ejemplos de configuración de seguridad de red

  • Autoridad de Certificación personalizada con soporte para configuraciones exclusivas de depuración
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="@raw/debug_cas"/>
        </trust-anchors>
    </debug-overrides>
</network-security-config>
  • Exclusión declarativa para tráfico en texto claro
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="false">
        <domain includeSubdomains="true">secure.example.com</domain>
    </domain-config>
</network-security-config>
  • Configuración declarativa de claves de fijación de certificados (certificate pinning)
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config>
        <domain includeSubdomains="true">example.com</domain>
        <pin-set expiration="2018-01-01">
            <pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
            <!-- backup pin -->
            <pin digest="SHA-256">fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=</pin>
        </pin-set>
    </domain-config>
</network-security-config>

Enlaces

Estándares

  • OWASP_MASVS_L1:
    • MSTG_NETWORK_1
  • OWASP_MASVS_v2_1:
    • MASVS_NETWORK_1
  • HIPAA_CONTROLS:
    • SECURITY252
    • SECURITY212
    • SECURITY213
  • OWASP_MASVS_L2:
    • MSTG_NETWORK_1
  • PCI_STANDARDS:
    • REQ_1_2
    • REQ_2_2
  • CNIL_FOR_DEVELOPERS:
    • DEVELOPERS_4_1_4