Será Que Fui Facebookado?

O que aconteceu?

Em abril de 2021, um enorme conjunto de dados pessoais que inclui detalhes de mais de 500 milhões de usuários foi publicado on-line. Os hackers provavelmente estiveram em posse dos dados por alguns meses, mas aparentemente só decidiram publicar suas descobertas agora. As maiores ameaças, caso seus dados estejam neste lote: phishing e assédio pessoal.

Quais dados foram vazados?

Junto com números de telefone, os seguintes dados foram vazados:

  • ID da conta do Facebook
  • Nome completo
  • Gênero
  • Status de relacionamento
  • Endereço residencial e localização de nascimento
  • Ambiente de trabalho

O Facebook ainda é seguro para usar?

No momento ainda não se sabe se o Facebook corrigiu a vulnerabilidade, uma vez que a empresa não divulgou nenhuma declaração sobre o vazamento.

Todas essas informações sobre sua conta podem ser checadas no site:

https://haveibeenfacebooked.com/

Escolha o código de país e entre com o número de seu telefone.

NOTA:
Recomendamos, como sempre, extrema cautela ao usar a referida rede social. Nós, por princípio, não recomendamos o uso de redes centralizadas como o Facebook e similares.

O site que linkamos é de autoria de Marco Aceti e Fumax (dados disponíveis no GitHub). Neste post, adaptamos o conteúdo para o português usando a licença MIT, que reproduzimos abaixo, conforme requerido.

MIT License

Copyright (c) 2021 Marco Aceti

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Funcionalidade de VPN usando Túnel SSH

Este não é um blog novidadeiro ou de breaking news. Também não é um site de dicas. Meu compromisso é ter um canto na Web para discussão, em formato longo, de assuntos que não são contemplados em outras mídias e sites de língua portuguesa, mas que são importantes no debate internacional no campo da Tecnologia da Informação (de acordo com o que eu vejo). Assim, sempre haverá lugar aqui para sugestão de algumas técnicas rápidas e diretas, principalmente quando ligadas à Segurança e Privacidade Se este texto parece uma dica, que assim seja.

Alguns recursos na Internet podem ser acessados apenas a partir de clientes [*clientes são programas que rodam em seu computador local] com endereços IP específicos. Por exemplo, suponha que você queira baixar um documento da sua universidade publicado em uma revista científica. Nesse caso, normalmente você precisa se conectar ao site da revista a partir de um computador com um endereço IP que pertença à sua universidade. Se você estiver trabalhando em casa, é possível se conectar à VPN da universidade, de forma a que seu endereço IP de casa seja disfarçado como endereço IP do campus.

Contudo, nem sempre é possível usar a VPN fornecida pela sua universidade. Por exemplo, algumas VPNs requerem um software cliente especial, que pode não suportar certos sistemas operacionais, como o Linux. Existiria então alguma solução alternativa simples para VPN? A resposta é sim, se você puder estabelecer uma conexão SSH para um servidor com o endereço IP de sua universidade – por exemplo, para a estação de trabalho em execução no seu departamento. Essa conexão é chamada Túnel SSH e é implementada através de protoclos como o Socks.

Socks Proxy

Para contornar/resolver o problema do acesso à revista científica , podemos executar o seguinte comando, que cria uma listagem do servidor Socks na porta 12345 do seu localhost.


A opção -D especifica um encaminhamento “dinâmico” de porta em nível de aplicativo local. Isso funciona alocando opcionalmente um soquete para ouvir a porta no lado local. Sempre que uma conexão for feita a esta porta, a conexão é encaminhada sobre o canal seguro e o protocolo do aplicativo é então usado para determinar onde se conectar a partir da máquina remota. Atualmente, os protocolos Socks4 e Socks5 são suportados; o SSH atuará como um servidor Socks.

Se você quiser pará-lo, basta pressionar [Control] – [C]

Firefox via Socks proxy

A próxima etapa é a configuração de proxy no seu navegador. Usarei o Firefox como exemplo. A configuração está em preferências> Configuração de rede> Configurações …

Configuração de um Socks proxy no Firefox

Depois de fazer isso, você pode logar, procurar os papers que precisa e começar a baixá-los.

Para testar essa funcionalidade VPN improvisada, pesquise “Qual é o meu IP” no duckduckgo.com (ou Google) usando o navegador com proxy. Você vai reparar que ele exibe agora o IP de ssh_remote_host_ip em vez do IP de sua máquina local.

Ransomware: Cada Vez Pior

Poucas coisas provocam um calafrio tão desconfortável quanto logar em um computador e visualizar uma mensagem dando conta de que todos os seus arquivos e dados estão bloqueados e indisponíveis para acessar. No entanto, como a sociedade depende cada vez mais da tecnologia digital, esse é um cenário cada vez mais comum. Ransomware, uma aplicação que criptografa os dados para que os cibercriminosos possam extrair um pagamento pelo seu retorno seguro, tornou-se cada vez mais comum – e caro. Um relatório de 2019 da empresa de segurança Emisoft projetou o custo anual de ransomware em mais de US $ 7,5 bilhões, apenas nos EUA.

Uma pop up de ransomware

“Indivíduos, empresas, hospitais, universidades e governo, todos já caíram vítimas de ataques”, diz Chris Hinkley, chefe da equipe de pesquisa da unidade de resistência a ameaças (TRU) da firma de segurança Armour. Em um cenário de pior caso, os resgates exigidos podem ser da ordem de dezenas de milhões de dólares, capazes de fechar inteiramente as operações de uma organização. Ransomware já forçou hospitais a redirecionar pacientes a outras instalações, interrompeu serviços de emergência e destruiu negócios.

O problema só vai piorar, apesar do desenvolvimento de novas e mais avançadas maneiras de combatê-lo, incluindo o uso de análise comportamental e inteligência artificial. “As Cybergangs usam diferentes algoritmos criptográficos e distribuem software notavelmente sofisticado e difícil de detectar”, diz Hinkley. “Hoje, quase não há barreiras para a entrada no negócio de ramsonware, e o dano infligido é enorme”.

Na íntegra em Comunication of the ACM (em inglês).

Mercado Pede Especificações para Apps Automotivos

A dependência cada vez maior do software dentro do desenvolvimento automotivo, juntamente com a crescente complexidade desse software, coloca mais pressão do que nunca sobre os processos de desenvolvimento. Hoje em dia, é preciso mais de 100 milhões de linhas de código para construir um único carro de passageiros. Quando atingirmos o ponto em que os carros se tornarão completamente autônomos, o volume e a complexidade do código atingirão alturas ainda maiores.

Os veículos autônomos da próxima geração provocarão, é certo, um aumento na dependência do software. Mas até mesmo os veículos “padrão” de agora incorporam uma variedade de sistemas de software, muitas vezes conectados à Internet das Coisas e exigindo atualizações regulares.

É por isso que as arquiteturas abertas tornaram-se tão importantes nos últimos anos, ajudando a padronizar elementos de software, tornando-o “à prova de futuro” tanto quanto possível, para ajudar a gerenciar a crescente complexidade, permitir que equipes de software colaborem melhor, assegurando a conformidade dos processos, tudo isso sem sacrificar o tempo para o atendimento ao mercado. Adicionalmente, padrões de codificação e diretrizes são necessários para garantir que os componentes de software sejam confiáveis, fáceis de manter e, acima de tudo, seguros.

MISRA e AutoSAR

C e C++ são as linguagens de programação dominantes no mundo automotivo. O MISRA C, o MISRA C++ e as diretrizes de codificação AutoSAR C++ são os principais padrões de codificação. O MISRA é uma colaboração entre fabricantes de veículos, fornecedores de componentes e consultorias de engenharia. Formado no final dos anos 90, promove as melhores práticas no desenvolvimento de sistemas eletrônicos relacionados à segurança para veículos rodoviários. Seus padrões de codificação também são usados ​​em outras indústrias onde a segurança, a qualidade e a confiabilidade são uma prioridade, incluindo ferrovias, a industria aeroespacial, telecomunicações, dispositivos médicos e defesa. Hoje, o MISRA é aceito em todo o mundo para o desenvolvimento de software de missão crítica, nas linguagens C e C++.

O MISRA por enquanto pode ser o mais estabelecido e mais amplamente utilizado dos padrões, mas o uso crescente da moderna C++ está estimulando rapidamente a adoção das diretrizes da AutoSAR. AutoSAR é uma parceria entre mais de 180 empresas envolvidas na indústria automotiva, com o objetivo de padronizar arquiteturas abertas para software automotivo e desenvolvimento de sistemas incorporados. AutoSAR é considerado por muitos ser a plataforma de facto para o futuro design automotivo.

A plataforma adaptativa da AutoSAR atende as necessidades dos veículos conectados e da condução autônoma. Ela é projetada para tecnologias como microprocessadores de 32 e 64 bits de alta potência com memória externa, processamento paralelo e comunicações de alta largura de banda. As diretrizes de codificação AutoSAR C++ foram criadas para apoiar o desenvolvimento de componentes da plataforma adaptativa que utiliza a linguagem C++ moderna. Tais componentes devem cumprir os requisitos de segurança funcional rigorosos da ISO 26262.

A ISO 26262 é o padrão internacional para a segurança funcional dos sistemas elétricos e eletrônicos automotivos (E/E). O padrão cobre todo o ciclo de vida de produção. Um dos seus principais princípios é analisar os riscos no início do processo de desenvolvimento, estabelecer os requisitos de segurança apropriados e cumprir esses requisitos durante o desenvolvimento.

Dentro do padrão, a Parte 6 aborda especificamente o desenvolvimento de software, colocando requisitos particularmente sobre o início do desenvolvimento de software, sobre o projeto arquitetônico de software e design e sobre a implementação da unidade de software. Ela padroniza os métodos de desenvolvimento que devem ser aplicados para atingir um nível de integridade de segurança automotiva específico (ASIL).

O uso de um padrão de codificação aceito universalmente, como o MISRA ou a AutoSAR, facilita a tarefa de garantir que o software da indústria esteja em conformidade com a ISO 26262.

Aderindo aos padrões de codificação

O que o Misra e o AutoSAR têm em comum é que eles dão aos desenvolvedores uma estrutura dentro da qual eles podem desenvolver software “seguro”. No entanto, os padrões não fazem o trabalho do desenvolvedor, e desenvolver sistemas seguros seguros em C++ é um desafio que não deve ser subestimado. Embora seja uma linguagem de programação que dá aos desenvolvedores mais escopo para a inovação, a flexibilidade inerente à C++ também significa que uma tomada de decisão mais cuidadosa é necessária (por exemplo, sobre como lidar com a memória dinâmica). Em outras palavras, o C++ simplifica a programação de sistemas complexos, mas necessita de mais desenvolvedores.

Padrões de codificação ajudam, mas ainda podem ser um desafio para até mesmo o desenvolvedor mais experiente: lidar com áreas de ambiguidade ou interpretação requer experiência e experiência considerável. Selecionar as ferramentas e técnicas corretas são um papel importante a ser desempenhado.

Inspeção de código contínua

Outra boa prática é garantir que cada linha de código seja cuidadosamente inspecionada em todo o processo de desenvolvimento, para garantir que ela seja segura e confiável. Para evitar que isso seja um processo manual, os desenvolvedores usam cada vez mais ferramentas automatizadas, como analisadores estáticos para verificar o código. Como resultado, quaisquer problemas – como desvio a partir de um padrão de codificação, excesso de complexidade ou um bug de DataFlow de disco rígido – podem ser detectados no início do processo. Essa abordagem também reduz a carga subsequente nos processos de teste que tradicionalmente ocorreriam mais tarde no processo de desenvolvimento. É representativo da tendência ‘esquerda volver’, onde os desenvolvedores assumem alguns dos trabalhos que anteriormente eram realizados por testadores ou técnicos de garantia de qualidade.

Normas ajudam estabelecer uma ‘única fonte de verdade transparente’ onde cada versão de cada ativo digital associada a um projeto também suporte melhor a adesão aos requisitos de conformidade. Isso fornece uma visão em tempo real e histórica de quem fez o que, quando, onde e como. No mundo automotivo, isso pode incluir informações relacionadas ao software e hardware, como documentação, código e outros artefatos de design, entre os colaboradores internos e externos. No desenvolvimento de software automotivo, há tipicamente muitos tipos de ferramentas, arquivos, plataformas e diferentes equipes que contribuem para um projeto, por isso é essencial que a única fonte de verdade apóie essa diversidade.

Muitas equipes de desenvolvimento automotivo estão descobrindo que precisam de um sistema de controle de versão de alto desempenho que possa ser dimensionado para suportar o tamanho crescente de sua base de código, ao mesmo tempo apoiando adequadamente outros tipos de ativos binários. Elas também precisam de uma ferramenta de análise de código estática para se integrarem a este sistema de controle e para gerenciar violações do padrão de codificação à medida que seu código evolui.

Finalmente, como a tecnologia, ferramentas e processos que sustentam o desenvolvimento automotivo continuam a evoluir (como também novos problemas são introduzidos), é importante continuar monitorando a situação e permanecer com a cabeça aberta a novas ideias. Neste mercado de ritmo acelerado, uma coisa das quais podemos ter certeza é a mudança.