b'\n_START_ARTICLE_\nBackdoor\n_START_SECTION_\nVis\xc3\xa3o geral\n_START_PARAGRAPH_\nA amea\xc3\xa7a de backdoors contra multiusu\xc3\xa1rio e sistemas operacionais em rede tornou-se amplamente adotada. Petersen e Turn discutiram em um artigo publicado no processo da Confer\xc3\xaancia de 1967 AFIPS. [3] Eles observaram uma classe de ataques de infiltra\xc3\xa7\xc3\xa3o ativos que utilizam o chamado "al\xc3\xa7ap\xc3\xa3o" como pontos de entrada no sistema para ignorar as instala\xc3\xa7\xc3\xb5es de seguran\xc3\xa7a e permitir o acesso direto aos dados. O uso da palavra al\xc3\xa7ap\xc3\xa3o aqui claramente coincide com as defini\xc3\xa7\xc3\xb5es mais recentes de uma porta. De modo geral, essas falhas de seguran\xc3\xa7a foram discutidas em profundidade em uma Corpora\xc3\xa7\xc3\xa3o RAND com relat\xc3\xb3rio da for\xc3\xa7a tarefa publicado sob ARPA patroc\xc3\xadnado por JP Anderson e DJ Edwards em 1970. [4] Um backdoor em um sistema de login pode assumir a forma de um c\xc3\xb3digo com dif\xc3\xadcil combina\xc3\xa7\xc3\xa3o de usu\xc3\xa1rio e senha que d\xc3\xa1 acesso ao sistema._NEWLINE_Embora o n\xc3\xbamero de backdoors nos sistemas que utilizam software propriet\xc3\xa1rio (software cujo c\xc3\xb3digo fonte n\xc3\xa3o est\xc3\xa1 dispon\xc3\xadvel ao p\xc3\xbablico) n\xc3\xa3o \xc3\xa9 amplamente creditado, eles s\xc3\xa3o, no entanto, frequentemente expostos. Os programadores t\xc3\xaam mesmo conseguido discretamente instalar grandes quantidades de c\xc3\xb3digo benignos como easter eggs em programas, embora tais casos pudesse envolver a toler\xc3\xa2ncia oficial, se n\xc3\xa3o a permiss\xc3\xa3o real.\n_START_SECTION_\nWorms\n_START_PARAGRAPH_\nMuitos worms de computador, tais como Sobig e Mydoom, instalam um backdoor no computador afetado (em geral, um computador com banda larga e com execu\xc3\xa7\xc3\xa3o do sistema operacional Microsoft Windows, al\xc3\xa9m do uso do Microsoft Outlook). Tais backdoors parecem estar instalados para que os spammers possam enviar e-mails das m\xc3\xa1quinas infectadas._NEWLINE_A sofisticada tentativa de plantar uma backdoor no kernel do Linux, exposta em novembro de 2003, acrescentou uma pequena e sutil altera\xc3\xa7\xc3\xa3o de c\xc3\xb3digo de subverter o sistema de controle de revis\xc3\xa3o.  Neste caso, a mudan\xc3\xa7a de duas linhas apareceu para verificar o acesso root, permiss\xc3\xb5es de uma chamada para a fun\xc3\xa7\xc3\xa3o sys_wait4, mas porque usou atribui\xc3\xa7\xc3\xa3o em vez de igualdade verificando , ele realmente tinha permiss\xc3\xb5es concedidas ao sistema. Esta diferen\xc3\xa7a \xc3\xa9 facilmente esquecida, e at\xc3\xa9 poderia ser interpretado como um erro de digita\xc3\xa7\xc3\xa3o acidental, ao inv\xc3\xa9s de um ataque intencional._NEWLINE_Em janeiro de 2014, um backdoor foi descoberto em determinados dispositivos m\xc3\xb3veis como o Galaxy, ao qual mant\xc3\xa9m o sistema operacional Samsung Android, permitindo o acesso remoto aos dados armazenados no dispositivo. Em particular, o software Samsung Android que est\xc3\xa1 encarregado de lidar com as comunica\xc3\xa7\xc3\xb5es 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\xc3\xa7\xc3\xb5es no disco r\xc3\xadgido ou outro dispositivo de armazenamento. Como o modem est\xc3\xa1 sobre responsabilidade da Samsung, assim como o software Android, \xc3\xa9 prov\xc3\xa1vel que ele ofere\xc3\xa7a over-the-air, controle remoto que pode ser usado para emitir os comandos RFS e, portanto, para acessar o sistema de arquivos no dispositivo.\n_START_SECTION_\nUtiliza\xc3\xa7\xc3\xa3o de backdoors por cavalos de Troia\n_START_PARAGRAPH_\nOs cavalos de Troia batizados como backdoors (por usar portas para entrar em computadores alheios) s\xc3\xa3o muito comuns na Internet. Normalmente eles utilizam as portas 666, 888, 3333, entre outras, para que seu usu\xc3\xa1rio tenha acesso ao computador da v\xc3\xadtima._NEWLINE_O atacante procura garantir uma forma de retornar a um computador comprometido, sem precisar recorrer aos m\xc3\xa9todos utilizados na invas\xc3\xa3o, assim o atacante pode retornar ao computador comprometido sem ser notado._NEWLINE_Os cavalos de Troia do tipo backdoor ainda s\xc3\xa3o divididos por suas fun\xc3\xa7\xc3\xb5es. Por exemplo, um backdoor com fun\xc3\xa7\xc3\xa3o de espi\xc3\xa3o faz uma troca de informa\xc3\xa7\xc3\xb5es atrav\xc3\xa9s da porta que ele abre para seu usu\xc3\xa1rio poder visualizar arquivos da v\xc3\xadtima, ver imagens pela webcam (ativando-a sem o conhecimento da v\xc3\xadtima), ligar o microfone, abrir e fechar o drive de CD/DVD-ROM, blu-ray, podendo corromper o Windows de forma irrecuper\xc3\xa1vel, etc._NEWLINE_S\xc3\xa3o conhecidos como RAT, da sigla inglesa Remote Administrator Tool, que por sua vez em portugu\xc3\xaas significa ferramenta de administra\xc3\xa7\xc3\xa3o remota.\n_START_SECTION_\nBackdoors - c\xc3\xb3digo de objetos\n_START_PARAGRAPH_\nMais dif\xc3\xadceis de detectar s\xc3\xa3o os backdoors que envolvem a modifica\xc3\xa7\xc3\xa3o de c\xc3\xb3digo-objeto, ao inv\xc3\xa9s de c\xc3\xb3digo-fonte \xe2\x80\x94 c\xc3\xb3digo objeto \xc3\xa9 muito mais dif\xc3\xadcil de fiscalizar. Estes backdoors podem ser inseridos diretamente no c\xc3\xb3digo objeto do disco r\xc3\xadgido, ou inserido em algum momento durante a compila\xc3\xa7\xc3\xa3o, ligando a montagem, ou de carga \xe2\x80\x94 neste \xc3\xbaltimo caso, a porta dos fundos nunca aparece no disco, apenas na mem\xc3\xb3ria. Backdoors c\xc3\xb3digo objeto s\xc3\xa3o dif\xc3\xadceis de detectar por inspe\xc3\xa7\xc3\xa3o do c\xc3\xb3digo objeto, mas s\xc3\xa3o facilmente detectados pela simples verifica\xc3\xa7\xc3\xa3o de altera\xc3\xa7\xc3\xb5es (diferen\xc3\xa7as), nomeadamente no comprimento ou na soma de verifica\xc3\xa7\xc3\xa3o, e em alguns casos podem ser detectados ou analisados por desmontar o c\xc3\xb3digo objeto. Al\xc3\xa9m disso, objetos backdoors referentes ao c\xc3\xb3digo podem ser removidos, basta recompilar a partir da fonte._NEWLINE_Para evitar a detec\xc3\xa7\xc3\xa3o, todas as c\xc3\xb3pias existentes de um bin\xc3\xa1rio devem ser subvertidas, e quaisquer somas de verifica\xc3\xa7\xc3\xa3o de valida\xc3\xa7\xc3\xa3o tamb\xc3\xa9m devem ser comprometidas e a fonte deve estar dispon\xc3\xadvel, para evitar a recompila\xc3\xa7\xc3\xa3o. Alternativamente, essas outras ferramentas (cheques comprimento, diff, checksum, disassemblers) pode-se estar comprometido para esconder o backdoor, por exemplo, detectar que o bin\xc3\xa1rio est\xc3\xa1 sendo subvertido ao checksummed e retornando o valor esperado, e n\xc3\xa3o o valor real. Para esconder essas novas subvers\xc3\xb5es, as ferramentas tamb\xc3\xa9m devem esconder as mudan\xc3\xa7as em si - por exemplo, um checksummer subvertido tamb\xc3\xa9m deve detectar se ele \xc3\xa9 em si checksum (ou outras ferramentas subverteram) e retornam valores falsos. Isto leva a grandes mudan\xc3\xa7as no sistema e ferramentas sendo necess\xc3\xa1rio para esconder uma \xc3\xbanica mudan\xc3\xa7a._NEWLINE_O c\xc3\xb3digo objeto pode ser regenerado, recompilando do c\xc3\xb3digo-fonte original, fazendo uma persist\xc3\xaancia ao c\xc3\xb3digo objeto backdoor (sem modificar o c\xc3\xb3digo-fonte), ao qual \xc3\xa9 necess\xc3\xa1rio subverter o compilador em si - para que, quando ele detecte quando est\xc3\xa1 sendo realizado o compilador do programa sobre ataque, inserindo o backdoor - ou, alternativamente, o assembler, linker, ou carregador._NEWLINE_Como isso exige subverter o compilador, este por sua vez, pode ser corrigido por recompilar o compilador, removendo o c\xc3\xb3digo de inser\xc3\xa7\xc3\xa3o backdoor. Essa defesa pode por sua vez ser subvertida, colocando uma fonte de meta-backdoor no compilador, para que, quando ele detecta que est\xc3\xa1 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\xc3\xa1vel do compilador comprometido.\n_START_SECTION_\nBackdoors assim\xc3\xa9tricas\n_START_PARAGRAPH_\nUm backdoor assim\xc3\xa9trica s\xc3\xb3 pode ser usado pelo atacante que plant\xc3\xa1-lo, mesmo que a plena implementa\xc3\xa7\xc3\xa3o do backdoor se torna p\xc3\xbablico (por exemplo, por meio de publica\xc3\xa7\xc3\xa3o, sendo descoberta e divulgada pela engenharia reversa, etc.). Al\xc3\xa9m disso, \xc3\xa9 computacionalmente intrat\xc3\xa1vel para detectar a presen\xc3\xa7a de um backdoor assim\xc3\xa9trico sob consultas de caixa preta. Esta classe de ataques foi denominada como kleptography; eles podem ser realizados em software, hardware (por exemplo, cart\xc3\xb5es inteligentes), ou uma combina\xc3\xa7\xc3\xa3o dos dois. A teoria de backdoors assim\xc3\xa9tricas \xc3\xa9 parte de um campo maior agora chamado cryptovirology.\n_START_SECTION_\nLista de backdoors conhecidos em normas\n_START_PARAGRAPH_\nO hash MD5 mostrou ter v\xc3\xa1rias defici\xc3\xaancias em 1996 por Hans Dobbertin. Estas debilidades permitem ao invasor substituir o seu pr\xc3\xb3prio artigo por um original assinado-MD5. O c\xc3\xb3digo malicioso \xc3\xa9 assim introduzido em um sistema. Turner e Chen em RFC6149 escreveu que "MD2 n\xc3\xa3o deve ser utilizado para assinaturas digitais", pois poderia ser falsificada. Escreveu tamb\xc3\xa9m RFC 6150 que MD4, "n\xc3\xa3o devem ser usadas para criptografar a chave de criptografia de 80 bits ou mais." e ataques MD4 s\xc3\xa3o pratic\xc3\xa1veis. SHA-0 (aka FIPS-180) foi retirado ap\xc3\xb3s CRYPTO \'98. SHA-1 (aka FIPS 180-1-) mostrou ser atac\xc3\xa1vel em 2005 por Eli Biham e co-autores, bem como Vincent Rijmen e Elisabeth Oswald._NEWLINE_O Dual_EC_DRBG gerador de n\xc3\xbameros pseudo-aleat\xc3\xb3rios criptograficamente seguro foi revelado em 2013 para, eventualmente, ter um (assim\xc3\xa9trico) backdoor kleptographic inserido deliberadamente pelo NSA, que tamb\xc3\xa9m tinha a chave privada para o backdoor.\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n_START_SECTION_\nBackdoors em compiladores\n_START_PARAGRAPH_\nUma forma sofisticada de caixa preta \xc3\xa9 um backdoor em um compilador, onde n\xc3\xa3o \xc3\xa9 s\xc3\xb3 um compilador subvertido (para inserir um backdoor em algum outro programa, como um programa de login), \xc3\xa9 modificado para detectar quando for compilar a si mesmo e, em seguida, inserir tanto o c\xc3\xb3digo de inser\xc3\xa7\xc3\xa3o backdoor (visando o outro programa) e modificar o c\xc3\xb3digo de auto-compila\xc3\xa7\xc3\xa3o. Isto pode ser feito atrav\xc3\xa9s da modifica\xc3\xa7\xc3\xa3o do c\xc3\xb3digo-fonte, e o compilador comprometido (c\xc3\xb3digo objeto) resultante pode compilar o c\xc3\xb3digo original._NEWLINE_Este ataque foi originalmente apresentado em Karger & Schell (1974, p 52, se\xc3\xa7\xc3\xa3o 3.4.5:. "Trap Door Inser\xc3\xa7\xc3\xa3o"), que foi uma an\xc3\xa1lise do Multics, onde eles descreveram como um ataque a um PL de seguran\xc3\xa7a United States Air Force / compiler, e cham\xc3\xa1-lo de "al\xc3\xa7ap\xc3\xa3o compilador"; eles tamb\xc3\xa9m mencionam uma variante em que o c\xc3\xb3digo de inicializa\xc3\xa7\xc3\xa3o do sistema \xc3\xa9 modificada para inserir um backdoor durante a inicializa\xc3\xa7\xc3\xa3o, como este \xc3\xa9 complexo e mal compreendido, e cham\xc3\xa1-lo de um "al\xc3\xa7ap\xc3\xa3o de inicializa\xc3\xa7\xc3\xa3o", este que \xc3\xa9 agora conhecido como um v\xc3\xadrus do setor de inicializa\xc3\xa7\xc3\xa3o._NEWLINE_Este ataque foi ent\xc3\xa3o efetivamente implementado e popularizado por Ken Thompson em Thompson (1984), em seu discurso de aceita\xc3\xa7\xc3\xa3o do Pr\xc3\xaamio Turing em 1983 (publicado em 1984), "Reflex\xc3\xb5es sobre a Confian\xc3\xa7a Trust", onde aponta que a confian\xc3\xa7a \xc3\xa9 relativa, o \xc3\xbanico software que se pode realmente confiar \xc3\xa9 um c\xc3\xb3digo onde cada passo do bootstrapping seja inspecionado. Este mecanismo backdoor \xc3\xa9 baseado no fato de as pessoas s\xc3\xb3 o reverem c\xc3\xb3digo fonte (human-written), e c\xc3\xb3digo de m\xc3\xa1quina n\xc3\xa3o compilado (c\xc3\xb3digo objeto). O programa chamado compilador \xc3\xa9 utilizado para criar o segundo a partir do primeiro, e o compilador \xc3\xa9 geralmente confi\xc3\xa1vel para fazer um trabalho honesto._NEWLINE_O trabalho de Thompson descreve uma vers\xc3\xa3o modificada do compilador C Unix que faria: colocar um backdoor invis\xc3\xadvel no comando de login do Unix quando se notou que o programa de login est\xc3\xa1 sendo compilado, e como uma tor\xc3\xa7\xc3\xa3o.\xc2\xa0 Tamb\xc3\xa9m pode adicionar esse recurso indetect\xc3\xa1vel para vers\xc3\xb5es futuras do compilador em cima de sua compila\xc3\xa7\xc3\xa3o tamb\xc3\xa9m. Por o pr\xc3\xb3prio compilador ser um programa compilado, seria extremamente improv\xc3\xa1vel que os usu\xc3\xa1rios notassem as instru\xc3\xa7\xc3\xb5es de c\xc3\xb3digo de m\xc3\xa1quina que realizaram essas tarefas. O pior, na prova da execu\xc3\xa7\xc3\xa3o, conceito de Thompson, o compilador subvertido tamb\xc3\xa9m subverteu o programa de an\xc3\xa1lise (o desmontador), de modo que qualquer um que examinou os bin\xc3\xa1rios na forma habitual, n\xc3\xa3o seria realmente ver o c\xc3\xb3digo real que estava correndo, mas sim outra coisa em seu lugar._NEWLINE_Uma an\xc3\xa1lise atualizada do exploit original foi dado em Karger & Schell (2002, item 3.2.4: Portas Compiler armadilha), e um panorama hist\xc3\xb3rico e pesquisa da literatura foi dado em Wheeler (2009, Se\xc3\xa7\xc3\xa3o 2: Fundo e trabalhos relacionados).\n_START_SECTION_\nOcorr\xc3\xaancias\n_START_PARAGRAPH_\nA vers\xc3\xa3o de Thompson oficialmente, nunca foi apresentada. Acredita-se, por\xc3\xa9m, que a vers\xc3\xa3o foi distribu\xc3\xadda a BBN e pelo menos um uso do backdoor foi gravado. N\xc3\xa3o houve relatos de tais backdoors nos anos subsequentes._NEWLINE_Este ataque foi recentemente (em agosto de 2009) descoberto por laborat\xc3\xb3rios Sophos: A / Induc-A do v\xc3\xadrus W32 infectando o compilador do programa para Delphi, uma linguagem de programa\xc3\xa7\xc3\xa3o do Windows. O v\xc3\xadrus introduziu o seu pr\xc3\xb3prio c\xc3\xb3digo para a elabora\xc3\xa7\xc3\xa3o de novos programas Delphi, permitindo-lhe infectar e propagar para muitos sistemas, sem o conhecimento do programador de software. Um ataque que se propaga atrav\xc3\xa9s da constru\xc3\xa7\xc3\xa3o de seu pr\xc3\xb3prio cavalo de Tr\xc3\xb3ia pode ser especialmente dif\xc3\xadcil de descobrir. Acredita-se que a-Induc (um v\xc3\xadrus) tinha sido propagado durante pelo menos um ano antes de ser descoberto.\n_START_SECTION_\nContramedidas\n_START_PARAGRAPH_\nUma vez que um sistema foi comprometido com um backdoor ou cavalo de Troia, como o compilador Confiando Trust, \xc3\xa9 muito dif\xc3\xadcil para o usu\xc3\xa1rio "leg\xc3\xadtimo" recuperar o controle do sistema - tipicamente deve-se reconstruir um sistema limpo e transferir dados. No entanto, foram sugeridas v\xc3\xa1rias defici\xc3\xaancias pr\xc3\xa1ticas no esquema Confiando Trust. Por exemplo, um usu\xc3\xa1rio suficientemente motivado poderia meticulosamente rever o c\xc3\xb3digo de m\xc3\xa1quina do compilador n\xc3\xa3o confi\xc3\xa1vel antes de us\xc3\xa1-lo. Como mencionado acima, existem v\xc3\xa1rias maneiras de esconder o cavalo de Tr\xc3\xb3ia, como subverter o desmontador, mas existem maneiras de combater essa defesa, tamb\xc3\xa9m, como escrever o seu pr\xc3\xb3prio desmontador a partir do zero._NEWLINE_Um m\xc3\xa9todo gen\xc3\xa9rico para combater os ataques de confian\xc3\xa7a \xc3\xa9 chamado Diverse Double-compila\xc3\xa7\xc3\xa3o (DDC). O m\xc3\xa9todo requer um compilador diferente e o c\xc3\xb3digo-fonte do-under-test compilador. Essa fonte, compilada com ambos os compiladores, resulta em duas fases, compiladores diferentes, que, no entanto devem ter o mesmo comportamento. Assim, a mesma fonte compilada com ambos (est\xc3\xa1gio 1) compiladores devem resultar em seguida, dois id\xc3\xaanticos (estagio 2) compiladores. Uma prova formal s\xc3\xb3 \xc3\xa9\xc2\xa0dada quando esta \xc3\xbaltima compara\xc3\xa7\xc3\xa3o garanta que o c\xc3\xb3digo fonte suposto \xc3\xa9 execut\xc3\xa1vel do-under-test compilador correspondam, em algumas hip\xc3\xb3teses. Este m\xc3\xa9todo foi aplicado pelo seu autor para verificar se o compilador C da su\xc3\xadte GCC (v. 3.0.4) n\xc3\xa3o continha \xe2\x80\x9ctrojan\xe2\x80\x9d usando ICC (v. 11.0), como o compilador diferente._NEWLINE_Na pr\xc3\xa1tica, essas verifica\xc3\xa7\xc3\xb5es n\xc3\xa3o s\xc3\xa3o feitas por usu\xc3\xa1rios finais, exceto em circunst\xc3\xa2ncias extremas de detec\xc3\xa7\xc3\xa3o e an\xc3\xa1lise de intrus\xc3\xa3o, devido \xc3\xa0 raridade de tais ataques sofisticados, pois os programas s\xc3\xa3o normalmente distribu\xc3\xaddos em formato bin\xc3\xa1rio._NEWLINE_A remo\xc3\xa7\xc3\xa3o de backdoors (inclindo compiladores) normalmente \xc3\xa9 feita para reconstruir um sistema limpo._NEWLINE_No entanto, essas verifica\xc3\xa7\xc3\xb5es sofisticadas s\xc3\xa3o de interesse de fornecedores de sistemas operacionais, para garantir que eles n\xc3\xa3o estejam distribuindo um sistema comprometido, e em ambientes de alta seguran\xc3\xa7a, onde tais ataques s\xc3\xa3o uma preocupa\xc3\xa7\xc3\xa3o realista.\n_START_SECTION_\nProte\xc3\xa7\xc3\xa3o\n_START_PARAGRAPH_\nA prote\xc3\xa7\xc3\xa3o mais comum  contra backdoors em computadores pessoais \xc3\xa9 o uso de firewall e de IDS. De modo geral, backdoors que atuam atrav\xc3\xa9s da internet podem ser facilmente detectados pelo sistema IDS ou impedidos de atuar pelo firewall.'