Los siguientes requisitos de seguridad de datos corresponden a la evaluación de protección de datos de 2023.
En el caso de las versiones de evaluación recibidas después de febrero de 2024, consulta esta página.
Las apps que tienen acceso a determinados tipos de datos de la plataforma de Meta deben completar anualmente la evaluación de protección de datos (DPA). Dicha evaluación está diseñada para determinar si los desarrolladores cumplen con los requisitos de las Condiciones de la plataforma de Meta en lo que respecta al uso, la divulgación y la protección de los datos de la plataforma. Un subconjunto del cuestionario de la DPA se centra en la Condición 6 de la plataforma, en la que se describen los requisitos de seguridad de los datos. Te recomendamos que utilices este documento para comprender las expectativas, los requisitos y la evidencia relacionada con respecto al uso y el procesamiento de la seguridad de los datos, según se define en las Condiciones de la plataforma de Meta.
Ten en cuenta que, al final de este documento, se incluye un glosario con términos clave y definiciones.
Encuentra más recursos de video del protocolo de datos.
En este documento, la frase del servidor se usa para hacer referencia a todos los entornos de backend que una organización utiliza para tratar los datos de la plataforma, ya sea que estén en un host en la nube como Amazon Web Services (AWS), que los aloje el desarrollador en un centro de datos compartido o exclusivo, o que se encuentren en un espacio híbrido (una combinación de los dos).
Los requisitos del cliente se refieren al tratamiento de datos de la plataforma dentro de navegadores, dispositivos móviles, apps en computadoras de escritorio y portátiles, y otros tipos de dispositivos que usan las personas.
Crea (o actualiza, en caso de ser necesario) un diagrama o una descripción del flujo de datos que ilustre cómo la app o el sistema trata datos de la plataforma.
Al final, el diagrama o la descripción del flujo de datos debería incluir:
Es posible que debas enviar evidencia para respaldar las respuestas relativas a las medidas de protección de seguridad de los datos que implementes. Te recomendamos leer la Guía de evidencia incluida en este documento, donde hay ejemplos de documentos aceptados y cómo prepararlos. Aceptamos los tipos de archivos habituales junto con capturas y grabaciones de pantalla. Asegúrate de que los archivos no estén protegidos con contraseña. Puedes subir varios archivos, con un límite de 2 GB por archivo. Aceptamos archivos con extensión .xls, .xlsx, .csv, .doc, .docx, .pdf, .txt, .jpeg, .jpg, .png, .ppt, .pptx, .mov, .mp4, .zip y .zipx.
Antes de enviar evidencia, asegúrate de ocultar (eliminar) los datos confidenciales que pueda tener.
Para las apps que requieren subir evidencia relacionada con prácticas de protección de seguridad de datos, Meta exige dos tipos de documento:
Evidencia de política o procedimiento, también denominado control administrativo, hace referencia a un documento escrito que describe el enfoque de una determinada práctica de protección de seguridad de datos. El formato de esta clase de documento puede variar: puede ser un extracto de un conjunto de políticas internas, un fragmento o la totalidad de una página de la wiki interna, o bien un documento nuevo creado con este propósito en el caso de que no cuentes con ningún documento preexistente. En cualquier caso, la evidencia de política o procedimiento que subas debe explicar con claridad cómo se relaciona el enfoque de una política determinada con los requisitos de Meta. Debes proporcionar únicamente la política o el documento que resulte relevante y necesario para las revisiones de seguridad de Meta, o utilizar el cuadro de texto vacío asociado con la pregunta en cuestión para dirigir a nuestros revisores a la(s) sección(es) relevante(s).
La evidencia de implementación muestra la manera en que implementaste la política o el procedimiento en la práctica directamente mediante una captura o grabación de pantalla. Como los desarrolladores no utilizan siempre las mismas configuraciones, no podemos proporcionar ejemplos para cada situación. La evidencia de implementación debe, en la medida de lo posible, demostrar el mismo nivel de detalle que el de los ejemplos que proporcionamos.
Entendemos que puede resultar complejo preparar evidencia de implementación que demuestren cabalmente la implementación de una determinada práctica de protección de la seguridad de los datos. En este sentido, debes enviar evidencia según las pautas indicadas a continuación, procurando ocultar la información confidencial del documento antes de enviarlo:
No envíes evidencia que contenga alguno de estos valores de manera legible (sin ocultar). Si utilizas un editor de imágenes para hacer una captura de pantalla, superpone un cuadro de texto negro sobre el valor en cuestión. Si utilizas un editor de PDF, asegúrate de ocultar el texto utilizando una herramienta que realmente elimine el valor en lugar de solo superponer una capa y conservar el texto (p. ej., la herramienta de eliminación en la app de previsualización de Apple).
Pregunta: ¿Aplicas el cifrado en reposo a todos los datos de la plataforma almacenados en una nube, servidor o entorno de centro de datos?
El cifrado en reposo protege los datos de la plataforma solicitando una clave de descifrado independiente para desencriptarlos. Se trata de una medida adicional de seguridad contra accesos de lectura no autorizados.
Si almacenas datos de la plataforma en el servidor:
En caso de que el desarrollador NO almacene datos de la plataforma en el servidor, no se aplicará este requisito.
Esta pregunta es pertinente si almacenas datos de la plataforma a través del hospedaje IaaS (como AWS EC2, Microsoft Azure IaaS o Google Compute Engine), autohospedaje o un enfoque híbrido.
Sin embargo, hay otros modelos de hospedaje backend que se consideran casos especiales.
Esta pregunta no es pertinente si almacenas datos de la plataforma mediante alguna de las siguientes opciones (y no usas IaaS, autohospedaje ni hospedaje híbrido). En su lugar, debes describir esta relación en la sección Proveedor de servicios de la evaluación de protección de datos.
Esta pregunta no es pertinente si almacenas datos de la plataforma mediante la API de Meta, por ejemplo, usando player.setDataAsync()
, en el SDK de juegos instantáneos.
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación.
AWS RDS: el cifrado en reposo es una opción configurable en AWS RDS, por lo que es necesario que los desarrolladores la seleccionen para que se aplique la protección.
Para obtener una instancia de RDS representativa que contenga datos de la plataforma, recupera su configuración StorageEncrypted con la herramienta AWS CLI.
# List RDS instances in default region $ aws rds describe-db-instances \ --query 'DBInstances[*].DBInstanceIdentifier' [ "database-1", "database-2" ] # For each instance returned, retrieve the storage encrypted config $ aws rds describe-db-instances \ --db-instance-identifier database-1 \ --query 'DBInstances[*].StorageEncrypted' [ true ] $ aws rds describe-db-instances \ --db-instance-identifier database-2 \ --query 'DBInstances[*].StorageEncrypted' [ true ]
De forma predeterminada, AWS DynamoDB está cifrado en reposo. La configuración del cifrado en reposo para una tabla puede recuperarse mediante los comandos que se indican a continuación.
$ aws dynamodb list-tables --output table -------------- | ListTables | +------------+ ||TableNames|| |+----------+| || Users || |+----------+| $ aws dynamodb describe-table \ --table-name Users \ --query "Table.SSEDescription.Status" "ENABLED"
AWS DocumentDB debe estar configurado para aplicar cifrado en reposo. Para obtener un clúster representativo que contenga datos de la plataforma, usa los siguientes comandos para recuperar la configuración StorageEncrypted.
$ aws docdb describe-db-clusters --query 'DBClusters[*].DBClusterIdentifier' [ "docdb-users" ] $ aws docdb describe-db-clusters \ --db-cluster-identifier 'docdb-users' \ --query 'DBClusters[*].StorageEncrypted' [ true ]
Los contenedores AWS S3 pueden configurarse para aplicar el cifrado en reposo a todos los objetos creados dentro de ellos. Usa estos comandos para ver una lista de los contenedores y recuperar la configuración del cifrado predeterminado del contenedor.
$ aws s3api list-buckets --output table --query "Buckets[*].Name" --------------------------------------------- | ListBuckets | +-------------------------------------------+ | platform.storage | +-------------------------------------------+ $ aws s3api get-bucket-encryption \ --bucket platform.storage \ --query "ServerSideEncryptionConfiguration.Rules[*].ApplyServerSideEncryptionByDefault" \ --output table --------------------- |GetBucketEncryption| +-------------------+ | SSEAlgorithm | +-------------------+ | AES256 | +-------------------+
Consulta la documentación de Microsoft sobre el cifrado en reposo en Azure que sea pertinente para el uso que hace la organización de sus servicios.
Consulta la documentación de Google sobre el cifrado en reposo en Google Cloud Platform.
Si no implementas cifrado en reposo en el entorno del servidor, puedes proteger los datos de la plataforma de un modo alternativo que también sea aceptable. En tal caso, tienes que describir los siguientes elementos:
Pregunta: Específicamente en relación con los datos almacenados en dispositivos personales y de la organización: ¿Aplicas cifrado en reposo o implementas políticas y reglas para reducir el riesgo de pérdida de datos para todos los datos de la plataforma almacenados en estos dispositivos?
En caso de que un desarrollador permita almacenar datos de la plataforma en dispositivos como computadoras portátiles de empleados o unidades de almacenamiento extraíbles (p. ej., unidades USB), existe un riesgo alto de que se acceda a ellos sin autorización en caso de robo o pérdida del dispositivo. Por esta razón, es necesario que los desarrolladores adopten medidas para minimizar este riesgo.
A fin de reducir el riesgo de acceso no autorizado a los datos de la plataforma, los desarrolladores deben disponer de controles técnicos (opción recomendada) o controles administrativos (opción no recomendada, pero aceptable). Estos controles deben ser pertinentes para los datos de la plataforma almacenados en los dispositivos de la organización (p. ej., portátiles) y medios extraíbles.
Este requisito se aplica tanto si se tratan datos de la plataforma del lado del servidor como si no.
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación.
Puedes utilizar una de las siguientes opciones o ambas: a) controles técnicos (p. ej., cifrado de disco) o b) reglas o políticas para reducir el riesgo de pérdida de datos de la plataforma almacenados en dispositivos de la organización, como computadoras portátiles y teléfonos celulares.
Ejemplos de controles técnicos:
Ejemplos de reglas o políticas:
Una organización clasifica los datos de la plataforma de Meta como "datos privados" según su norma de clasificación de datos. La organización creó normas de gestión de los datos y obliga a todo el personal a conocer y cumplir estas políticas.
Pregunta: ¿Activas el protocolo de seguridad TLS 1.2 o una versión posterior para todas las conexiones de red que atraviesan, conectan o cruzan las redes públicas en las que se transmiten los datos de la plataforma? ¿Te aseguras también de que los datos de la plataforma nunca se transmitan a través de redes públicas sin cifrar (p. ej., por HTTP o FTP) y de que nunca se usen los protocolos de seguridad SSL v2 y SSL v3?
Los datos de la plataforma que se transmiten a través de internet son accesibles para todas las personas que pueden consultar el tráfico de la red. Por lo tanto, debes protegerlos mediante cifrado para impedir su lectura por parte de terceros no autorizados.
Ya sea que trates o no datos de la plataforma en el servidor:
En la tabla a continuación, se ofrece un resumen de la política del cifrado en tránsito para los diferentes tipos de transmisión.
Tipo de transmisión | Política del cifrado en tránsito |
---|---|
Desde los dispositivos de los usuarios finales (teléfonos celulares, PC, tabletas, etc.) hasta tu servidor o infraestructura en la nube, y viceversa. |
|
Desde el servidor o infraestructura en la nube hasta servidores remotos, infraestructuras en la nube o servicios 4PL, y viceversa. | Debe aplicarse TLS 1.2 (o posterior). |
Desde o hasta componentes que pertenezcan íntegramente a la infraestructura en la nube, servidor o centro de datos privado. | Se recomienda el cifrado TLS, pero no es obligatorio, para las transferencias de datos de la plataforma que tengan lugar íntegramente dentro de redes de nube privadas. |
Desde Meta hasta cualquier dispositivo, servidor o infraestructura en la nube, y viceversa. | Quedan excluidas las transferencias necesarias para la realización de la evaluación de protección de datos (Meta controla la política de TLS en estos casos). |
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación. Usar la herramienta de prueba del servidor SSL de Qualys es una manera directa de producir evidencia de implementación que demuestre la configuración de uno de los agentes de escucha web.
Este es un ejemplo generado a partir de la herramienta de prueba del servidor SSL de Qualys. Ten en cuenta las anotaciones en rojo en la sección "Configuración", que resumen qué versiones de SSL/TLS son compatibles. Nota: Este ejemplo incluye solo las primeras dos páginas, pero debes incluir el resultado completo de la prueba.
Es posible que protejas los datos en tránsito de la plataforma mediante diferentes tipos de cifrado, además de TLS. Esto puede ser aceptable si el enfoque proporciona un nivel de protección equivalente. En este caso, debes enviar los detalles sobre el tipo de cifrado usado en Meta para revisar lo siguiente:
Pregunta: ¿Realizas pruebas a la app y los sistemas para detectar vulnerabilidades y problemas de seguridad cada 12 meses como mínimo? Por ejemplo, ¿realizas pruebas de penetración manuales?
Los desarrolladores deben realizar pruebas que permitan descubrir de manera proactiva posibles vulnerabilidades y problemas de seguridad para, en un escenario óptimo, evitar incidentes incluso antes de que se produzcan.
Aplicables a todos los desarrolladores:
Requisitos adicionales para desarrolladores que tratan datos de la plataforma en el servidor:
Si la organización considera agregar la herramienta SAST al proceso de desarrollo, NIST conserva una lista de herramientas de código abierto y comerciales que pueden resultar útiles como punto de partida para elegir una herramienta.
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación.
Si la organización trata los datos de la plataforma en un entorno de servidor o nube, debes hacer lo siguiente:
El software del servidor o la nube con acceso desde internet (por ejemplo, la API REST que usan los clientes web o de telefonía celular) que usas para tratar los datos de la plataforma debe estar dentro del alcance de esta prueba para que se considere aceptable.
Si la organización NO trata los datos de la plataforma en un entorno de servidor o nube, debes hacer lo siguiente:
Prueba de penetración: una organización encarga una prueba de penetración del software que ejecuta en el servidor y que se integra con las API de Meta y trata los datos de la plataforma. La empresa que realiza la prueba la completa y elabora un informe resumido como el que figura debajo. Observa las anotaciones en color rojo, que indican la fecha en que se realizó la prueba (debe ser dentro de los últimos 12 meses). También se ofrece un resumen de las vulnerabilidades críticas o graves no resueltas en el momento en que concluye la prueba (o la repetición de la prueba, si corresponde). Elimina o reformula información confidencial del informe (en particular, los pasos detallados de reproducción de la vulnerabilidad) antes de enviarlo.
Análisis estático: si se aplica un enfoque diferente, por ejemplo, una herramienta SAST, exporta los resultados a un documento que incluya la fecha en que se ejecutó la herramienta SAST y una lista de los hallazgos que indique el tipo de problema detectado y si es grave o crítico.
Revisión de configuración de la nube
Un desarrollador usa NCC Scout Suite con el conjunto de reglas predeterminado de su proveedor de servicios en la nube (en este caso, AWS) para revisar la configuración de la nube y detectar vulnerabilidades y problemas de seguridad. La herramienta genera un archivo JSON que incluye los resultados detallados de la ejecución. En este ejemplo, hay diversos problemas marcados con el nivel de gravedad "Peligro", que el desarrollador debe revisar y resolver.
El archivo JSON sin procesar de NCC Scout Suite incluye los detalles sobre el entorno en la nube que no debes subir. En cambio, filtra las respuestas para mostrar el número de hallazgos según el nivel de gravedad.
$ python3 scout.py aws –-no-browser 2022-08-22 11:39:38 localhost scout[76981] INFO Saving data to scoutsuite-report/scoutsuite-results/scoutsuite_results_aws-043954759379.js $ cd scoutsuite-report/scoutsuite-results $ tail -n +2 scoutsuite_results_aws-043954750000.js| jq '. | {last_run}' | pbcopy { "last_run": { "ruleset_about": "This ruleset consists of numerous rules that are considered standard by NCC Group. The rules enabled range from violations of well-known security best practices to gaps resulting from less-known security implications of provider-specific mechanisms. Additional rules exist, some of them requiring extra-parameters to be configured, and some of them being applicable to a limited number of users.", "ruleset_name": "default", "run_parameters": { "excluded_regions": [], "regions": [], "services": [], "skipped_services": [] }, "summary": { "acm": { "checked_items": 4, "flagged_items": 2, "max_level": "warning", "resources_count": 2, "rules_count": 2 }, "awslambda": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "cloudformation": { "checked_items": 11, "flagged_items": 0, "max_level": "warning", "resources_count": 11, "rules_count": 1 }, "cloudfront": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 3 }, "cloudtrail": { "checked_items": 153, "flagged_items": 4, "max_level": "danger", "resources_count": 17, "rules_count": 9 }, "cloudwatch": { "checked_items": 2, "flagged_items": 0, "max_level": "warning", "resources_count": 2, "rules_count": 1 }, "codebuild": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "config": { "checked_items": 17, "flagged_items": 0, "max_level": "warning", "resources_count": 1227, "rules_count": 1 }, "directconnect": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "dynamodb": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 1, "rules_count": 0 }, "ec2": { "checked_items": 760, "flagged_items": 108, "max_level": "danger", "resources_count": 44, "rules_count": 28 }, "efs": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "elasticache": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "elb": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 3 }, "elbv2": { "checked_items": 42, "flagged_items": 4, "max_level": "danger", "resources_count": 0, "rules_count": 5 }, "emr": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "iam": { "checked_items": 801, "flagged_items": 27, "max_level": "danger", "resources_count": 87, "rules_count": 37 }, "kms": { "checked_items": 15, "flagged_items": 0, "max_level": "warning", "resources_count": 15, "rules_count": 1 }, "rds": { "checked_items": 1, "flagged_items": 0, "max_level": "warning", "resources_count": 27, "rules_count": 9 }, "redshift": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 6 }, "route53": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 1, "rules_count": 3 }, "s3": { "checked_items": 121, "flagged_items": 34, "max_level": "warning", "resources_count": 7, "rules_count": 18 }, "secretsmanager": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 1, "rules_count": 0 }, "ses": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 4 }, "sns": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 7 }, "sqs": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 8 }, "vpc": { "checked_items": 271, "flagged_items": 211, "max_level": "warning", "resources_count": 0, "rules_count": 9 } }, "time": "2022-08-22 11:42:25-0400", "version": "5.11.0" } }
Otro enfoque para revisar la configuración de la nube para desarrolladores que usan el conjunto de reglas de Amazon Web Services.
# Show that AWS Foundational Security Best Practices are enabled $ aws securityhub get-enabled-standards { "StandardsSubscriptions": [ { "StandardsSubscriptionArn": "arn:aws:securityhub:us-west-1:043954759379:subscription/aws-foundational-security-best-practices/v/1.0.0", "StandardsArn": "arn:aws:securityhub:us-west-1::standards/aws-foundational-security-best-practices/v/1.0.0", "StandardsStatus": "READY" } ] } # Show that aggregator is configured for a representative region used to process Platform Data $ aws securityhub list-finding-aggregators $ aws securityhub get-finding-aggregator --finding-aggregator-arn '{REPLACE-WITH-FINDING-AGGREGATOR-ARN}' # Demonstrate that the ruleset is running by fetching active findings and counting the number of lines of output $ aws securityhub get-findings --query 'Findings[?RecordState==`ACTIVE`]' --filters '{"GeneratorId":[{"Value": "aws-foundational-security","Comparison":"PREFIX"}]}' --output text | wc -l 4876 # Demonstrate that there are no active critical severity findings $ aws securityhub get-findings --query 'Findings[?Severity.Label==`CRITICAL`] | [?RecordState==`ACTIVE`] | [*][Title, GeneratorId]' --filters '{"GeneratorId":[{"Value": "aws-foundational-security","Comparison":"PREFIX"}]}' []
Si estás implementando un Programa de divulgación de vulnerabilidad activo (VDP), por ejemplo, las plataformas BugCrowd o HackerOne, puedes presentarlo como medida de protección alternativa en lugar de una prueba de penetración o un análisis de vulnerabilidades. Para demostrarlo, debes presentar evidencia que indique lo siguiente:
En este caso, la evidencia debe incluir lo siguiente:
Pregunta: ¿Se protegen la clave secreta de la app y los tokens de acceso a la API de Meta mediante ambas medidas?
Las claves secretas de la app y los tokens de acceso son fundamentales como medida de seguridad cuando las API de Meta toman decisiones sobre qué acciones deben permitir. Si un agente no autorizado accede a estas credenciales, podría llamar a las API de Meta suplantando la identidad del auténtico desarrollador y realizar cualquiera de las acciones que autorizamos en la app (p. ej., leer los datos de nuestras API sobre los usuarios de la app).
Tokens de acceso
Clave secreta de la app. Debe darse uno de estos dos supuestos:
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación.
Incluye documentación sobre la política de protección de la clave secreta de la app y los tokens de acceso a la API de Meta. Si la app procesa tokens de acceso de Meta en el servidor, incluye evidencia que demuestre las protecciones que adoptas (p. ej., uso de un repositorio, evidencia que muestre que los valores se almacenan en un formato cifrado o configuración de la app que exija que se compruebe la clave secreta).
En la evidencia presentada, asegúrate de no incluir (es decir, eliminar) los valores de texto sin formato de cualquier clave secreta o token de acceso.
Una organización usa AWS Secrets Manager para almacenar datos confidenciales de forma segura, incluida la clave secreta de la app de Meta.
Una organización configuró su app de Meta de modo que se exija comprobar la clave secreta de la app en llamadas a la API.
Pregunta: ¿pruebas los sistemas y los procesos que usarías para responder ante un incidente de seguridad (p. ej., filtración de datos o ciberataque) al menos cada 12 meses?
Todas las empresas se enfrentan a incidentes de seguridad en algún momento. Por lo tanto, es crucial que las organizaciones planifiquen con antelación quién debe aplicar cada medida para controlar el incidente, comunicarlo a las partes interesadas, recuperarse y aprender de lo ocurrido.
El desarrollador debe contar con lo siguiente:
Este requisito se aplica tanto si se tratan datos de la plataforma del lado del servidor como si no.
Sigue las instrucciones que figuran en Preparación de evidencia a fin de preparar evidencia tanto de política y procedimiento como de implementación.
Una desarrollador elaboró un plan de respuesta a incidentes integral en función de esta plantilla. En estas imágenes, se muestra solo el índice de contenido, pero debajo hay un enlace que dirige a la plantilla completa.
Consulta la plantilla del plan de respuesta a incidentes de Counteractive (formato docx) completa.
Un desarrollador puso a prueba su plan de respuesta a incidentes mediante un ejercicio de preparación y documentó los resultados en esta plantilla.
Aquí se incluyen solo las dos primeras páginas, pero debes enviar el documento en su totalidad.
Pregunta: ¿Requieres autenticación multifactor para el acceso remoto a todas las cuentas que se pueden conectar a tu entorno en la nube o de servidor o que pueden acceder a los servicios que usas para implementar, mantener, supervisar y operar los sistemas en los que almacenas los datos de la plataforma de Meta?
Una técnica que los agentes malintencionados suelen emplear para acceder a datos confidenciales es obtener acceso en primer lugar a las herramientas con las que un desarrollador crea u opera su app o sistema. Existen herramientas sofisticadas diseñadas para hackear las cuentas que solo están protegidas con contraseñas. La autenticación multifactor constituye una medida adicional de seguridad que nos ayuda a protegernos frente a este riesgo.
En lo que respecta al tratamiento de los datos de la plataforma por parte de las organizaciones, este tipo de autenticación (que no se limita a solicitar una contraseña) puede proteger la integridad del acceso remoto a las siguientes herramientas:
En concreto, se requiere autenticación multifactor o una protección alternativa aceptable en los siguientes casos:
Respecto a la implementación de la autenticación multifactor:
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación.
Una organización usa AzureAD como solución de inicio de sesión único. Esta política requiere autenticación multifactor.
A continuación, se determinan las apps de la nube para las que se aplica esta política. Con este enfoque, la evidencia debe mostrar la totalidad de la sección Elementos seleccionados para aclarar qué apps de la nube requieren autenticación multifactor.
Esta regla requiere autenticación multifactor en todos los inicios de sesión.
Este es un ejemplo de una política de AWS IAM que permite configurar la autenticación multifactor, pero prohíbe otras acciones si dicha autenticación no está presente.
Una organización configuró la autenticación de GitHub para requerir la autenticación multifactor a todos los miembros de la organización.
Pregunta: ¿Dispones de un sistema de mantenimiento de cuentas (asignación, revocación, revisión del acceso y los privilegios)?
Mantener un buen estado de administración de las cuentas es muy importante para evitar que estas se utilicen de forma no autorizada con el objetivo de acceder a los datos de la plataforma. Concretamente, los desarrolladores deben asegurarse de revocar el acceso a los recursos o sistemas cuando ya no sea necesario.
Este requisito se aplica tanto si se tratan datos de la plataforma del lado del servidor como si no.
Sigue las instrucciones que figuran en Preparación de evidencia a fin de preparar evidencia tanto de política y procedimiento como de implementación.
Política o procedimiento: un desarrollador creó una norma de administración del ciclo de vida de acceso que incluye procedimientos para conceder, revisar y revocar el acceso.
Un desarrollador usa Workday como fuente confiable de datos de Recursos Humanos (RR. HH.), incluida información sobre situación laboral actual. Este desarrollador usa Google Cloud Identity como proveedor de identidad (IdP) para administrar cuentas de usuarios y otorgar acceso a herramientas y sistemas de información.
Un desarrollador presenta evidencia que indica que se revoca el acceso de exempleados. Para ello, presenta un informe que muestra que se ejecutó un informe de reconciliación reciente (es decir, en los 12 meses) en el que se constata que no existen cuentas de usuario activas en Google Cloud Identity de empleados que ya no están trabajando, conforme a un informe de Workday sobre empleados actuales.
Un desarrollador usa Google Cloud Identity como su proveedor de identidad (IdP) para administrar cuentas de usuarios y otorgar acceso a herramientas y sistemas de información.
Un desarrollador presenta evidencia que indica que se revoca el acceso cuando ya no se utiliza (es decir, no hubo inicios de sesión en los últimos seis meses). Para ello, usa el directorio de usuarios almacenado por inicio de sesión más reciente con el objetivo de demostrar que no existen cuentas de usuario activas en las que el último inicio de sesión fuera anterior a este.
Un desarrollador usa una herramienta de inicio de sesión único (SSO) para la administración de identidades y para conceder acceso a herramientas y sistemas de información. El desarrollador configuró GitHub para que solicite autenticación mediante SSO.
Pregunta: ¿Tienes un sistema para mantener actualizados los entornos y el código del sistema, que incluya servidores, máquinas virtuales, distribuciones, bibliotecas, paquetes y software antivirus?
Los componentes de software se actualizan o corrigen constantemente para resolver vulnerabilidades de seguridad y, finalmente, agotan su vida útil cuando ya no son compatibles. Los desarrolladores que aprovechan o necesitan estos componentes deben disponer de información actualizada para no ejecutar software en el que se hayan detectado vulnerabilidades.
En el caso de los siguientes componentes de software (según corresponda), necesitas medios definidos que te permitan identificar reiteradamente los parches disponibles para resolver las vulnerabilidades de seguridad, priorizar el riesgo y aplicar los parches de forma continua:
Meta no requiere el uso de una herramienta específica para estas actividades. Es habitual que una organización use varios enfoques para mantener actualizados distintos tipos de software (p. ej., bibliotecas en la app frente a actualizaciones del sistema operativo de las computadoras portátiles de los empleados).
Este requisito se aplica independientemente del enfoque de hospedaje (p. ej., BaaS, PaaS, IaaS, autohospedaje modalidad híbrida), aunque el conjunto de componentes que debes mantener actualizados variará.
El siguiente diagrama muestra los casos en los que quizá sea necesario aplicar parches en distintos tipos de arquitecturas.
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación.
Dentro del ámbito de aplicación, comienza identificando los tipos de software en el entorno, p. ej., bibliotecas, SDK, paquetes, imágenes de máquina virtual, contenedores de apps, navegadores, sistemas operativos y otras apps que utilicen los empleados o colaboradores.
Es posible que cuentes con una o más herramientas que usas en las siguientes actividades:
Snyk para una aplicación de NodeJS: un desarrollador usa la interfaz de línea de comandos (CLI) de Synk para identificar dependencias empaquetadas de terceros con vulnerabilidades de seguridad conocidas y prioriza estas últimas en función de su gravedad.
Un desarrollador usa NPM Audit para detectar vulnerabilidades en las dependencias usadas en una app de nodo. La siguiente imagen de ejemplo muestra diversas vulnerabilidades muy graves que requieren un parche.
Un desarrollador usa Trivy para detectar vulnerabilidades en una imagen de máquina. La siguiente imagen de ejemplo muestra diversas vulnerabilidades muy graves en bibliotecas incluidas en esta imagen que requieren un parche.
Un desarrollador usa Windows Server Update Services (WSUS) para administrar su flota de servidores y equipos de escritorio o portátiles. La siguiente imagen de ejemplo muestra una vista de administrador de la herramienta WSUS, que permite revisar, aprobar e implementar actualizaciones de Windows.
Sin archivos de registro confiables, puede resultarles difícil a los desarrolladores detectar el acceso no autorizado a los datos de la plataforma.
Si tratas datos de la plataforma en el servidor, debes hacer lo siguiente en dicho entorno:
Si se te solicita presentar evidencia, debes demostrar lo siguiente:
Para una organización, conocer las expectativas de tratamiento de los datos de la plataforma y, luego, supervisar el tratamiento real son factores fundamentales para garantizar que dichos datos solo se usen para los fines previstos.
Si tratas datos de la plataforma en el servidor, debes hacer lo siguiente en el entorno de dicho servidor:
Si se te solicita presentar evidencia que demuestre esta protección, sigue las instrucciones que figuran en Preparación de evidencia para preparar evidencia que demuestre tanto la política o el procedimiento como la implementación.
Debes proporcionar evidencia que indiquen lo siguiente:
No es realista depender de personas para que revisen e identifiquen de forma manual comportamientos inesperados en un sistema moderno al que se puede acceder por internet. En lugar de ello, existen herramientas que pueden procesar archivos de registro y otras señales a fin de alertar sobre situaciones que se deben investigar más a fondo.
Si tratas datos de la plataforma en el servidor, debes hacer lo siguiente en el entorno de dicho servidor:
Un desarrollador comúnmente adoptaría una herramienta de administración de eventos y seguridad de la información para este fin, por ejemplo:
Debes proporcionar evidencia que indique que las fuentes de señales relevantes se dirigen a la herramienta elegida, que se configuraron alarmas o desencadenantes, que las alarmas se dirigen al personal responsable del seguimiento y, por último, que hay un proceso por el cual se ajustan las alarmas de manera periódica (por ejemplo, mediante revisión mensual o ciclos de actualización).
Tercero o tercera parte: En la terminología de administración de riesgos, tercero o tercera parte se refiere a los desarrolladores de la plataforma de Meta (la primera parte es Meta y la segunda parte son las personas que usan los productos de Meta).
Cuarta parte: En la terminología de administración de riesgos, la cuarta parte hace referencia a las firmas en las que los desarrolladores dependen para prestarles servicios que les permitan llevar adelante sus negocios (la primera parte es Meta, la segunda parte son las personas que usan los productos de Meta y la tercera parte son los desarrolladores de la plataforma de Meta). Token de acceso: Una credencial, como una contraseña, que le permite al software llamar a una API para que realice una determinada acción (p. ej., leer datos del perfil de un usuario).
Amazon Web Services (AWS): Paquete de servicios de informática en la nube de Amazon.
Identificador específico de la app (ASID): Un identificador único que genera Meta cuando una persona elige usar una app. Los ASID ayudan a mejorar la privacidad de los usuarios al dificultar que los conjuntos de datos correlacionen los usuarios entre las apps, ya que un único usuario que use dos apps tendrá diferentes ASID en cada una.
Clave secreta de la app: Una clave secreta compartida que Meta pone a disposición de los desarrolladores a través del panel de apps. Contar con la clave secreta de la app autoriza al software a realizar algunas acciones a través de la API Graph; por lo tanto, los desarrolladores deben vigilar que las personas no autorizadas no puedan obtener acceso a la clave secreta de la app.
App comprometida: Si un agente malintencionado obtiene acceso no autorizado a la red interna de una organización a través de un error de configuración o vulnerabilidad en su app (p. ej., una vulnerabilidad del software en una app web), se dice que la app está comprometida. Una defensa contra una app comprometida es ejecutar una prueba de penetración en la app. Consulta también "red comprometida".
Contenedor de la app: Un contenedor empaqueta el código de software y las dependencias relacionadas para que la app se ejecute en diferentes tipos de servidores (p. ej., servidores que ejecutan diferentes sistemas operativos como Linux o Windows Server). Un desarrollador creará una imagen de un contenedor que empaquete su app. El motor o software de tiempo de ejecución de una app hospeda (ejecuta) la imagen del contenedor.
Cifrado de la app: Método para proteger los datos donde el software de la app realiza las operaciones de cifrado y descifrado. Por el contrario, la seguridad de la capa de transporte (TLS) cifra fácilmente los datos en tránsito cuando una app establece una conexión segura con un servidor remoto (p. ej., utilizando HTTPS) y los proveedores en la nube ofrecen servicios para cifrar datos en reposo de manera transparente.
Interfaz de programación de apps (API): Permite que dos computadoras se comuniquen a través de una red, por ejemplo, una app para celulares que carga el clima del día para una determinada ubicación desde un sistema de pronóstico del tiempo centralizado.
Prueba de la clave secreta de la app: Una capa adicional de seguridad para las llamadas de la API a Meta mediante la cual el desarrollador genera un parámetro (la prueba de la clave secreta de la app) que demuestra que posee dicha clave secreta. La prueba de la clave secreta de la app es el producto de una función hash (también llamada función unidireccional) que se basa en la clave secreta de la app y el token de acceso. Configurar una app para exigir pruebas de la clave secreta de la app durante las invocaciones de la API Graph reduce el daño potencial de una vulneración de tokens de acceso del usuario, ya que dichos tokens no se pueden usar sin el parámetro adicional de la prueba de la clave secreta de la app.
Backend como servicio (BaaS): Un modelo de computación en la nube que brinda a los desarrolladores de apps un conjunto de funciones del servidor para que puedan concentrarse en el desarrollo del frontend (es decir, la parte de la app con la que interactúan los usuarios). Las soluciones BaaS son similares a las PaaS y, además, agregan servicios como autenticación de usuarios y notificaciones push para dispositivos móviles. Por ejemplo, estos son algunos de los productos BaaS populares: AWS Amplify, Azure Mobile Apps, Firebase y MongoDB Switch.
Texto cifrado: Sinónimo de datos cifrados; texto cifrado es el nombre que se les otorga a los datos que se transforman a un formato ilegible a través de un algoritmo de cifrado. Lo opuesto a texto cifrado es texto sin formato.
Lado cliente: Las personas normalmente interactúan con servicios accesibles desde internet al abrir un sitio web en un navegador o al ejecutar una app para celulares en un teléfono o tableta. Se hace referencia al navegador o la app para celulares como "lado cliente" o "del cliente local". Los clientes formulan solicitudes desde computadoras remotas (servidores) a través de internet.
Computación en la nube: Se refiere a un estilo de administración de servidores, redes y almacenamiento de modo que una organización no tenga que preocuparse del entorno físico (es decir, un centro de datos lleno de estanterías de servidores y cables de red). En su lugar, la organización puede adquirir estos activos según sea necesario y pagar los servicios que consumen.
Configuración de la nube: El conjunto de opciones de computación en la nube que una organización establece según el uso que hace de un proveedor en la nube que ejecuta un determinado software. Algunos ejemplos de configuración de la nube incluyen qué tipos de conexiones en la red se permiten o bloquean, dónde se escriben los archivos de registro y durante cuánto tiempo se conservan, y el conjunto de usuarios autorizados a hacer cambios en la configuración de la nube.
Controles compensatorios: Un control de seguridad que difiere de un conjunto de requisitos de referencia, pero cuyo objetivo es entregar protección comparable contra un riesgo.
Base de datos: Software que permite almacenar, leer, actualizar y eliminar datos arbitrarios. Las bases de datos se pueden ejecutar en clientes y en servidores. Las organizaciones que se integran con la plataforma de Meta almacenarán comúnmente los datos que obtienen de la API Graph en una base de datos que se ejecuta en un servidor.
Descifrado: Proceso mediante el cual datos cifrados se restituyen a su formato original. En otras palabras, el descifrado transforma texto cifrado en texto sin formato.
Cifrado: Proceso mediante el cual los datos se traducen a un formato que no puede ser utilizado por quien no pueda descifrarlos. En otras palabras, el cifrado transforma texto sin formato en texto cifrado.
Cifrado en reposo: Datos protegidos mediante cifrado al escribirse en un almacenamiento persistente (p. ej., una unidad de disco). El cifrado en reposo brinda una capa adicional de protección contra el acceso no autorizado, ya que un agente que puede leer los archivos sin procesar en un dispositivo de almacenamiento verá el texto cifrado, pero no podrá descifrarlo hasta tanto no obtenga acceso a la clave de descifrado.
Cifrado en tránsito: Datos protegidos mediante cifrado al transmitirse por una red. El cifrado en tránsito brinda protección contra la interceptación por la ruta de acceso de red, ya que un agente que puede leer los paquetes de red verá el texto cifrado, pero no podrá descifrarlo hasta tanto no obtenga acceso a la clave de descifrado.
Software que llegó al fin de la vida útil (EOL): Cuando una organización elige dejar de brindar soporte (p. ej., crear parches para resolver vulnerabilidades de seguridad) para un producto de software, se considera que el software llegó al fin de su vida útil (software EOL). Como el software deja de recibir mantenimiento, es muy riesgoso ejecutar un software EOL.
Plataforma Google Cloud (GCP): Conjunto de servicios de computación en la nube de API Graph de Google; la forma principal en que las apps leen y escriben en la gráfica social de Meta. Todos los SDK y los productos de Meta interactúan con la API Graph de alguna manera.
Función Hash: Función criptográfica que toma cualquier dato como valor de entrada y lo convierte en un código corto que no se puede revertir a la entrada original. En criptografía, las funciones hash se usan para proteger datos como contraseñas, en lugar de almacenar la contraseña de un usuario como texto simple que podría ser robado, las contraseñas se transforman primero con una función hash y luego se almacenan. Por último, para confirmar que un usuario introdujo la contraseña correcta, el sistema utilizará la misma función hash para transformar la entrada y comparar el hash resultante con el valor almacenado. También llamada función unidireccional, ya que el hash de salida no se puede revertir a la entrada original.
Entorno hospedado: Se refiere a un conjunto de servidores, redes y dispositivos de almacenamiento remotos que una organización ejecuta en su propio centro de datos o dentro de un centro de datos ubicado en conjunto (o co-ubicado) con otros clientes. Este acuerdo es relativamente poco común en la era moderna debido a que la computación en la nube se ha vuelto más popular.
Proveedor de identidad (IdP): Un servicio en la nube usado para centralizar la administración de identidades digitales y autenticar usuarios. Las organizaciones que utilizan el IdP normalmente configuran apps en la nube para basar la autenticación de un usuario en el IdP. La organización puede así administrar usuarios concediendo acceso a apps seleccionadas, creando e inhabilitando cuentas de usuario de manera centralizada dentro del IdP, en lugar de tener que hacerlo de forma repetitiva con cada app en la nube.
Administración de identidades y acceso (IAM): Se refiere a la categoría de herramientas y procesos que se utilizan para administrar cuentas y conceder acceso a los sistemas.
Infraestructura como servicio (IaaS): Un enfoque de computación en la nube que les permite a los clientes configurar servicios de computación, almacenamiento y redes sin ser responsables de los activos físicos (p. ej., administrar un centro de datos repleto de servidores, dispositivos de red y matrices de almacenamiento). En comparación con PaaS, IaaS le otorga a una organización más control sobre la configuración de sus activos de la nube, pero a costa de una mayor complejidad a la hora de administrar esos activos. Por ejemplo, estos son algunos de los productos IaaS populares: AWS EC2, Microsoft Azure IaaS y Google Compute Engine.
Biblioteca: Componente fundamental de software preexistente, por lo general, de una empresa o desarrollador externo, que se utiliza para manejar ciertas tareas dentro de la app o del sistema de otro desarrollador. Las bibliotecas simplifican el desarrollo de una app porque un desarrollador no tiene que empezar de cero cuando ya existe una biblioteca para una determinada función. Sin embargo, las bibliotecas pueden contener vulnerabilidades de seguridad, o pueden incluir bibliotecas adicionales que sí las contengan. Por lo tanto, los desarrolladores que utilizan bibliotecas como parte de su app deben saber qué bibliotecas están en uso y mantenerlas actualizadas en el tiempo.
App de un cliente de telefonía celular o app para celulares: App que una persona instala en un teléfono o tableta desde la tienda de apps para celulares (p. ej., iOS App Store o Google Play Store). Es común que los clientes de telefonía celular se comuniquen a través de internet con la API REST de una organización y también lo hagan con otras partes (p. ej., con el API Graph vía el SDK de Facebook para Android).
Autenticación multifactor (MFA): Método de autenticación que requiere de más de un factor para obtener acceso a una app o un sistema. En comparación con la autenticación de un factor que solo se basa en una contraseña para autenticar a un usuario, la MFA normalmente requerirá una contraseña más uno o más de estos: un código enviado por correo electrónico o SMS, un código de una app de autenticación, una exploración biométrica o una llave de seguridad. La MFA protege de las apropiaciones de cuentas al hacer más difícil que personas no autorizadas entren a la fuerza a una cuenta, p. ej., iniciando sesión después de varios intentos con una dirección de correo electrónico conocida y contraseñas comunes hasta lograrlo.
Software nativo: Las apps que se descargan e instalan en computadoras portátiles o dispositivos móviles se conocen como software nativo (p. ej., la app de Facebook para iOS). En oposición, una app que se ejecuta dentro de un navegador se conoce como app web (p. ej., abrir Facebook con el navegador Chrome).
Red comprometida: Si un agente malicioso logra obtener acceso no autorizado a la red interna de una organización mediante un error de configuración o vulnerabilidad de la red, eso se conoce como red comprometida. Una defensa contra una red comprometida es ejecutar un análisis para identificar errores de configuración y vulnerabilidades de la red con acceso a internet. Consulta también "app comprometida".
Escaneo de red: Un proceso de gestión de riesgo que utiliza software a fin de (1) identificar servidores activos en una red que responderán a comunicaciones remotas, y luego (2) comprobar si alguno de esos servidores está ejecutando versiones antiguas de software que se sabe que son susceptibles de una o más vulnerabilidades de seguridad. Una organización puede usar el escaneo de red periódicamente, por ejemplo, para asegurarse de que no haya puertos abiertos inesperados en el perímetro de su red.
Node Package Manager (NPM): Una herramienta que utilizan los desarrolladores de JavaScript para acelerar el desarrollo al permitir que se incluyan paquetes pregenerados en la app o el sistema de un desarrollador. NPM incluye funciones para auditar el conjunto de paquetes que la app utiliza e identificar paquetes que tienen vulnerabilidades de seguridad conocidas.
Depósitos de almacenamiento de objetos: Un tipo de almacenamiento persistente en la nube que facilita que las organizaciones guarden archivos en almacenamiento persistente, incluso archivos que son muy grandes, sin tener que preocuparse por ampliar activos físicos como matrices de almacenamiento, ni por cómo realizar copias de seguridad de los archivos para asegurarse de que no se pierdan en caso de un desastre, como un incendio o una inundación.
Sistema operativo: El software que se ejecuta en una computadora o dispositivo móvil que permite que las apps se ejecuten y utilicen el procesador, la memoria, el almacenamiento y los recursos de red de esa computadora. Por ejemplo, Windows de Microsoft, macOS de Apple o iOS y Linux.
Miembro de la organización: Una persona con una función y responsabilidades dentro de una organización, por ejemplo, un empleado, un contratista, un trabajador temporal, un pasante o un voluntario.
Dispositivo de la organización: Una computadora o dispositivo móvil utilizado por el miembro de una organización al desempeñar una tarea para ella.
Condición de la plataforma 6.a.i: Se refiere a la sección (6), encabezado (a), inciso (i) de las Condiciones de la plataforma de Meta que describe las obligaciones de los desarrolladores de la plataforma en materia de seguridad de datos.
Paquete: Sinónimo de biblioteca.
Parche: Actualizaciones de software que resuelven vulnerabilidades de seguridad, corrigen errores o agregan funcionalidades nuevas. Todos los tipos de software reciben parches, incluso los sistemas operativos, los contenedores, las bibliotecas y los SDK.
Prueba de penetración: Un ataque simulado contra una app o un sistema en el que el evaluador intenta detectar vulnerabilidades en el código o la configuración que podrían ser aprovechadas por un agente no autorizado. Los evaluadores de penetración usan herramientas similares a los cibercriminales para llevar a cabo tareas de reconocimiento, detectar potenciales debilidades y probar las vulnerabilidades que se podrían utilizar para obtener acceso no autorizado. Al final de esta prueba, el evaluador creará un informe que describa los hallazgos, junto con la gravedad de cada uno, y la organización que mantiene el software es responsable de preparar las correcciones para resolver las vulnerabilidades.
Texto sin formato: Un sinónimo de datos sin cifrar; es el nombre que se les da a los datos que no están protegidos con cifrado. Plataforma como servicio (PaaS): Un enfoque de computación en la nube donde el cliente implementa una app en una plataforma administrada por el proveedor de servicios en la nube. En comparación con IaaS, PaaS es más simple de administrar para los clientes, ya que el host de la nube no solo administra los activos físicos (es decir, los servidores, dispositivos de almacenamiento y dispositivos de red), sino también el sistema operativo y el contenedor de la app donde se ejecuta la app del cliente. Por ejemplo, estos son algunos de los productos PaaS populares: AWS Elastic Beanstalk, Google App Engine y Force.com.
Puerto: Cuando un cliente hace una conexión a un servidor por internet, la dirección de destino tiene dos partes: (1) una dirección de protocolo de internet (IP) para el servidor y (2) un número de puerto en ese servidor al que responderá una app en particular. Los protocolos comunes usan puertos reservados (p. ej., HTTPS usa 443), pero un desarrollador puede usar puertos personalizados para las comunicaciones de red si lo desea.
API REST: Un estilo ampliamente adoptado para desarrollar servicios accesibles por web donde el cliente y el servidor se comunican utilizando el protocolo HTTP. Un desarrollador en la plataforma de Meta puede hospedar una API REST en un subdominio como api.ejemplo.com, desde el que su app para celulares envía y recibe datos de la plataforma.
Secure Shell (SSH): Un protocolo de comunicación seguro que permite que los administradores inicien sesión en los servidores de forma remota y ejecuten programas en dichos servidores. Se dice que es seguro porque las comunicaciones entre el cliente y el servidor están protegidas de filtraciones, a diferencia de los protocolos anteriores como Telnet. También se lo denomina Secure Socket Shell.
Secure Sockets Layer (SSL): Una versión obsoleta y no segura de cifrado en tránsito. La versión segura moderna se denomina seguridad de la capa de transporte (TLS).
Servidor: Una computadora que proporciona servicios de modo remoto a través de una red. Los navegadores y apps para celulares se conectan a los servidores por internet.
Computación sin servidor: Un modelo de computación en la nube donde el host de la nube administra la infraestructura física, el sistema operativo del servidor y el contenedor. El desarrollador solo es responsable del código personalizado y las bibliotecas asociadas, además de la configuración de la nube.
Lado servidor: A los datos o la computación del otro lado de una conexión de red (es decir, en un servidor) se los llama "del servidor" o "lado servidor". En contraposición, a los datos o la computación en un dispositivo local, como una computadora portátil o dispositivo móvil, se los llama "del cliente" o "lado cliente".
Inicio de sesión único (SSO): Una disposición en la que las apps dependen de un directorio de usuarios centralizado (es decir, un IdP) para autenticar a los usuarios. Además de centralizar la administración de las cuentas de los usuarios y el acceso a la app para la organización, los usuarios se benefician de tener un único conjunto de credenciales, en lugar de exigirles que tengan diferentes credenciales (p. ej., un nombre de usuario y una contraseña) para cada app.
Kit de desarrollo de software (SDK): Un componente básico de código que un desarrollador puede utilizar para simplificar el proceso de desarrollo para una determinada necesidad. Por ejemplo, Meta crea y mantiene SDK que simplifican el trabajo con la API Graph para los desarrolladores de iOS y Android. De manera similar a una biblioteca, los desarrolladores que usan SDK en sus apps tienen que mantenerlos actualizados con el transcurso del tiempo.
Software como servicio (SaaS): Permite que los clientes usen apps basadas en la nube a través de internet. A diferencia de PaaS o IaaS, un cliente de una app SaaS no despliega código personalizado ni tiene la responsabilidad de configurar, actualizar o emparchar la app SaaS, ya que todo esto es responsabilidad del proveedor de dicha app. Por ejemplo, estos son algunos de los productos SaaS populares: Dopbox, MailChip, Salesforce y Slack.
Análisis estático: Consulta "Pruebas de seguridad de apps estáticas".
Pruebas de seguridad de apps estáticas (SAST): Un enfoque para detectar vulnerabilidades en software mediante la ejecución de una herramienta especializada contra el código fuente. Una herramienta SAST identificará vulnerabilidades potenciales, como aquellas mencionadas en el proyecto OWASP Top 10. Luego, el desarrollador es el encargado de revisar los hallazgos, distinguir verdaderos positivos de falsos positivos y corregir las vulnerabilidades en el software. Una herramienta SAST puede ser útil porque permite que los desarrolladores encuentren vulnerabilidades antes de que se desplieguen en la producción. Sin embargo, a diferencia de una prueba de penetración, una herramienta SAST no podrá detectar vulnerabilidades en la configuración de producción de la app.
Cifrado de datos transparente: Un tipo de cifrado en reposo que suele aplicarse al almacenamiento de las bases de datos (es decir, el contenido de la base de datos en sí y sus archivos de registro). Con esta disposición, el software de la base de datos administra las claves de cifrado y maneja de modo transparente las operaciones de cifrado (al escribirse) y las operaciones de descifrado (al leerse).
Seguridad de la capa de transporte (TLS): Un modelo de cifrado en tránsito que utiliza el cifrado para proteger los datos transmitidos por redes de filtraciones en la ruta de acceso de red. TLS es la versión segura moderna de la tecnología obsoleta anterior llamada SSL.
Autenticación en dos pasos (2Fac): Un sinónimo de autenticación multifactor. Almacén: Un sistema de administración secreto para datos confidenciales como claves de cifrado, tokens de acceso y otras credenciales. Un almacén permite tener un estricto control sobre quién puede acceder a los secretos que contiene y ofrece servicios adicionales, como el almacenamiento de registros de auditoría.
Máquina virtual (VM): Una máquina virtual es muy similar a un contenedor de apps; se ejecuta en un host llamado hipervisor, mientras que un contenedor de apps se ejecuta en un motor de contenedor. La principal diferencia es que una imagen de la máquina virtual contiene un sistema operativo, mientras que un contenedor de apps no. Tanto las máquinas virtuales como los contenedores de apps contienen apps y dependencias como bibliotecas.
Nube privada virtual (VPC): Un término utilizado por AWS para referirse a un conjunto de recursos en la nube que se asemejan a una red tradicional en un centro de datos en la época previa a la nube.
Vulnerabilidad: Un defecto en un sistema o app del que alguien podría aprovecharse, por ejemplo, para leer datos que no tendría derecho a leer de otro modo.
Programa de divulgación de vulnerabilidades (VDP): Un enfoque en el que las organizaciones encargan informes de vulnerabilidades de seguridad a investigadores (a veces llamados "hackers éticos") para que se puedan detectar y corregir las vulnerabilidades antes de que las aprovechen agentes maliciosos. Un VDP eficaz requiere una serie de investigadores que busquen vulnerabilidades de manera activa, analistas dentro de la organización que revisen las divulgaciones entrantes y evalúen su prioridad, e ingenieros expertos en ciberseguridad que puedan crear y desplegar las correcciones pertinentes.
Escaneo de vulnerabilidad: Un enfoque que utiliza software para buscar vulnerabilidades en servidores, redes y apps. En comparación con una prueba de penetración, ejecutar un escaneo de vulnerabilidad es más económico y, por lo tanto, se puede ejecutar reiteradamente (p. ej., de manera mensual o trimestral). Sin embargo, una prueba de penetración suele detectar las vulnerabilidades que no detectó un escaneo de vulnerabilidad debido a que los expertos evaluadores de penetración aportan habilidades analíticas e instintos que son difíciles de replicar dentro de los enfoques estrictamente automáticos. Consulta también "escaneo de red".
App web: Las apps web son programas que se ejecutan dentro de los navegadores y están compuestas por recursos como documentos HTML, código JavaScript, videos y otros archivos multimedia y CSS para la aplicación de estilos. En oposición a una app para celulares que una persona instala en su teléfono celular desde una tienda de apps, una persona simplemente selecciona una app web en un servidor remoto desde su navegador (p. ej., www.facebook.com) sin necesidad de tener que seguir los pasos de instalación.