Como evitar ataques de dia zero

21

Tradicionalmente, todos os programas antivírus e sistemas IPS funcionam com técnicas baseadas em assinatura. No entanto, isso não ajuda muito a evitar ataques de dia zero .

Portanto, o que pode ser feito para evitar ataques de dia zero?

    
por ashmish2 22.05.2012 / 12:11

8 respostas

37

Eu acho que você reconhece uma verdade interessante de sys-admin, que é que

unless you can reduce the probability of being hacked to zero then eventually, at some point, you are going to get hacked.

Esta é apenas uma verdade básica de matemática e probabilidade, que para qualquer probabilidade diferente de zero de um evento. O evento eventualmente acontece ...

Assim, as 2 regras de ouro para reduzir o impacto deste evento "eventualmente invadido" são estas:

  1. O princípio do menor privilégio

    Você deve configurar os serviços para serem executados como um usuário com o mínimo possível de direitos necessários para concluir as tarefas do serviço. Isso pode conter um hacker mesmo depois de invadir uma máquina.

    Como exemplo, é muito provável que um hacker invadindo um sistema usando uma exploração de dia zero do serviço de servidor web Apache esteja limitado apenas à memória do sistema e aos recursos de arquivo que podem ser acessados por esse processo. O hacker seria capaz de baixar seus arquivos fonte html e php, e provavelmente procurar em seu banco de dados mysql, mas eles não deveriam ser capazes de obter root ou estender sua intrusão além dos arquivos acessíveis por apache.

    Muitas instalações padrão do servidor web Apache criam o usuário e grupo 'apache' por padrão e você pode facilmente configurar o arquivo de configuração principal do Apache (httpd.conf) para executar o apache usando esses grupos.

  2. O princípio da separação de privilégios

    Se o seu site precisar somente de acesso somente leitura ao banco de dados, crie uma conta que tenha permissões apenas para leitura e apenas para esse banco de dados.

    O SElinux é uma boa opção para criar contexto para segurança, app-armor é outra ferramenta. Bastille foi uma escolha prévia para o endurecimento.

    Reduza a consequência de qualquer ataque, separando o poder do serviço que foi comprometido em sua própria "Caixa".

As regras de prata também são boas.

Use as ferramentas disponíveis. (É altamente improvável que você possa se sair tão bem quanto os caras que são especialistas em segurança, então use seus talentos para se proteger.)

    A criptografia de chave pública
  1. oferece excelente segurança. use-o. em todos os lugares.
  2. os usuários são idiotas, impõem a complexidade da senha
  3. entenda por que você está fazendo exceções às regras acima. revise suas exceções regularmente.
  4. responsabilize alguém pelo fracasso. mantém você em seus dedos.
por 22.05.2012 / 12:27
16

Whitelist, não inclua na lista negra

Você está descrevendo uma abordagem de lista negra. Uma abordagem de lista de permissões seria muito mais segura.

Um clube exclusivo nunca tentará listar todos que não puderem entrar; eles listarão todos que podem entrarem e excluírem os que não estiverem na lista.

Da mesma forma, tentar listar tudo que não deve acessar uma máquina está condenado. Restringir o acesso a uma pequena lista de programas / endereços IP / usuários seria mais eficaz.

É claro que, como qualquer outra coisa, isso envolve alguns trade-offs. Especificamente, uma lista de permissões é extremamente inconveniente e requer manutenção constante.

Para ir ainda mais longe na troca, você pode obter uma grande segurança ao desconectar a máquina da rede.

    
por 22.05.2012 / 18:24
11

A detecção é mais fácil (e mais confiável) que a prevenção

Por definição, você não pode evitar um ataque de dia zero. Como outros apontaram, você pode fazer muito para reduzir o impacto de um ataque de dia zero e deveria, mas isso não é o fim da história.

Gostaria de destacar que, além disso, você deve dedicar recursos para detectar quando um ataque ocorreu, o que o invasor fez e como o invasor fez isso. O registro abrangente e seguro de todas as atividades que um hacker pode realizar tornará mais fácil detectar um ataque e, mais importante, determinar o dano causado e a correção necessária para se recuperar do ataque.

Em muitos contextos de serviços financeiros, o custo de segurança em termos de atrasos e despesas gerais na execução de transações é tão alto que faz mais sentido concentrar os recursos na detecção e reversão de transações fraudulentas do que tomar medidas extensivas projetadas para evitá-las. o primeiro lugar. A teoria é que nenhuma quantidade de medidas será 100% efetiva, então os mecanismos de detecção e reversão precisam ser construídos de qualquer forma. Além disso, esta abordagem resistiu ao teste do tempo.

    
por 22.05.2012 / 21:07
4

Zero dia não significa que a assinatura não seja conhecida. Isso significa que não há nenhum patch disponível para usuários de software, que fecha a vulnerabilidade. Portanto, o IPS é útil para proteger contra a exploração de vulnerabilidades de dia zero. Mas você não deve confiar apenas nisso. Crie e siga uma política de segurança sólida, endureça seus servidores, atualize o software e sempre tenha um 'Plano B'

    
por 22.05.2012 / 12:37
3

O Grsecurity ou o SELinux são bons para ajudar a evitar ataques de 0 dia, fortalecendo o kernel.

Citação do website "Apenas o grsecurity oferece proteção contra ameaças de dia zero e outras ameaças avançadas que compram aos administradores tempo valioso, enquanto correções de vulnerabilidades são encaminhadas para distribuições e testes de produção."

    
por 22.05.2012 / 12:39
2

Se você estiver usando o Apache, módulos como mod_security podem ajudar a evitar vetores de ataque comuns. Com mod_security você pode

  • bloqueia solicitações parecidas com ataques de injeção de SQL
  • bloqueia clientes cujos endereços IP estão na lista negra em algumas RBL
  • redirecione a solicitação para algum outro lugar se as condições definidas forem atendidas
  • bloqueia solicitações com base no país do cliente
  • detetar & bloquear bots maliciosos comuns automaticamente

... e muito, muito mais. É claro que, usando um módulo complexo como o mod_security, é bem possível também bloquear seus clientes reais, e no mod_security do lado do servidor adiciona alguma sobrecarga.

Também é obrigatório manter seu software de servidor atualizado e ter certeza de que você desativou cada módulo e amp; daemon você não vai usar.

Políticas rígidas de firewall são essenciais e, em muitos casos, aprimoramentos de segurança adicionais, como o SELinux ou o grsecurity, podem interromper o ataque.

Mas, o que você fizer, os bandidos são muito pacientes, muito criativos e muito habilidosos. Tenha um plano detalhado sobre o que fazer quando você é hackeado.

    
por 22.05.2012 / 13:15
1

Gostaria de adicionar algumas regras de bronze:

  1. Se exposto, não execute o que não precisa ser executado.

  2. Não se torne um alvo digno de um ataque direcionado e dedicado.

  3. Garantir contra qualquer possível ataque direcionado é, muitas vezes, antieconômico / impraticável. Verifique quem poderia ter um interesse sério em quebrar o que e começar por aí.

  4. Considerar "minimizar informações disponíveis externamente" e "afastar padrões conhecidos" como nada mais do que segurança por obscuridade (muitas vezes incompreendido como "inútil" em oposição a "uma camada que em si é insuficiente") e omitir é arrogância perigosa. Um bloqueio hackable em uma porta não vai manter o ladrão fora, mas provavelmente irá manter o lobo fora.

por 23.05.2012 / 03:43
1

Uma máquina inchada com um enorme conjunto de segurança muitas vezes transforma PCs medíocres em dinossauros e quad-core em PCs antigos comuns. Eu consertei o suficiente (milhares) para entender que isso é verdade. Se você não entender nada, é 100% de segurança e o custo do desempenho cai exponencialmente como segurança, enquanto a probabilidade de infecção só cai de forma linear. A maioria dos resultados quando parei de olhar para as comparações foi de 90% no máximo em um teste real de milhares de riscos, o que significa que 10% das infecções não foram detectadas ou foram muito tardias. enquanto a latência do PC aumentou 200 a 900%. A OSX tem uma situação ideal onde não é essencial em segurança, mas os riscos de ataque foram menores devido a ser metas menores com apenas 4% de market share em produtos que não são de telefone / pad em 2010. Isso vai mudar, mas não vou mudar minha filosofia de manter meu sistema operacional limpo, enxuto & significar. Eu faço o mesmo para o XP e o Win7. Eu tenho um arsenal de ferramentas de reparo, mas só preciso de um aplicativo para consertar todos que forem infectados e leva apenas de 10 a 20 minutos, não em horas ou dias.

Meus métodos que funcionam;

  1. Eduque os usuários, não clique em avisos de segurança, a menos que você realmente saiba o que eles são, em oposição às centenas de ROGs que são cópias carbono de bons alertas. Aqueles que não podem ser treinados facilmente obter contas não-administrador e navegadores de caixa de areia com java e JS desativado. Mas se eu habilitá-lo para eles, não se preocupe, apenas 15 ~ 20 minutos para restaurar ou reparar.

    1. O System Restore é bom, mas tem muitas limitações, uma delas é que os itens na pasta Documentos e nas pastas Temp do usuário são protegidos onde os drivers desonestos podem ser instalados e iniciados e infectá-lo na próxima inicialização.

    2. O UAC é útil para muitas coisas, mas é um PITA que eu nunca uso e confio em ferramentas melhores para detectar startups e / ou novos processos, incluindo, entre outros:

      • Winpatrol.com ainda é o melhor investimento que fiz para a segurança e ainda é gratuito para outras pessoas. Ele cobre 80% dos problemas em que as inicializações são adicionadas antes de serem executadas e podem ser detectadas e desativadas ou excluídas pelo prompt do usuário. No entanto, se você é do tipo ansioso que não pode tomar decisões tomar uma pílula ou apenas usar o Windows Defender . Não é o melhor para a cobertura, mas um dos mais altos para a relação estrondo / dólar. A pretecção / perda de desempenho ou aumento da taxa de latência.

      • O utilitário de inicialização de Mike Lin é o interceptor mais leve de startups que são armazenadas em mais de uma dúzia de locais do registro

      • O Script Guard é um interceptor de script útil para scripts infantis

      • ProcessGuard um antigo programa extinto que funciona como um firewall para qualquer novo exectuable, mas o incomoda para aprovação, no entanto, é seguro e simples depois de aceitar uma fonte confiável ou ignorar ou bloquear uma fonte não confiável.

      • Um complemento Blacklist para o seu navegador é bom como Web of Trust (WOT) , mas o Chrome faz parte de uma forma semelhante, mas em menor escala.

      • uma lista negra pode ficar enorme para arquivos HOSTS e se você usar isso (> 1MB é enorme quando digitalizado em blocos de 4KB a cada 10 minutos. Mas se você fizer isso, recomendo desativar o serviço de cache DNS para reduzir as varreduras periódicas do redunant por cada aplicativo que esteja ativo com as particularidades do firewall.

      • Desabilite a indexação de arquivos se você realmente não usa isso para e-mail e coisas, porque ela gera sua suíte antivírus para verificar todos os arquivos acessados todas as vezes, repetidamente. / p>

Alguns podem ignorar essa lista parcial, mas economizo tempo protegendo meu PC e operando em um ambiente enxuto. Auditorias regulares para confirmar minha segurança são feitas à noite para provar que minha prática de preocupações é justificada. Eu ainda tenho mil registros HJT, logs combofix.txt e logs Runscanner para suportar minhas opiniões de cura e melhor equilíbrio entre segurança e desempenho.

  • Evite o download / instalação descuidados de arquivos de mídia do exe ou do windows que podem executar scipts (por exemplo, .WMA, .WMV) ao contrário de .mp3 ou .avi.

  • Evite que todos os grandes botões segmentados por anúncios façam o download ou atualizem sua segurança , o que pode desviar sua atenção para a atualização gratuita de agregadores de downloads, como o hippo dot com .. cnet não é ruim. Tenha muito cuidado. Alguns sites usam anúncios de terceiros e não têm controle de conteúdo.

  • Eu documentei um exemplo de perect em uma apresentação de powerpoint de 10 páginas, se alguém estiver interessado, pergunte. Como é fácil ignorar o adive acima pode infectá-lo.

Tudo por agora.

Tony Stewart EE desde 1975.

    
por 23.05.2012 / 07:50