GBittencourt Consulting

Segurança de Sistemas Embarcados e Internet da Coisas (parte I)

Sistema embarcados

Sistemas embarcados são sistemas eletrônicos e de software que realizam um conjunto de tarefas específicas, o que os difere dos computadores de propósito geral tais como smartphones, notebooks, desktops e servidores. No dia a dia, nos deparamos e muitas vez não percebemos com sistemas embarcados em todos os lugares e para inúmeros usos. Entre eles podemos citar celulares (os que não são smartphones), carros, televisões, decodificadores de TV a cabo, roteadores, switches, impressoras, rádios, telefones, entre outros.

Internet das Coisas

Internet das Coisas (em inglês Internet of Things ou IoT) é uma rede de sistemas embarcados onde cada sistema é capaz de interoperar com a infraestrutura da Internet. Esta interoperação cria oportunidades de integração do mundo físico com sistemas computacionais.

Desafios de segurança

Os desafios de segurança dos sistemas embarcados e da Internet das Coisas são similares aos dos computadores convencionais. Praticamente todas as técnicas de ataque a um computadores convencionais podem ser utilizadas para subverter sistemas embarcados, porem com um agravante, as limitações dos sistemas embarcados dificultam, ou até mesmo inviabilizam, a implementação de muitos controles de segurança.

As maiores dificuldade para implantar mecanismos de segurança em sistemas embarcados são as limitações de memória, de armazenamento e de processamento que estes dispositivos possuem. Alguns controles de segurança utilizados em computadores convencionais, tais como antivírus, IDS, e até mesmo alguns mecanismos de criptografia mais complexos, exigem mais recursos do que estão disponíveis em sistemas embarcados.

Outra limitação é a interface entre o sistema e seus os usuários, essa interface (quando existe) é normalmente muito limitada o que dificulta bastante a implementação de controles de segurança que exijam interações com o usuário. Um exemplo disso é o processo de atualização de segurança onde normalmente é necessária a interação com o usuário.