PyPI, el índice de paquetes de Python, comenzó a evaluar formas de reducir la cantidad de información de identificación que almacena incluso antes de que el Departamento de Justicia de EE. UU. viniera a solicitar datos sobre usuarios sospechosos.
Pero ahora que el repositorio de código tiene revelado Al recibir tres citaciones para datos de cinco usuarios a principios de este año, el paquete de registro de la comunidad de Python quiere que los desarrolladores entiendan que está trabajando para minimizar los datos de usuario que almacena.
El objetivo es no ser incapaz de responder a solicitudes de información lícitas; más bien es almacenar solo la cantidad mínima de datos necesarios para no exponer a los usuarios a una intrusión innecesaria en la privacidad.
Hasta donde sabemos, RubyGems no ha recibido ninguna citación por datos de usuarios.
Coincidentemente, la minimización de datos puede evitar que las organizaciones se conviertan en una fuente preferida de vigilancia a pedido: tener cantidades excesivas de información sobre los usuarios invita a demandas legales, que luego el personal debe manejar.
Si bien las demandas de datos de las autoridades son comunes entre los grandes servicios comerciales de Internet, como GitHub, no tenemos conocimiento de informes públicos anteriores sobre citaciones dirigidas a registros de paquetes de software de código abierto.
Samuel Giddins, que ayuda a mantener RubyGems, dijo El registro«Hasta donde sabemos, RubyGems no ha recibido ninguna citación para los datos del usuario».
Mike Fiedler, miembro del equipo de administración de PyPI, dijo en un declaración el viernes que el esfuerzo de la organización para mejorar la privacidad y seguridad del usuario se remonta hasta 2020.
Desde la recepción de las citaciones en marzo y abril, ese esfuerzo se ha revitalizado.
Gran parte de la preocupación se centra en los datos de la dirección IP, que se almacenan junto con el acceso al registro web; eventos de usuario como inicios de sesión; eventos del proyecto, incluidas las cargas; eventos asociados con organizaciones introducidas recientemente; y entradas de diario PyPI administrativas.
Según Fiedler, PyPI pudo dejar de almacenar Datos de IP para entradas de diario, un registro de transacciones solo para agregar, porque estos solo estaban expuestos a los administradores.
«Otros lugares en los que actualmente todavía necesitamos datos de IP incluyen la limitación de la tasa y los respaldos hasta que hayamos rellenado los datos de IP con hash y datos geográficos», dijo Fiedler. «Nuestro enfoque moderno ha evolucionado desde el uso de los datos de IP en el momento de la visualización para encontrar los datos geográficos relevantes, hasta el almacenamiento de los datos geográficos directamente en la base de datos».
Para ocultar las direcciones IP, PyPI es salarlos – agregar un valor arbitrario – y luego codificarlos – ejecutar los datos a través de una función de codificación unidireccional que crea un valor llamado hash. Esto proporciona una forma de almacenar una referencia a datos de identificación potencial sin almacenar realmente datos sin procesar.
Fiedler explica que, si bien se supone que el hashing no es reversible, aún es posible deshacer los hash de direcciones IP por fuerza bruta porque el espacio de direcciones conocido es muy pequeño.
«Al aplicar una sal, requerimos que alguien posea tanto la sal como las direcciones IP codificadas para forzar el valor», dijo. «Nuestra sal no se almacena en la base de datos, mientras que las direcciones IP cifradas sí lo están, nos protegemos contra filtraciones que revelan esta información».
PyPI ha estado utilizando su proveedor de CDN Fastly para transmitir un hachís salado de la dirección IP para las solicitudes a través de un encabezado personalizado, junto con los datos de GeoIP (dónde se encuentra el usuario), y los usa en lugar de la dirección IP sin procesar.
En abril, el registro adoptó cambios de código para hash y salado de direcciones IP. peticiones que PyPI maneja directamente en Warehouse, la aplicación web que implementa el índice oficial de paquetes de Python.
Y en los últimos días, ha ido reemplazando las direcciones IP en la interfaz de usuario de PyPI. con datos de geolocalización.
PyPI todavía se basa en la información de la dirección IP para identificar el abuso (la creación de paquetes maliciosos, el acoso, etc.), pero Fiedler dice que incluso eso se está analizando. «Estamos pensando en cómo gestionar eso sin almacenar datos de IP, pero aún no hemos llegado», dijo.
Fiedler dice que el equipo de PyPI evaluará si puede eliminar los datos de IP de los registros del historial de eventos después de un período de tiempo y si el servicio puede manejar todas sus solicitudes a través de CDN.
Sin embargo, eso puede simplemente patear la lata de privacidad de los gusanos en sentido ascendente a Fastly. El registro preguntó a Fastly si ha recibido citaciones para los datos de la dirección IP de PyPI. No hemos recibido respuesta. ®