A NOS e o bloqueio de domínios legítimos

Depois do estranho bloqueio da NOS do domínio bit.ly, voltamos a detectar novos bloqueios em domínios legítimos na rede desta operadora, em vigor deste a passada segunda feira, dia 23 de março. Domínios de serviços de comunicação em tempo real, como o Discord, de serviços de autenticação da Microsoft, e até domínios de informação pública sobre o Coronavirus estão a ser bloqueados.

Quando o domínio do bit.ly foi bloqueado pela NOS – tendo sido desbloqueado algumas horas depois – ficamos com a pulga atrás da orelha, relativamente ao porquê deste bloqueio, mas a informação disponível na altura era muito pouca para retirar conclusões. No entanto, na passada segunda feira, com o bloqueio de mais domínios legítimos nesta operadora, foi-nos possível detectar um padrão que explica – mas não justifica – estes recentes bloqueios.

O discord.gg, login.live.com, coronavirus-map.com e coronavirus.app foram os quatro domínios que, desde segunda-feira, começaram a acionar o nosso sistema de alertas do Ahoy!. O primeiro, discord.gg, é um domínio utilizado pelo Discord para partilhar os convites de acesso às centenas de milhares de comunidades existentes nestas plataformas. O segundo domínio, login.live.com, é bastante auto-explicativo – serve para iniciar sessão nos vários serviços da Microsoft, como o Outlook, Office 365, entre outros. Já os dois domínios de mapas do Coronavirus parecem, numa primeira análise, perfeitamente legítimos onde apenas é feita partilha de informação.

Mas então, porque é que a NOS está a bloquear estes domínios? Não havendo conteúdo piratas, certamente não será por causa do Memorando. Mas também não são sites de gambling, pelo que não é responsabilidade da SRIJ. Ao que nós conseguimos apurar, estes domínios estão a ser bloqueados por suspeitas de phishing. Neste artigo, que pode ser um pouco técnico, explicamos a metodologia utilizada para chegar a esta conclusão, e porque é que este tipo de bloqueios poderão ser ilegais.

Estes domínios estão mesmo bloqueados?

A nossa primeira hipótese relativamente a estes quatro domínios seria que, talvez, o bloqueio detectado fosse um falso positivo. Para testar se o site estaria efetivamente bloqueado recorremos ao serviço RIPE Atlas, que tem milhares de pequenas máquinas de teste (chamados probes) espalhados pelo mundo, ligadas a diferentes ISPs. Em Portugal existem cerca de 200 probes (que qualquer pessoa pode ter em sua casa), onde cerca de 25 estão atualmente ligados à rede da NOS, identificada como AS2860.

Estes probes podem ser utilizados para diversos testes de rede, como pedidos HTTP, testes de Ping, ou mesmo resolução de DNS. A ideia foi então, recorrer a estes para validar qual o IP que é devolvido pelos servidores de DNS destas ligações, para estes domínios. Caso a resposta do servidor de DNS seja o IP 195.23.113.202 (que é o correspondente ao servidor onde os domínios bloqueados na NOS estão a apontar), significa que o domínio está efectivamente bloqueado.

Começamos por testar o discord.gg. Os resultados não poderiam ser mais óbvios.

$ python resolve.py --asn=AS2860 -r 50 discord.gg
[162.159.130.234 162.159.133.234 162.159.134.234 162.159.135.234 162.159.136.234] : 5 occurrences
[195.23.113.202] : 21 occurrences

De 26 probes que testaram o domínio discord.gg, 21 devolveram o IP da NOS, confirmando que o mesmo está bloqueado. A resposta correcta dos outros 5 probes pode ser justificada pela alteração dos DNS por omissão, no router da operadora.

Efectuamos então os testes para os restantes três domínios, e como seria de esperar, todos estes devolveram bloqueados. Todos, menos o login.live.com.

O Estranho Caso do login.live.com

Apesar de recebermos dezenas de alertas relativamente a este domínio, os resultados estavam a ser muito inconsistentes. De vários testes que fizemos, muitas das vezes eram devolvidos os IP’s correctos para este domínio, mas ocasionalmente 3 ou 4 probes devolviam o IP da NOS. Mas porquê?

$ host login.live.com 212.0.160.26

Using domain server:
Name: 212.0.160.26
Address: 212.0.160.26#53
Aliases:

login.live.com is an alias for login.msa.msidentity.com.
login.msa.msidentity.com is an alias for lgin.msa.trafficmanager.net.
lgin.msa.trafficmanager.net has address 40.90.137.124
lgin.msa.trafficmanager.net has address 40.90.23.206
lgin.msa.trafficmanager.net has address 40.90.137.127
lgin.msa.trafficmanager.net is an alias for fe-bl02p-msa.trafficmanager.net.
lgin.msa.trafficmanager.net is an alias for fe-bl02p-msa.trafficmanager.net.

Esta é a resposta esperada por um pedido DNS ao login.live.com, utilizando um servidor de DNS da NOS (212.0.160.26). A resposta parece 100% correcta, mas como o problema parecia ser intermitente, decidimos testar com vários servidores de DNS da NOS (que encontramos utilizando uma lista pública de DNS em Portugal). Finalmente, depois de muitas respostas correctas, encontramos o que estávamos à procura:

$ host login.live.com 88.157.200.129

Using domain server:
Name: 88.157.200.129
Address: 88.157.200.129#53
Aliases:

login.live.com is an alias for login.msa.msidentity.com.
login.msa.msidentity.com is an alias for lgin.msa.trafficmanager.net.
lgin.msa.trafficmanager.net has address 195.23.113.202

Neste servidor de DNS, também da NOS, o login.live.com não devolve o IP bloqueado. Mas este domínio é um “pseudónimo” (alias) de login.msa.msidentity.com, que por sua vez também é um alias de lgin.msa.trafficmanager.net. E este está, efectivamente, a devolver o IP de bloqueio da NOS. Testando este domínio utilizando o RIPE Atlas, conseguimos confirmar essa mesma informação:

$ python resolve.py --asn=AS2860 -r 50 lgin.msa.trafficmanager.net
[40.90.137.125 40.90.23.154 40.90.23.247] : 1 occurrences
[195.23.113.202] : 20 occurrences
[40.90.137.126 40.90.23.206 40.90.23.247] : 1 occurrences
[40.90.23.153 40.90.23.154 40.90.23.208] : 1 occurrences

Portanto, o login.live.com não está bloqueado directamente, mas como a resposta deste domínio depende da resposta do lgin.msa.trafficmanager.net, que está bloqueado, poderá por vezes causar problemas de acesso.

Porque é que a NOS está a bloquear estes domínios?

A resposta correcta a esta questão apenas poderá ser respondida pela própria empresa. No entanto, temos uma teoria muito forte: a NOS bloqueia, de forma automática e sem validação, sites que sejam suspeitos de phishing ou de distribuição de malware.

Olhemos então para o discord.gg: Uma pesquisa no Google mostrou que este domínio foi marcado, de forma errada, como potencialmente malicioso. Este domínio foi marcado recentemente como malicioso no site any.run, que faz a deteção de Malware.

Será que o mesmo acontece com o domínio da Microsoft? Surpresa, surpresa, parece que sim:

É possível ainda encontrar tópicos no fórum da MalwareBytes, relativamente ao bloqueio deste domínio nesta suite de segurança. Uma das respostas, colocada a 10 de Fevereiro, indica que é um falso positivo e que já terá sido retirado da base de dados desta empresa.

O coronavirus.app também é marcado como potencialmente malicioso, assim como o coronavirus-map.com.

Isto leva-nos a suspeitar bastante que estes quatro domínios foram, de forma errada, identificados como maliciosos e adicionados a uma lista. A NOS, por sua vez, utilizará esta lista para bloquear sites maliciosos na sua rede.

Mas estes bloqueios não nos protegem?

Na teoria sim, até poderão ajudar os internautas mais vulneráveis ou com menos conhecimentos de informática a protegerem-se deste tipo de ataques. Mas aqui o problema em questão é a forma como a NOS efectua este bloqueio.

Em primeiro lugar, a mensagem que é mostrada quando a página é bloqueada é genérica, pouco informativa e muito provavelmente errada. Estes domínios não estão a ser bloqueados por cumprimento de ordens administrativas, muito menos de ordens judiciais. No limite, esta página deveria informar que a página foi bloqueada por ser potencialmente um problema de segurança e deverá incluir forma de reportar falsos positivos.

Em segundo lugar, questionamo-nos sobre a legitimidade de uma empresa como a NOS poder bloquear, de forma arbitrária e sem qualquer ordem judicial, domínios em Portugal. A falta de transparência deste processo é gritante. Não sabemos qual é a fonte que a NOS utiliza para bloquear estes domínios; não sabemos quem é responsável por mantê-la e testá-la. Imaginando que será uma empresa terceira – uma hipótese bastante plausível – , que nenhum de nós conhece nem sabe qual é, tem, na prática, o poder de bloquear qualquer domínio em Portugal, sem qualquer controlo ou transparência. Até poderá ser de forma acidental, como cremos que terá acontecido no bloqueio do bit.ly há poucas semanas. Mas é um poder demasiado grande para estar a ser aplicado desta forma, sem transparência.

Em terceiro lugar, nunca em nenhuma situação a NOS mencionou a existência deste “serviço”, nem há possibilidade de não o utilizar. Uma funcionalidade destas ao nível do operador até poderia ser interessante – mediante alguns cuidados, desde que os clientes soubessem que esta existe, e que seja possível desactivar. Da forma como está, é um mistério como funciona.

Da forma como está, a NOS está a bloquear, de forma invisível e imediata, domínios e serviços completamente legítimos. A legalidade destes bloqueios é muito questionável, e em última instância pouco ética. Resta-nos ver se, com a divulgação destes bloqueios, a NOS ofereça uma explicação oficial para esta situação. Continuaremos a acompanhar!

Leia Mais

Ahoy! já está novamente disponível para Google Chrome

Depois de termos comunicado no passado dia seis que o Ahoy! foi removido do Google Chrome, podemos finalmente anunciar que estamos de volta. Já é possível descarregar e instalar o Ahoy! directamente da loja da Google, sem qualquer necessidade de passos intermédios.  Após várias notícias terem saído em orgãos como o Tugaleaks, Torrentfreak e Shifter, fomos finalmente contactados pela Google, que nos explicou a situação e ajudou-nos a resolver o problema o mais rápido possível. Felizmente, tudo não passou de uma falha de comunicação da gigante americana com a nossa equipa.

Apesar de termos os nossos dados de contacto actualizados, tanto no painel de programadores do Google Chrome, como no site da Revolução dos Bytes, a Google enviou-nos comunicações para um email associado a um Google Group, que é utilizado única e exclusivamente para a gestão do plugin, e que não recebe emails. Apesar das nossas tentativas de comunicar com a Google, apenas após a divulgação da situação por vários grupos de comunicação é que fomos contactados pelos canais oficiais e soubemos, finalmente, o motivo da remoção do Ahoy! da loja do Chrome: a falta de uma política de privacidade.

De acordo com a Google, foi feito um contacto sete dias antes da remoção, do qual não obtiveram resposta. O que é perfeitamente normal, visto que enviaram para um endereço que não aceita emails, em vez de enviarem para o correio electrónico definido como forma de contacto, no próprio painel desta empresa.

Após sermos contactados, a Google prontificou-se a resolver a situação assim que fosse colocada uma política de privacidade do Ahoy!, e confirmou-nos que iria rever o seu método de contacto com os programadores das extensões disponíveis na loja do Chrome.

Cinco minutos depois da publicação da política de privacidade, o Ahoy! foi novamente reactivado e está pronto para continuar a ajudar a desbloquear a internet dos Portugueses.

A todos os envolvidos na resolução desta situação, o nosso muito obrigado. Obrigado, também, a todos os fieis utilizadores do Ahoy! e as nossas desculpas por esta interrupção. Voltamos, e prometemos que é em força!

Leia Mais

COMUNICADO – Remoção do Ahoy! da loja do Chrome

No passado dia 31 de Julho, a extensão do Ahoy! para o Google Chrome foi removida, sem qualquer explicação, do mercado de aplicações da Google. Esta situação, da qual somos completamente alheios, está a impossibilitar a instalação na nossa extensão pelos utilizadores deste browser, uma situação altamente inconveniente que coloca em causa o funcionamento e a viabilidade deste projecto, visto que cerca de 98% dos nossos utilizadores vêm do Chrome.

A Google disponibiliza uma loja de extensões para o seu browser, sendo o único local onde é possível instalar directamente extensões para o Chrome, tendo portanto o total monopólio de quais extensões é que podem correr no browser. Se por um lado também protege o utilizador final de possíveis extensões maliciosas, também possibilita a censura de outras, como o Ahoy!, que lutam por uma internet verdadeiramente livre, neutra, e sem qualquer censura.

Mas pior ainda, esta remoção da loja oficial do Chrome foi feita sem qualquer notificação da parte da Google e sem qualquer possibilidade de corrigir algum eventual problema. Se infringimos alguma dos termos da loja nunca nos foi informado qual, quando, e/ou porquê.

Da mesma forma que a Google nunca nos contactou, também não temos qualquer hipótese de contactar a Google relativamente a esta situação. Não existe nenhum correio electrónico para apoio a programadores, não existe nenhum formulário de contacto, nem nada semelhante. Existe sim um grupo público de discussão na internet, que nem sequer deveria ser utilizado nestas situações, onde já expusemos a nossa situação, sem qualquer resposta até ao momento.

O código-fonte do Ahoy! é totalmente aberto e pode ser consultado por qualquer pessoa no nosso Github, pelo que podemos garantir que não existe nenhuma parte do nosso código que seja malicioso ou que tenha um propósito diferente do desbloqueio de sites em Portugal.

O Ahoy! é utilizado por cerca de 185.000 pessoas, e já ajudou a desbloquear milhões de páginas ao longo dos últimos 3 anos. Adicionalmente, graças ao Ahoy!, já foram detectados e desbloqueados 1750 sites.

Esta situação não só afecta os utilizadores do Google Chrome que pretendem ter acesso a uma internet livre, como inviabiliza o nosso sistema de detecção de sites bloqueados, que é dependente da utilização desta extensão. Sem o Ahoy! não seria possível detectar sites que foram erradamente bloqueados, como já aconteceu.

Por este motivo anunciamos, também, a disponibilização de uma nova página para possibilitar a instalação manual do Ahoy!. O Ahoy! para o Chrome pode ser agora, e até a situação ser resolvida, descarregado directamente de download.ahoy.pro. Visto que é uma instalação fora da loja do Google, existem alguns passos adicionais que têm que ser executados para concluir a instalação.

Descarregue já o Ahoy! para o Google Chrome aqui!

Assim que existirem mais novidades, voltaremos a actualizar-vos!

O nosso muito obrigado por todo o vosso apoio e preferência,
Equipa Revolução dos Bytes/Ahoy!

Leia Mais