PyPI reduz ao máximo dados de endereço IP

A pilha de pacotes Python prefere proteger a privacidade do programador

Com o objetivo de proteger a privacidade do programador, o PyPI, Python Package Index, começou a avaliar maneiras de reduzir a quantidade de informações de identificação que ele armazena antes mesmo de o Departamento de Justiça dos EUA pedir dados sobre usuários suspeitos. Assim, o PyPI reduz ao máximo dados de endereço IP

Mas agora que o repositório de código revelou ter recebido três intimações por dados de cinco usuários no início deste ano, o registro de pacotes da comunidade Python quer que os desenvolvedores entendam que está trabalhando para minimizar os dados do usuário que armazena.

O objetivo é não ser incapaz de responder a pedidos legais de informação; em vez disso, é armazenar apenas a quantidade mínima de dados necessária para não expor os usuários a invasões de privacidade desnecessárias.

Coincidentemente, a minimização de dados pode impedir que as organizações se tornem uma fonte preferencial de vigilância sob demanda: ter quantidades excessivas de informações sobre usuários convida a demandas legais, com as quais a equipe deve lidar.

Embora as demandas de dados das autoridades sejam comuns entre os grandes serviços comerciais da Internet, como o GitHub, não temos conhecimento de relatórios públicos anteriores sobre intimações direcionadas a registros de pacotes de software de código aberto.

PyPI reduz ao máximo dados de endereço IP

Samuel Giddins, que ajuda a manter o RubyGems, disse “Até onde sabemos, o RubyGems não recebeu nenhuma intimação pelos dados do usuário.”

Mike Fiedler, membro da equipe de administração do PyPI, disse em um comunicado na sexta-feira que o esforço da organização para melhorar a privacidade e a segurança do usuário remonta a 2020.

Desde o recebimento das intimações em março e abril, esse esforço foi reforçado.

Grande parte da preocupação se concentra nos dados do endereço IP, que são armazenados em conjunto com o acesso ao log da web; eventos do usuário, como logins; eventos do projeto, incluindo uploads; eventos associados a organizações introduzidas recentemente ; e entradas de diário PyPI administrativas.

De acordo com Fiedler, o PyPI foi capaz de parar de armazenar dados de IP para entradas de diário – um log de transação apenas anexado – porque eles eram expostos apenas aos administradores.

“Outros lugares onde atualmente ainda precisamos de dados de IP incluem limitação de taxa e fallbacks até que tenhamos preenchido os dados de IP com hashes e dados geográficos”, disse Fiedler. “Nossa abordagem moderna evoluiu do uso de dados IP no momento da exibição para encontrar os dados geográficos relevantes, para armazenar os dados geográficos diretamente no banco de dados.”

Para obscurecer os endereços IP, o PyPI os está alterando – adicionando um valor arbitrário – e depois fazendo hash – executando os dados por meio de uma função de embaralhamento unidirecional que cria um valor chamado hash. Isso fornece uma maneira de armazenar uma referência para identificar dados potencialmente sem realmente armazenar dados brutos.

Fiedler explica que, embora o hash deva ser irreversível, ainda pode ser possível desfazer hashes de endereço IP por força bruta porque o espaço de endereço conhecido é muito pequeno.

“Ao aplicar um sal, exigimos que alguém possua o sal e os endereços IP com hash para forçar o valor bruto”, disse ele. “Nosso sal não é armazenado no banco de dados enquanto os endereços IP com hash são, protegemos contra vazamentos que revelam essas informações”.

Como isso já ocorre

O PyPI tem usado seu provedor de CDN Fastly para passar um hash salt do endereço IP para solicitações por meio de um cabeçalho personalizado, juntamente com dados GeoIP amplos (o país e a cidade onde o usuário está localizado) e está usando isso em vez do bruto Endereço de IP.

Em abril, o registro adotou alterações de código para hashing e salting de endereços IP para solicitações que o PyPI processa diretamente no Warehouse, o aplicativo da web que implementa o índice oficial de pacotes Python.

E nos últimos dias, ele substituiu os endereços IP na interface do usuário do PyPI por dados de geolocalização.

O PyPI ainda depende de informações de endereços IP para identificar abusos – a criação de pacotes maliciosos, assédios e assim por diante – mas Fiedler diz que até isso está sendo analisado. “Estamos pensando em como gerenciar isso sem armazenar dados de IP, mas ainda não chegamos lá”, disse ele.

Fiedler diz que a equipe do PyPI avaliará se pode remover os dados de IP dos registros do histórico de eventos após um período de tempo e se o serviço pode lidar com todas as suas solicitações via CDN.

No entanto, isso pode acabar com a lata de worms de privacidade upstream para Fastly. O Register perguntou ao Fastly se recebeu intimações para dados de endereço IP do PyPI. Nós não ouvimos de volta. 

Share This Article
Follow:
Jornalista com pós graduações em Economia, Jornalismo Digital e Radiodifusão. Nas horas não muito vagas, professor, fotógrafo, apaixonado por rádio e natureza.
Sair da versão mobile