Pequeno manual hacker – 1ª parte
Hollywood prestou um desserviço aos hackers éticos, transmitindo idéias erradas e preconceituosas sobre o que eles fazem. Em qualquer filme, um hacker causa o caos digitando apenas três teclas e dando um clique no mouse sempre no intuito de causar o caos geral. Nada mais enganoso. Muito do que hoje chamamos de internet, o que inclui serviços como o e-mail e a web, devemos aos hackers.

Outra frente que empurrou os hackers ao mundo underground foram as grandes corporações. Quando elas perceberam que o valor (e principalmente o lucro) dos computadores estava no software e não no hardware, elas passaram a tornar sigilosos seus códigos fonte e tecnologias, enquanto os hackers sempre tiveram uma cultura de compartilhar conhecimentos e códigos fonte abertamente, algo que era contrário aos interesses das grandes companhias. As empresas de software nunca viram com bons olhos os trabalhos abertos dos hackers, acessíveis a qualquer um, quando elas investem milhões no desenvolvimento dos mesmos recursos de forma fechada para manter o cliente preso a elas pela exclusividade dos recursos.

Há um tempo, o presidente de uma grande companhia de software declarou enfurecido que os hackers são “comunistas” que “jogavam pérolas aos porcos”. Não só eles igualaram os recursos avançados de uma versão de banco de dados corporativo da companhia  em apenas 2 meses após o lançamento, quando este mesmo presidente havia dito que “estava pelo menos 5 anos à frente de qualquer concorrente”, como ainda disponibilizaram publicamente o código fonte dos novos recursos.

Do dia para a noite, não só os “comunistas” do software livre ofereceriam versões gratuitas de bancos de dados para uso e desenvolvimento com estes recursos avançados que a empresa levou anos para refinar, como a concorrência corporativa igualaria estes recursos em muito pouco tempo ao simplesmente seguir o caminho das pedras deixados pelos hackers que contornavam o traiçoeiro pântano das patentes.

Presos ao mundo underground, os hackers continuaram fazendo o que sempre fizeram, mas a questão de serem mal vistos e mal interpretados pela sociedade levou muitos deles para o “lado negro da força”, para outros o mundo digital é um local deles se tornarem um “Batman” da vida real, lutando no submundo por mais justiça sem que a polícia possa tocá-los, e mesmo os não convertidos tiveram que aprender a continuar suas atividades de forma dissimulada.

Se a necessidade é a mãe de todas as invenções, então a dificuldade é a avó e um inesperado estímulo que fez os hackers pesquisarem novos patamares de conhecimento e grandes refinamento de técnicas,  audaciosamente atingindo capacidades que nenhum programador experiente jamais alcançou.

Hackers desenvolveram uma série de técnicas que se adaptam a diferentes condições para explorar novos alvos e usá-los além da imaginação dos projetistas originais. Muitas técnicas dessas não surgiram com os computadores como muitos possam pensar, mas são milenares, porque não se aplicam apenas a computadores, mas a pessoas e coisas de maneira geral. Esta técnicas não são boas nem más. São apenas ferramentas como qualquer outra.  O uso que se faz delas é que as conduzem para o bem ou o mal.

São essas técnicas básicas que vamos estudar a partir de agora.

Computadores que conversam
Redes de computadores são como salas de bate-papo cibernéticas. Enquanto alguns conversam informalmente, outros prestam serviços que dão todo suporte ao ambiente. Há computadores que servem e computadores que são servidos, há computadores que comandam e computadores que obedecem e há computadores que colaboram entre si em igualdade de autoridade.

Um automóvel moderno possui vários computadores espalhados para controlar diferentes sistemas embarcados, e esses computadores “conversam” entre si para regular todo funcionamento harmonioso. É um caso particular de rede, visando a criação de um “organismo” funcional.

A forma de se controlar um carro pela internet é afetar a forma como estes dispositivos conversam entre si e interferir nessa comunicação, levando o carro a fazer o que o hacker quer e não o que o fabricante determinou. Mas para entender como isso é feito precisamos definir o que seria uma conversa para depois aprendermos como interferir nela de uma forma útil para o hacker.

Os personagens de uma conversa hackeada
Toda conversa possui pelo menos dois agentes que se comunicam inocentemente, e numa conversa hackeada temos um terceiro agente que interfere no processo.

Para nosso modelo, precisamos inicialmente de dois agentes interlocutores. Chamaremos esses agentes de “Ana” e de “Ari”. Ana e Ari são pessoas comuns, com interesses comuns, sem malícia  e que de alguma forma se conhecem e precisam se comunicar.

Nosso terceiro agente é um hacker. Hackers normalmente usam “nomes de batalha” para não exporem seus nomes reais. O nome de batalha do nosso hacker é tradicional a este meio: “Toxic Rubber Duck”, ou apenas “Toxic” para os amigos do IRC (internet relay chat, bate-papo pela internet). “Toxic” é curioso e pretende usar a conversa entre Ana e Ari para aprender e testar algumas técnicas hacker.

 

Personagens dos modelos de ataque hacker a uma conversa

Personagens dos modelos de ataque hacker a uma conversa

Definindo uma conversa padrão
Ana deseja se comunicar com Ari, então ela liga e ele atende:
– Alô!
– Alô! Eu queria falar com o Ari, por favor.
– É ele mesmo. Com quem falo?
– Oi, Ari! Aqui é a Ana. Tudo bem?
– Tudo bem. Em que posso te ajudar?
– Eu queria…
E a conversa prossegue.

 

Numa conversa normal, não existem interferências externas

Numa conversa normal, não existem interferências externas

Esta é uma conversa normal que podemos ter através de um telefone.
Essa comunicação ocorre sob a condição de alguns detalhes:
– Ela ocorre através de um meio de comunicação. O telefone, por exemplo.
– Os agentes usam um protocolo de comunicação conhecido por ambos. A língua portuguesa é um protocolo de comunicação;
– Os agentes possuem algum grau de confiança para estabelecer sua comunicação. No exemplo, por se conhecerem, Ana e Ari podem assumir uma comunicação com confiança.
– Para que a confiança seja estabelecida nesta conversação, Ana e Ari trocam apresentações para confirmar que um realmente está falando com o outro. É o reconhecimento mútuo que leva à confiança que torna a conversa efetiva.
– Pode existir ou não uma simultaneidade entre uma mensagem de um ator a outro e a respectiva resposta.

Sobre o meio de comunicação, os mais antigos e tradicionais, a fala e a escrita, são meios milenares. Já os demais meios, como o telefone e a internet são meios bastante modernos, e possuem meios bastante técnicos para serem explorados. As técnicas básicas apresentadas a seguir de forma genérica têm de ser adaptadas tecnicamente ao tipo de canal de comunicação utilizado. Muitas vezes, dadas as disparidades técnicas entre os vários sistemas, muitas técnicas nem parecem ser as mesmas quando vistas num primeiro instante, mas suas essências são as mesmas quando vistas em profundidade.

Repare que alguns meios de comunicação são simétricos, como o caso do telefone, onde os interlocutores possuem capacidades iguais de ouvir e falar, enquanto há meios de comunicação assimétricos, como a TV, onde um agente fala para vários agentes ouvintes simultâneos.

Há meios de comunicação privada, onde existe privacidade, como no telefone, e há meios públicos, sem privacidade, onde outros atores podem ouvir os que falam. Um tipo especial de meio público é chamado de “broadcasting”, quando um ator fala para todos que possam ouvir. É o caso do rádio e da TV.

Já no caso do protocolo, este é um tipo de linguagem que ambos os lados dominam para se comunicarem. Protocolos podem ser simétricos ou assimétricos, dependendo da hierarquia entre atores. Atores no mesmo nível costumam usar protocolos simétricos. É o caso mais comum entre Ana e Ari, que falam português entre eles. Mas assimetrias podem existir, como no caso de Ana falar em inglês e Ari responder em português, ou numa diferença de hierarquia, chamada de “mestre-escravo”, Ana envia comandos a Ari do tipo “Faça tal coisa.” e Ari apenas responde “Feito.”.

A questão da simultaneidade e da simetria é importante para muitos protocolos. Há muitos protocolos onde um dos atores envia uma mensagem e para ter certeza que a mensagem foi recebida, espera uma resposta do outro ator. Alguns protocolos se satisfazem com um simples sinal de reconhecimento, algo como um simples “OK”. Outros mais exigentes esperam algum registro resumido do que foi enviado para ter certeza que os dados recebidos não estão corrompidos. Estas respostas têm que ocorrer dentro de um prazo definido de tempo, sob pena de gerar um erro de tempo excessivo de resposta (TIMEOUT ERROR). A esta mensagem de retorno recebe o nome técnico de “handshake”, aperto de mãos em inglês.

Quando Ana conversa com Ari por telefone, ela espera que Ari dê sinais de tempos em tempos que está ouvindo e compreendendo o que ela diz. Se ela percebe que Ari demora em responder, é instintivo que ela pergunte “Alô! Ari, você está aí?”. Porém se Ana se comunica com Ari através de carta, o tempo de resposta pode ser ainda maior, sem o concurso de simultaneidade. E se Ana escreveu um livro, ela não espera que obrigatoriamente Ari responda.

Também é preciso haver um certo nível de confiança entre Ana e Ari. Sem confiança, o que um ator diz não tem credibilidade junto ao outro ator que ouve, e sem credibilidade, a comunicação não atinge seus objetivos.

Pense num político desacreditado fazendo um discurso na TV. Qual a receptividade que ele recebe? Ao contrário, quando há confiança a mensagem transmitida é efetiva e francamente aceita.

Quando os atores se conhecem, basta se apresentarem um ao outro. Ao se reconhecerem, a confiança é automaticamente estabelecida para o diálogo. Porém o caso mais difícil é o estabelecimento da confiança entre atores que não se conhecem. Aí se torna necessário o uso de uma chave para que haja o reconhecimento.

Entre reis e generais da antiga Mesopotâmia havia um sistema de reconhecimento onde um rolo de barro era entalhado com diversas figuras de homens, animais e plantas. Uma vez seco e endurecido, o rolo era rolado sobe placas planas de barro, deixando impressas as marcas invertidas do rolo. As placas eram distribuídas aos generais, e quando o rei precisava enviar um mensageiro, este carregava o rolo de barro. O mensageiro obrigatoriamente era uma pessoa desconhecida por motivos de segurança, e portanto não poderia ser reconhecido pelo general.

Ao entregar a mensagem, o mensageiro entregava o rolo de barro ao general. Se o rolo rolasse engrenado com perfeição sobre a placa de barro, e havendo apenas um rolo compatível, o mensageiro era confiável e o general sabia que a mensagem veio diretamente do rei.

Hoje o comércio eletrônico pela internet utiliza um sistema matemático de chaves baseado em números primos, mas o mecanismo é parente em seu funcionamento aos milenares rolos de barro mesopotâmicos.

Há uma relação entre protocolo e confiança que se reflete na tecnologia da criptografia. A idéia é que, se a mensagem entre atores passa por meios públicos, a criptografia cria um protocolo que só é compreensível entre os atores originais da conversa. Para muitos sistemas, se um sistema consegue conversar com outro por meio de um protocolo altamente exótico, então estes dispositivos são automaticamente confiáveis um para o outro.

Um fato curioso e importante sobre o uso do meio de transmissão das mensagens aliado ao protocolo é que ele cria reconhecimento, familiaridade e confiança mesmo sem que os atores se conheçam plenamente.

O leitor já deve ter passado pela experiência de conversar por meses ou anos com outra pessoa por telefone ao ponto de ter até uma certa intimidade, imaginou como essa pessoa seria pessoalmente pela educação e timbre de voz, mas quando a conheceu era fisicamente diferente do esperado.

O mesmo ocorre com computadores. Quando o leitor digita “www.seubanco.com.br” e recebe o site no navegador, não imagina que máquina o está servindo do outro lado da conexão. Para o usuário comum, esta é uma diferença que não tem importância e a grande maioria das pessoas sequer pensou nisso. Esta propriedade das conversações pode tanto ser aproveitada em estratégias de ataque como de defesa.

Estes são os elementos básicos de uma conversa, e a partir deles é que surgem as técnicas mais básicas de ataques. É o que veremos a seguir.

“Farejando”
Vamos ao primeiro tipo de ataque hacker, o “sniffing”, ou “farejando”. É o mais simples dos ataques, pois parte de uma conversa normal, onde o hacker entra em paralelo com os dois interlocutores. Também é o menos arriscado, pois o risco do hacker ser descoberto é muito baixo.

No nosso exemplo, “Toxic” fica ouvindo todas as mensagens trocadas entre Ana e Ari. “Toxic” pode não conhecer o protocolo de imediato, mas o simples fato de ouvir pode levantar dados suficientes para a quebra do protocolo por parte de “Toxic”. A partir daí, “Toxic” pode reconhecer parcial ou completamente o que Ana e Ari conversam e tirar proveito do que aprendeu e ouviu.

 

Sniffing consta apenas de escutar a conversa sem ser percebido para usufruir dos dados coletados.

Sniffing consta apenas de escutar a conversa sem ser percebido para usufruir dos dados coletados.

É importante notar que no sniffing o papel do hacker é sempre passivo. A coleta passiva da informação não interfere na comunicação direta entre os atores, tornando-a difícil de ser percebida, porém ela será utilizada em outras ações mais adiante. Exemplos bem comuns de sniffing seriam as escutas telefônicas, o ouvir o vizinho através das paredes usando um copo e olhar pelo buraco da fechadura.

Esta técnica é muito usada em espionagem e na quebra da criptografia de softwares e de redes. Ela é parte importante da história de um dos maiores heróis trágicos do século 20: o inglês  Alan Turing.

Antes da 2ª Guerra Mundial, num mundo ainda sem computadores, matemáticos e inventores refinaram para a marinha de guerra alemã (depois levada para o exército e para a força aérea) uma máquina de criptografia virtualmente inexpugnável, a máquina ENIGMA. Entre os trunfos da máquina ENIGMA estavam um sistema de dois estágios de codificação, sendo um rotativo com três discos, de tal sorte que a mesma letra digitadas duas vezes, mesmo em seqüência, surgiria criptografada de forma diferente, e as chaves de ajuste da máquina eram ajustadas todos os dias. E diferentes frentes de batalha possuíam suas próprias chaves, dificultando ao máximo a decodificação pelo inimigo. Desta forma, mesmo que uma máquina fosse capturada no campo de batalha, ela seria inútil sem as chaves.

Para enfrentar os alemães, os ingleses recrutaram seus melhores matemáticos disponíveis, entre eles, Alan Turing. Este grupo desenvolveu uma máquina que buscava por força bruta as chaves de criptografia  das ENIGMA em campo, testando os textos criptografados telegrafados pelos alemães contra palavras muito utilizadas nestas mensagens, como “alvo”, “destino”, “chuva”, e “Heil Hitler”. Encontradas as chaves, as mensagens do dia eram imediatamente decodificadas e levadas ao comissariado inglês para tomar decisões estratégicas.

 

Máquinas ENIGMA e BOMBE. Esta última, de decifração das mensagens ENIGMA, foi projetada por Alan Turing e sua equipe

Máquinas ENIGMA e BOMBE. Esta última, de decifração das mensagens ENIGMA, foi projetada por Alan Turing e sua equipe

É interessante notar que a princípio os alemães estavam tão confiantes nas qualidades da máquina ENIGMA que continuaram a usando por muito tempo, mesmo com sinais que seus movimentos eram previamente conhecidos. Por fim, quando perceberam que suas mensagens estavam obviamente sendo interceptadas, os alemães simplesmente passaram a usar máquinas ENIGMA de quatro discos em vez das originais de três discos, algo que foi fácil para a equipe de Alan Turing reproduzir a solução.

 

De cima para baixo, general de divisão Panzer, radio-telegrafista e operadores de máquina ENIGMA trabalhando na carroceria de um caminhão.

De cima para baixo, general de divisão Panzer, radiotelegrafista e operadores de máquina ENIGMA trabalhando na carroceria de um caminhão

O setor de inteligência ao qual Alan Turing revelou-se fundamental era uma grande central de sniffing da marinha britânica, e foi o ponto de partida para uma parte importantes dos serviços modernos de espionagem e vigilância estratégia, um Big Brother mundial.

Os recentes escândalos de espionagem revelados por Edward Snowden, hacker e ex-agente da Agência Nacional de Segurança (NSA), mostravam que esta agência de inteligência mantinha cerrado sistema de vigilância, incluindo a vigilância de internet e até de escuta de telefones de importantes chefes de Estado, como Angela Merkel, da Alemanha, e até da nossa presidente Dilma.

Antes dele, houve o escândalo do sistema de escutas “Echelon”, que, entre outros fatos, revelaram provas contra a vencedora francesa Thomson-CSF ao bilionário projeto brasileiro do SIVAM (Sistema Integrado de Vigilância da Amazônia), desqualificando-a e deixando a americana Raytheon como a nova vencedora da licitação internacional. O caso brasileiro foi investigado por autoridades européias desconfiadas que o sistema Echelon estivesse sendo usado para competição desleal entre empresas americanas e européias junto com outros casos semelhantes, onde sempre que havia o surgimento de informações sigilosas garantia-se a vitória a empresas americanas em grandes concorrências internacionais.

O tipo de espionagem promovido pela NSA nada mais é que o “sniffing” em diferentes formas.

Os especialistas também reclamam bastante da vigilância cerrada das empresas de internet (Google, Apple, Microsoft) sobre o usuário comum. O usuário compra um produto original destas companhias, algumas vezes paga por ele, e ganha de brinde uma diversidade de softwares com função de sniffing originais de fábrica, sem limites para o que possam vasculhar na intimidade do inocente usuário.  Smartphones e tablets são, por excelência, máquinas de sniffing pessoais.

O sniffing é hoje um negócio bilionário porque quem paga a fatura final pelo vazamento de dados pessoais é o próprio usuário. Ele é usado para coleta de dados que depois servirão de base para o uso da engenharia social junto ao usuário-consumidor que será direcionado a comprar determinados produtos.

O caso mais recente envolve o recém lançado Windows 10, onde o portal inglês especializado em tecnologia da informação (TI) Ars Technica rastreou as atividades e comunicações do programa e mapeando várias situações. Veja aqui, aqui e aqui.

O nível de rastreamento do Windows 10 revelado pela Ars Techinca é assustador. Não há segredos ou um mínimo de privacidade entre o usuário do Windows 10 e a Microsoft, mesmo contra o mecanismo de controle de privacidade existente no próprio Windows 10.

Que destino terão esses dados? Os termos da licença de uso do Windows 10, atulhados num documento de 45 páginas, não são claros ou específicos a esse respeito, mas dão legalidade aos atos da empresa pelo aceite automático do usuário ao usar o software.

Um problema grave de tráfego de dados em larga escala como este do Windows 10 é que possivelmente ele ocorra sem criptografia ou que ela seja muito fraca. Imagine o leitor o volume de dados coletados de todas as milhões máquinas com Windows 10 instalado pelo mundo exigindo ser descriptografada pelos servidores da Microsoft por programas pesados antes de ser analisado. É tecnicamente inviável. Então é muito provável que esta etapa seja eliminada ou bastante aliviada.

Isso abre o caminho para o sniffing de terceiros. Imagine que um contrato altamente sigiloso de uma companhia seja transmitido pela internet pelo Windows 10 para a Microsoft, e tenha alguém farejando esse tráfego em algum ponto. Imagine quanto uma informação classificada como esta valeria no mercado negro e comprada por um concorrente desleal.

Voltemos à nossa discussão  da série “Mundo Estranho”. Pense que seu computador foi invadido por “Toxic” e ele está vasculhando todo seu computador sem que você saiba o que ele pode fazer com as informações que tirar de lá. Você gostaria disso?
E quando é a Microsoft que faz isso? Por que ela seria diferente?

Há muitos usuários que vem defendendo abertamente esse comportamento da empresa ou até mesmo acreditando que ela não faria algo deste gênero. E quem realmente confiável garante isso?  Técnica e eticamente, a única diferença entre “Toxic” e a Microsoft neste caso é a escala com que a Microsoft explora o sniffing sobre a base de usuários do Windows e a facilidade de ter acesso às informações constantes na máquina.  Mas, novamente, quem diz que “Toxic” é o bandido, enquanto a Microsoft é uma empresa a ser respeitada é a parte interessada? Há dois pesos e duas medidas aqui, mas o julgamento deveria ser mais equitativo.

Por mais que os motivos alegados pela Microsoft para o rastreamento destes dados seja honesto (pouco confiável, dado que ela colaborava secretamente com a NSA fornecendo dados de usuários sob condições pouco claras e pode com a mesma facilidade colaborar com as indústrias da música e do cinema, dedurando os próprios usuários), o simples fato do Windows 10 transmitir dados sigilosos dos usuários por um meio aberto (internet) sem o conhecimento prévio do usuário desta ação, tornando-o acessível a terceiros, o que é uma ação anti-ética e anti-?rofissional, além de um risco para a segurança da informação deste usuário. Para muitos, é motivo mais que suficiente para não usar este software.

Num automóvel, um aplicativo oculto que fica farejando a rede pode obter silenciosamente muitos dados sobre a utilização do veículo. Dados de GPS, da condução do carro (aceleração, marcha usada, limpador e faróis ligados) etc. Isso é valioso para muita gente, e tanto pode ser um software original do fabricante como um malicioso de terceiros, ou mesmo ambos simultaneamente.

Você aceita que seu carro conectado seja vasculhado e manipulado por um hacker? E pelo próprio fabricante? E por um gigante da internet? Os carros conectados serão máquinas de sniffing originais de fábrica como são os smartphones? É tudo a mesma coisa, tem diferença ou isso pouco importa? Cada um que saiba sua própria resposta.

“Mistificando”
Outra técnica, esta mais invasiva e nem sempre tecnicamente perfeita, é a “mistificação”, a “enganação” ou “spoofing”. Esta técnica tem muitas variações porque ela depende da forma como a comunicação se estabelece, principalmente dos mecanismos de confiança mútua que existem entre os interlocutores originais. Vou explicar o processo completo, mas nos exemplos veremos que apenas parte do processo pode ser suficiente.

Voltemos ao nosso exemplo. Ana liga para Ari e começam a conversar. Ana e Ari se apresentaram e se reconheceram mutuamente, podendo estabelecer uma conversa com confiança e usando um determinado protocolo. “Toxic” inicialmente usa a técnica de “sniffing” para monitorar a conversa e se prepara para o ataque.

O ataque é duplo e precisa ser bem realizado e com precisão cirúrgica. Primeiro, “Toxic” tem que atacar Ana de forma a incapacitar qualquer comunicação direta dela com Ari, e no mesmo instante, “Toxic” assume todos os sinais reconhecíveis de identidade de Ana de forma a manter a confiança de Ari na conversa. A partir daí “Toxic” pode conduzir a conversa com Ari para realizar o que quiser.

 

O spoofing é uma técnica onde o atacante se faz passar por um dos atores originais da conversa, afim de manter a confiança do outro ator

O spoofing é uma técnica onde o atacante se faz passar por um dos atores originais da conversa, afim de manter a confiança do outro ator

É assim, por exemplo, que um aplicativo rodando oculto no computador de bordo do carro pode injetar pacotes de comando na rede embarcada de tal sorte a gerar ações involuntárias ao motorista. No caso do ataque demonstrado contra o Cherokee, técnicas de sniffing foram usadas para monitorar o veículo enquanto técnicas de spoofing foram usadas para comandá-lo.

É muito comum ainda hoje que os sistemas possuam modelos elementares e frágeis de confiança. Se o botão do limpador de pára-brisa apenas injetar na rede o comando “motor do limpador: ligar na velocidade máxima”, sem identificação do ator original e sem relação de confiança, basta o aplicativo malicioso injetar o mesmo comando na rede usando o mesmo protocolo e encriptação e veremos o limpador funcionar mesmo com o botão desligado e o sensor de chuva inativo.

O problema de segurança da rede embarcada pode ser similar ao dos alemães com a máquina ENIGMA. Os projetistas da rede podem ter levado em conta que o protocolo possui uma encriptação proprietária e que somente módulos originais reconhecem essa criptografia, criando confiança presumida entre dispositivos pelo seu uso. O grau de confiança pode ser tal que um módulo pode atender uma ordem vinda de qualquer lugar e sequer checar se a origem da ordem é coerente e confiável. Para piorar, muitas vezes a criptografia utilizada é fraca e facilmente rompida, pois criptografia segura implica em funções pesadas de codificação/decodificação que são usadas dezenas ou centenas de vezes por segundo, exigindo processadores mais potentes. Então, basta um hacker quebrar essa criptografia fraca e mapear todos os tipos de mensagens e terá o carro nas mãos para fazer o que quiser.

Por sua vez, um mecânico despreparado lidando com um carro contaminado com programa malicioso irá ver este comportamento estranho e não saberá identificar que o problema se trata de um malware, uma vez que a ferramenta de diagnóstico (scanner) não foi preparada para verificar essa possibilidade. E o aplicativo malicioso permanecerá indefinidamente no carro contaminado.

A técnica de spoofing é muito perigosa em muitas de suas variantes. Um dos tipos mais perigosos e francamente aplicados hoje contra o usuário de internet é o de DNS Spoofing. DNS (Domain Name Service) é um serviço na internet que transforma o nome digitado no navegador “www.seubanco.com.br” em um conjunto numérico (200.230.95.2, por exemplo) reconhecível pelos computadores do mundo inteiro para alcançar o servidor desejado. Antigamente usava-se uma técnica de injetar um endereço de servidor malicioso, com um site sósia do original, dentro de um servidor DNS legítimo. Assim, quando o usuário digitava no navegador “www.seubanco.com.br” era direcionado para o site malicioso ao invés do original.

Hoje essa fragilidade foi eliminada na maioria das versões dos programas que oferecem o serviço de DNS e a técnica de envenenamento de servidores confiáveis já não é tão aplicável. Outra, então, foi criada mais recentemente.

Com a profusão dos roteadores WiFi nas residências, com segurança mais frágil que equipamentos profissionais, configurados muitas vezes por usuários leigos, é comum que estes roteadores carreguem automaticamente várias configurações do provedor de serviços de internet, e isso inclui o endereço dos servidores DNS do provedor. Depois, os mesmos usuários leigos configuram as conexões de rede dos dispositivos (computadores, tablets, smartphones, smartTV’s etc.) para carregamento automático das configurações do roteador WiFi. Tudo fácil e tudo prático. Ótimo para o usuário leigo dar uma de especialista em internet, melhor ainda para o cracker de plantão.
Com um simples programa de varredura, o cracker pode ir vasculhando a internet, endereço por endereço, em busca de roteadores domésticos. Com o uso de algumas vulnerabilidades conhecidas, os servidores DNS originais do provedor são trocados por servidores DNS maliciosos. Estes servidores enviam endereços corretos da grande maioria dos sites, mas quando o usuário tenta entrar em “www.seubanco.com.br”, é imediatamente redirecionado para o site malicioso.

A melhor defesa para este tipo de ataque, bastante comum hoje, é forçar a configuração de servidores DNS confiáveis nas propriedades de todas as conexões de rede de todos os dispositivos da casa. Assim, mesmo que o roteador seja atacado e receba endereços maliciosos, seus dispositivos continuam acessando os sites confiáveis.

É interessante notar através desse exemplo como é frágil a relação de confiança numa comunicação. Não há apenas o aspecto técnico da conexão. Quando o usuário digita “www.seubanco.com.br”, ele confia que está indo para o site real do banco. Quando ele se depara com um site esteticamente muito parecido, ele nem desconfia. O site pergunta abertamente sua senha e ele inocentemente a fornece.

O exemplo dos roteadores mostra como é complexo o problema de segurança dos carros conectados. Um roteador contaminado pode levar o usuário a ter um saque fraudulento em sua conta corrente, mas um veículo contaminado pode causar um acidente que ferirá o usuário e/ou atrapalhará o trânsito da cidade. A escala de conseqüências é bastante diferente.

O homem no meio
A terceira técnica utilizada chama-se “man-in-the-middle”, pela forma como é implementada. Funciona assim: “Toxic” faz um arranjo tal que bloqueia a comunicação direta entre entre Ana e Ari, e em seu ligar ele cria duas comunicações, uma com Ana e outra com Ari, e passa a atuar como ponte entre ambos.  “Toxic” coloca-se então no meio da conversa entre Ana e Ari, vindo daí o nome da técnica.
A maioria das mensagens que chegam de um lado são repassadas para o outro lado sem grandes manipulações. É um tipo de sniffing, mas com uma diferença significativa. Ao invés da mensagem seguir direta para seu destinatário, ela é antes analisada, criticada, aprendida e armazenada e muitas vezes modificada para atender aos desejos de “Toxic”.

 

No man-in-the-middle o atacante desvia o tráfego da conversa para que ela passe por ele, para ele escutar e manipular a conversa

No man-in-the-middle o atacante desvia o tráfego da conversa para que ela passe por ele, para ele escutar e manipular a conversa

No nosso exemplo, Ana e Ari estão conversando amigavelmente enquanto “Toxic” observa pacientemente. Então “Toxic” intercepta uma mensagem de Ana para Ari:
– Ari, me deposita R$ 115.249,00 na conta XX.XXX-X para pagar o fornecedor?
É a oportunidade que Toxic estava esperando. Ao invés de mandar a mensagem original a Ari, Toxic envia uma mensagem modificada:
– Ari, me deposita R$ 115.749,00 na conta YY.YYY-Y para pagar o fornecedor?

Percebam a sutileza do que “Toxic” fez. Ari confia em Ana, e por isso faz o depósito numa conta de um laranja de “Toxic”. “Toxic” paga os  R$ 115.249,00 para Ana na conta XX.XXX-X como ela pediu. Ana confia em Ari e vê o depósito no valor combinado, e por confiança, nem verifica a conta de origem do depósito. Como a adulteração do valor é baixa (R$ 500,00 no meio de R$ 115.000,00), a discrepância passa despercebida, mas “Toxic” ficou com a diferença apenas manipulando uma conversação.

Além da técnica “man-in-the-middle”, o hacker se vale da engenharia social. As pessoas percebem grandes discrepâncias mas não as pequenas. Se “Toxic” tivesse dado um desfalque de R$ 20.000,00, este seria notado e só poderia usar o truque uma vez. Tirando pouco, ele pode repetir o golpe muitas vezes por muito tempo, somando muito além dos R$ 20.000,00 e sem levantar suspeitas.

“Man-in-the-middle” é uma das técnicas mais antigas e eficazes de manipulação de comunicações, e por isso possui muitas formas de se apresentar. Costuma-se dizer que enquanto o sniffing é uma técnica elementar e pouco arriscada e o spoofing é uma técnica grosseira, de força bruta, o man-in-the-middle é uma técnica refinada e elegante que junta as melhores características das duas técnicas anteriores, porém é que tecnicamente exige mais do seu executor. Muitos confundem o spoofing com o man-in-the-middle, mas enquanto o spoofing é assimétrico, eliminando um dos atores originais da conversa para assumir seu lugar, no man-in-the-middle os dois atores são mantidos conversando, embora a conversa possa sofrer manipulação.

Os entusiastas da preparação devem conhecer um dispositivo man-in-the-middle por excelência por outro nome: módulo pigtail. Um módulo pigtail é instalado entre os sensores originais e a ECU da injeção de combustível. O módulo pigtail lê os sinais dos sensores originais e recria sinais modificados através de mapas, enganando a ECU e fazendo-a trabalhar como se deseja na modificação feita no veículo. O pigtail é um recurso para contornar uma dificuldade: nem sempre os módulos originais são remapeáveis e também não podem ser substituídos por soluções aftermarket porque eles se comunicam com os outros, como o caso da ECU do motor e a ECU do câmbio, ou então a mesma ECU faz as duas funções.

A técnica do pigtail funciona porque, por simplicidade de projeto, as ECU’s confiam que os sinais que recebem vem de sensores legítimos e não há qualquer tipo de verificação.

 

url1

Em muitos tipos de preparação o módulo pigtail é uma forma eficiente de explorar uma fragilidade do sistema de injeção, já que muitas vezes a substituição da ECU original do veículo não é possível (ECU do motor que se comunica com a ECU do câmbio, coisa que um módulo aftermarket não faz, por exemplo).

Próxima parte: hackeando humanos.

AAD

Nota: O filme “O Jogo da Imitação” conta a história de Alan Turing durante o período que desenvolveu a máquina para decifrar ENIGMA. É provavelmente um dos melhores filmes de hackers feito por Hollywood, embora a história em si não seja totalmente verídica.
Recomendo a leitura desta matéria com a história real:
http://pocketbookuk.com/2015/02/22/the-imitation-game-alan-turing/
Ainda assim, o filme é bastante recomendado.

Origem das imagens
– Do próprio autor
-http://www.gweep.net/~prefect/eng/audiotron/mainboard.html
-http://www.iconarchive.com/show/kameleon.pics-icons-by-webalys/Hacker-icon.html
-http://www.rxnexgen.com/profiles/doctors/Gaurav-Dikshit
-http://www.afyonaktif.com/tr/ekibimiz
-http://ms-devices.com/2015/03/obnovlenie-nelegalnyh-kopij-do-windows-10-ne-budet-vklyuchat-litsenzirovanie-i-aktivatsiyu/
-https://pocketbookuk.files.wordpress.com/2015/02/bombeenigmamachines.jpg
-http://www.al-molta3.com/vb/archive/index.php/t-24058.html


  • Viajante das orbitais

    Acabei de ler tudo. Gosto muito desses temas. Ótimo post. É sempre bom aprender.
    Acho que a internet não deve ser regulada por legislação, se os políticos não conseguem criar leis decentes nem para problemas super comuns da sociedade, eles não vão fazer nada que preste em um meio tão moderno e complexo. Eles querem vender segurança, mas a única verdadeira segurança, pelo que vejo, vem combatendo a ignorância.
    O que é difícil de fazer, meu pai já me atentou várias vezes para atualizar para o Windows 10, “é de graça ! É mais moderno, é melhor !”. Tenho mais um trunfo para convencê-lo do contrário agora.
    Um dia espero criar coragem para aprender mais sobre o tema e partir para o Linux.

    • O Linux é bem interessante para conhecer, mas tem várias limitações, conforme as versões, os módulos de segurança de bancos deixam de funcionar, algumas coisas não funcionam. Requer paciência. Não sei se ainda dá para fazer isso, mas dividir o HD do computador em dois e deixar o Win e o Linux instalados, com dual boot é bem interessante, usa conforme a conveniência.

    • Lorenzo Frigerio

      Linux só serve para geeks e desenvolvedores. O ideal é usar um Mac.

      • Fernando

        Eu prefiro dizer que ele serve para quem vá extrair dele o que ele pode apresentar. E isso vai muito longe: sistemas embarcados em geral, há sistemas de roteadores baseados nele, equipamentos hospitalares(ultrassom por exemplo) até o próprio Android.

        E aí entra não só puramente o Linux, mas sistemas Unix-like em geral, que mesmo que muitos não saibam ou não considerem assim, usam para diversos fins.

        Sobre o Mac, bem, está longe de ser ideal para mim…

      • Lorenzo, ledo engano. Uso Linux há mais de 15 anos e nunca foi tão fácil usar. Até instalar está mais fácil que Windows.
        Minhas máquinas aqui são todas velhas, mas rodam tão rápido quanto muita máquina moderna com Windwos 10.

        Mac é questão pura de escolha de cada um.

        O interssante é que antigamente usar Windows era obrigação, hoje é só mais uma opção.
        Você pode acessar a internet, escrever seus artigos e tudo o mais usando Mac, Linux, Android, iOS e até, quem imaginaria, Windows.

        Por incrível que pareça, para cada máquina Windows na internet, há 3 Androids conectados.

        Estar amarrado ao Windows é coisa do passado.

      • Domingos

        Hoje pode ser usado facilmente por um leigo, Lorenzo. Para funções básicas o sistema precisa de pouca configuração e a maioria das distribuições já vem com tudo pronto e instalado.

        Chega a ser mais fácil que o Windows no modo “leigão”. Daí a ser agradável de usar ou ser fácil quando as coisas saem do básico já é outra coisa completamente diferente.

        Da Apple: o Mac talvez seja “seguro”, no entanto um iOS de iPhone tem tantas táticas de “compartilhamento” das suas informações quanto terá qualquer sistema para smartphones. Sem isso os aplicativos não funcionam ou não haverão desenvolvedores para eles.

        O esquema inteiro de um smartphone é coletar dados. Seja Android com o Linux por baixo, seja Windows Phone ou Apple.

        Pessoalmente eu não compraria produto nenhum da Apple simplesmente pela filosofia da empresa.

        E agora que estão morrendo os sistemas operacionais de verdade é hora de admitir: o Windows era bom pra caramba e barato, além de compatível com tudo.

        Era a Coca-Cola dos sistemas operacionais, ao menos na era de ouro que foi do 2000/XP ao 7.

    • Viajante das orbitais, grato pelos elogios.

      Nunca foi tão fácil aprender a mexer com Linux. Você baixa um arquivo ISO com uma distribuição, cria um pendrive com boot, inicailiza a máquina com ele e usa. Não precisa nem instalar.

      Ruim fui eu, que comecei em 1999, época da pedra lascada, onde nada era fácil.

      Minha família tem um antigo ditado: Quando o milagre é demais até o santo desconfia. Windows 10 de graça oficial da Microsoft? Aí tem truque.

      • Domingos

        Tinha já bons sistemas Linux nessa época. O Mandrake era super coeso e não muito mais difícil de instalar que um Windows 9x – que também precisava de partes via linha de comando, como a formatação.

        Do Windows: para mim a pegadinha do de graça é que é um sistema cru pra caramba que vai permitir à Microsoft milhões de máquinas de teste nesse primeiro ano gratuito e ainda por cima conquista a simpatia de quem se decepcionou com o 8.

        Li o EULA e desativei toda essa porcariada assim que instalado. O Windows tomou uma linha mais smartphone mesmo, sendo que o 8 já tinha módulo de localização ativado por padrão por exemplo.

        Nesse modelo, vender informação é a regra mesmo.

        O que mais me chateia, no entanto, já que é possível desativar esses recursos, é o fato do Windows 10 estar cheios de bugs e inconstâncias que mais parecem uma distro meia boca qualquer de Linux.

        Depois do 8, era de se esperar que não repetissem o mesmo erro. Ainda bem que ainda tenho uma licença do 7.

    • ochateador

      Linux Ubuntu para instalar é tão simples quanto o Windows.

      Se a pessoa utilizar apenas para acessar a internet… compensa muito migrar para o Linux mas te dou um conselho, só migre para Linux se tiver algum conhecido que saiba resolver problemas básicos ou se você tiver muita paciência para pesquisar soluções na internet e ir testando até acertar.

    • Domingos

      Use o W7 eternamente, é o melhor sistema operacional que existiu e que vai existir.

      Aliás, é uma boa hora para começar a comprar licenças do W7 para usar em futuros computadores novos…

      • Lorenzo Frigerio

        A limitação do W7 será o fim do suporte pela MS. Dou uns 3, no máximo 4 anos para acontecer.

    • CCN-1410

      Eu também recebi da Microsoft, ou seja de quem for, proposta de Windows 10 gratuito. Tentei baixar, mas o que ocorreu foi que bagunçou todo o meu W-7, que tive que instalar novamente.

  • CorsarioViajante

    Novamente, mais um tremendo texto! Parabéns!

  • Newton ( ArkAngel )

    Meu maior receio é que as fábricas adotem módulos de controle nos moldes do FADEC usados na aviação. Os fabricantes não admitem, mas tais sistemas causam quase-acidentes com uma frequência assustadora. É uma interferência entre o piloto e a aeronave que pode ser prejudicial, pois dificilmente o programador de tais sistemas pode prever todas as variáveis que estão envolvidas em “n”situações. O piloto torna-se literalmente passageiro de sua própria aeronave.

    • Newton, deixa eu te contar uma história pessoal interessante. Sempre que eu estou aprendendo e posso abusar, costumo brincar de errar e errar feio. Quando eu erro feio aprendo onde está o limite da coisa. Isso tem um pouco a ver com o espírito hacker. Eu domino as coisas de formas que a maioria das pessoas nem imaginam. É algo que aprendi desde criança.

      Uma vez fui no lançamento de um pneu da Michelin e lá podíamos testar os pneus em carros com todos os Gremlins de direito: ABS, controle de tração, etc.. A pista era um kartódromo e kartódromo usa asfalto liso para dificultar para os pilotos.
      Olhei para o carro, olhei para a pista e pensei: “É hoje!”

      Entrei na pista abusando muito, mas com cara que eu não tinha as manhas para o instrutor pegar leve comigo. Foi o samba do crioulo doido. Eu tentando corrigir de um jeito e os Gremlins tentando corrigir do outro. Era uma gritaria de pneu sem tamanho. Esse carro estava com pneus do concorrente e que seguravam menos que os Michelin.
      Quando fui trocar de carro para pegar os pneus com Michelin, já tinha uma idéia de como os Gremlins corrigiam o carro. Peguei o carro, o instrutor pensando que eu ia fazer barbeiragem sem tamanho e fomos para a pista. Quando peguei as curvas, eu sabia para que lado os Gremlins iam corrigir e jogava o carro a favor do trabalho deles.
      A cara que o instrutor fez foi impagável. Eu estava fazendo tempo coisa de um ou dois décimos acima dos pilotos de fábrica ali.
      Foi engraçado, mas ao mesmo tempo me gerou uma preocupação.
      Carro com Gremlins hoje é comum, mas quem treina para saber como corrigir um carro desse jeito? Me assusta pensar quando eu estava brigando com os Gremlins porque o resultado é pior que um carro sem os Gremlins. Imagina um motorista comum brigando com os Gremlins. É um desastre anunciado.

      Por outro lado, como motorista treinado também fiquei preocupado. Eu nunca tive qualificações de piloto profissional, mas tendo as manhas dos Gremlins passei a andar junto. Isso trás uma falsa sensação de segurança. Por mais que os Gremlins ajudem existe um limite da física. Uma hora o motorista mais que confiante abusa e não tem como se safar de um acidente grave.

      É mais ou menos isso que você descreve aqui.

      • Newton (ArkAngel)

        As aeronaves modernas são programadas para determinado envelope de vôo, com apenas pequenas tolerâncias. Quaisquer correções necessárias em uma possível emergência, se não atenderem as regras do programa de gerenciamento de vôo, serão ignoradas solenemente. Cada vez mais os pilotos apenas gerenciam a aeronave, e esta tendência tenderá a se manifestar nos carros em um futuro não muito distante. Agora fico imaginando, nesse futuro projetado, alguém tentando forçar uma derrapagem de traseira para evitar uma colisão iminente. Será impossível.

  • Leister Carneiro

    Gostei muito

  • Fernando

    Mais um excelente post, parabéns AD!

    No caso do DNS está algo tão manjado, mas alguns se esquecem até da primeira tabela que o sistema operacional mais comum usa, e concordo com alguns anti-vírus que bloqueiam o arquivo hosts, que é algo ainda mais simples mas vejo que principalmente os mais jovens nem se lembram(ou nunca viram) eles sendo alterados intencionalmente ou não.

    • Lorenzo Frigerio

      Por que um antivírus bloquearia o arquivo “hosts”, se esse arquivo é precisamente para bloquear alguns endereços indesejáveis?

      • Fernando

        Pelo mesmo motivo do explicado que ocorre com os servidores DNS, afinal ele é uma forma de apontar um nome a um IP, mesmo que uma entrada não exista no servidor DNS.

        O arquivo hosts aliás tem o intuito de ser um pequeno registro para resolução, e não para bloqueio. Isso fica à cargo de firewall ou software de segurança específico.

      • Fernando

        Aliás vale citar que isso é até esquecido ou ignorado pelos mais novos, mas antigamente(ou ainda hoje quando resolvendo algum problema de resolução de nome) era bastante usado para definir algo para ficar estaticamente ou somente por teste.

        Com o tempo isso ficou de lado pois se confia mais nas entradas de nomes, com servidores DNS mais confiáveis e com redundância, mas em uma rede antigamente isso nem sempre era tão confiável e com as configurações ficando mais dinâmicas isso é muito menos lembrado.

        Mas esse dinamismo tem esse perigo de às vezes todas as hipóteses serem meio esquecidas.

        Exemplo de como as coisas estão muito práticas e automáticas são esses roteadores caseiros, que qualquer um pega e roda o “wizard”, porém isso está longe de querer dizer que está seguro, pois são muitas configurações importantes que podem ser melhoradas. Há pouco tempo houve um caso de diversos roteadores serem acessados remotamente, afinal as pessoas raramente trocam o usuário e senha padrão(admin/admin)…

      • Porque um programa malicioso pode reescrevê-lo e redirecionar o navegador para um site malicioso.

        Havia há alguns anos uma comunidade online de jogadores de Warbirds em servidores piratas. O site do Warbirds era escrito no simulador de combate de forma rígida “www.warbirds.com” e não tinha como mudar.

        Tirar o jogo do servidor original e direcionar para o servidor pirata era fácil. Bastava reescrever o arquivo hosts com o bloco de notas.

        Se dá para reescrever o arquivo hosts fácil assim, imagina com um programa.

        • Lorenzo Frigerio

          O software não bloqueava? Pois um DNS diferente não resolveria como “www.warbirds.com”.

    • Fernando, dei o exemplo do DNS porque é o mais fácil de explicar e muita gente alguma vez mexeu com DNS.

      Há ataques bem mais sofisticados, mas são tecnicamente difícieis de explicar a leigos.

      O Brasil é líder mundial de ataques a roteador, com 82% dos ataques conhecidos. O pessoal abusa da segurança. Tem muito roteador com senha de fábrica.
      Mas tem gente capaz também por trás desses ataques.

      Nas últimas 3 semanas tive a senha de administrador do meu roteador trocada pelo menos 2 vezes e numa delas vi que trocaram meus DNS.
      Isso é trabalho de robô, porque uso um segundo roteador em cascata antes da rede interna para aumentar minha segurança e nesse roteador não mexeram. Se fosse ataque pela pessoa do cracker, tenho certeza que não teria deixado passar.
      Quem fez o robô que sequestrou meu roteador não é um sujeito qualquer, porque ele precisa saber programar o robô e tem de ser capaz de sequestrar o roteador na mão para poder reproduzir o método por meio de programa.

      • Lorenzo Frigerio

        Perdoe a minha ignorânca, mas o que significa que “trocaram o seu DNS”? O seu roteador tem IP fixo?
        Ou você se refere ao DNS do provedor?
        Como é possível alguém tirar da parada um servidor DNS de um provedor e substituí-lo por um pirata? Para isso, ele não precisaria hackear o próprio NIC.BR, que faz a resolução dos domínios?
        O robô destravou o roteador por força bruta? Você acha que o robô apenas destravava portas ou também tinha um “payload”?

  • Leonardo Mendes

    Certamente o hacker que desviou R$ 3.800,00 da minha conta na Caixa Econômica Federal não era ético… (diga-se de passagem, é o banco mais vulnerável a ataques cibernéticos dentre todos).

    Faltou mencionar no primeiro item um outro mito construído por Hollywood: “todo hacker alcança a redenção de seus pecados quando faz acordo com o FBI“… já perdi as vezes de quantos filmes vi com esse recurso.

    • Leandro, essa é a idéia.

      Infelizmente há muito dinheiro na internet e há hackers competentes sendo massacrados por aí pelos mais variados motivos. Daí para eles virarem “black hats” é um pulo.

      O problema é que hacker reais são poucos, mas são inventivos e criam as ferramentas que os lammers e script-kids vão usar em massa enquanto ele curte o dinheiro ganho pelo serviço de mãos limpas.

      Veja bem, escrever um programa, malicioso ou não, não é crime. Crime é usar esses programas de forma fraudulenta.

      Isso cria um mercado underground muito estranho. O Cracker é muito protegido nesse mercado porque ele é a matéria-prima básica. Ele não pode ser preso. Então o sistema tem formas de comércio de ferramentas de modo a nunca ligar o Cracker com os atos criminosos. A quadrilha paga pela ferramenta por meios indiretos e o Cracker libera a ferramenta em alguma sala pré-combinada de bate-papo onde tem muita gente desse meio, de forma que o negócio é totalmente anônimo. Quando a polícia corre atrás dos criminosos, tem muita gente usando a mesma ferramenta, de formas que ela fica sem saber que quadrilha cometeu aquele crime e quem pagou pela ferramenta. E mesmo que peguem a quadrilha, não dá para rastrear o Cracker.

      Isso é o que um Cracker esperto faz. Ele ganha menos, mas está seguro.

      Como dizem os hackers, existe segurança na multidão.

      Mas alguns lammers pensam que são espertos e cometem bobagens.

      Há pouco tempo vi na TV o caso de um rapaz de menos de 20 anos que começou um negócio de fazer programas para roubar senhas de banco.

      Uma hora ele pensou que poderia ganhar muito mais se ele cometesse os crimes ao invés de vender barato as ferramentas. Foi o primeiro erro.

      O segundo erro foi a vaidade. Começou a ostentar na internet.

      Era o maior produtor de malware bancário do Brasil. Se ferrou, pelo menos por enquanto. Está vendo o sol nascer quadrado e agora todo mundo sabe o que ele faz e vão ficar de olho nele daqui para frente, mesmo que ele saia livre.

      • Lorenzo Frigerio

        “Veja bem, escrever um programa, malicioso ou não, não é crime. Crime é usar esses programas de forma fraudulenta”.
        Escrever um programa malicioso que alguém vai utilizar para cometer um crime também é crime, mesmo que caia num vazio da legislação.
        Obviamente, como você explicou, o programador se desvincula do crime em si ou da possibilidade de processo ao vender a ferramenta para quem vai cometer o crime principal.
        Isso automaticamente coloca a pessoa numa posição moral altamente questionável. Eu acho indefensável.
        Para mim, é mais ou menos como a afirmação que “armas não matam pessoas”. Ora, para que se faz uma arma, então?

        • Lemming®

          Proteger fronteiras? Pessoas visadas pelo crime? Proteção contra ataques externos (inimigos)?
          Existem muitos motivos para que existam armas. A primeira que deve ter existido seria simplesmente o espeto no tempo das cavernas ou algo assim…

      • Domingos

        “O problema é que hacker reais são poucos, mas são inventivos e criam as ferramentas que os lammers e script-kids vão usar em massa enquanto ele curte o dinheiro ganho pelo serviço de mãos limpas.”

        E porque liberar uma ferramenta dessas ao público – seja de graça ou não – é algo aceitável ou que “não tem certo ou errado”?

        Ao contrário de uma arma, por exemplo, um programa feito especificamente para roubar senha de banco só tem uma única utilidade que é… roubar senha de banco! Ou fazer phishing ou o que for.

        Para mim essa conversa de hacker se resume a gente intelectualmente vaidosa que gosta de disputar prestígio no mundo virtual, depois se usando do relativismo que “ferramentas são só ferramentas” ou que se é de graça não é errado ou então ainda por cima a inversão de sentido clássica que “é para ser contra o sistema bla bla bla”.

        Não vejo diferença de um hacker para um bom programador nas técnicas. Com a diferença que o hacker é meio que aquele skatista escroto que às vezes nem é tão bom assim, mas na rua fica botando marra em todo mundo e mostrando suas manobras manjadas como se fossem o máximo do máximo. Além do essencial que é ficar arrumando briga de graça para se mostrar.

        O cara usar sniffing ou engenharia reversa para fazer um programa concorrente, arrumar um bug ou entender um programa para fazer algo de forma melhor é uma coisa.

        Ficar criando programinha para os script-kids é, me desculpe, um baita de um circle-jerk ridículo via virtual. E é errado sim.

        Se fosse uma curiosidade, não lançariam isso em público.

        • Lorenzo, conheço esse seu argumento e ele parece forte, mas ele causa um precedente grave.

          Pense no caso da FCA e da invasão do Cherokee.
          Os dois especialistas de segurança fizeram o correto. Eles desenvolveram a técnica, entraram em contato com a FCA, ela desenvolveu a correção para a falha e só então demonstraram o fato em público.

          Porque a ação deles é correta?
          Ignorar o problema não é o mesmo que ele não existir. Se eles não tivessem pesquisado e encontrado estas falhas e não tivessem dado o alerta, a falha de segruança ainda estaria lá, acessível a qualquer cracker competente e motivado em encontrá-la.

          E se esse cracker encontrasse essa vulnerabilidade? O que ele poderia fazer? Quanto tempo demoraria para perceberem o problema e corrigí-lo? Esse seria um tempo em que o craker estaria livre para agir impunemente.

          Infelizmente, quem lida com sistemas conectados precisa procurar ativamente por estas fragilidades para saná-las, e não há outra forma de encontrar essas falhas do que procurando-as da mesma forma como um cracker a faz.

          Em segundo lugar existe o problema da multiplicação do conhecimento.
          Quando a falha do Cherokee foi revelado publicamente o intuito é dar subsídios para que outras falhas semelhantes possam ser encontradas em outros carros. Essa divulgação auxilia os próprios crackers, mas é fundamental para ação rápida dos hackers que lutam contra esse tipo de abuso.

          • Domingos

            AD, veja a diferença entre contatar a fabricante, buscar uma solução e depois vir a público e o que geralmente fazem que é encontrar um problema qualquer e depois lançar todo o necessário para explorá-lo abertamente…

            Outra coisa: você sabe que se procurar falha num sistema, vai encontrar. Para mim isso gera uma cultura de “seguricionismo” a longo prazo, onde são necessários sistemas cada vez mais complexos para coisas simples pois passa a ser como uma competição ou um desafio: por mais seguro que o sistema seja, alguém vai querer craqueá-lo.

            Convenhamos que uma coisa é um sistema ser vulnerável por usar senhas fracas ou poder ser invadido por qualquer ferramenta em 5 minutos via receita de bolo.

            Outra é um sistema robusto precisar de gênios em programação, muito tempo, muitas ferramentas, horas e horas de ação para então conseguir alguma informação ou mexer em alguma coisa.

            Se for pelo segundo ponto, ninguém dorme de noite enquanto não trocar as fechaduras de casa diariamente.

  • Lorenzo Frigerio

    Já li muito sobre esses ataques “man in the middle”, mas sempre com esses exemplos “genéricos” de “A fala com B”. Talvez o André possa nos descrever um caso real desses ataques, que provavelmente não envolvem comunicação entre pessoas.
    Outra coisa que não ficou clara é esse “spoofing”. Como é possível alguém entrar num roteador doméstico, que tem “firewall” por natureza, e capturar informações que nele transitam por https? Sem contar que um site de banco tem certificado.
    Acho que a prática de crimes em geral utiliza, na verdade, velhas táticas de persuasão humana para com a vítima, como chamadas falsas de telemarketing ou e-mails direcionando a sites falsos, onde a senha é roubada e então se trabalha “legitimamente” com ela, até que a vítima se dê conta.
    Em relação à máquina Enigma, acho estranho que o computador Colossus tenha resolvido a coisa na “força bruta”. A Enigma, mesmo eletromecânica, devia ter quaquilhões de permutações possíveis. Acho que alguma característica (“fraqueza”?) da máquina devia ser conhecida, que eliminasse processamento desnecessário pelo computador.
    Outra coisa… pouco se fala como os ingleses e americanos encriptavam suas próprias comunicações. Será que também foram amplamente hackeadas pelos alemães?

    • Fernando

      O AAD explicou isso no post anterior, me lembro que cheguei a comentar algo.

      O HTTPS é um HTTP seguro, mas usa uma criptografia para realizar essa segurança dele(SSL). Mas nada é totalmente seguro. E até mesmo ferramentas de firewall podem extrair informações dos clientes que estão usando HTTPS…

      Além de farejar a rede e se passar por outro dispositivo, tem diversas possibilidades disso ocorrer, mas é claro que isso não é algo publicado e nem tão simples. Mas quanto mais você conhece, acaba vendo que é questão de tempo para isso se tornar crítico.

      • Lorenzo Frigerio

        Há uns 2 anos teve um problema sério por aí… acho que era uma vulnerabilidade séria na versão mais moderna do mySQL, que gerou muita preocupação, pois levou um tempo para consertar. Mas isso está além do meu conhecimento de informática. Nem sei para que serve.

    • ochateador

      Comunicação do exército dos EUA era o idioma de uma tribo de índios com menos de 50 integrantes, salvo engano não faz nem 5 anos que o congresso dos EUA confirmou isso e deu medalhas mais recompensas para os descendentes.

      Firewall de um roteador doméstico é bom, problema é o usuário não trocar senha padrão de acesso. Adeus segurança nesse caso.
      HTTPS protege o caminho, mas se 1 das pontas estiver infectada não adianta nada. Idem para os certificados (que muitas vezes estão desatualizados).

      • Lorenzo Frigerio

        O último codificador Navajo morreu recentemente.

    • Lorenzo Frigerio, há muitas formas de pensar no que é o man-in-the-middle.
      Quando você está na sua casa, pega o notebook e acessa o servidor do Ae, o notebook não faz isso diretamente. Ele se comunica pelo wifi com o seu roteador caseiro e de lá para a internet aberta. Seu roteador doméstico é um dispositivo man-in-the-middle. Se o firewall do seu roteador caseiro estiver ativo e vier algum tráfego indevido da internet aberta querendo entrar na sua rede interna, ele barra. Se você tem criança em casa e usa o controle dos pais, proibindo o uso do tablet na internet a partir de certa hora, o roteador vai barrar seu filho de entrar na internet.
      E tem mais. Entre o roteador da sua casa e o servidor do Ae, seu tráfego de dados segue por vários roteadores. Como mostrou o Edward Snowden, muitos desses roteadores rodam programas da NSA. Se a NSA quiser te grampear, basta ativar essa função remotamente pela internet no roteador do seu provedor, e todo seu tráfego é espelhado pra NSA.

      Esses são exemplos de uso do man-in-the-middle.

      Já o spoofing é diferente.
      Pensa no botão que acende o farol do seu carro. Pensa que no botão tem um computador lá e outro computador junto ao farol. Digamos que a segurança seja mínima e o protocolo bem simples. O botão, ao ser girado apenas joga um pacote de dados na rede automotiva que diz “Ei, farol! Acende!”, O computador do farol recebe esse pacote de dados, decodifica e acende o farol.
      É possível colocar um outro computador nessa rede de tal forma que ele diga “Ei, farol! Acende!”. O farol simplesmente vai acender ao recohecer essa mensagem, não importa se for do botão, do sensor de luminosidade ou de um dispositivo malicioso.
      No caso do dispositivo malicioso, ele fez um ataque de spoofing.

      O caso da máquina ENIGMA é interessante em muitas frentes, mas uma das menos contadas é como o Turing quebrou a criptografia.
      Realmente há milhões de milhões de combinações. Só que Alan Turing percebeu que existem atalhos estatísticos a serem avaliados que reduz as possiblidades na proporção de uma em centena de milhões.

      Vou te dar um exemplo.
      Existem uns sujeitos que vivem de ganhar na loteria. Não estou brincando. Estou falando sério.
      Esses caras usam um modelo estatístico de resultados.

      Pensa num jogo da Mega-Sena. Pensou? Agora e se eu te dissesse que a minha aposta é 01-02-03-04-05-06? Ela é absurda? E se eu te disser que as chances da minha aposta sair é a mesma que a sua? Agora complicou.

      O pulo do gato é que, embora a minha aposta tenha as mesmas chances que a sua, estatíticamente é muito fácil ter dois nũmeros seguidos, bem menos ter três e quase impossível ter quatro, quanto mais 6.
      Então esses apostadores criam padrões de distribuição numérica que são mais prováveis de acontecer.
      Se na Mega-Sena as chances de ganhar são de uma em 150 milhões de apostas, com as distribuições mais prováveis eles reduziram as combinações para uma em poucos milhões.

      Aí eles dão um passo à frente. Não calculam só a chance de ganhar com 6 números e quanto irão ganhar, mas colocam na balança os prêmios menores.
      Aí eles aplicam uma ferramenta chamada “esperança estatística”.

      Num jogo de cara ou coroa, imagine que vc pague uma aposta de R$ 1,00 a cada lance e cada vez que ganhar, você ganha R$ 1,00. Cada lance tem 2 possibilidades e se você ganha R$ 1,00 por acerto, sua esperança matemática é de R$ 0,50 por lance. Como a esperança matemática é menor que a aposta, no longo prazo você tende a só perder e não vale a pena apostar. Se o prêmio for aumentado para R$ 2,00, você empata, mas se o prêmio for de R$ 3,00, você sai no lucro. Claro que isso dentro de uma média e num jogo não viciado.

      Qualquer um que oferece um jogo, seja uma loteria ou um cassino, sempre oferece aos jogadores uma esperança estatística menor que 1, por isso eles lucram e vale a pena manter o jogo. Para o apostador vale o sonho distante de ganhar uma bolada, mas na média, apostar é ṕrejuízo.

      Voltando ao exemplo da Mega-Sena, quanto mais você aposta, maiores as suas chances. Existe um ponto que se você apostar acima dele a sua esperança matemática fica maior que um. Só tem um problema com isso. Tem que fazer muitas apostas para isso. Então esses sujeitos que vivem de ganhar na loteria são quase todos donos de lotéricas ou até redes de lotéricas e ganham fazendo bolões enormes.
      Como tem muita gente nos bolões, os prêmios são bastante divididos, mas se sair mais dinheiro que entrou para fazer a aposta, está valendo.

      Conheci uma empresa de grande porte em São Paulo que tinha esse esquema (a empresa inteira participava) e virava e mexia sobrava um dinheirinho para pagar um jantar romântico com a patroa, comprar um tablet para o filho ou ajudar na viagem para a Disney da filha. Ninguém ficava rico, mas por baixo o sistema se sustentava sem ninguém tirar dinheiro do bolso.

      Se você jogar apenas 1 blilhete e ganhar, aí é sorte. Mas se você jogar bastante, usando o modelo matemático adequado, na média, você tem um ganho. O interessante é que com o modelo estatístico é possível atingir um patamar tal que o conjunto de apostas que tenham esperança matemática maior que um é pequena o bastante para ser executável.
      Ninguém fica rico desse jeito, mas pelo menos paga o almoço.

      O modelo matemático inicial do Turing previa esse subconjunto mais provável e é por onde a máquina dele começava a explorar por força bruta. Era um chute, mas um chute bem dado, quase no ângulo.
      Por isso que aquelas máquinas eletromecânicas conseguiam quebrar a criptografia em tempo hábil.

      Eu sou de uma geração que aprendeu a programar com computadores bastante limitados e isso fez a minha geração apreciar uma codificação elegante e minimalista, porém altamente eficiente. É o caso da máquina de Turing.
      Hoje qualquer processador tem tanta memória e tanta velocidade que não dá para perceber a diferença entre um código elegante e um monstrengo ineficiente.

      • Lorenzo Frigerio

        Obrigado pelo trabalho de explicar, mas essa “esperança estatística” é difícil de assimilar. Acho que não sou só eu…
        Fico com dúvidas se você realmente ganha no final, ou se estamos lidando com ilusão (ou “esperança”). Creio que se trata mais de aumentar as possibilidades de não perder, do que de ganhar.
        Não sei se entendi direito, mas o Turing deve ter feito um “sampling” superficial das possibilidades e com o tempo foi aprimorando o modelo, com base no índice de acertos.

      • Domingos

        Interessante sua observação dos bolões. De fato, quase toda lotérica os têm religiosamente prontos a cada nova rodada da Mega-Sena e também das premiações menores.

        Sobre código: dá sim para notar. Um mesmo programa de edição de imagem fazendo a mesma função pode deixar um computador se arrastando ou funcionando normal.

        O problema, claro, é que a potência disponível hoje em dia vai disfarçando pequenas diferenças até que chega num ponto em que você tem dois programas de função igual com desempenhos completamente diferentes.

        Os pequenos detalhes escapam, mas quando chega no fim ainda é muito perceptível um programa bem escrito de um feito preguiçosamente.

        Jogos e navegadores são bem notáveis nisso.

  • Na verdade não é o Linux que tem limitações, e sim os bancos que não disponibilizam o acesso pela plataforma.

    • Lucas

      Exato. Distribuições Linux oferecem tudo o que desenvolvedores precisam para fazerem o que quiserem. Falta ser feito.

    • Correto, mas na prática para o usuário o que acontece: você está usando o Linux e não consegue acessar o banco, game over.

  • ochateador

    Só uma correção (para evitar erro de interpretação).

    HACKER = pessoa que busca brecha/problemas para corrigir.

    CRACKER = pessoa que busca brecha/problema para benefício próprio.

    • Domingos

      Lembrei na hora das revistas de informática dos anos 90 e começo dos 2000 que queriam explicar essa diferença toda vez que o assunto era abordado como pelo AD no começo do texto.

      Acho importante essa diferença. Não tem nada de correto na ação de um hacker, não tem esse relativismo com as ferramentas que eles criam especificamente para algum fim ruim.

      Um cracker por sua vez pode ser apenas um cara que descobre e resolve um bug ou que até mesmo crie um utilitário em cima de um protocolo ou até algo maior ainda –como foi o SAMBA.

      Na verdade usar esses termos é meio que cair numa dialética de moleque que tenta ser cool na internet a qualquer preço.

      O certo mesmo é programador – onde se incluiria o tal cracker – e hacker mesmo. Ou bobão, como no cara que vai além de apagar uns arquivos como prova de habilidade e cria programas/técnicas para tirar dinheiro da conta de desconhecidos com o mesmo propósito.

    • ochateador, conheço bem essa diferença, tanto que enfatizo em outros artigos.
      Neste, há uma certa mistura entre hackers e crackers por um bom motivo. Crackers aprendem a invadir para atos maliciosos enquanto hackers tem que aprender as mesmas coisas para aprender a defender as pessoas desses ataques.
      Neste caso, o termo hacker é mais amplo e por isso usado onde caberia facilmente o termo cracker.

  • Victor H, o Linux tem algumas limitações sim, mas é cada vez menos.
    A internet vem caminhando cada vez mais para uma padronização, como no caso do padrão HTML 5. Junto com outras plataformas (Mac, iPhone, Android, etc.), essa limitação anda diminuindo dia a dia.

    Eu uso Linux direto e tenho muito pouco a reclamar.

    O que percebo é exatament o contrário. Cada vez existem menos motivos para usar Windows obrigatoriamente.

    Pra essas vezes, ao invés de dual boot, eu uso máquina virtual.
    Aliás máquina virtual é de uma utilidade ímpar.
    Cada vez que preciso acessar o banco e ele exige o Windows, copio uma máquina virtual nova. É como um PC que acabei de instalar. Então tenho certeza que não tem programa malicioso fuçando a minha senha do banco.

    • Lorenzo Frigerio

      Você não usa token? Não tem o Rapport, ou o “Guardião” Itaú, ou equivalente?
      De qualquer forma, você não deve acessar o banco com frequência, para se dar o luxo de trocar de máquina virtual toda hora. Que aliás tem que ter esses programas instalados, senão não consegue fazer operações.
      Aliás, o “Guardião” Itaú é um programa para lá de duvidoso. Toda vez que ligo o computador, ele dá um “phone home” de vários minutos.

      • Domingos

        Dica: para não precisar instalar esses plug-ins, baixe o programa de acesso. Ele não carrega ao inicializar a máquina, se atualiza sozinho e não fica carregado na memória.

        O Itaú se não me engano tem o programa disponível, não é todo banco que o tem.

        • Lorenzo Frigerio

          O programa do Itaú não roda no OS X 10.6.8. Tem que ser 10.7 em diante. Não atualizo porque um monte de programas deixaria de funcionar. O OS X 10.6 (“o Windows XP da Apple”) é a última versão que permite rodar programas escritos para processadores Power PC.
          Ou seja, para instalar uma versão mais nova do sistema, teria que criar uma nova partição. Se for assim, precisaria comprar um SSD, pois sistemas mais novos são mais pesados. Muita dor de cabeça.

          • Domingos

            Não é necessário um SSD para fazer uma nova partição e quando você rodar o sistema antigo não fará diferença ter uma segunda partição com o novo mais pesado.

            Mas ter um sistema novo só pelo plugin é bem chato mesmo.

    • Domingos

      Esse negócio de plug-in de banco é uma chateação enorme. Pior que aposto que não serve para nada em termos de segurança, se é que não atrapalha.

    • Fernando

      E o melhor para uso assim ou em escolas por exemplo(em cursos que os alunos não precisam salvar nenhum arquivo localmente) é ela ficar em modo somente escrita, e ao reiniciar retorna para como estava gravado no ponto anterior, é das maravilhas modernas que nos ajudam e muito.

    • Concordo.

  • Lucas

    O man in the middle pode ser por exemplo um proxy malicioso configurado no seu PC. Alguns malwares mudam as configurações de proxy do navegador para forçar a sua navegação a passar por um proxy malicioso que poderá capturar sua navegação e também direcioná-la para sites falsos.
    O acesso aos roteadores domésticos muitas vezes é feito de dentro da rede doméstica, ou seja, do PC do usuário. O cara coloca uma senha difícil para a wireless mas esquece de alterar a senha padrão da console de configuração, por exemplo. Ademais, é preciso lembrar também que esses modems e roteadores domésticos geralmente rodam algum sistema baseado em Unix e que quase nunca recebem atualizações, portanto, brechas de segurança neles acabam ficando sem a devida correção.
    Uma última questão, não é porque esses dispositivos domésticos usam NAT (a tradução de endereço de rede, o dispositivo troca o IP interno dos PCs pelo IP da internet que fica nele) que eles tenham firewall. NAT não é firewall. É preciso ter certeza que as portas TCP desnecessárias estejam fechadas e brechas de segurança esteja corrigidas.

    • Lorenzo Frigerio

      O que me parece é que essas coisas pertencem mais ao mundo da fantasia e do cinema que ao da realidade no que toca a usuários domésticos. Normalmente nesses casos se usam maneiras mais simples, como malwares genéricos, que convidam a vítima a “desembuchar” seus dados, como eu disse acima, devido ao que há a se ganhar ser desconhecido e provavelmente de baixo valor. Espionagem industrial, militar ou política, ou métodos usados pela NSA ou FBI para pegar criminosos e hackers são outros 500, pois normalmente os sistemas são protegidos, e você tem um exército de especialistas de altíssimo nível trabalhando nisso. O custo é astronômico.
      Em relação ao roteador, ele tem uma função de firewall, que não é o NAT, embora o NAT já seja um firewall natural. Ademais, você também pode ativar o firewall no computador – sem contar o antivírus. Se o seu computador for sensível, você pode fechar certas portas nele e mantê-las abertas no roteador, para outros dispositivos conectados. Ou abrir portas no roteador para programas específicos somente.

  • Lucas

    Experimente um Ubuntu e verás que não é bem assim. Minha namorada usa de boa e ela está longe de ser algum Geek.

    • Lorenzo Frigerio

      Você é que configura e compila os programas para ela, não é? Assim é fácil… rs.

  • Claudio Abreu

    Excelente, como sempre! Que venha a terceira parte – que medo, hackeando humanos…

  • Caio Azevedo

    De repente bateu uma saudade dos carburadores…

  • WSR

    Acho que a melhor coisa que fiz foi ter abandonado o Windows em 2006, rs. Como sou da Era MSX, não senti muita dificuldade ao migrar para o Linux.

    André, teria como fazer um artigo mais aprofundado sobre o “pigtail” ?

    Excelente artigo, valeu! 🙂

  • Marcos Namekata

    AAD, parabéns pela excelente matéria, assim como todas as outras. Recomendarei a leitura para aqueles que desejam saber mais sobre os tipos básicos de ataques a comunicações. Parabéns pelas ilustrações, afinal, como dizem popularmente: “entendeu ou quer que desenhe?”, uma figura explica de forma muito mais fácil que muitas palavras. E quem quiser ter mais conhecimento, lerá toda a matéria.

  • CCN-1410

    Quando eu comento com algumas pessoas, inclusive técnicos em informática, e lhes digo que tenho meu computador invadido com freqüência, eles não acreditam. Eventualmente ele fica barulhento e lerdo, e às vezes, principalmente perto da meia-noite, trava tudo.
    Até pensei no NSA, que a princípio pode ser um absurdo, mas li que recentemente eles invadiram clientes do Kaspersky, que é o meu anti-vírus. Talvez sejam meus vizinhos, que possuem antena pirata para captar sinal de internet para depois repassar com custo para algumas casas. Aí eu penso, será que eles conseguem roubar meu sinal?
    Lidar com esse pessoal é complicado. Hoje nem consigo mais fazer operações de débito ou pagamento em meu banco utilizando o Chrome, para isso precisei instalar o Internet Explorer.
    Já estou quase a pensar como o Caio Azevedo aí embaixo, hehehe…

  • Lucas

    Negativo. Nele há a Central de Programas do Ubuntu, que é como uma loja de aplicativos de Android ou iOS. E muita coisa se encontra na internet em .deb ou .rpm que são os formatos de arquivo de instalador de programa, semelhante ao .msi do Windows. Muito pouca coisa para Linux hoje em dia ainda funciona na base do baixar os fontes e compilar localmente.

    • O sistema apt original do Debian foi criado nos tempos da internet discada, quando o download de aplicativos e atualizações era praticamente inviável, mas juntava num lugar só todos os aplicativos da distribuição e muito mais.

      Aí veio a Apple e “inventou” a lojinha de aplicativos para o iPhone, pelo menos uns 10 anos depois.

      • Lucas

        Exato. O apt é que foi copiado.

        • Domingos

          Aí tem uma diferença de modelos: a loja de aplicativos tem tudo, não só coisas da Apple, e a venda é feita por ela.

          No caso dos repositórios, são apenas programas já específicos e compilados para a distribuição, e não há venda por eles – nem a obrigação de se usar apenas eles.

          Claro, as idéias técnicas são similares. Os modelos são completamente diferentes.

  • CCN-1410, sei bem o que você diz porque tive empresa de software de gestão por 12 anos e ainda cuidava das redes corporativas de alguns clientes.
    Na época dos primeiros serviços de banda larga foi uma farra essas empresas entrarem na internet. Pouco tempo antes eu tinha começado a lidar com Linux e logo levei isso para o trabalho.
    As pessoas não acreditam em como a internet é uma selva. Já naquela época, colocávamos o servidor Linux como gateway de internet (papel do roteador hoje) e ligávamos o monitoramento de tráfego. É assustador perceber os testes de varredura de portas abertas no gateway (portscan).

    Eu tenho serviço de fibra em casa e existe um problema aí. O roteador da operadora conecta sem problemas, mas se eu tentar usar um roteador comercial, cai uma vez por dia e tenho de resetar manualmente. Só que não confio nos roteadores das operadoras. São manjados demais.
    Então bolei um esquema de um segundo roteador em cascata. Esse esquema até hoje me protegeu bem.

    Há alguns meses, ganhei um notebook bem velhinho mas perfeito, rodando Windows XP. Só para prova, deixei ligado o notebook ligado por cabo no roteador da operadora, em paralelo com meu roteador interno. O notebook não rodava absolutamente nada. Em uma semana, instalei e rodei o antivirus. A máquina estava tão contaminada que não compensou reparar o Windows. Instalei um Linux no lugar e é assim que ela tem me servido.

    Segurança de rede é coisa séria. Mas as pessoas acreditam piamente que enquanto nada estranho acontece é porque elas estáo seguras. Isso é perigoso.

    • Lorenzo Frigerio

      O firewall do Windows não estava ligado?

      • Lorenzo, firewall interno do XP ligado e todas as atualizações feitas.
        É por isso que se recomenda abandonar o XP. Hoje se tem um grande conhecimento de vulnerabilidades do XP, e elas são do tipo de concepção e não de meros erros de programação. São falhas difíceis de tapar.

        Essencialmente, todo sistema operacional pode chegar nessa fase de vulnerabilidade, mas ela demora a ocorrer. No caso do XP ela se concretizou porque o XP ainda é muito utilizado mesmo depois de 14 anos de lançado.

        • Lorenzo Frigerio

          O Windows parece ser feito intencionalmente para ter falhas de segurança, para que a MS possa corrigi-las e “mostrar serviço”. No Mac, para tudo que você instala, precisa entrar com a senha. Não tenho essa experiência e conhecimento profundo seus, mas não imagino um malware entrando sozinho nele, sem que eu entre num site e pegue um applet ou java script malicioso, e mesmo assim, as máquinas Java atuais por padrão bloqueiam a execução de applets.

          • Domingos

            Lorenzo, é possível usar o Windows com exigência de senha e é assim que todo administrador de sistemas ou pessoa mais conhecedora/responsável faz.

            As falhas do Windows são uma questão de oportunidade. MUITA gente usa, vale a pena desenvolver exploits para qualquer pequena falha ou possibilidade.

            O Firefox, o navegador, passou a sofrer do mesmo problema que o Explorer assim que ganhou a popularidade desse.

            O Windows peca um pouco pela comodidade, pois deixa usar o sistema em modo administrador sem senha – o que Mac e Linux não deixam ou dificultam muito que sejam usados assim.

            No entanto, o sistema é atualizado semanalmente e duvido que outro seja tão polido em termos de “fechar portas” do que ele.

            É como um carro que passou por centenas de crash-tests e foi sendo melhorado infinitamente. Outros sistemas navegam pelo lado da segurança de base – boa no Windows há muito tempo – e de não terem tanta gente de olho neles.

        • Domingos

          Bom, o Firewall do XP também era muito básico. Praticamente se configura sozinho sem maiores cuidados, ao contrário do Vista em diante que tem um monte de regras para ver se um programa está agindo maliciosamente.

          No entanto, por mais simples que seja, em 2001 foi uma revolução ter Firewall integrado…

    • CCN-1410

      Pelo menos um que acredita em mim, hehehe…

  • Marcos, até que enfim alguém percebeu que eu edito minhas imagens!!! Geralmente o que eu preciso para meus artigos não encontro prontas na internet e aó o jeito é editá-las.
    Fico feliz que o resultado seja simples e claro.
    E a imagem de capa da matéria também é edição minha.

    Grato por perceber esse detalhe.

    • Lemming®

      Parece a foto de uma placa de vídeo da Cirrus Logic (será que acertei?)…

  • Eu sou de uma geração alguns anos mais velha. Comecei programando calculadoras e microprocessadores em placas.
    Lindo mexer no programa sabendo endereço e valor do byte por barras de 8 leds e inputs de dados por bloco de 8 chaves…

    Posso avaliar alguma coisa sim sobre pigtail. Aliás o conceito de pigtail é muito mais amplo que o automobilístico. Ele é importante por exemplo para a modernização de equipamentos industriais.

  • Caio, muito da tecnologia da informação foi resolver problemas que antes não tínhamos. Não é o caso da injeção de combustível, mas é o caso do carro conectado. Esse artigo vai chegar lá.

  • Claudio Abreu, espere. Hackear humanos é a coisa mais absurda, porque ela é fácil.

    • Newton ( ArkAngel )

      Lembrei-me da história do cd–rom jogado no chão do banheiro…

      • Newton, essa história eu não conheço.

      • Domingos

        Era com disquete uma das versões, não? Escrito “Folha de Pagamentos”.

        Quando rodava, instalava alguma coisa nas máquinas da empresa, não?

        • Newton ( ArkAngel )

          Exatamente, a curiosidade da pessoa que achava o disquete no chão do banheiro a levava a inseri-lo no computador, e aí o estrago estava feito.

    • Claudio Abreu

      Mmm, acho que captei vossa mensagem, mestre… Deu até para imaginar que é por aí que exista alguma ‘salvação’, não? A ver.

  • Domingos, nenhuma tecnologia é boa ou ruim.

    Existem hackers que usam essas técnicas para penetrar em equipamentos padrão e inserir novos programas que aperfeiçoam o uso deles. Isso é algo positivo.

    • Domingos

      “nenhuma tecnologia é boa ou ruim.”

      Se tem uma tecnologia especificamente criada para basicamente roubar e fazer inutilidades, é ruim sim. Não existe relativismo.

      E digo mais: não tem glamour nenhum nisso. E nem deveria ter.

      Já se você falar em técnicas, bom, aí é outra coisa.

      “Invadir” um equipamento próprio/pessoal é uma outra coisa…

  • Mineirim

    Há uns três meses começaram a aparecer umas pop-ups e banners russos e chineses em qualquer notebook da minha rede doméstica. Não tinha lógica.
    Pesquisando na internet, descobri que era o roteador da Net que estava infectado… Alteraram a função de substituição DNS.
    Por sorte ou azar, a senha do administrador ainda era a de fábrica! Bastou alterar aquela configuração e trocar a senha. Adeus banners!

    • Lorenzo Frigerio

      Em algumas vezes que caía o Speedy, fiz uso de dial-up. Minha home-page no browser era o UOL, mas estranhamente ocorria um redirecionamento para a home-page do IG. Nunca consegui entender como isso era possível. Pensei em avisar o UOL, mas foram tão poucas vezes que precisei usar o dial-up, que acabei não me importando – hoje, lamentavelmente, não existe mais dial-up. Se cair o Speedy, fico sem internet.

      • Domingos

        Possuía esse esquema num computador antigo. Não vale mais a pena. Do IG: provável que o UOL tinha acordo com ele, pois há muito tempo ninguém assina provedor dial-up e devem estar desativados.

        Mesmo como forma de não perder acesso à Internet, hoje é TÃO lento o dial-up que fica impraticável. Pagar uma conta levaria próximo de 1 hora no total.

        Tenha em casa um modem 3G e um chip sem assinatura mensal para esse fim.

        É o que tenho feito. Ao menos você consegue fazer algo importante em tempo hábil, porém como tem limitação de transferência de dados tem que ser bem objetivo.

        Carregar um vídeo no Youtube te come a franquia inteira se deixar.

  • Domingos

    É pior que armas. Armas podem ser usadas para defesa. Uma ferramenta dessa, vazada ao público, só serve à balbúrdia mesmo.

  • Domingos

    Android não é sistema operacional, é sistema de “compartilhamento de informação”.

    Porém, é assim que o usuário comum gosta de usar a informática…

    • Lorenzo Frigerio

      Pelo que tenho pequisado, o Android não tem modo “admin”. Ou é “usuário” ou é “root”. Parece uma coisa muito mal resolvida.
      Para instalar um software de segurança, você precisa colocá-lo em root, que abre permissões para qualquer software fazer qualquer coisa; então, se colocar o aparelho em modo root, o software de segurança é obrigatório, e você fica obrigado a ter confiança total no que ele pode resolver fazer.
      Pelo visto, não é possível conceder permissões específicas por software, via senha, como nos desktops, e isso é absolutamente tosco, sabendo que os smartphones atuais são mais potentes que os desktops de 10 anos atrás, e ainda por cima têm uma conectividade muito maior.
      Não sei como o iOS ou o Windows Phone trabalham essa questão.

  • Domingos

    O roteador, como seu computador quando conectado diretamente no modem sem função de roteamento, guarda o endereço do servidor DNS a ser usado. O endereço é passado pelo seu serviço de acesso à Internet.

    Fazer um mirror do servidor em si seria extremamente difícil e ainda por cima poderia não funcionar, além de ser fácil de detectar por parte do provedor.

    Já entrar no seu roteador ou computador e mudar o DNS para um qualquer é muito mais fácil e funcionará 100% do tempo.

    É por força bruta ou exploração de algum bug mesmo.

    • Lorenzo Frigerio

      Domingos, eu me conecto por DHCP e PPPoe. O DNS muda toda hora e a conexão tem senha. Não tem essa de “guardar endereço do servidor DNS”. Por isso que eu perguntei se o IP do roteador do AAD era estático.
      Ou será que estou misturando estações barbaramente?
      Se eu colocar o endereço web do UOL no campo “search domains”, estarei melhorando a segurança da minha rede?

      • Lorenzo, em condições normais, quando seu roteador é iniciado, ele usa o DHCP para carregar o DNS do seu provedor automaticamente. Quando você conecta seu computador ao seu roteador, ele carrega o DNS automaticamente via DHCP. É uma cadeia que se forma automaticamente, e por isso vulnerável.

        O ideal para esta situação é configurar a interface de rede do seu computador a usar servidores DNS confiáveis configurados manualmente e não carregá-los automaticamente do roteador. Desta forma o seu roteador pode até ter os servidores DNS trocados, mas seu computador continuará seguro.

      • Lemming®

        DNS sempre o mesmo. Normalmente o fornecido pelo provedor (ViVo, TIM, etc…) o que muda é o IP (DHCP).

  • Lorenzo, o conceito de esperança estatística é mais simples e até intuitivo do que parece.

    Voltemos ao exemplo da moeda.
    Você faz uma aposta de R$ 1,00 para cada lançamento da moeda. Se acertar, leva R$ 1,00 de prêmio, mas se errar não leva nada.
    Depois de 1000 lances da moeda, você apostou R$ 1000,00, mas na média acertou metade das vezes, assim ganhou R$ 500,00.
    Se você dividir o que ganhou pelo que apostou, vai ver que teve um retorno de R$ 0,50 por cada R$ 1,00 investido, ou um fator de 0,5 por aposta. Esta é a esperança estatística. É uma esperança ruim.

    Pense num predador. Ele está com fome e vê uma presa. Ele faz um cálculo instintivo: se o gasto de energia para apanhar aquela presa é maior que a que ele irá obter, não vale a pena correr atrás dela. Se o risco de sair ferido ou morto é grande, também não vale o risco.
    Em ambos os casos, a esperança estatística é menor que 1, embora o cálculo seja institntivo.

    Se aumentarem o prêmio para R$ 2,00, na média após 1000 lances da moeda você tende a ganhar R$ 1.000,00 para R$ 1.000,00 apostados. Esperança estatística de 1, Você empata seu investimento.

    Se aumentarem o prêmio R$ 3,00 verá a esperança estatística subir para 1,5 e suas expectativas de lucro são grandes, vale a pena apostar.

    No caso da Mega-Sena existem 50 milhões de combinações de apostas e cada uma é igualmente provável. de ser sorteada. Porém se você eliminar as combinações de número menos prováveis, poderá eliminar 90% das combinações, o que melhora sua esperança estatística numa proporção de 1 para 100.

    Quando você leva em consideração os prêmios menores e o tanto que pagam, sua esperança estatística melhora ainda mais.

    Quando se faz este cálculo, descobre-se que com algunas milhares de apostas sua esperança estatística pode chegar em 1,2 por exemplo.
    Com essa esperança, a maior parte do tempo o jogo apenas se sustentará ao longo das rodadas. Algumas vezes ganhando, outras pendendo, fechando após um longo período com uma pequena margem de lucro.

    • Lorenzo Frigerio

      Realmente não dá para entender sua matemática. Se eu fizer mil lances de 2,00 e ganhar 1000,00 ao final, significa que ganhei 1000,00 para 2000,00 apostados. A esperança estatística é de 0,5 do mesmo jeito, e sempre será enquanto uma moeda só tiver cara ou coroa.
      Se eu não for o único jogador, só é possível dobrar o prêmio se o número de jogadores também dobrar. Esses jogadores podem fazer os mais variados tipos de prognósticos. Mas isso envolve iterações estatísticas astronômicas. Se todos os tipos de variáveis forem forem explorados por cada jogador, a sua chance de ganhar ou perder será sempre a mesma.
      É aí que os donos de loterias entram com suas jogadas: eles têm uma variável “fixa”, que é a estatística de prognósticos passados realizados por todos os jogadores; e jogam na zebra, diluindo o custo da aposta em um bolão. Talvez seja isso a que você se referia quando disse que Turing “fechou” o campo amostral da máquina Enigma.

  • O software apenas aponta para “www.warbirds.com” e repassa esse endereço ao mecanismo de rede do Windows porque o endereço IP pode mudar sem aviso, então é algo que os programadores do jogo preferiram flexibilizar do que escrever um endereço IP codificado rigidamente.

    Olha bem o que eu escrevo no artigo. O software confia sistema operacional e “conversa” com ele, enviando e recebendo comandos e dados. Ao editarmos o arquivos “hosts”, interferimos na conversa entre o sistema operacional e o software de forma que o sistema operacional não faz exatamente o que o software espera.
    Quando mexemos no arquivo “hosts”, criamos um ataque tipo spoofing, porque eliminamos o contato do software com o servidor original do jogo.

    • Lorenzo Frigerio

      Acho que se eu fosse escrever um programa desses, e sabendo dessa possibilidade, tentaria obrigar o programa a exigir a resolução do domínio. Pois se um vírus (ou pessoa) consegue alterar o arquivo hosts, o programa também deveria poder fazê-lo, checando o arquivo hosts cada fez que fosse iniciado, a não ser que fosse hackeado.

      • Lorenzo, se você ler os links que deixei sobre o Windows 10, vai ver que a Microsoft tomou cuidado para que os sites para onde ela envia os dados varridos da máquina não pudessem ser redirecionados. Ela usa endereços IP fixos se por acaso o site foi redirecionado.
        E se você bloquear esses sites, tanto por domínio como por IP no firewall, o Windows 10 expede várias mesnagens de erro a ponto de tornar o sistema impossível de ser operado.
        A dependência do Windows 10 estar conectado é tão grande que, segundo um especialista num dos artigos, ele está mais para software de terminal que para sistema operacional pleno.

  • André,
    Tenho o XP original com Service Pack 3 no meu PC de trabalho e não abro mão dele por nada nesse mundo. Consegui um corretor para .docx e .xlsx com o Calmon e abro tudo. No netbook que levo em viagem tenho W7, é impressionante o que é pior de usar que o XP. Como fica mais lento o meu trabalho!

    • Bob, o XP em termos de Windows funcional é perfeito. Ainda roda programas atuais e é bem leve. Isto é uma coisa.
      Entretanto, há o outro lado. Ao longo dos anos foram encontrando várias vulnerabilidades no XP que foram sendo tapadas. Conforme o tempo passou, o mosaico montado dessas vulnerabilidades mostrou falhas de concepção na segurança do sistema e como são erros de concepção, não tem como arrumar.
      Daí a recomendação dos especialistas em abandonar o XP em prol de uma versão mais nova do Windows.

      Mas a fragilidade do XP é pontual da sua máquina e a sua segurança não é constituída só dela. Segurança é uma cadeia. Mesmo que a segurança do seu XP seja fraca, você pode reforçar a segurança de outros elementos que compensem a falta dela no seu computador.

      Eu tive uma experiência que descrevi aqui.
      Por motivos de segurança, tenho dois roteadores em cascata. Já tive problemas de “sequestro” do roteador do provedor e já tive problemas de contaminação de uma máquina com XP plugada neste roteador. Por trás do segundo roteador, nunca tive problemas.

      Se você não deseja abrir mão do XP, deve pelo menos investir em alguma proteção externa a ele. Usar um segundo roteador em cascata como faço aqui é uma maneira barata e fácil de instalar que mostrou bons resultados.

      Outra boa providência é sempre ter um computador com backup dos seus trabalhos. Até se sua máquina principal falhar, você continua com a reserva.
      Máquinas velhas que outras pessoas encostaram são sempre boas para isso.

      Boa parte dos ataques que as pessoas sofrem em casa são feitos por robôs, ou seja, são ataques automáticos. Ataques a usuários residenciais raramente são feitos manualmente porque são ataques feitos em massa.
      Estes robôs estão preparados para reconfigurar um roteador e até mesmo invadir a rede logo atrás dele, mas não esperam ter um segundo roteador para saltar uma segunda vez. Por isso é seguro. O inusitado e o pouco usual são sempre opções seguras.

      Outra coisa importante que você pode fazer é usar o mínimo de configuração automática do computador, buscada no roteador e deixar o máximo configurado manualmente mesmo.

      Quando você é só mais um na profusão de conexões de internet, continua valendo o antigo ditado hacker: há segurança na multidão.
      Esses crackers de ataque em larga escala são como ladrões de carro. Se estiver muito difícil de atingirem os objetivos deles com você, eles vão para o próximo, porque sempre tem alguém “fácil” por perto.

      • Lemming®

        E tem limitações artificiais como não poder atualizar o IE para a versão mais recente. Mesmo não usando é bom ter alternativa.
        Versões de programas de segurança atuais não são mais compatíveis.
        O sistema em si é uma peneira.
        Opções? Existem. Mas depende de sua sensibilidade com segurança ou sua necessidade de velocidade.
        Windows 7 bem configurado é rápido. Depende da mão e do hardware.
        Não havendo necessidade especifica (programas Windows) recomendo o Linux Mint XFCE. Leve e funcional.
        Ou para quem preza segurança extrema o Qubes OS.

    • Lorenzo Frigerio

      O problema é que o XP não tem mais suporte da MS para atualizações de segurança. No meu Mac, tenho uma máquina virtual com XP e uma com o 7. Este parece mais sólido, mas um pouco mais complexo de configurar.

      • Domingos

        O 7 é mais sólido. E tem mais opções também. Por isso leva um tempo a mais de configuração.

    • Daniel S. de Araujo

      Bob, também uso e sou fã do XP porque ele é o que mais se assemelha com o Windows que melhor me adaptei: o 2000.

      O 7 eu tenho no escritório e ainda e o que é mais normalzinho, mas é lerdão. Agora o Windows 8 e o 8.1 conseguem ser piores que o Millenium.

      • Domingos

        Daniel, como falei ao Bob, use o tema clássico no 7. Fica quase igual ao 2000, que era mesmo muito bom.

        8 e 8.1 são rapidíssimos em máquinas modernas, porém a interface é lamentável mesmo.

        A Microsoft tentou, mas não conseguiu fazer os dois modos – tablet e desktop – perfeitamente. E o 10 não melhorou muito também.

        • Daniel S. de Araujo

          Vou fazer isso! Valeu!

    • Domingos

      Bob, experimente usar o Windows 7 com o tema clássico.

      Isso alivia o peso dele em máquinas como netbooks, onde cada detalhe conta, e ainda dá a você a interface mais produtiva do mundo que era aquela do Windows 95 até o 2000.

      Com isso ele deve ficar ainda melhor que o XP. Foi o sistema mais acertado da Microsoft e pessoalmente acho o de todos os tempos.

      O XP também pode ser usado no modo clássico, pesquise como fazer – é bem fácil.

      No caso de netbooks, ajuda até na economia de espaço, pois a barra de tarefas ocupa só o tamanho necessário.

  • RoadV8Runner

    Excelente explicação sobre as formas de comunicação, bem como de que maneira os gatunos de plantão conseguem se infiltrar nos sistemas que consideramos seguros. Vou configurar minhas conexões de rede para somente aceitarem conexões DNS confiáveis. Não sabia exatamente como esse processo funcionava, mas depois de ler o texto, entendi como é.
    Interessante saber que hacker não significa, necessariamente, uma pessoa mal intencionada. Além dos filmes que sempre apresentam os hackers “no lado negro da força”, os meios de comunicação também o fazem, pois somente noticiam informações de hackers que fizeram alguma malandragem por aí. E outro dia, quando disse que hackers do bem mostraram a fragilidade nos sistemas embarcados do Cherokee e do Camaro, o pessoal tirou o maior sarro, dizendo que “hacker do bem” foi ótimo.
    Absurdo dos absurdos o Windows 10 ser invasivo dessa forma. Eu não gosto nem um pouco dessas comunicações “de fundo” que praticamente todo software moderno faz. Se eu não deixo habilitado sequer a atualização automática… Aliás, esse é outro ponto que vem piorando ultimamente, pois muitos softwares não permitem que você desabilite as atualizações automáticas.

    • RoadV8Runner, vivo no meio de comunidades hacker desde os tempos do rádio a válvula, quando a figura do hacker não estava diretamente ligada a computadores.

      O hacker por excelência é um sujeito curioso que gosta de ir além do que faz qualquer pessoa convencional. Em tese o foco do hacker pode ser qualquer coisa, indo do cozinheiro que faz doces divinos, ao preparador que monta carros campeões a grandes conhecedores do potencial dos computadores.

      Essas pessoas normalmente são pessoas de boa índole, mas são pessoas de comportamentos estranhos e que, com o passar do tempo, sofrem todo tipo de incompreensão, discriminaçao, bullying e outros destratos sociais.
      Um problema sério com eles é que eles não se encaixam nos modelos idealizados pela sociedade. Eles são do jeito que são e nao aceitam se disfarçar da forma como as pessoas esperam. Ou as pessoas os aceitam do jeito que são ou haverá sempre algum tipo de choque.

      Conheci uma vez uma head-hunter que tinha a pior missão para um profissional desse ramo. Ela se especializou em buscar pessoas criativas para empresas que necessitam de alta inovação.
      Ela me contou uma história triste que eu já conhecia. Ela contou que pessoas criativas são muito raras e as realmente criativas, quando ela as encontrava se mostravam extremamente agressivas e sem a menor condição de trabalhar em equipe com pessoas normais, tal era o problema de destrato social que elas sofriam desde criança. Pessoas assim só se dão bem com semelhantes a elas.
      Pessoas assim só trabalham isoladas quando toda uma equipe precisa delas. O pior é que geralmente a equipe que elas deixam à margem tem de realizar seu trabalho longe dos olhos dessa pessoa, e quando ela vê o que está sendo feito, mostra de forma intempestiva que boa parte do trabalho está errado. Normalmente essas pessoas estão certas nas críticas, mas a falta de tato social só prejudica a relação.

      É por isso que tantos hackers são empurrados para o “lado negro da força”, enquanto outros cometem atos ruins tentando alcançar uma pretensa justiça num modelo parecido ao do Batman.

      Agora vou contar uma coisa bem estranha.
      A grande maioria das vezes, uma empresa não contrata um hacker se desconfiar dessa qualificação. Conheço algumas equipes que trabalham em banco no desenvolvimento de soluções de segurança e só o gerente deles sabe disso. Se um diretor do banco ficar sabendo que existe um “ninho” de hackers dentro do banco, é demissão sumária para a equipe inteira.

      Por outro lado, eu fiz a abordagem contrária quando tive empresa de software. Regularmente eu tinha que contratar programadores avulsos. Os primeiros desqualificados nas entrevistas eram justamente os “solution providers” ou que tinham alguma certificação.

      Em primeiro lugar, certificações tinham virado moda porque do dia para a noite o profissional passava a cobrar três vezes mais só porque tinha um papel bonito pra exibir. Gente assim trabalha pelo dinheiro e não pelo prazer de trabalhar e pelos resultados obtidos.

      Em segundo lugar, o sujeito que é hacker “é” hacker e não “está” hacker. É o sujeito que
      trabalhou duro a semana inteira com computadores, deu o sinal de fim de
      expediente na sexta-feira e vai alegremente para o barzinho com os amigos
      conversar sobre computadores. Ele vive e respira isso com alegria. Nasceu assim e vai morrer assim. Ele
      não precisa de certificado para isso.
      Hackers programadores não ligam para referências sociais. Não é um pedaço de papel que garante ou define que eles sabem. Eles sabem porque são curiosos e aprendem por prazer e esta é a verdadeira garantia de que realmente sabem. Você conversa com um hacker e começa a falar sobre banco de dados, algoritmos avançados, e há um brilho no olhar e um tom de entusiasmo na voz do entrevistado que não podem ser reproduzidos ou imitados. Esses eram meus escolhidos.

      Começar a conversa comigo mostrando um certificado naquele padrão “guiloche” era motivo de encurtar a conversa e me livrar logo do sujeito. Isso não é coisa de quem “é” profissional, mas “está” profissional e mais interessado em dinheiro do que em me entregar um trabalho perfeito. Esses eu dispenso.

      É exatamente o contrário de qualquer processo de seleção em qualquer empresa. E eu tinha resultados muito melhores assim. Isso é pensar “fora da caixa”.

      Uma vez nossos colaboradores estavam todos ocupados e estávamos cheios de trabalho de desenvolvimento a ser feito, e precisãvamos avançar e tivemos que contratar um “solution provider” que foi altamente recomendado de dentro da ABES. Sujeito caríssimo, mas era o jeito.
      Quando mandávamos trabalho de programação para fora, mandávamos toda documentação de como queríamos o serviço, desde padronização de nomes de funções e variáveis, comentários, etc.. Com nossos colaboradores regulares isso nunca foi problema. Mandávamos e o que voltava precisava de pequenos retoques aqui e ali, mas praticamente o que vinha encaixava como uma luva no nosso projeto.

      Com esse sujeito foi desperdício total de tempo e dinheiro. Algoritmos sem pé nem cabeça, chamadas de função erradas, mesmo constando na documentação, enfim, um desastre. Não tinha nada de aproveitável no trabalho dele.
      Depois dele, conversei com meus sócios e concluímos que profissional certificado na empresa, nunca mais.

      Também cansei de ser esnobado em clientes por esse pessoal com certificação contratado para cuidar da rede, e eles entendiam muito menos que eu.
      Na visão deles, quem não tem certificação, automaticamente não tem competência.

      Essas não são situações que ouvi de alguém ou que li em algum canto. São situações que eu vivi ao longo dos anos. E essa experiência é a que passo no texto.

      • Domingos

        Bom, a coisa é simples: é uma falsidade socialmente explorada dizer que pessoas diferentes podem/devem conviver. Se elas não possuírem algum laço ou afinidade substanciais elas NÃO DEVEM serem misturadas.

        Misturá-las é o caminho para criar conflitos onde alguém os orquestrará e se aproveitar, além de tornar o bom ruim e o ruim pior ainda.

        No caso a certificação é um referencial. A verdade é que você está falando de pessoas mais hábeis ou menos hábeis, além de uma diferença de espírito melhor ou pior também.

        A coisa mais velha do mundo, literalmente (está na Bíblia), é que o bem repulsa o mal e o mal o bem.

        Uma equipe com grandes disparidades de nível técnico, a não ser que unidas por um bom espírito e um laço de comunhão/objetivos/boa vontade bem concretos, vai ter isso mesmo: os piores se reunindo para pisar nos melhores e até mesmo os melhores podem acabar fazendo erros por isso.

        Não tem nada de “desajuste social” ou “ter ou não ter certificado”, na verdade.

        Tem também que ver que nem sempre uma pessoa habilidosa tem bom espírito, se encostando na sua habilidade para fazer coisas realmente anti-equipe e anti-outros por mero capricho.

        Uma coisa é ser excêntrico, outra é ser filho da mãe mesmo.

        Dos certificados, considere o seguinte: num meio técnico e especializado como esse, num país sem tradição de programadores, são uma forma de garantir que o trabalho do cara não seja completamente amador e que tenha um nível x.

        Você busca pelos melhores profissionais. Esses podem ser certificados ou não, simplesmente não faz diferença. Você não cobraria um diploma de pilotagem do Michael Schumacher, mas cobraria de algum desconhecido que demostre não ser destacadamente melhor que a média.

        No entanto, isso tem um preço. Certificado ou não, uma hora os melhores irão querer – e MERECEM – remuneração melhor que um mero certificado.

        Por sua vez, o certificado também a exige para não ser explorado, já que nesse meio é fácil ter seu trabalho pego por pouco ou nada. E com certeza ele terá um nível mínimo que um programador de “apps bacanininhas” que só sabe desenvolver em ambiente visual.

        • Lemming®

          Mas na Banânia tem outro grande agravante com os certificados que são os “dump” dos testes, os testes conquistados por outra pessoa e outras esculhambações que só podem acontecer nesta terrinha torta…

          Nem vou me estender que a coisa é feia.

          • Domingos

            Até nesse meio tem tido isso? Lembro que tempos atrás podiam criticar muito as certificações, mas a seriedade delas era muito respeitada.

      • Lemming®

        Acho que está aí o tema para outra matéria.
        Os profissionais (aqueles que sabem o que estão fazendo) e os “profissionais” (aqueles que entendem e olhe lá da teoria do que estão fazendo)…

        • Lemming, já tenho um rascunho nesse sentido. Há muita coisa a ser discutida sobre isso.

  • Lorenzo, a aposta é sempre de R$ 1,00. O prêmio é que varia. Com R$ 2,00 de prêmio com aposta a R$ 1,00, você na média empata. Prêmio abaixo de R$ 2,00, ao longo do tempo você tem prejuízo, enquanto acima dele você tem lucro.
    No caso de loterias, como dinheiro não cai do céu, quem oferece o jogo nunca vai oferecer prêmio que dê esperança maior ou igual a R$ 2,00 porque aí ele fica no prejuízo.

    No caso da máquina ENIGMA o que Turing fez foi restringir ao máximo as combinações para as mais prováveis que poderiam ser decifradas com o mínimo esforço computaconal. Ele maximizou as probabilidades de acertar o código de encriptação minimizando os testes por força bruta.
    Se você pensar que cada teste é uma aposta, que o prêmio é um só (a combinação da ENIGMA) e a redução do espaço amostral, o mecanismo estatístico é o mesmo.

    Se você for olhar como hackers acertam suas senhas, verá que eles raramente usam força bruta. Eles fazem ataques por dicionário (a senha mais manjada do mundo é “123456” seguida por “password”) e se o dicionário não der certo, um dicionário de dados pessoais. Resolve em mais de 80% dos casos.

    Houve uma vez que um importante cientista sueco faleceu e quando a universidade correu atrás do legado dele, estava tudo guardado dentro de um arquivo ZIP encriptado.
    O problema do arquivo ZIP é que ele não guarda no próprio arquivo a chave de criptografia. Ela é apenas a chave de mascaramento da informação. São bilhões de combinações, e sem a certa, o arquivo ZIP era apenas uma sopa de letrinhas.
    A filha dele ofereceu um prêmio para quem descobrisse a senha do arquivo ZIP.
    Vários tentaram e falharam. Aí apareceu um adolescente e quebrou a senha em menos de 15 minutos. A senha era o sobrenome do cientista digitado de trás para frente.

    Nessa área existe muito disso.

    • Lorenzo Frigerio

      Parece que Turing então usou a “Navalha de Occam” para fazer o programa da Colossus. Estou certo ou errado?

  • Lorenzo Frigerio

    Nas minhas máquinas virtuais do Windows, uso o Classic Shell, pois gosto do menu Iniciar do Windows 98. O programinha é altamente configurável, e é de graça.

  • Domingos, bingo! Você acertou na mosca!

    Se você levar a questão de segurança ao extremo, você cai na paranóia, e você vê perigo até na sua própria sombra. O pulo do gato é gerenciar o risco.
    Até que ponto um sistema precisa estar protegido pelo valor daquilo que ele contém.
    Você não irá construir uma caixa forte se for para guardar uma moeda, a menos que você seja o Tio Patinhas tentando proteger sua moeda nº 1.

    Ou ao contrário. Não compensa você ter o valor de uma moeda se precisar construir uma caixa forte para ela.

    É o caso do carro conectado. Há tantas implicações de segurança no carro conectado que será que é um recurso que realmente precisa existir?

    Isso vou falar mais adiante.

    • Domingos

      “Até que ponto um sistema precisa estar protegido pelo valor daquilo que ele contém.”

      Bom, o problema aí também é justamente a variável externa.

      O sistema pode ser útil/necessário, além de bem protegido, porém um interesse muito grande sobre o que ele guarda pode tornar inviável algo que seria a princípio essencial.

      Acho que no fim a coisa se encaminha por ter primeiro uma mentalidade/espírito mais positivos por parte de todos. Sem isso ficaria impossível ter qualquer coisa informática, pois um computador qualquer pode ter uma moeda ou milhão delas, mas ninguém a não ser poucos poderiam ter um sistema onde se necessitassem mais milhões dela para que fosse viável o seu uso.

      Talvez por isso seja, entre outras coisas, bom separar as utilidades mesmo. Se um sistema informático tem só um computador pessoal atrás de si e não um carro inteiro, o interesse em descobrir qualquer possível brecha e usá-la diminui para ambos.

  • Lorenzo Frigerio

    Interessante. Eu estava pesquisando bloqueadores de anúncios para Android, e tem uns que justamente fazem isso via arquivo “hosts”. Ele deve ficar bastante “inchado”. E mesmo assim, creio que esse método não consiga bloquear elementos e iFrames.

  • Domingos

    Uma das piores coisas do Windows 10 é não poder escolher atualizações opcionais, tudo é instalado automaticamente e ainda a máquina é reiniciada em no máximo 24 horas.

    Um tipico exemplo da cultura “safety”, que veio para atrapalhar e criar novos esquemas de coleta de informação e não para ajudar.

  • Domingos

    O AD respondeu, mas sobre a última pergunta sua: só melhoraria se você usar o endereço IP dele, não o escrito (www.uol.com.br). A conversão automática de escrito para endereço de máquina é justamente o que o servidor DNS faz.

    O problema é que hoje nem mesmo isso é fixo. Com a distribuição de servidores o endereço pode mudar a qualquer momento.

    • Lorenzo Frigerio

      Pois eu pensei que fosse o contrário… já que a resolução de DNS, ao que eu saiba, é feita pelo NIC.BR. Você está dizendo que ele distribui essas tabelas, mas alguém pode invadir o servidor DNS do UOL e alterar a tabela para fazer uma resolução do endereço escrito para uma máquina remota? Se fosse assim, o cracker, além de invadir um servidor grande, teria que duplicar todas as funções do servidor do UOL, ao mesmo tempo em que hackeia o seu roteador… acho que só a NSA ou o Mossad, ou o GCHQ conseguiriam fazer isso.

  • RoadV8Runner

    Penso exatamente da mesma forma. O pessoal dá muita importância a um certificado expedido por uma entidade de peso e deixa de lado o feeling pessoal, justamente aquilo que se percebe em uma conversa (ou, pior, muitos sequer têm esse feeling…). Outro grande erro é desprezar profissionais sem experiência em determinada área (profissionais recém formados, por exemplo), mas que você percebe que tais pessoas têm potencial, basta treinamento para desenvolverem-se rapidamente. Onde trabalho, contratamos uma pessoa recém formada, que não tinha experiência alguma em empresas, mas que na entrevista ficou evidente que tinha muito potencial e vontade de aprender. Pois passado pouco mais de um ano, essa pessoa já está responsável pela implantação de um novo processo produtivo, onde eu e meu chefe apenas auxiliamos nos pontos em que ainda falta vivência de “chão de fábrica”.
    Já tive contato com pessoas extremamente competentes, mas de difícil convívio. Porém, uma característica minha é saber entender como o outro pensa e criar formas de se relacionar de forma amigável. Até hoje, nunca tive problema em trabalhar em grupo onde existam pessoas “complicadas”. Não vou dizer que gosto de ficar criando formas de chegar a uma pessoa, mas se for preciso, que assim seja (mas que dá trabalho na maioria da vezes, isso dá!). No meu emprego anterior, toda vez que precisasse haver uma integração com pessoas difíceis, meu chefe me colocava como a pessoa de contato, pois ele mesmo dizia que eu conseguia me dar muito bem com esse tipo de pessoa.

    • Domingos

      “ou, pior, muitos sequer têm esse feeling…”

      Infelizmente com tanta mentirada hoje as pessoas perderam o sentido/desenvolvimento do feeling – o que é intencional.

  • Lemming®

    Nem a pau, Juvenal…
    Injeção não entope, não falha, não dá manutenção…
    Desde que se use combustível razoável.

  • Lemming®

    Firewall de roteador doméstico é igual flanelinha…se realmente precisar dele, meu amigo, está ferrado…

  • As imagens originais são estas:

    • Lemming®

      Minha memória está boa…rs

  • Domingos, aí você está falando de algo que ainda pesa para os processadores atuais.
    Ocorre que boa parte da programação nacional usa algoritmos leves: folha de pagamntos, contas a pagar e receber, emissão de notas fiscais… Isso computadores faziam dando risada há 15 anos.
    Nessas rotinas, código otimizado ou não não faz diferença cnos computadores atuais.

    Ainda outro dia achei no meio dos meus backups velhos uma coisa interessante.
    Nos meus tempos de faculdade eu mexia muito com aquisição de dados e depois com métodos numéricos para “mastigar” esses dados.

    Uma função que eu usava rotineiramente era resolver um sistema linear de N equações a N incognitas pelo método de eliminação de Gauss. Mas não eram sistemas pequenos de grau 3. Sistemas pequenos tinham ordem 50.
    Rodar um programa desses num PC-XT de 8 MHz me custava de 30 minutos a quase uma hora, e eu precisava de um algoritmo super-eficiente para ganhar tempo.

    Nos algoritmos tradicionais, o pivotamento do método, onde se trocam linhas da matriz, exige um certo esforço computacional que acaba repercutindo no tempo de execussão do programa.
    Nosso professor de métodos numéricos, quando nos ensinou este método, nos mostrou um sistema que foi desenvolvido na Inglaterra que era indexar a matriz por um vetor de linhas. Pivotar implicava apenas em trocar os índices do vetor. Apesar da carga adicional de indexar a matriz por vetor, havia um ganho de não ter que fazer o pivotamento de grandes matrizes.

    Quando parti para fazer o programa para o laboratório, não me contentei em pivotar linhas mas também colunas, sempre pelo método de indexação indireta por vetores de linha e coluna.
    O programa pronto eu deixei como 1.0 em uma pasta contendo tudo. A linguagem usada era C.
    Só que, como eu disse, há o peso de indexar uma matriz por um vetor, e eu sabia que matemática de ponteiros e comecei a migrar a versão 1.0 para uma versão inteira para ponteiros. Cheguei na versão final 7.0, sendo que tenho todas as versões intermediárias.

    A diferença de velocidade da versão 7.0 para a 1.0 era enorme embora o algoritmo básico fosse o mesmo. Eu economizava de 1 a 2 terços do tempo em relação à versão 1.0.

    Quando encontrei esse programa me deu vontade de experimentar e foi uma coisa meio surpreendente, porque o que demorava quase uma hora naquela época, agora rodava em segundos.
    Outra coisa interessante foi verificar o avanço dos compiladores.

    Naquela época eu usava Turbo C da Borland ou o compilador C da Microsoft e a diferença de versões era absurda. Compliar o mesmo código fonte no gcc do Linux mostrou que não tem mais diferença de desempenho entre essas versões. O gcc evoluiu muito no sentido de oimização de código binário.

    Gostei disso porque enquanto a versão 1.0 é tranquila de ler, a 7.0 tem muito “polimento de bit” para extrair o máximo de desempenho e usa regras obscuras de sintaxe de C que melhoram o desempenho do código gerdo pelo compilador, de forma que , além de exigir cuidados com uso de ponteiros, ainda é um programa difícil de ser lido.
    Eu não preciso mais me preocupar com isso. Basta escrever um código legível que o compilador otimiza sem necessidade de “polir bits”.

    Aí entra a questão.
    Tive um tremendo esforço para escrever um bom programa e hoje ele resolve um sistema de 50 equações em 3 segundos. Quem escreveu um programa não tão elegante e sem otimizações consegue resolver o mesmo sistema em 5 segundos. 2 segundos a mais sobre 3 é uma diferença proporcional enorme, mas diferença prática nula.

    É isso que quero dizer

    • Domingos

      Bom, mas ao mesmo tempo um programa hoje executa tantas funções diferentes. Se forem somando esses segundos, faz ainda boa diferença.

      Claro, não é razoável tanto trabalho manual para coisas simples, ainda mais com a capacidade hoje disponível, mas um bom tanto desse cuidado poderia ser repassado aos programas de hoje.

      Tem browser hoje que para fazer o mesmo que um concorrente precisa de uma máquina do dobro da potência, sendo que a da “metade” já é uma máquina bem razoável.

    • Lorenzo Frigerio

      Sânscrito antigo…
      AAD, você devia ser daqueles monitores de computação da Poli que corrigiam os exercícios-programa dos calouros e escreviam neles quem mais havia usado a mesma solução… meio que dando a indireta que o exercício havia sido “chupado”.
      É incrível como algumas pessoas têm facilidade para isso. É como um “segundo cérebro”.

  • Lemming®

    Se fossem conhecidas todas as histórias de horror que rondam as certificações…
    Como habilitação que é vendida em qualquer autoescola de São José dos Campos – SP. Basta chegar no balcão e pedir a sua. Vale alguma coisa??

  • Lorenzo Frigerio

    Minha máquina tem espaço para mais 2 HDs, portanto dá para colocar um SSD sem mexer no resto. Talvez eu colocasse também um segundo HD de backup, para o novo sistema, ou particionaria o existente. O “funil” realmente é o mau desempenho dos discos rígidos.