Arduino Ethernet e Análise com TAP

DWOS TAP
DWOS TAP

O Arduino é uma board de desenvolvimento que provavelmente você conhece bem, senão esse texto sequer estaria diante de seus olhos. O network TAP por outro lado, é um dispositivo dedicado à tarefas sensíveis e muda seu conceito e utilização dependendo da área que é utilizado.

Aqui trato de exclarecer o conceito do TAP e também mostrar uma forma de análise que já me resolveu problemas enormes em diversos países pelo mundo, mudando apenas o nível de complexidade. Sigamos?

TAP

DWOS Bridge
DWOS Bridge

O network TAP é um dispositivo que permite acessar o fluxo de dados entre um determinado equipamento ethernet ou sobre toda uma rede, dependendo do ponto interceptado. Isto é, você consegue analisar o fluxo original de dados passantes sem interferir nele.

Uma das características desse dispositivo é ter isolamento físico, o que garante a segurança em diversos aspectos; não é possível interferir no tráfego original, assim como o tráfego da rede não toma ciência da existência de uma escuta e também não pode interagir com esse meio externo. Em palavras um pouco mais técnicas, não há manifestação de ARP originária da escuta e ainda que o sistema operacional o tentasse, não haveria sucesso graças ao isolamento físico. E agora em poucas palavras, é como se esse equipamento não existisse na rede.

TAP na administração de sistemas

Quando utilizado em administração de redes, é um equipamento especialista que protege o administrador de sistema (ou o seu estagiário), uma vez que um problema normalmente desencadeia outros em um CPD, mas uma análise utilizando esse dispositivo garante que não houve interação humana relacionada a qualquer problema que porventura surja durante uma análise qualquer. Meio complicado? Se você é de redes, entendeu o recado.

Quando utilizado em redes, o termo é “análise”, porque é o procedimento e propósito da administração, portanto é legítimo e legal a coleta de quaisquer tipos de informação com o propósito de preservação da estrutura física e digital, seja preventiva ou reparatória.

bannerHubJur
TAP na perícia forense digital

É um ponto extremamente sensível tratar desse assunto. Primeiro que o termo “interceptação” trata da coleta não prenunciada de informações alheias, seja por meio de escuta analógica ou digital. Esse tipo de procedimento só é permitido pela polícia, mediante autorização judicial previamente expedida. Mas isso não significa que assistentes técnicos e peritos ad-hoc não possam utilizá-lo.

Em hipótese alguma é permitida a interceptação, mas análise de tráfego inclui análise de roteamento, análise de protocolos e consequentemente análise dos dados passantes, sem que esses dados sejam tomados para propósito de apresentação forense. O que isso quer dizer? – simples – você pode “coletar” dados digitais, que inclui mensagens de textos, acessos a sites, transferências de arquivos e qualquer coisa mais que esteja trafegando na rede, desde que não seja citado como “dados interceptados”. Talvez você questione a legalidade da leitura dessa informação digital, mas é legal sim, tanto que o netfilter do Linux possui um módulo de filtragem por strings contidas dentro dos pacotes de dados transferidos através das interfaces ethernet. Em suma, se estiver coletando dados advindos de um sistema operacional baseado em Linux, pode-se afirmar que o casamento de palavras é um alvo para comparatória com os filtros de segurança do sistema, não focando no originador, mas na segurança implementada na rede que permitiu algum ilícito (hipoteticamente).




Muitas vezes a coleta é feita por assistentes técnicos, ainda que sob supervisão de perito nomeado ou perito judicial. Para quem não sabe, essa coleta é chamada “cadeia de custódia”. O perito é quem faz a análise pericial e então os assistentes técnicos das partes atuam na composição dos fatos para que os advogados possam trabalhar na defesa com argumentos fundados, servindo assim de paramento à sua atuação. O mais interessante em trabalhar com perícia é que não existe meio termo; a verdade aparece sob qualquer circunstância e ainda que assistente técnico (perito que atua para a parte) a análise consiste apenas em buscar artefatos comprobatórios dos eventos; não há tendência na atuação pericial.

De qualquer modo, durante a coleta nada pode ser analisado, portanto a melhor maneira de fazer a coleta é através do software que desenvolvi para trabalhar com esse TAP, sendo esse software exibido na primeira imagem. Em algum post relacionado à cadeia de custódia eu mostrarei sua atuação.

TAP e Detetives

Aqui não há qualquer pudor que possa ser empregado aos procedimentos; é um inferninho. Sendo ilegal ou não, o detetive dá um jeito de coletar informações para comprovar (ou não) o tema pelo qual foi contratado.

TAP e embedded

Aí entra um novo ramo para a utilização desse dispositivo, e é o que será exemplificado nesse post. Primeiramente, um TAP é uma ferramenta assim como o Bus Pirate, boards de desenvolvimento, conversor DC-DC etc. Eu consigo trabalhar sem um osciloscópio, mas se tivesse uma grana sobrando, com certeza compraria um, apesar de que a diferença de preço entre o TAP e o osciloscópio é gritante. De qualquer modo, ter um TAP ajuda a analisar o fluxo de dados de forma que as flags da comunicação, pacotes, CRC e handshake podem ser monitorados exatamente como seria em um computador, sem a necessidade de ficar fazendo print na serial para deduzir problemas. Vamos à pratica, primeiramente com um exemplo 100% funcional, que é o exemplo de webserver contido na IDE do Arduino. Claro, você pode utilizar com qualquer equipamento que utilize ethernet, inclusive entre roteadores, gateways, switches, servidores e mesmo dispositivos que contem com interface de video como por exemplo, o Raspberry. Isso significa que, em havendo a necessidade de analise comportamental de um protocolo de comunicação já implementado, você não precisará colocar um monitor no Raspberry, que por acaso não conta com interface VGA – ainda popular entre os monitores de video.

O sketch foi “upado” com o IP 192.168.1.100 e conectado via ethernet ao roteador. O ultrabook acessa o Arduino pelo WiFi. O notebook Vaio está utilizando a ethernet nativa e um dungle ethernet, ambos sem IP, operando no chamado, “modo promiscuo”, fazendo a escuta da comunicação entre o ultrabook e o Arduino.

Primeiramente, o video mostra a comunicação direta entre o ultrabook e o Arduino (shield ethernet). Posteriormente, faço a interconexão com o TAP e inicio a escuta, mas invés de salvar em raw, estou exibindo também em modo promiscuo para discorrer a respeito do que pode ser analisado nesse caso.

A situação fictícia proposta é de uma empresa que resolveu utilizar IoT em sua estrutura, mas condições anômalas levantaram suspeitas quanto ao funcionamento destes dispositivos. Por alguma razão, informações sigilosas foram vazadas da empresa e a suspeita recaiu sobre essa nova estrutura. Sem acesso aos códigos, como saber o comportamento do programa em execução nesses dispositivos interconectados à rede? – Agora veremos isso com o TAP. Veja o video, depois siga com a leitura:

Como pode ser visto, o programa utilizado para analisar os pacotes foi o tcpdump, que faz uso da libpcap tal qual Wireshark, com a grande diferença de que Wireshark é gráfico, caso prefira uma análise orientada a GUI (versões para Windows e Linux).

wireshark
wireshark

Não dava pra fazer um ou dois desse dispositivo porque o custo é altíssimo e vai caindo conforme a produção. Por isso iniciei com 50 peças. Tinha o propósito de fazer algo como um kit, produzir capa, bordado, embalagem etc. Decidi vender pelo mercado livre da maneira mais informal possível e com frete grátis e satisfação garantida.

Se lhe despertou interesse, não perca a oportunidade e clique aqui agora. O software para coleta forense (sistema operacional live com o aplicativo, sendo um live ISO de 64MB) será disponibilizado em breve e tão logo disponível e de forma gratuita aos que adquirirem essas primeiras 49 unidades produzidas (uma é minha, claro!).

Se quer ter uma idéia de que se trata, o sistema operacional está pronto e pode ser visto em funcionamento nesse link. O software que você vê nesse link é outro, que fiz para Cadeia de Custódia (tal qual Falcon e Solo, utilizados pelo FBI) de midia de armazenamento (HD, pendrive, SSD, etc), mas o sistema operacional e interface gráfica são os mesmos. Não deixe de seguir-nos pelo menos no facebook (link aí embaixo). Aos que adquirirem o produto, entrarei em contato por email, mas não deixe de nos seguir também!

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Próximo post a caminho!




Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Deixe uma resposta