Directrices sobre PUP para la detección en productos G DATA

Este artículo explica las reglas según las cuales generamos detecciones de PUP (Possibly Unwanted Program)

Publicamos estas directrices para ofrecer a nuestros clientes y socios la posibilidad de determinar si un software debe clasificarse como PUP (Possibly Unwanted Program). El equipo de analistas de G DATA se adhiere estrictamente a estas directrices cuando clasifica como PUP un software que analizamos en G DATA.

Sin embargo, la detección no se limita únicamente a instancias individuales del propio software, sino que también incluye el comportamiento de la empresa que está detrás del software. El uso de un software se reduce a un contrato entre dos partes: el usuario y el desarrollador/proveedor/distribuidor del software, denominado en adelante en este documento como distribuidor.

Todas las funciones de un software cuestan tiempo y dinero en desarrollo, pruebas y mantenimiento.

Por lo tanto, es muy improbable que el software comercial contenga funciones innecesarias.

Por consiguiente, debe asumirse que todas las funciones encontradas se han añadido con fines determinados.

Aun así, pueden producirse errores, pero se espera que se corrijan, especialmente si redundan en perjuicio del usuario. Los "errores" repetidos en perjuicio de los usuarios son altamente improbables.

Si un software infringe una o varias de las siguientes reglas, es muy probable que G DATA lo clasifique como "potencialmente no deseado". Los clientes que, aun así, deseen seguir utilizando dicho software pueden hacerlo en cualquier momento desactivando la detección de "programas potencialmente no deseados" en las suites antivirus de G DATA.

Fraude

Definido aquí como "engaño ilícito o delictivo con el objetivo de obtener un beneficio económico o personal". El fraude siempre es intencionado; cualquier tipo de fraude conduce a una clasificación como PUP o peor.

Ejemplos de comportamiento fraudulento del software:

  • Fingir que se trata de un software o un servicio de Microsoft o de otro proveedor legítimo, cuando no es el caso.

  • Mostrar una cuenta atrás falsa para una oferta falsa por tiempo limitado.

  • Un registro que resulta ser una compra o una suscripción.

  • Mostrar un comportamiento distinto en entornos virtuales que en hardware real.

  • Advertencias o ventanas emergentes falsas que no se basan en hechos.

Inducción a error

Definida aquí como "transmitir una idea falsa o una impresión equivocada". La inducción a error del usuario no tiene por qué producirse necesariamente de forma intencionada, sino que también puede ser el resultado de una mala elección de palabras, p. ej., debido a una mala traducción. No obstante, si determinamos que la información engañosa es intencionada, clasificamos el software como potencialmente no deseado.

La intención puede ser difícil de demostrar, pero algunos ejemplos en los que pueden encontrarse informaciones destinadas a inducir a error a los usuarios son

  • El comportamiento del software (afirma optimizar su PC, pero no lo hace)

  • Diálogos y textos en la interfaz gráfica de usuario (GUI) de la aplicación que, p. ej., ocultan el hecho de que el software recopila datos personales a gran escala

  • Historial del vendedor o del software

  • Otro software del mismo fabricante y el sitio web/webshop

  • Campañas limitadas, por ejemplo, a:

    • Tiempo

    • Región

    • Entorno de software/hardware

Finalidad y utilidad

Las finalidades de un software pueden dividirse en 2 categorías: finalidad en beneficio de los usuarios y finalidad en beneficio del vendedor.

Para que un software sea viable, debe aportar una utilidad al usuario; de lo contrario, nadie estará dispuesto a utilizarlo. Por otra parte, el software debe aportar un determinado beneficio al distribuidor; de lo contrario, el desarrollo del software habría sido un desperdicio de tiempo y dinero. En la mayoría de los casos, el software está destinado a generar algún tipo de ingresos.

Para que el contrato sea justo, los beneficios para ambas partes deben estar equilibrados.

Sin embargo, si el equilibrio se inclina demasiado hacia el distribuidor, aumenta la probabilidad de que este software sea potencialmente no deseado.

  • El software debe aportar una utilidad al usuario.

  • Cada función debería aportar una utilidad al usuario.

  • Si una función no beneficia directamente al usuario, debe justificarse por escrito.

  • El precio que paga el usuario debe estar claro y no debe perjudicarle.

Publicidad

Las ofertas que el software realiza durante/después de la instalación, durante la ejecución o durante la desinstalación también se contabilizan como publicidad.

La publicidad puede dividirse en 2 categorías:

Publicidad que promociona el software/servicio

  • El marketing de afiliación suele promocionar el software.

    • Es responsabilidad del socio distribuidor mantener a los afiliados alineados; las infracciones de estas directrices por parte de afiliados también conducen a un dictamen de "potencialmente no deseado" para el desarrollador y distribuidor del software.

    • Los afiliados no pueden utilizarse como excusa para instalaciones no deseadas.

    • Los afiliados no deben infringir ninguna de las reglas publicitarias indicadas en la sección de publicidad mostrada por el software/servicios que figura a continuación:

  • Autopromoción en otro software del mismo proveedor.

Publicidad mostrada por el software/el servicio

  • El socio distribuidor asume la plena responsabilidad de la publicidad mostrada al usuario.

  • La publicidad debe ser conforme a la legislación en la región del usuario.

  • Los anuncios no deben ser fraudulentos ni engañosos.

  • Los anuncios no deben ser ofensivos.

  • Los anuncios no deben ser amenazantes.

  • Los anuncios no deben promocionar aplicaciones potencialmente no deseadas conocidas.

  • Los anuncios no deben impedir ni interferir con el funcionamiento del ordenador y/o de otro software.

  • El software anunciado solo debe poder instalarse con el consentimiento expreso del usuario.

Supervisión del entorno del sistema

La detección del entorno puede utilizarse legítimamente para proporcionar el idioma y los archivos adecuados para el sistema operativo.

Sin embargo, a menudo la utiliza software potencialmente no deseado para determinar qué comportamiento reprochable puede ejecutarse sin ser detectado. Esto equivale al uso de un dispositivo de desactivación, como en el escándalo del diésel de Volkswagen. Si se detecta que el software se ejecuta en un entorno de prueba, el software se comporta de forma distinta a como lo hace en los PC de clientes potenciales.

Ejemplos de entornos detectados:

  • Máquina virtual (VMWare, VirtualBox, …​)

  • Software antivirus

  • Anti-spyware

  • Región (geo IP, idioma, hora del día, …​)

Ejemplos de acciones divergentes

  • Instalación de una versión de prueba solo en hardware real, instalación de la versión completa en máquinas virtuales.

  • Mostrar publicidad solo en hardware real, no mostrarla en ordenadores virtuales.

  • Instalación de complementos de navegador intrusivos u otros módulos de software solo en hardware real, no en máquinas virtuales

Instalación

Solo existen muy pocos casos de uso legítimos para las funciones de instalación silenciosa de programas de instalación habituales como Innosetup. El caso legítimo más común es el despliegue por parte de un administrador de red. En este caso, sin embargo, las EULA del software en cuestión deben identificar explícitamente el software como destinado al uso empresarial.

La mayoría de las veces, se utilizan funciones de instalación silenciosa para que empresas vinculadas puedan instalar el software sin el consentimiento del usuario.

  • En las versiones de prueba no existen casos de uso legítimos para una instalación silenciosa.

  • En el software para consumidores, por lo general no existen casos de uso legítimos para una instalación silenciosa.

  • En la instalación silenciosa se anula el consentimiento de todos los diálogos de instalación, la EULA y las políticas de privacidad. Como estos son nulos, no existe un contrato legalmente válido entre el usuario y el distribuidor.

EULA (End User License Agreement)

La EULA (acuerdo de licencia de usuario final) no debe contener nada sorprendente ni nada que infrinja la legislación del país en el que se vaya a utilizar el software. Todos los puntos sorprendentes o inadecuados son inadmisibles. Ejemplos de este tipo de puntos son:

  • Uso de malware falso para demostrar la detección de malware.

  • Uso de mineros de criptomonedas.

  • Recopilación y/o comercio de datos personales

Todo aquello que otorgue ventajas adicionales a la parte distribuidora debe declararse explícitamente fuera de la EULA durante el proceso de instalación; véanse los ejemplos anteriores

Política de privacidad

En materia de políticas de privacidad, deben observarse determinados principios.

La política de privacidad

  • Debe ser conforme al RGPD (GDPR) si el software se va a utilizar en Europa.

  • No debe contener nada sorprendente.

  • No debe declarar información personalmente identificable como "seudónimo" o "anónima". El uso de información personalmente identificable no debe ocultarse.

Todos los contenidos inadmisibles deben indicarse explícitamente en los diálogos de instalación. Esto significa que toda recopilación adicional de datos que no sea necesaria para el funcionamiento de la aplicación debe contar con un opt-in (el usuario debe activarlo de forma explícita) y debe explicarse en el diálogo de instalación de modo que cualquiera pueda comprenderla y entender las consecuencias resultantes. Ejemplos de recopilaciones de datos que, en caso de utilizarse, deberían explicarse correctamente:

  • Recopilación y/o comercio de PII (información de identificación personal).

  • Recopilación y/o divulgación de información de hardware.

  • Recopilación y/o comercio de información sobre el uso/instalación de software de terceros.

  • Recopilación y/o comercio de sitios web visitados.

  • Recopilación y/o comercio de credenciales de inicio de sesión para servicios de terceros

Versiones de prueba/completas

El tipo de software debe indicarse claramente durante la instalación. Es decir, debe aclararse expresamente si se trata de una versión completa o de una versión de prueba, qué características y funciones se proporcionan y qué limitaciones existen.

Las versiones de prueba no tienen derecho a ningún tipo de compensación por parte del usuario, salvo a la información de contacto, y no deben monetizarse de ninguna manera hasta que el usuario decida actualizar a la versión completa.

Inicio automático

Las entradas de inicio automático deben estar justificadas y ser necesarias para el funcionamiento de la aplicación.

Ejemplos de entradas de inicio automático posibles son:

  • Inicio automático

  • Servicio

  • Tarea programada

Ejemplos de entradas de inicio automático legítimas son:

  • Ejecución de un servicio antivirus

  • Comprobar actualizaciones de software

Ejemplos de entradas de inicio automático no legítimas:

  • Escaneo de actualización de controladores en cada inicio del sistema.

  • Varias tareas programadas para la comprobación del limpiador del registro.

  • Servicio instalado para un descargador de software.

Tiempo de ejecución

Durante el tiempo de ejecución, un software debe funcionar según lo prometido para cumplir las expectativas del usuario y aportarle una utilidad. Toda funcionalidad que no cumpla estos objetivos debe justificarse.

Ejemplos de beneficios justificados para el distribuidor:

  • Recordatorio ocasional de que el software está en fase de prueba.

  • Ventaja publicitaria de la versión completa.

  • Visualización adecuada de publicidad en software financiado con publicidad.

Ejemplos de beneficios no justificados para el distribuidor:

  • Comprobación de software de la competencia.

  • Mostrar publicidad de proveedores externos u otro software del mismo proveedor en la versión de prueba.

  • Publicidad de otro software del mismo proveedor disfrazada como funcionalidad.

Desinstalación

La desinstalación debe ser fácil de encontrar y de ejecutar.

  • Debe ser completa y no debe dejar archivos, entradas de inicio automático ni manipulaciones del registro en el sistema.

  • La acción predeterminada para la desinstalación debe ser la desinstalación.

  • No debe ser más difícil que la instalación

Sitio web/webshop

El sitio web y/o el webshop representan a la empresa y el software. Debe ser veraz y claro y no debe ocultar/encubrir información.

Ejemplos de prácticas inadmisibles del sitio web/webshop:

  • Mostrar una matriz de productos, pero todos los enlaces a los distintos productos conducen al mismo producto.

  • Uso de cuentas atrás rápidas para presionar al cliente.

  • Uso de cuentas atrás falsas.

  • El número de unidades restantes está inventado (no existe "stock limitado" en descargas de software).

  • La cuenta atrás se detiene sin que finalice el periodo de la oferta.

  • La aplicación está siempre en oferta o los "eventos" de venta están desactualizados.

  • Añadir otros productos al carrito de la compra de forma predeterminada.

Reputación

La historia y la reputación de una empresa distribuidora y su software pueden aportar indicios sobre la postura actual de la empresa distribuidora y el comportamiento del software.

Dependiendo del historial, un distribuidor tiene un nivel de credibilidad diferente.

Una credibilidad baja la obtiene un proveedor por:

  • Ser una entidad reincidente en PUP.

  • Simular ignorancia respecto a los criterios de PUP.

  • "Probar" nuevas infracciones.

  • Introducir programas de afiliación agresivos.

  • Dar prioridad al beneficio frente a la utilidad.

  • Utilizar nombres de producto muy generales que quizá ni siquiera incluyan un nombre de empresa duradero, o publicitar el nombre de la empresa con el producto en absoluto.

  • Ser calificado por los usuarios como engañoso o incluso fraudulento.

  • Comunicarse de manera áspera, amenazante u ofensiva.

  • Intentar eludir la detección.

  • Simular desconocimiento de tecnologías básicas.

Los proveedores son capaces de alcanzar una alta credibilidad dentro del sector si …​

  • han corregido todas las infracciones de PUP en el pasado o nunca han tenido infracciones de PUP

  • Ponen en primer plano la utilidad para el usuario.

  • Cumplimiento de estándares de la industria del software como la CSA