Exclua o app NightOwl agora mesmo
(archive.md)- O utilitário de alternância automática entre modos claro/escuro no macOS se transformou, após a aquisição no fim de 2022, em uma ferramenta que incorpora o dispositivo do usuário a uma botnet sem consentimento
- A empresa compradora, TPE.FYI LLC, usa os dispositivos dos usuários como gateways para tráfego de internet com base nos termos de uso, e esse recurso não pode ser desativado mesmo ao encerrar o app
- Na instalação, é registrado um launch agent que roda com privilégios de root e é executado automaticamente na inicialização, sem possibilidade de desativação pelo aplicativo
- Um daemon disfarçado de "atualização automática" inicia um proxy HTTP local e abre um túnel SSH para um servidor externo, desviando tráfego pela conexão de internet do usuário
- É usado o Pawns SDK da empresa de venda de proxies residenciais IPRoyal, em uma estrutura que revende a largura de banda de internet do usuário para pesquisas de mercado
O que é o app NightOwl e como ele foi deturpado
- O NightOwl existe desde 2018 e oferece a função de alternar automaticamente entre os modos claro/escuro do sistema operacional
- Era uma alternativa para contornar a limitação do modo automático nativo do macOS, que só alternava quando o usuário se afastava do computador
- Após ser adquirido pela TPE.FYI LLC no fim de 2022, passou a incorporar à força os dispositivos dos usuários em uma botnet para pesquisa de mercado, sem ciência nem consentimento explícito
- Não há aviso separado além dos termos em letras miúdas na página de download
- Mesmo com o app encerrado, esse recurso não pode ser desativado
- Esse comportamento está descrito nos termos de uso (TOS)
- Ele altera as configurações de rede do dispositivo para compartilhar tráfego de internet e usar o aparelho do usuário como gateway
- Os clientes atendidos por esses gateways incluem empresas de web e pesquisa de mercado, SEO, proteção de marca, entrega de conteúdo e cibersegurança
- Houve contato com a equipe do NightOwl, mas não houve resposta
Como remover
- Mesmo que o app não esteja em execução, se estiver apenas instalado, é necessário executar no Terminal os comandos de remoção
sudo killall NightOwllaunchctl unload ~/Library/LaunchAgents/NightOwlUpdater.plistsudo killall AutoUpdatesudo rm -rf /Applications/NightOwl.app/ ~/Library/LaunchAgents/NightOwlUpdater.plistsudo zsh -c "rm /Users/*/Library/LaunchAgents/NightOwlUpdater.plist"
Análise do funcionamento técnico
- Na instalação, é registrado um launch agent com o nome
org.nightowl.autoupdater.com- Ele transforma em daemon o processo
/Applications/NightOwl.app/Contents/Helpers/AutoUpdate, executando-o com privilégios de root na inicialização do sistema - Não pode ser desativado pelo aplicativo e opera silenciosamente, sem ciência nem consentimento do usuário
- Ele transforma em daemon o processo
- O aviso exibido pelo app se limita à coleta de estatísticas do Google Analytics
- Ele informa que rastreia dados para analisar como os recursos são usados e para investigar bugs
- Declara que a configuração
anonymizeIpoculta a parte final do IP para garantir coleta de dados anonimizados - Também informa que é possível desativar o rastreamento desmarcando a opção "Send Statistics" nas configurações
- Porém, mesmo desligando o envio de estatísticas, o launch agent não é desativado
- O daemon de "atualização automática" executa três tarefas
- Verifica atualizações do app usando Sparkle
- Envia relatórios de crash usando Sentry
- Executa um proxy HTTP local na porta
40701(alterável por um arquivo json de configuração dentro do bundle do app) - O último item é um comportamento inesperado em um aplicativo que se apresenta como atualizador automático
-
Estrutura do proxy e do túnel SSH
- O daemon usa
sudopara sair do root e mudar para a conta principal do usuário antes de executarnightowl_t.dylib- Trata-se de uma cópia do tinyproxy, sob licença GPLv2, mas sem incluir o aviso de licença GPL, o que pode configurar violação
- Atua como proxy HTTP(S)
- A conexão SSH é aberta por um arquivo renomeado de autossh para
nightowl_a.dylib(sem licença)- O destino é
testconnectuser2023@proxy-gw1-europe.squidyproxy.com, porta2043 - Usa uma chave pública gravada em
/tmpcom extensão.uu, com a opção-Rpara tunelar uma porta remota para o ambiente local - A chave é obtida por requisição HTTPS a
proxy-api1.squidyproxy.com - Esse domínio foi registrado na GoDaddy em abril de 2022, e o IP é hospedado pela Microsoft
- O destino é
- Esse servidor SSH está com acesso shell habilitado
- Após a conexão ser bem-sucedida, o tráfego HTTP é encaminhado para o lado do usuário e então desviado para fora pela conexão de internet do próprio usuário
- O daemon usa
-
Tentativa de encaminhamento de porta via UPnP
- Há uma tentativa de abrir encaminhamento de porta via UPnP no roteador, mas ela falha por causa de nomes de chave embaralhados
- A requisição SOAP enviada inclui a ação
AddPortMappinge o valorip royal paws
- A requisição SOAP enviada inclui a ação
- Há uma tentativa de abrir encaminhamento de porta via UPnP no roteador, mas ela falha por causa de nomes de chave embaralhados
Estrutura de revenda de largura de banda (Pawns / IPRoyal)
- O app aparentemente usa o Pawns SDK
- O Pawns é um app que paga US$ 0,20 por GB pela largura de banda de internet compartilhada pelo usuário
- O serviço Pawns é operado pela IPRoyal
- É uma empresa de proxies que vende conexões de proxy residencial por US$ 1,75 por GB
- Alega comercializar "IPs obtidos de forma 100% ética"
Quem é a "TPE.FYI LLC"
- A TPE (ou Keeping Tempo, Tempo AI) estaria desenvolvendo um modelo de precificação para que casas de shows definam preços de ingressos com base na demanda real de artistas, usando análises de visualizações de vídeos no YouTube, popularidade por região e outros dados
- Não tem relação com Tempo AI Calendar nem Tempo AI Gym
- Há poucas informações disponíveis, e quase não existem registros desde 2018
- No momento da redação, as instalações verificadas tentavam se conectar repetidamente a
https://stubbs.frontgatetickets.com/- Esse site vende ingressos para apresentações de música ao vivo em um restaurante de Austin, Texas
- A empresa foi fundada em setembro de 2018 em Austin, Texas, e dissolvida em março de 2023 por "Jarod Stirling"
- O endereço registrado era The Muse at SoCo, 1007 South Congress Avenue, Apartment 443, Austin, Texas, 78704
1 comentários
Opiniões no Hacker News
Sei que esse tipo de coisa acontece com certa frequência, mas fico me perguntando com que frequência as empresas atualizam seus Termos de Uso com esse tipo de redação
A própria ideia de termos com renovação automática que regem permanentemente todo uso já deveria ter sido barrada legalmente há muito tempo
A redação atual do NightOwl diz que eles podem alterar os termos e as informações de preço a qualquer momento, que isso entra em vigor assim que for publicado no site, e que o próprio NightOwl decide sozinho se uma alteração é “substancial”
Avisar mudanças nos termos de um app instalado localmente por meio de atualização no site... é para assinar até os feeds sociais para acompanhar?
Minha intuição dizia que era uma cláusula inexequível e abusiva, mas também imagino que o jurídico da Comcast tenha analisado isso
Fico curioso se há algum advogado que saiba se esse tipo de redação é válido quando mudanças contratuais são publicadas em um site, especialmente sem notificação separada
Antes era um bom front-end para o OpenStreetMap, mas, pelo que sei, foi adquirido por uma firma de investimento para monetização
Fico curioso sobre o estado atual do app, se o modelo de receita é parecido com o descrito aqui, e quais seriam boas alternativas
No caso da Safeway, o tribunal decidiu que consumidores não podem concordar com termos futuros que ainda não existem, e que, se não receberam notificação de mudanças nos termos, não se pode considerar que concordaram com os termos modificados apenas por continuarem usando o serviço
Parece que os navegadores a marcaram como insegura
O fato de o app criar muitas conexões com sites de venda de ingressos de música ao vivo é um uso comum em proxies residenciais
Cambistas de ingressos usam os dispositivos de usuários infectados para contornar bloqueios de hosts de datacenter ou limites de acesso em massa, aumentando a chance de conseguir ingressos com valor de revenda depois
Extensões gratuitas de navegador, apps de VPN etc. que recebem backdoors por meio do criador, de invasores do repositório ou, como neste caso, de um comprador podem transformar os dispositivos dos usuários nesse tipo de proxy
Google e Amazon possuem grandes faixas de IP para seus serviços de nuvem, então bots baseados na AWS ou no Google Cloud são relativamente fáceis de detectar
Por outro lado, a Verizon também tem grandes faixas de IP que distribui a clientes residenciais, e a NordVPN se aproveita do fato de que serviços como Netflix ou Amazon não querem bloquear toda a faixa de IPs da Verizon para fazer o tráfego parecer residencial
Eu realmente detesto aquisições silenciosas
Também é horrível como é muito comum agentes maliciosos comprarem extensões do Chrome para desenvolvedores e depois transformá-las em malware
https://chrome.google.com/webstore/detail/hover-zoom%20/pccc...
https://github.com/extesy/hoverzoom/discussions/670
Bastaria enviar um alerta bem chamativo se o proprietário mudar da noite para o dia
Quase ninguém quer doar, e empresas decentes também não querem comprar o app para monetizá-lo, então, no fim, só as piores empresas, que querem explorar os usuários, acabam comprando extensões e apps
Esses apps gratuitos têm valor, mas isso não se converte em renda para o desenvolvedor, que acaba procurando outro caminho
Era um app muito invasivo que inevitavelmente precisava de permissões enormes para oferecer recursos no nível do sistema, e não faz sentido ele ter passado tranquilamente para uma empresa de publicidade e venda de dados
Está escrito exatamente nos Termos de Uso com os quais o usuário concordou ao usar o software, então no fim vira algo como o princípio de responsabilidade do comprador
A explicação de que o modo automático integrado do macOS só alterna quando o usuário se afasta do computador é estranha
Se você configurar o agendamento/localização do Night Shift e deixar o modo escuro no automático, ele muda imediatamente; e, se usar um launcher ou o Spotlight, também dá para alternar com uma linha de AppleScript como
tell application "System Events" to tell appearance preferences to set dark mode to not dark modeEu diria que a probabilidade de o modo escuro ligar ao pôr do sol é de cerca de 25%
Isso vem acontecendo há anos, até o Ventura, e fico curioso se para outras pessoas sempre funcionou perfeitamente
A Apple parece ter revogado o certificado de desenvolvedor
Fiquei curioso se existe algum log público que mostre quando ele foi revogado
O carregamento do app foi bloqueado, mas as duas dylib ainda estavam em execução; imaginei que talvez isso tivesse acontecido depois que a revogação do certificado já tinha começado
Mesmo depois de fazer logout e entrar de novo, elas continuavam em execução, então pode ser algo que persiste além do logout
Também apareceu um prompt no firewall do macOS perguntando se eu queria permitir que o binário AutoUpdate mencionado recebesse conexões, então parece que tudo isso foi distribuído nos últimos dias
Ao reiniciar, apareceu a caixa de diálogo
“NightOwl” will damage your computer. You should move it to the Trash.e, mesmo permitindo,/Users/*/Library/LaunchAgents/NightOwlUpdater.pliste o arquivo de preferências comum permaneceram, então a limpeza não foi completaPara usuários não técnicos que não têm familiaridade com o Terminal, parece melhor orientar a reiniciar
https://lapcatsoftware.com/articles/revocation.html
No meu ambiente, o macOS derrubou o app e se recusou a abri-lo
Troquei pelo NightFall: https://github.com/r-thomson/Nightfall
Settings > Control Center > Display > Always Show in Menu Bar
Ainda exige um clique a mais para ativar e desativar o modo escuro, mas também permite usar o Night Shift e é 100% nativo
Abra o Automator, crie um novo aplicativo, selecione “change system appearance” e escolha alternar entre modo claro/escuro
Depois de salvar, você pode abrir o nome desse app pelo Spotlight para alternar o modo; imagino que também dê para fazer com Shortcuts
Configurei um atalho global com clique direito+Option+Command e funciona muito bem
Acho que deveria existir alguma lei que pudesse ser aplicada a esse tipo de coisa
Deveria haver um contrato implícito de que o software faz o que diz fazer e não faz algo completamente diferente, com punições pesadas em caso de violação
Se enviássemos um arquivo EULA de 10 MB a cada requisição para grandes sites, repetindo até que aceitassem, isso poderia virar um “DDoS por EULA”
A cláusula em maiúsculas da MIT License começa dizendo que o software é fornecido “no estado em que se encontra”, sem garantias expressas ou implícitas de comercialização ou adequação a um propósito específico, e a seção 15 da GPL traz uma redação quase igual
https://opensource.org/license/mit/
https://www.gnu.org/licenses/gpl-3.0.html#section15
A legislação britânica de contratos de consumo, influenciada pela Diretiva de Direitos do Consumidor da UE, foi estendida desde 2015 para incluir conteúdo digital e contém termos implícitos de que os produtos devem ter qualidade satisfatória e que serviços contínuos como Netflix, Spotify e softwares com atualizações não podem mudar drasticamente em relação ao que foi fornecido originalmente
https://www.legislation.gov.uk/ukpga/2015/15/part/1/chapter/...
A maioria das jurisdições tem regras parecidas, e os países da UE devem ter leis que implementam a Diretiva de Direitos do Consumidor
Mas isso se aplica quando houve pagamento; como o NightOwl é gratuito, as expectativas legais que regulam a venda de produtos e serviços não se aplicam da mesma forma
É ruim uma empresa ser adquirida e o produto passar a incluir spyware, mas também não seria desejável ver um adolescente ou desenvolvedor hobbyista que publicou software livre ou freeware para aprender a programar ser processado por uma gigante por fazer algo como o left-pad
O peso da regulação tecnológica deveria recair muito mais sobre empresas como Google, Microsoft e Apple do que sobre pequenos desenvolvedores que criam utilitários gratuitos para a barra de menus ou extensões do Chrome
Impedir que pequenos apps gratuitos e de código aberto se tornem vetores de ataque à cadeia de suprimentos ainda é difícil, e exige melhorias lentas e imperfeitas, como sandboxing melhor, permissões em nível de app, monitoramento de rede por app e detecção de anomalias, além de construção de confiança no processo de empacotamento/distribuição; processos judiciais provavelmente não são a resposta
A parte que diz que ele tenta abrir o encaminhamento de porta UPnP, mas falha porque os nomes das chaves ficam embaralhados no roteador, na verdade deveria falhar em qualquer roteador
Porque UPnP deve ficar desativado
Todo app P2P, como o Tailscale, precisa temporariamente agir como um servidor e permitir tráfego de entrada
Sem esse recurso, por assim dizer, vira um cidadão de segunda classe e trata o usuário como criança
Claro que dá para abrir portas manualmente, mas, por causa de uma UX difícil de encontrar, inconsistente e complexa, isso é inacessível para a maioria dos usuários, e a maioria nem sabe o que é uma porta
Eles também não querem a chateação de desligar UPnP, e essa configuração provavelmente está ativada, você sabendo mais sobre o assunto ou não
A maioria dos roteadores provavelmente nem tem essa configuração, então, se um dispositivo infectado faz parte do seu modelo de segurança, é prudente assumir que o NAT está, na prática, totalmente neutralizado por causa de ataques de NAT slipstream
Um dispositivo infectado pode alterar a tabela NAT do roteador e fazê-lo se comportar, na prática, como UPnP, mas sem oferecer uma UI para o usuário auditar
Se você usa apenas IPv6 sem NAT, desativar UPnP pode ser uma boa medida de segurança quando você estiver disposto a gerenciar manualmente todas as exceções de firewall, mas, para a maioria das pessoas hoje, o firewall do host é a única forma de proteção confiável
É uma fala bem confusa
Os termos dizem que “o aplicativo altera as configurações de rede do dispositivo do usuário para usá-lo como gateway de tráfego de internet e compartilhar tráfego de internet, e os clientes da NightOwl incluem empresas de pesquisa web/de mercado, SEO, proteção de marca, entrega de conteúdo e cibersegurança”
Isso é coisa de tocar fogo mesmo
Mas fico sinceramente curioso sobre por que explicitaram isso nos Termos de Uso
Uma organização capaz de colocar uma funcionalidade suspeita dessas parece que também esconderia ativamente que faz isso, então fico me perguntando se há algum motivo pelo qual escrever nos termos protegeria juridicamente a NightOwl
Por exemplo, não sei se originalmente poderiam ser processados com sucesso, mas, se isso estiver nos termos, fica tudo bem; ou se esse tipo de comportamento suspeito é tecnicamente legal desde que esteja nos termos
Se for isso, é bem decepcionante, e seria bom que as permissões dos apps fossem mais granulares
Usar o Little Snitch ajuda a detectar a quais IPs e endereços um app está se conectando e a bloquear essas conexões
Espero que nunca considerem uma venda