Backdoor (em português, "porta dos fundos") é um método, geralmente secreto, de escapar de uma autenticação ou criptografia normais em um sistema computacional, produto ou dispositivo embarcado (por exemplo, um roteador doméstico), ou sua incorporação, por exemplo, como parte de um sistema criptográfico, um algoritmo, um chipset ou um "computador homúnculo" - um pequeno computador dentro de um maior (como o encontrado na tecnologia AMT da Intel). Os backdoors costumam ser usados para proteger o acesso remoto a um computador ou obter acesso a texto simples em sistemas criptográficos.
Um backdoor pode assumir a forma de uma parte oculta de um programa, um programa separado (por exemplo, o Back Orifice pode subverter o sistema através de um rootkit), um código no firmware do hardware ou partes de um sistema operacional, como o Microsoft Windows. Cavalos de Troia podem ser usados para criar vulnerabilidades em um dispositivo. Um destes pode parecer um programa inteiramente legítimo, mas quando executado, ele executa uma atividade que pode instalar um backdoor. Embora alguns sejam secretamente instalados, outros backdoors são deliberadamente e amplamente conhecidos. Esses tipos têm usos "legítimos", como fornecer ao fabricante uma maneira de restaurar as senhas dos usuários. O backdoor pode ser usado para obter acesso a senhas, excluir dados em discos rígidos ou transferir informações dentro da nuvem.
Muitos sistemas que armazenam informações dentro da nuvem não conseguem criar medidas de segurança precisas. Se muitos sistemas estiverem conectados na nuvem, os hackers podem obter acesso a todas as outras plataformas através do sistema mais vulnerável.
Senhas padrões (ou outras credenciais padrões) podem funcionar como backdoors se não forem alteradas pelo usuário. Alguns recursos de depuração também podem atuar dessa forma se não forem removidos na versão de lançamento.
Em 1993, o governo dos Estados Unidos tentou implantar um sistema de criptografia, o chip Clipper, com um backdoor explícito para a aplicação da lei e acesso à segurança nacional. Mas o chip não teve sucesso.
Visão geral A ameaça de backdoors contra multiusuário e sistemas operacionais em rede tornou-se amplamente adotada. Petersen e Turn discutiram em um artigo publicado no processo da Conferência de 1967 AFIPS. Eles observaram uma classe de ataques de infiltração ativos que utilizam o chamado "alçapão" como pontos de entrada no sistema para ignorar as instalações de segurança e permitir o acesso direto aos dados. O uso da palavra "alçapão" aqui claramente coincide com as definições mais recentes de uma porta. De modo geral, essas falhas de segurança foram discutidas em profundidade em uma Corporação RAND com relatório da força tarefa publicado sob ARPA, patrocinado por JP Anderson e DJ Edwards, em 1970. Um backdoor em um sistema de login pode assumir a forma de um código com difícil combinação de usuário e senha que dá acesso ao sistema.
Embora o número de backdoors nos sistemas que utilizam software proprietário (software cujo código fonte não está disponível ao público) não é amplamente creditado, eles são, no entanto, frequentemente expostos. Os programadores têm mesmo conseguido discretamente instalar grandes quantidades de código benignos como easter eggs em programas, embora tais casos pudesse envolver a tolerância oficial, se não a permissão real.
Exemplos Worms Muitos worms de computador, tais como Sobig e Mydoom, instalam um backdoor no computador afetado (em geral, um computador com banda larga e com execução do sistema operacional Microsoft Windows, além do uso do Microsoft Outlook). Tais backdoors parecem estar instalados para que os spammers possam enviar e-mails das máquinas infectadas.
A sofisticada tentativa de plantar uma backdoor no kernel do Linux, exposta em novembro de 2003, acrescentou uma pequena e sutil alteração de código de subverter o sistema de controle de revisão. Neste caso, a mudança de duas linhas apareceu para verificar o acesso root, permissões de uma chamada para a função sys_wait4, mas porque usou atribuição em vez de igualdade verificando, ele realmente tinha permissões concedidas ao sistema. Esta diferença é facilmente esquecida, e até poderia ser interpretado como um erro de digitação acidental, ao invés de um ataque intencional.
Em janeiro de 2014, um backdoor foi descoberto em determinados dispositivos móveis, como o Galaxy, ao qual mantém o sistema operacional Samsung Android, permitindo o acesso remoto aos dados armazenados no dispositivo. Em particular, o software Samsung Android que está encarregado de lidar com as comunicações com o modem, utilizando o protocolo Samsung IPC, implementa uma classe de pedidos conhecidos como servidores de arquivos remotos (RFS) comandos, que permite ao operador backdoor para executar via modem remoto I / O, operações no disco rígido ou outro dispositivo de armazenamento. Como o modem está sobre responsabilidade da Samsung, assim como o software Android, é provável que ele ofereça over-the-air, controle remoto que pode ser usado para emitir os comandos RFS e, portanto, para acessar o sistema de arquivos no dispositivo.
Utilização de backdoors por cavalos de Troia Os cavalos de Troia batizados como backdoors (por usar portas para entrar em computadores alheios) são muito comuns na Internet. Normalmente eles utilizam as portas 666, 888, 3333, entre outras, para que seu usuário tenha acesso ao computador da vítima. O atacante procura garantir uma forma de retornar a um computador comprometido, sem precisar recorrer aos métodos utilizados na invasão, assim o atacante pode retornar ao computador comprometido sem ser notado.
Os cavalos de Troia do tipo backdoor ainda são divididos por suas funções. Por exemplo, um backdoor com função de espião faz uma troca de informações através da porta que ele abre para seu usuário poder visualizar arquivos da vítima, ver imagens pela webcam (ativando-a sem o conhecimento da vítima), ligar o microfone, abrir e fechar o drive de CD/DVD-ROM, blu-ray, podendo corromper o Windows de forma irrecuperável, etc.
São conhecidos como RAT, da sigla inglesa Remote Administrator Tool, que por sua vez, em português, significa "ferramenta de administração remota".
Backdoors - código de objetos Mais difíceis de detectar são os backdoors que envolvem a modificação de código-objeto, ao invés de código-fonte — código objeto é muito mais difícil de fiscalizar. Estes podem ser inseridos diretamente no código objeto do disco rígido, ou inserido em algum momento durante a compilação, ligando a montagem, ou de carga — neste último caso, a porta dos fundos nunca aparece no disco, apenas na memória. Backdoors código-objeto são difíceis de detectar por inspeção do código objeto, mas são facilmente detectados pela simples verificação de alterações (diferenças), nomeadamente no comprimento ou na soma de verificação, e em alguns casos podem ser detectados ou analisados por desmontar o código objeto. Além disso, objetos backdoors referentes ao código podem ser removidos, basta recompilar a partir da fonte.
Para evitar a detecção, todas as cópias existentes de um binário devem ser subvertidas, e quaisquer somas de verificação de validação também devem ser comprometidas e a fonte deve estar disponível, para evitar a recompilação. Alternativamente, essas outras ferramentas (cheques comprimento, diff, checksum, disassemblers) pode-se estar comprometido para esconder o backdoor, por exemplo, detectar que o binário está sendo subvertido ao checksummed e retornando o valor esperado, e não o valor real. Para esconder essas novas subversões, as ferramentas também devem esconder as mudanças em si - por exemplo, um checksummer subvertido também deve detectar se ele é em si checksum (ou outras ferramentas subverteram) e retornam valores falsos. Isto leva a grandes mudanças no sistema e ferramentas sendo necessário para esconder uma única mudança.
O código objeto pode ser regenerado, recompilando do código-fonte original, fazendo uma persistência ao código objeto backdoor (sem modificar o código-fonte), ao qual é necessário subverter o compilador em si - para que, quando ele detecte quando está sendo realizado o compilador do programa sobre ataque, inserindo o backdoor - ou, alternativamente, o assembler, linker ou carregador.
Como isso exige subverter o compilador, este por sua vez, pode ser corrigido por recompilar o compilador, removendo o código de inserção backdoor. Essa defesa pode por sua vez ser subvertida, colocando uma fonte de meta-backdoor no compilador, para que, quando ele detecta que está compilando somente a si, inserindo em seguida, insere este um gerador de meta-backdoor, em conjunto com o gerador de backdoor original para o programa original sobre ataque. Depois que isso for feito, a fonte de meta-backdoor pode ser removido, e o compilador recompilado da fonte original com o executável do compilador comprometido.
Backdoors assimétricos Um backdoor assimétrico só pode ser usado pelo atacante que plantá-lo, mesmo que a plena implementação do backdoor se torne pública (por exemplo, por meio de publicação, sendo descoberta e divulgada pela engenharia reversa, etc.). Além disso, é computacionalmente intratável para detectar a presença de um backdoor assimétrico sob consultas de "caixa preta". Esta classe de ataques foi denominada como kleptography; eles podem ser realizados em software, hardware (por exemplo, cartões inteligentes), ou uma combinação dos dois. A teoria de backdoors assimétricas é parte de um campo maior agora chamado cryptovirology.
Lista de backdoors conhecidos em normas O hash MD5 mostrou ter várias deficiências, em 1996, por Hans Dobbertin. Estas debilidades permitem ao invasor substituir o seu próprio artigo por um original assinado-MD5. O código malicioso é assim introduzido em um sistema. Turner e Chen, em RFC 6149, escreveram que "MD2 não deve ser utilizado para assinaturas digitais", pois poderia ser falsificada. Escreveu também a RFC 6150, que MD4 "não devem ser usadas para criptografar a chave de criptografia de 80 bits ou mais."; e ataques MD4 são praticáveis. SHA-0 (aka FIPS-180) foi retirado após CRYPTO '98. SHA-1 (aka FIPS 180-1-) mostrou ser atacável em 2005, por Eli Biham e co-autores, bem como Vincent Rijmen e Elisabeth Oswald.
O Dual_EC_DRBG gerador de números pseudo-aleatórios criptograficamente seguro foi revelado em 2013 para, eventualmente, ter um (assimétrico) backdoor kleptographic inserido deliberadamente pelo NSA, que também tinha a chave privada para o backdoor.
Backdoors em compiladores Uma forma sofisticada de caixa preta é um backdoor em um compilador, onde não é só um compilador subvertido (para inserir um backdoor em algum outro programa, como um programa de login), é modificado para detectar quando for compilar a si mesmo e, em seguida, inserir tanto o código de inserção backdoor (visando o outro programa) e modificar o código de auto-compilação. Isto pode ser feito através da modificação do código-fonte, e o compilador comprometido (código objeto) resultante pode compilar o código original.
Este ataque foi originalmente apresentado em Karger & Schell (1974, p 52, seção 3.4.5:. "Trap Door Insertion"), que foi uma análise do Multics, onde eles descreveram como um ataque a um PL de segurança United States Air Force / compiler, e chamá-lo de "alçapão compilador"; eles também mencionam uma variante em que o código de inicialização do sistema é modificada para inserir um backdoor durante a inicialização, como este é complexo e mal compreendido, e chamá-lo de um "alçapão de inicialização", este que é agora conhecido como um vírus do setor de inicialização.