Reflections on Trusting Trust
Neste artigo, Ken Thompson, um dos criadores do UNIX, relata que é possível modificar os compiladores de modo a comprometer a segurança daqueles que o utilizam, introduzindo código malicioso. Ele implantou um trojan horse (cavalo de tróia) no compilador C para o programa de login do Unix. Uma vez instalado em um computador, este compilador habilitaria um acesso ao sistema como qualquer usuário. Por ter sido compilado junto ao sistema operacional, este cavalo de tróia não é detectado no código fonte, sendo que só pode ser descoberto se for inspecionado o código binário. Neste caso foi empregada uma técnica de ataque chamada de dupla compilação diversa (DDC).
No caso da linguagem de programação C, o compilador C é escrito em C, e segundo o autor, problemas surgem quando compiladores são escritos na sua própria linguagem. Thompson demonstra que não se pode confiar em compiladores que não têm procedência, pois a maioria dos programas de código aberto possuem relativa segurança.
Assim recomenda-se verificar a procedência e a integridade de compiladores, principalmente de onde não se tenha acesso ao código fonte, sendo importante acreditar em toda a infra-estrutura de compilação, pois os mesmos podem ter códigos maleficamente implementados e podem ser ativados quando um determinado padrão for encontrado em um código-fonte.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário