Neste artigo introdutório, examinaremos os principais aspectos de segurança de um dos tópicos mais populares nos últimos tempos - a Internet das coisas.
Se você está de alguma forma ciente das novidades no campo da segurança cibernética, pode ter notado que os casos de
criação de botnets a partir de câmeras IP se tornaram mais frequentes, os especialistas em segurança mais frequentemente
encontram vulnerabilidades em controladores domésticos inteligentes ,
abrem bloqueios sem fio e muito mais!
Antes de passarmos ao tópico da segurança, começaremos entendendo o que está incluído no conceito de Internet das coisas.

No momento, existem várias definições, mas acredito que a presença de uma definição leva a tecnologia da IoT a uma determinada estrutura, não permitindo que ela se desenvolva mais amplamente; portanto, não aconselho memorizá-las de cor. Vejamos um exemplo de uma das definições mais comuns:
A Internet das coisas é uma rede de dispositivos conectados à Internet, controlados por ela e que podem trocar dados entre si.
Segundo o autor, se o dispositivo puder funcionar apenas na rede local, não será uma IoT? Claro que sim. Mesmo sem uma conexão com a Internet, o dispositivo pode estar no grupo de coisas da Internet, como, por exemplo, um alto-falante portátil bluetooth com a capacidade de salvar músicas na memória do dispositivo. E existem muitas definições errôneas na Internet. Pense em geral :)
Mas pensar globalmente já é difícil o suficiente para começar um artigo chato, então defina limites. Concordamos que, sob coisas inteligentes, podemos perceber coisas à nossa volta com enchimento de alta tecnologia (a presença de uma pequena placa com um microcontrolador) que possui funcionalidade adicional que pode ser usada por usuários comuns para resolver problemas do cotidiano (em casa, no trabalho, na rua).

De volta à segurança. Como essa área captura essencialmente um número indefinido de protocolos, linguagens de programação, chips, que conhecimento deve ser obtido para garantir que eles sejam suficientes para realizar uma análise completa da segurança da IoT?
A resposta correta: mas não é :( Você passará um mês estudando detalhadamente uma tecnologia, à medida que os fabricantes começarem a usar algo novo. A única decisão certa é estudar os meandros dos dispositivos inteligentes:
- A pilha de protocolos de rede, que é tomada como base para a maioria dos protocolos usados na IoT
- Fundamentos do microcontrolador
- Noções básicas de trabalho com protocolos de rádio
- Engenharia reversa de firmware / programas compilados
- Pesquise vulnerabilidades da Web
- Exploração de vulnerabilidades binárias
O conhecimento dessas tecnologias (onde pode ser superficial) fornecerá um excelente começo em segurança da IoT, mas, como acontece com frequência, você não pode fazer isso apenas com o conhecimento. Infelizmente, para realizar uma análise de segurança, é necessário equipamento adicional, entre os quais:
- O SDR é um rádio programável que opera em uma ampla gama de frequências e permite que você trabalhe, talvez, com qualquer protocolo conhecido ou estude a operação de protocolos de rádio proprietários. Esta edição será considerada em mais detalhes nos seguintes artigos (se o assunto entrar no público).

- Arduino Uno c - substitui vários dispositivos ao mesmo tempo, por exemplo, como um adaptador USB-UART.

- Um conjunto de chaves de fenda com adaptadores - os fabricantes estão tentando proteger de alguma forma seus dispositivos, em relação aos quais liberam parafusos para os quais são necessárias chaves de fenda especiais.

- Cartões de memória de MicroSD para USB Flash
- Estação de solda
Você pode obter mais informações sobre o hardware assistindo
ao desempenho de Elvis Collado no DEF CON 25 com o tópico Reversão e exploração de dispositivos incorporados .
Agora que temos o equipamento necessário, consideraremos as principais etapas do teste.
O primeiro passo é procurar informações sobre o dispositivo sem interagir com ele. Na maioria dos casos, as informações estão em fontes publicamente disponíveis. Também frequentemente no dispositivo está o FCC ID (Federal Communications Commission), pelo qual é possível encontrar documentação e uma lista de frequências usadas.

Para praticar, tente procurar informações sobre algum dispositivo inteligente que você costuma usar.
Em seguida, você precisará elaborar um diagrama geral do que pode interagir com este dispositivo e através de quais canais de comunicação. Pode ser um aplicativo móvel que se comunica por uma rede sem fio local, um painel de controle com uma porta de infravermelho, uma nuvem externa acessível na Internet, sensores que funcionam por um canal de rádio (por exemplo, ZigBee) e assim por diante.
Depois disso, para cada um dos dispositivos e canais de comunicação, será necessário compilar uma lista de ameaças para as quais eles precisam ser verificados. Por exemplo, a comunicação na rede local pode ser verificada quanto à proteção contra ataques humanos no meio, e a interface de gerenciamento baseada na Web para a senha definida por padrão, etc.
Mas também não esqueça que teremos que considerar o próprio dispositivo como um item separado, em grande parte por causa da segurança do hardware, ou seja, ter a oportunidade de interagir diretamente com a placa até remover o firmware do microcontrolador e acessar o console.
Se você simplificar o esquema, na IoT, ele se resume a
três pontos :
- Segurança de hardware
- Segurança de software
- Rádio segurança
Sobre cada um desses tópicos, na medida do possível, é calculado para escrever uma série de artigos e considerar em detalhes o que você provavelmente encontrará se decidir escolher seus dispositivos domésticos.
Considere o exemplo de construção de um "mapa" do dispositivo.
No mercado de Moscou Savelovsky, uma câmera chinesa foi comprada:

Para começar, considere a caixa com mais detalhes:

Os fabricantes prometeram o seguinte:
- Capacidade de controlar a partir de um dispositivo iOS / Android
- Gerenciamento baseado na Web
- Salvando fluxo de vídeo no MicroSD
- Capacidade de controlar através de software de computador
Depois de estudar a documentação com mais detalhes, descobrimos que a câmera funciona exclusivamente na rede local, mas é mais provável que tenha a capacidade de atualizar o firmware na Internet.
Portanto, o esquema será:

As conexões em redes locais e externas devem ser verificadas quanto à possibilidade de um ataque man-in-the-middle. Para dispositivos móveis e estacionários, o protocolo de comunicação deve ser analisado e, em seguida, o esquema deve ser complementado. O site deve ser verificado quanto à criptografia forçada (https) e verificado quanto a vulnerabilidades comuns na web (OWASP top-10). A própria câmera, como mencionado anteriormente, consideraremos um item separado. Na maioria das vezes, a tarefa será extrair o firmware, após o qual poderemos complementar o circuito com dados atualizados e continuar testando com uma "caixa branca".
Separadamente, no final do artigo, acho que vale a pena escrever que nem sempre é recomendável testar dispositivos sem acordos com o fabricante. Mas também vale a pena mencionar que nos EUA tornou-se bastante legal após a adoção do Digital Millennium Copyright Act (DMCA).
No próximo artigo, consideraremos o processo de extração de firmware de dispositivos inteligentes.
Aconselho todos os interessados a ler:
- Manual para hackers da IoT, Aditya Gupta - o livro examina detalhadamente cada uma das etapas de teste de uma coisa inteligente; será útil para iniciantes ( tyk )
- Livro de receitas para testes de penetração da IoT, Aaron Guzman e Aditya Gupta - muitas informações se cruzam com o primeiro livro, mas há capítulos dedicados ao desenvolvimento seguro e aos longos testes do produto ( tyk )