SANS Top-20 Internet Security Attack Targets

Informe-se sobre vírus, worms, phishing scam, hachers

SANS Top-20 Internet Security Attack Targets

Postby xchanger » 05 Mar 2007 19:40

SANS Top-20 Internet Security Attack Targets

Questões / comentários podem ser direcionados para top20@sans.org.

Introdução
Há seis anos atrás SANS Institute e National Infrastructure Protection Center (NIPC) do FBI lançaram um
documento sumarizando as Dez Vulnerabilidades de Segurança Mais Críticas da Internet. Milhares de
organizações confiaram naquela lista e nas listas expandidas Top-20 que seguiram nos anos seguintes para
priorizar seus esforços de maneira que eles pudessem fechar primeiro os buracos de segurança mais
perigosos. Os serviços vulneráveis que levaram a worms como Blaster, Slammer e Code Red estiveram nas
listas SANS.
A lista SANS Top-20 não é "acumulativa." Nós listamos apenas vulnerabilidades críticas do último ano. Se
você não aplicou "patches" em seus sistemas por muito tempo é altamente recomendado que você
também elimine as vulnerabilidades listadas no Top-20 2005 assim como as listadas na lista de 2006. Ao
final desde documento você encontrará um curto FAQ (Frequently Asked Questions) do SANS Top-20 que
responde a perguntas que você pode ter sobre o projeto e sobre a maneira como a lista é criada.
O SANS Top-20 2006 é uma lista de consenso de vulnerabilidades que requerem correção imediata. Ela é o
resultado de um processo que reuniu diversos dos principais especialistas em segurança. Elas vem das
agências governamentais mais conscientes sobre segurança do Reino Unido, Estados Unidos e Cingapura;
dos principais fornecedores de software de segurança e empresas de consultoria em segurança; dos
maiores programas de segurança de universidades; do Internet Storm Center e de muitas outras
organizações de usuários. Uma lista de participantes está ao final deste documento.
A lista SANS Top-20 é um documento vivo. Ela inclui instruções passo a passo e apontadores para
informações adicionais que são úteis na correção de falhas de segurança. Vamos atualizar a lista e as
instruções à medida que mais ameaças críticas e métodos de proteção forem identificados, sua
contribuição é bem-vinda. Este é um documento que é resultado do consenso da comunidade -- sua
experiência em lutar contra os atacantes e em eliminar as vulnerabilidades pode ajudar outros no futuro.
Por favor envie sugestões por e-mail para top20@sans.org
Sistemas Operationais
W1. Internet Explorer
W2. Bibliotecas Windows
W3. Microsoft Office
W4. Serviços Windows
W5. Fraquezas de Configuração do Windows
M1. Mac OS X
U1. Fraquezas de Configuração do UNIX
Aplicações de Múltiplas Plataformas
C1 Aplicações Web
C2. Software de Base de Dados
C3. Aplicações de Compartilhamento de Arquivos P2P
C4. Mensagens Instantâneas
C5. Tocadores Multimídia
C6. Servidores DNS
C7. Software de Backup
C8. Servidores de Segurança, Corporativos e de Gerenciamento de Diretório
Dispositivos de Rede
N1. Servidores e Telefones VoIP
N2. Fraquezas de Configuração de Dispositivos de Rede e Outros Dispositivos Comuns
Política de Segurança e Pessoal
H1. Direitos Excessivos de Usuário e Dispositivos Não Autorizados
H2. Usuários (Phishing/Phishing Direcionado)
Seção Especial
Z1. Ataques Zero Day Attacks e Estratégias de Prevenção
W1. Internet Explorer
W1.1 Descrição

Microsoft Internet Explorer é o navegador mais popular usado para navegar na Web e é instalado por
padrão em cada sistema Windows. Versões sem correção ou mais antigas do Internet Explorer contém
múltiplas vulnerabilidades que podem levar a memória corrompida, forjamento e execução de scripts
arbitrários. Os problemas mais críticos são aqueles que levam à execução remota de código sem a
necessidade de qualquer interação do usuário quando este visita uma webpage maliciosa ou lê uma
mensagem. Código para exploração (exploit) de muitas das falhas críticas do Internet Explorer são
disponíveis publicamente. Além disso, Internet Explorer tem sido usado para explorar vulnerabilidades em
outros componentes do núcleo do Windows, tais como HTML Help e Graphics Rendering Engine.
Vulnerabilidades em controles ActiveX instalados pela Microsoft ou por outros fornecedores de software
também estão sendo exploradas por meio do Internet Explorer.
Estas falhas tem sido amplamente exploradas para a instalação de spyware, adware e outros malware em
sistemas de usuários. As falhas de forjamento tem sido alavancadas para na condução de ataques de
phishing. Em muitos casos, as vulnerabilidades foram zero-days, ou seja, nenhuma correção estava
disponível no momento em que as vulnerabilidades foram divulgadas publicamente. A vulnerabilidade
zero-day no VML, corrigida pela Microsoft na correção MS06-055, foi amplamente explorada por websites
maliciosos antes que o patch estivesse disponível.
Durante o último ano a Microsoft lançou múltiplas atualizações para Internet Explorer.
· Vulnerability in Vector Markup Language Could Allow Remote Code Execution (MS06-055)
· Cumulative Security Update for Internet Explorer (MS06-042)
· Vulnerability in Microsoft JScript Could Allow Remote Code Execution (MS06-023)
· Cumulative Security Update for Internet Explorer (MS06-021)
· Cumulative Security Update for Internet Explorer (MS06-013)
· Cumulative Security Update for Internet Explorer (MS06-004)
· Cumulative Security Update for Internet Explorer (MS05-054)
Observe que a atualização acumulativa mais recente para o Internet Explorer inclui todas as atualizações
acumulativas anteriores.
Embora MS06-051 seja um patch para o kernel do Windows ele é importante para o Internet Explorer; sem
este patch, uma vulnerabilidade de negação de serviço no Internet Explorer pode ser explorada para a
execução de código arbitrário.
W1.2 Sistemas Operacionais Afetados
Internet Explorer 5.x e 6.x rodando em Windows 98/ME/SE, Windows NT Workstation e Server, Windows
2000 Workstation e Server, Windows XP Home e Professional e Windows 2003 são todos potencialmente
vulneráveis.

W1.3 Entradas CVE
CVE-2005-2831, CVE-2006-0020, CVE-2006-1185, CVE-2006-1186, CVE-2006-1188, CVE-2006-1189, CVE-
2006-1245, CVE-2006-1303, CVE-2006-1313, CVE-2006-1359, CVE-2006-1388, CVE-2006-2218, CVE-2006-
2382, CVE-2006-2383, CVE-2006-3450, CVE-2006-3451, CVE-2006-3637, CVE-2006-3638, CVE-2006-3639,
CVE-2006-3873, CVE-2006-4868
W1.4 Como Determinar Se Você Está em Risco
Use qualquer vulnerability scanner para verificar se seus sistemas sofreram correção contra estas
vulnerabilidades. Você também pode considerar usar Microsoft Windows Server Update Services (WSUS),
Microsoft Baseline Security Analyzer (MBSA), Windows Live Scanner ou Systems Management Server (SMS)
para verificar o estado da aplicação de correções em seus sistemas.
W1.5 Como se Proteger Contra Estas Vulnerabilidades
· Se você está usando Internet Explorer em seu sistema a melhor maneira de permanecer seguro é
o upgrade para Windows XP Service Pack 2. A melhor segurança do sistema operacional e o
Windows Firewall ajudarão a mitigar riscos. Para aqueles impossibilitados de usar Windows XP
com Service Pack 2 é fortemente recomendado que se use outro navegador.
· Também é recomendado o upgrade para a versão 7 do Internet Explorer, que fornece segurança
melhorada em comparação com versões anteriores. A versão mais recente do Internet Explorer,
IE7, está sendo distribuída pela Microsoft como uma Atualização Crítica (KB926874)
· Mantenha os sistemas atualizados com todos os patches mais recentes e service packs. Se
possível habilite Atualizações Automáticas em todos os sistemas.
· Estar sempre alerta a Microsoft Security Advisories e implementar as mitigações sugeridas antes
que a correção esteja disponível pode aliviar a exposição a ataques zero day.
· Para prevenir a exploração de vulnerabilidades de execução de código remoto ao nível de usuário
Administrator ferramentas como Microsoft DropMyRights podem ser usadas para implementar
"mínimo de privilégios" para o Internet Explorer.
· Previna a execução de componentes ActiveX vulneráveis dentro do Internet Explorer através do
mecanismo "killbit".
· Muitos programas spyware são instalados como Browser Helper Objects. Um Browser Helper
Object ou BHO é um pequeno programa que roda automaticamente sempre que o Internet
Explorer é iniciado e estende suas funcionalidades. Browser Helper Objects podem ser
detectados com scanners Antispyware.
· Use Sistemas de Detecção/Prevenção de Intrusões, Anti-virus, Anti-Spyware e Malware Detection
Software para bloquear scripts HTML maliciosos.
· Windows 98/ME/NT não são mais suportados para atualizações. Usuários destes sistemas
deveriam considerar o upgrade para Windows XP.
· Considere usar outros navegadores, tais como Mozilla Firefox, que não oferecem suporte à
tecnologia ActiveX.
W1.6 Como tornar o Internet Explorer Seguro
Para configuras as definições de Segurança no Internet Explorer:
· Selecione "Internet Options", no menu "Tools".
· Selecione a aba "Security" e depois clique em "Custom Level for the Internet zone".
· A maioria das falhas no IE são exploradas por Active Scripting e controles ActiveX.
· Em "Scripting", selecione "Disable for Allow paste operations via script" para prevenir a exposição
do seu clipboard (área de transferência). Nota: Desabilitar Active Scripting pode fazer com aque
alguns web sites não funcionem de maneira apropriada. Controles ActiveX não são tão populares,
mas são potencialmente mais perigosos uma vez que permitem maior acesso ao sistema.
· Selecione "Disable" para "Download signed and unsigned ActiveX Controls". Selecione também
"Disable" para "Initialize and script ActiveX Controls not marked as safe".
· Applets Java normalmente tem mais funcionalidades do que scripts. Sob Microsoft VM, selecione
"High safety for Java permissions" para prevenir o acesso privilegiado de applets Java ao seu
sistema.
· Em "Miscellaneous" selecione "Disable" para "Access to data sources across domains" para evitar
ataques de Cross-site scripting.
· Garanta que nenhum site não confiável esteja em "Trusted sites" ou "Local intranet zones", uma
vez que estas zonas tem definições de segurança mais fracas que as demais zonas.
W1.7 Referências
Atualizações de Segurança do Internet Explorer
· http://www.microsoft.com/technet/securi ... 6-055.mspx
· http://www.sans.org/newsletters/risk/di ... 38#widely1
· http://www.microsoft.com/technet/securi ... 6-042.mspx
· http://www.sans.org/newsletters/risk/di ... 32#widely2
· http://www.microsoft.com/technet/securi ... 6-023.mspx
· http://www.sans.org/newsletters/risk/di ... 24#widely5
· http://www.microsoft.com/technet/securi ... 6-021.mspx
· http://www.sans.org/newsletters/risk/di ... 24#widely1
· http://www.microsoft.com/technet/securi ... 6-013.mspx
· http://www.sans.org/newsletters/risk/di ... 12#widely1
· http://www.sans.org/newsletters/risk/di ... 11#widely4
· http://www.sans.org/newsletters/risk/di ... 12#widely1
· http://www.sans.org/newsletters/risk/di ... 15#widely1
· http://www.microsoft.com/technet/securi ... 6-004.mspx
· http://www.sans.org/newsletters/risk/di ... =6#widely1
· http://www.sans.org/newsletters/risk/di ... =7#widely2
· http://www.microsoft.com/technet/securi ... 5-054.mspx
· http://www.sans.org/newsletters/risk/di ... 50#widely1
US-CERT Securing Web Browser Information
· http://www.us-cert.gov/reading_room/sec ... urity.html
top^
W2. Bibliotecas Windows
W2.1 Descrição
As bibliotecas do Windows são módulos que contém funções e dados que podem ser usados por outros
módulos, tais como aplicações Windows. Aplicações Windows normalmente fazem uso de um grande
numero destas bibliotecas, freqüentemente empacotadas como arquivos dynamic-link library (DLL) para
conduzir suas funções. Estas bibliotecas normalmente tem a extensão de arquivo DLL ou OCX (para
bibliotecas contendo controles ActiveX).
DLLs fornecem uma maneira de modularizar as aplicações de modo que suas funcionalidades podem ser
atualizadas e reutilizadas facilmente. DLLs também ajudam a reduzir o overhead de memória quando
muitas aplicações usam a mesma funcionalidade ao mesmo tempo. Estas bibliotecas são usadas para
muitas tarefas comuns tais como verificação de código HTML, decodificação de formatos de imagem e
decodificação de protocolos. Tanto aplicações locais quanto remotas usam estas bibliotecas. Assim, uma
vulnerabilidade crítica em uma biblioteca geralmente causa impacto em uma grande gama de aplicações
da Microsoft e de terceiros que fazem uso daquela biblioteca. Freqüentemente a exploração é possível
por meio de múltiplos vetores de ataque. Por exemplo, falhas em bibliotecas de processamento de
imagens podem ser exploradas por meio do Internet Explorer, Office e visualizadores de imagens. Na
maioria dos casos as bibliotecas são usadas por todos os sabores de sistemas operacionais Windows, o que
aumenta o número de sistemas disponíveis para ataques.
Durante o último ano muitas bibliotecas Windows foram reportadas como portadoras de vulnerabilidades
críticas. Em diversos casos códigos de exploração (exploits) foram descobertos antes que correções
estivessem disponíveis (zero-day).
Em Dezembro de 2005 uma vulnerabilidade (CVE-2005-4560) foi reportada na Graphics Rendering Engine:
ao manipular imagens Windows Metafile (WMF) especialmente montadas é possível fazer com que código
arbitrário seja executado. Muitos exploits maliciosos e malware foram descobertos se espalhando pela
Internet logo depois da descoberta da vulnerabilidade. Uma vez que esta vulnerabilidade pode ser
explorada pela simples visualização de um arquivo de imagem WMF malicioso (por websites ou arquivos
anexos), muitas aplicações foram reportadas como afetadas. Até algumas das versões de Lotus Notes
foram reportadas como afetadas por este exploit zero-day no WMF. Não havia patch disponível até
meados de Janeiro de 2006. Detalhes sobre esta vulnerabilidade podem ser encontrados em:
http://isc.sans.org/diary.php?storyid=993.
Uma vez que vulnerabilidades em bibliotecas do Windows podem ser exploradas por diversos vetores, em
muitos casos um atacante remoto precisará apenas persuadir um usuário a acessar um website
especialmente preparado, imagem, ícone ou arquivo de ponteiro de mouse e o atacante seria capaz de
executar código arbitrário on sistema daquele usuário, com seus privilégios.
As bibliotecas críticas afetadas durante os últimos anos incluem:
· Vulnerability in Windows Explorer Could Allow Remote Execution (MS06-057, MS06-015).
· Vulnerabilities in Microsoft Windows Hyperlink Object Library Could Allow Remote Code
Execution (MS06-050)
· Vulnerability in HTML Help Could Allow Remote Code Execution (MS06-046)
· Vulnerability in Microsoft Windows Could Allow Remote Code Execution (MS06-043)
· Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution (MS06-026, MS06-
001)
· Vulnerability in Embedded Web Fonts Could Allow Remote Code Execution (MS06-002)
W2.2. Sistemas Operacionais Afetados
Windows NT, Windows 2000, Windows XP, Windows 2003
W2.3. Entradas CVE
CVE-2005-4560, CVE-2006-0010, CVE-2006-0012, CVE-2006-2376, CVE-2006-2766, CVE-2006-3086, CVE-
2006-3357, CVE-2006-3438, CVE-2006-3730, CVE-2006-4868
W2.4. Como Determinar Se Você Está em Risco
· Use qualquer software que faça varredura por vulnerabilidades (vulnerability scanner) para
verificar se seus sistemas estão corrigidos contra estas vulnerabilidades. Você pode também
considerar o uso do Microsoft Windows Server Update Services (WSUS), Microsoft Baseline
Security Analyzer (MBSA), Windows Live Scanner ou Systems Management Server (SMS) para
verificar o estado da aplicação de correções de segurança em seus sistemas.
· Você pode também verificar a presença de um patch pela verificação da chave de registro
mencionada na seção "Registry Key Verification" do alerta de segurança correspondente. Além
disso, é recomendável também se assegurar de que as versões atualizadas de arquivo
mencionadas no alerta estejam instaladas no sistema.
W2.5. Como se Proteger Contra Estas Vulnerabilidades
· Garanta que seus sistemas Windows tenham todas as atualizações de segurança instaladas.
· Bloquear as portas 135-139/tcp, 445/tcp e outras portas usadas por sistemas Windows systems no
perímetro de rede. Isto evita que um atacante remoto explore as vulnerabilidades por meio de
sistemas de arquivos compartilhados.
· Use a filtragem TCP/IP disponível no Windows 2000 e XP, Windows Firewall em sistemas Windows
XP ou qualquer outro firewall pessoal de terceiros para bloquear acessos às portas afetadas
partindo de fora do host. É importante que o firewall esteja configurado de maneira apropriada
para que o bloqueio contra ataques externos aconteça de maneira efetiva.
· Sistemas de Prevenção/Detecção de Intrusões assim como anti-vírus e softwares de detecção de
malware são muito úteis para prover proteção adicional contra malware e exploits que estejam
explorando estas vulnerabilidades.
· Se você está executando aplicações de terceiros em plataformas Windows 2000/XP customizadas
assegure-se que uma correção apropriada do fornecedor tenha sido aplicada.
· Siga o princípio "Menor Priviégio" (Least Privilege) para limitar o acesso de worms e Trojans em
qualquer sistema. Mais detalhes sobre como limitar o acesso a certas chaves do registro,
executáveis e diretórios estão disponíveis nos guias NSA em
http://www.nsa.gov/snac/index.cfm?MenuID=scg10.3.1.
· Use orientações de reforço na segurança de sistemas (tais como aquelas de CISecurity ) para
tornar os sistemas mais resistentes a ataques remotos e locais.
· Mantenha-se atualizado a respeito de notícias e patches de segurança Microsoft
(http://www.microsoft.com/security/default.mspx ).
· Devido ao grande número de vetores de ataque seja vigilante ao receber arquivos anexos em email
não solicitado e ao navegar em websites desconhecidos. Não clique em links recebidos em email
não solicitado, mensagens instantâneas, fóruns web ou canais IRC.
· Windows NT não é mais suportado. Usuários deveriam realizar upgrade para Windows XP/2003.
W2.6. Referências
Vulnerability in Windows Explorer Could Allow Remote Execution
http://www.microsoft.com/technet/securi ... 6-057.mspx
http://www.microsoft.com/technet/securi ... 6-015.mspx
Vulnerability in Vector Markup Language Could Allow Remote Code Execution
http://www.microsoft.com/technet/securi ... 6-055.mspx
Vulnerabilities in Microsoft Windows Hyperlink Object Library Could Allow Remote Code Execution
http://www.microsoft.com/technet/securi ... 6-050.mspx
http://www.microsoft.com/technet/securi ... 5-015.mspx
Vulnerability in HTML Help Could Allow Remote Code Execution
http://www.microsoft.com/technet/securi ... 6-046.mspx
http://www.microsoft.com/technet/securi ... 05-026.asp
http://www.microsoft.com/technet/securi ... 05-001.asp
Vulnerability in Microsoft Windows Could Allow Remote Code Execution
http://www.microsoft.com/technet/securi ... 06-043.asp
Vulnerability in Graphics Rendering Engine Could Allow Remote Code Execution
http://www.microsoft.com/technet/securi ... 06-026.asp
http://www.microsoft.com/technet/securi ... 06-001.asp
http://www.microsoft.com/technet/securi ... 05-053.asp
Vulnerability in Embedded Web Fonts Could Allow Remote Code Execution
http://www.microsoft.com/technet/securi ... 06-002.asp
top^
W3. Microsoft Office
W3.1 Descrição
Microsoft Office é o suíte de e-mail e produtividade mais utilizado no mundo. As aplicações incluem
Outlook, Word, PowerPoint, Excel, Visio, FrontPage e Access. Vulnerabilities nestes produtos podem ser
exploradas pelos seguintes vetores de ataque:
· O atacante envia o documento Office malicioso em uma mensagem de e-mail. Virus podem
explorar este vetor de ataque.
· O atacante hospeda o documento em um servidor web ou pasta compartilhada e induz um
usuário a visitar a webpage ou a pasta compartilhada. Note que o Internet Explorer abre
documentos Office automaticamente. Assim, visitar uma webpage ou pasta maliciosa é suficiente
para a exploração da vulnerabilidade.
· O atacante executa um servidor de notícias ou seqüestra um feed RSS que envia documentos
maliciosos para clientes de e-mail.
Um grande número de falhas críticas em aplicações MS Office foram reportadas no
último ano. Além disso, algumas delas (CVE-2006-5296, CVE-2006-4694, CVE-2006-4534, CVE-2006-
3649, CVE-2006-3590, CVE-2006-3059, CVE-2006-2492, CVE-2006-1540, CVE-2006-1301) foram exploradas
em estágio zero-day quando nenhuma correção do fornecedor estava disponível, o que representa uma
tendência em crescimento. Código de exploração e detalhes técnicos são publicamente disponíveis para
algumas destas vulnerabilidades.
As falhas críticas no Office e Outlook Express que foram reportadas no último ano são:
· PowerPoint Remote Code Execution Vulnerability (CVE-2006-5296)
· Word Malformed Stack Vulnerability (MS06-060)
· Office and PowerPoint Mso.dll Vulnerability (MS06-062, MS06-048)
· Excel Multiple Remote Code Execution Vulnerabilities (MS06-059)
· PowerPoint Malformed Record Vulnerability (MS06-058)
· Visio, Works and Projects VBA Vulnerability (MS06-047)
· Office Malformed String Parsing Vulnerability (MS06-038)
· Excel Malformed SELECTION record Vulnerability (MS06-037)
· Word Malformed Object Pointer Vulnerability (MS06-027)
· Outlook and Exchange TNEF Decoding Remote Code Execution (MS06-003)
W3.2 Sistemas Operacionais Afetados
Windows 9x, Windows 2000, Windows XP, Windows 2003 são todos vulneráveis dependendo da versão do
software Office instalada.
W3.3 Entradas CVE
CVE-2006-5296, CVE-2006-4694, CVE-2006-4534, CVE-2006-3649, CVE-2006-3590, CVE-2006-3059, CVE-
2006-2492, CVE-2006-1540, CVE-2006-1301, CVE-2006-0002
W3.4 Como Determinar Se Você Está em Risco
As instalações de MS Office sem as correções de segurança referenciadas nos Boletins de Segurança
listados das entradas NVD (National Vulnerability Database) são vulneráveis. Use qualquer software de
varredura de vulnerabilidades (vulnerability scanner) para verificar se seus sistemas estão protegidos
contra estas vulnerabilidades. Você pode também considerar usar os serviços do Microsoft Windows Server
Update Services (WSUS), Microsoft Baseline Security Analyzer (MBSA), Windows Live Scanner ou Systems
Management Server (SMS) para verificar o nível de aplicação de correções de segurança de seus sistemas.
W3.5 Como se Proteger Contra Vulnerabilidades do Microsoft Office
· Mantenha os sistemas atualizados com todas as correções de segurança mais recentes e service
packs. Se possível habilite Atualizações Automáticas em todos os sistemas.
· Desabilite o recurso do Internet Explorer que automaticamente abre documentos Office.
· Configure Outlook e Outlook Express com segurança melhorada.
· Use Sistemas de Prevenção/Detecção de Intrusões e Anti-virus e Software de Detecção de
Malware para prevenir a resposta de servidores maliciosos e que documentos maliciosos cheguem
a usuários finais.
· Use sistemas de filtragem de mensagens e web no perímetro da rede para prevenir a chegada de
documentos Office maliciosos aos sistemas de usuários finais.
W3.6 Referências
Discussões sobre vulnerabilidades Zero-Day no Microsoft Office
http://blogs.technet.com/msrc/archive/2 ... point.aspx
http://blogs.securiteam.com/?p=508
http://www.symantec.com/enterprise/secu ... 16-2104-99
http://www.trendmicro.com/vinfo/virusen ... BI&VSect=T
http://blogs.securiteam.com/?p=451
http://www.symantec.com/security_respon ... 11-0706-99
http://www.symantec.com/security_respon ... 14-5151-99
top^
W4. Serviços Windows
W4.1 Descrição
A família de sistemas operacionais Windows oferece suporte a uma grande variedade de serviços, métodos
e tecnologias de rede. Muitos destes componentes são implementados como Service Control Programs
(SCP), sob o controle do Service Control Manager (SCM), que roda como Services.exe. Vulnerabilidades
nesses serviços que implementam estas funções do Sistema Operacional são uma das principais avenidas
para exploração.
Diversos destes serviços essenciais do sistema oferecem interfaces remotas para componentes de cliente
por Remote Procedure Calls (RPC). Eles são em sua maioria expostos por endpoints named, acessíveis pelo
protocolo Common Internet File System (CIFS), portas TCP/UDP conhecidas e, em certos casos, portas
efêmeras TCP/UDP. Historicamente houve muitas vulnerabilidades em serviços que podem ser explorados
por usuários anônimos. Quando exploradas, estas vulnerabilidades dão ao atacante os mesmos privilégios
que o serviço tem no host.
Versões anteriores do sistema operacional, especialmente Windows NT e Windows 2000, habilitaram
diversos destes serviços por padrão para uma melhor experiência do usuário ao instalar o produto. Estes
serviços não essenciais aumentam a superfície de exploração significativamente.
As vulnerabilidades críticas foram reportadas nos seguintes serviços Windows no último ano:
· Server Service (MS06-040, MS06-035)
· iRouting and Remote Access Service (MS06-025)
· Exchange Service (MS06-019)
Código de exploit está disponível para estas vulnerabilidades. Por exemplo, a vulnerabilidade corrigida
pelo hotfix MS06-040 foir explorada pelos worms W32.Dasher.G e W32.Spybot.AKNO.
W4.2 Sistemas Operacionais Afetados
Windows 2000 Workstation e Server, Windows XP Home e Professional e Windows 2003 são todos
potencialmente vulneráveis.
W4.3 Entradas CVE
CVE-2006-0027, CVE-2006-1314, CVE-2006-2370, CVE-2006-2371, CVE-2006-3439
W4.4 Como Determinar Se Você Está em Risco
· Use qualquer software de varredura de vulnerabilidades (vulnerability scanner) para verificar se
seus sistemas estão corrigidos contra estas vulnerabilidades. Você pode também considerar usar
os serviços Microsoft Windows Server Update Services (WSUS), Microsoft Baseline Security
Analyzer (MBSA), Windows Live Scanner ou Systems Management Server (SMS) para verificar o
estado da aplicação de correções de segurança de seus sistemas.
· Você pode também verificar a presença de uma correção verificando a chave de registro
mencionada na seção "Registry Key Verification" do alerta de segurança correspondente. Além
disso, é também recomendável ter certeza de que as versões atualizadas dos arquivos
mencionados no alerta estejam instaladas no sistema.
· Para verificar se seu sistema está vulnerável a um problema em serviço opcional você precisa
determinar se o serviço está habilitado. Isto pode ser feito pela interface "Gerenciador de
Serviços", que pode ser chamada de Serviços em Ferramentas Administrativas.
W4.5 Como se Proteger Contra Vulnerabilidades nos Serviços Windows
· Mantenha o sistema atualizado com todas as últimas correções e service packs. Se possível
habilite Atualizações Automáticas em todos os sistemas.
· Use Sistemas de Prevenção/Detecção de Intrusões para prevenir/detectar ataques explorando
estas vulnerabilidades.
· Em alguns casos a exposição à vulnerabilidade pode ser removida pela desativação do serviço
correspondente. Por exemplo, o serviço Windows Routing and Remote Access pode ser desativado
na maioria dos ambientes que usam Windows 2000. Para tal, inicie a interface gerenciador de
serviço. Localize o serviço requerido e clique com o botão direito do mouse. Chame a opção
propriedades no menu popup. O "Startup Type" do serviço pode ser modificado para desabilitar o
respectivo serviço.
· Em alguns casos o acesso por sessões nulas (null session) à interface vulnerável pode ser
removido como maneira de se contornar o problema. É uma boa prática revisar sua atual
configuração RestrictAnonymous e mantê-la o mais keep it as estrita possível baseado em seu
ambiente. http://www.securityfocus.com/infocus/1352
· Muitas destas vulnerabilidades são encontradas em interfaces oferecidas pelo CIFS e bloquear as
portas 139/tcp e 445/tcp no perímetro é essencial para prevenir ataques remotos. Também é
uma boa prática bloquear requisições RPC provenientes da Internet para portas acima de 1024
para bloquear ataques para outras vulnerabilidades baseadas em RPC usando firewalls.
· XP SP2 e Windows 2003 SP1 e R2 vem com várias melhorias de segurança, incluindo o Windows
firewall e Security Configuration Wizard (Windows 2003 SP1 e R2 apenas). É altamente
recomendável realizar upgrade para estes service packs, habilitar o Windows firewall e reduzir a
surpefície de ataque com o Security Configuration Wizard.
W4.6 Referências
Threats and Countermeasures: Security Settings in Windows Server 2003 and Windows XP
http://www.microsoft.com/technet/securi ... gch00.mspx
Windows XP Security Guide
http://www.microsoft.com/technet/securi ... fault.mspx
Windows Server 2003 Security Guide
http://www.microsoft.com/technet/securi ... gch00.mspx
Using Windows Firewall
http://www.microsoft.com/windowsxp/usin ... ewall.mspx
Security Configuration Wizard for Windows Server 2003
http://www.microsoft.com/windowsserver2 ... fault.mspx
How to use IPSec IP filter lists in Windows 2000
http://support.microsoft.com/kb/313190
How to block specific network protocols and ports by using IPSec
http://support.microsoft.com/kb/813878
How to configure TCP/IP filtering in Windows 2000
http://support.microsoft.com/kb/309798
top^
W5 Fraquezas de Configuração do Windows
W5.1 Descrição
1. Fraquezas em Senhas Configuradas pelo Usuário
Fraquezas em configurações de senha ganharam importância nos últimos anos com a proliferação de
worms, bots e outros malware que melhoraram sua capacidade de propagar a si mesmos pelo abuso de
senhas inadequadas. O reforço de senhas complexas é um dos problemas mais antigos que com que os
administradores de segurança de TI se deparam mas continua a ser uma praga em empresas ao redor do
mundo. Estas fraquezas podem existir tanto no nível do Active Directory quanto no nível local, cada qual
pode ser explorado de maneira efetiva tanto por malware quanto por ameaças internas. Além disso, com
o aumento da autenticação centralizada em diversas plataformas o comprometimento de credenciais
Windows pode frequentemente levar diretamente ao comprometimento de outras plataformas (UNIX e
RACF/ACF2/Top Secret por exemplo). Mesmo que senhas complexas sejam implantadas na vasta maioria
de contas da rede uma senha fraca pode levar a um comprometimento muito maior.
2. Senhas de Contas de Serviço
Contas de serviço precisam de senha em Windows. Infelizmente é muito comum usar senhas curtas,
imprimíveis para estas contas. Isto é particularmente problemático uma vez que elas são freqüentemente
usadas em muitas máquinas, tem alto nível de privilégios e mudam raramente.
3. Log-on Nulo
Credenciais nulas tem sido um problema em ambientes Windows com domínio há muito tempo. Desde a
introdução da arquitetura de domínio com Windows NT sessões nulas (null sessions) têm permitido que
usuários anônimos enumerem sistemas, compartilhamentos e contas de usuários. Windows 2000 introduziu
dois níveis de controle sobre o acesso anônimo; entretanto, este controle foi desabilitado por padrão.
Com a introdução do Windows 2003 a Microsoft adicionou diversos controles sobre o acesso anônimo e
habilitou algumas restrições por padrão. Entretanto, sistemas legados forçaram muitos ambientes a
continuar a oferecer suporte a conexões anônimas.
W5.2 Como se Proteger Contra Fraquezas de Configuração
Senhas Fracas:
· Implante uma política de senhas rígida para todos os usuários do domínio. Esta política deve
incluir requerimentos de complexidade e expiração da senha. Considere usar uma ferramenta de
terceiros para o gerenciamento das senhas de contas locais, garantindo que as senhas sejam
únicas.
· Previna o Windows de armazenar o hash LM hash no Active Directory ou base de dados SAM
seguindo as instruções postadas pela Microsoft.
· Implemente uma política para testar periodicamente as senhas na empresa. Este teste deve
incluir o uso de ferramentas automatizadas como THC Hydra, LophtCrack e John the Ripper para
verificar a existência de senhas em branco e simples/comuns. O teste deve ser realizado em
todas as plataformas e não deve ser limitados a senhas de AD (Active Directory).
Null Log-on:
· Restrinja o acesso anônimo a sistemas do domínio. Veja a seção "Referências" para detalhes a
respeito do impacto de restrições de sessões nulas e as definições disponíveis em vários cenários.
W5.3 Referências
The Administrator Accounts Security Planning Guide
http://www.microsoft.com/technet/securi ... fault.mspx
Guias de Segurança Windows
http://www.microsoft.com/technet/securi ... fault.mspx
http://www.microsoft.com/downloads/deta ... 4C8F-A9D0-
A0201F639A56&DisplayLang=en
How to prevent Windows from storing a LAN manager hash of your password in Active Directory and local
SAM databases
http://support.microsoft.com/kb/299656
MSRPC NULL sessions - exploitation and protection
http://www.hsc.fr/ressources/presentati ... ained.html
Restricting Anonymous Access
http://technet2.microsoft.com/WindowsSe ... 42b7-9976-
228a23721e351033.mspx?mfr=true
Client, service, and program incompatibilities that may occur when you modify security settings and user
rights assignments
http://support.microsoft.com/kb/823659
Microsoft policy on third-party security configuration guidance support
http://support.microsoft.com/kb/885409/en-us
top^
M1. Mac OS X
M1.1 Descrição
O Mac OS X é um sistema operacional baseado em BSD da Apple para sua linha de computadores PowerPC-
e baseados em Intel.
Para mais informações sobre Mac OS X, veja: http://www.apple.com/macosx
O Mac OS X é composto por diversos componentes diferentes. Cada um destes componentes pode
potencialmente possuir falhas de segurança. A maioria das falhas críticas descobertas no ano passado
enquadraram-se em seis categorias diferentes:
· Safari - O navegador web Safari da Apple é o navegador padrão nas versões recentes do Mac OS
X. Vulnerabilidades nesta aplicação podem potencialmente resultar no controle completo do
navegador ou na sessão de login do usuário.
· ImageIO - A base do gerenciamento de imagens utilizado pelo sistema e pela maioria das
aplicações. Vulnerabilidades neste conjunto de ferramentas pode potencialmente afetar muitas
aplicações diferentes. Arquivos de imagens são geralmente considerados arquivos "seguros" por
várias aplicações, e por padrão são abertas sem questionamentos.
· Unix - O Mac OS X é baseado e incorpora grandes quantidades de código dos sistemas
operacionais Unix-like anteriores. Muitas aplicações escritas para vários sistemas
operacionais Unix e Unix-like rodam em Mac OS X e algumas destas aplicações são inseridas como
parte do sistema operacional da Apple. Falhas nestas aplicações podem ser corrigidas no Mac OS
X com considerável atraso em relação ao fabricante original.
· Wireless - Relatos sobre vulnerabilidades críticas no sub-sistema de rede wireless do Mac OS X
capazes de permitir aos atacantes próximos fisicamente obterem o controle completo sobre um
sistema foram recebidos com surpresa por muitos na comunidade de segurança. A natureza da
falha permitiu aos atacantes atacarem sistemas mesmo que estes não fossem parte da mesma
rede lógica onde o atacante se encontrava. Falhas adicionais foram descobertas no sub-sistema
da interface wireless Bluetooth, com resultados similares.
· Vírus/Trojan - Os primeiros vírus e trojans para a plataforma Mac OS X foram descobertos no ano
passado.
· Outros - As demais vulnerabilidades não se enquadram em uma categoria bem definida.
Observe que a Apple normalmente distribui correções e atualizações como atualizações de forma geral;
uma dada Atualização de Segurança irá incluir tanto atualizações de baixa severidade como atualizações
críticas.
M1.2 Indicadores do CVE
Vulnerabilidades no Safari (incluindo zero-days)
HTML Rendering Vulnerabilities - CVE-2005-3705, CVE-2006-1987, CVE-2006-3505, CVE-2006-3946
Security Bypass Vulnerabilities - CVE-2005-2516, CVE-2006-0399, CVE-2006-0397, CVE-2006-0398.
Vulnerabilidades no ImageIO
Image Format Vulnerabilities - CVE-2006-1469, CVE-2006-1982, CVE-2005-2747
Vulnerabilidades em Produtos de Terceiros
Inherited Vulnerabilities - CVE-2006-0384
Vulnerabilidades no Driver Wireless
WiFi Driver Vulnerabilities - CVE-2006-3509, CVE-2006-3508, CVE-2006-3507
Vírus e Trojans
Viruses and Trojans - OSX/Leap-A trojan.
Outras Vulnerabilidades
CVE-2006-3498, CVE-2006-1450, CVE-2006-1449, CVE-2006-0848, CVE-2005-2518, CVE-2006-4394
M 1.3 Como Determinar se Você Está em Risco
Qualquer instalação de Mac OS X padrão ou sem as correções de segurança devem ser presumidas como
vulneráveis.
O seguinte procedimento irá checar se existem novos pacotes disponíveis.
1. Escolha System Preferences no Menu da Apple.
2. Escolha Software Update no menu View.
3. Clique em Update Now.
4. Marque os items disponíveis.
Para auxiliar o processo de descoberta de vulnerabilidades, você pode utilizar um scanner de
vulnerabilidades.
M1.4 Como se Proteger Contra Estas Vulnerabilidades
· Tenha certeza de estar atualizado e de ter todas as correções de segurança para os produtos da
Apple aplicadas, configurando o Sistema de Atualização de Software (Software Update System)
para automaticamente checar por atualizações lançadas pela Apple. Embora diferentes
programações sejam possíveis, nós recomendamos que você configure-o para checar por
atualizações pelo menos a cada semana. Para mais informações sobre como checar e rodar
o Sistema de Atualização de Software, veja a página do Sistema de Atualização de Software
(Software Update System) - http://www.apple.com/macosx/upgrade/sof ... dates.html
· Para evitar acessos não autorizados à sua máquina, ative o firewall pessoal incluso. Se você
possui na sua máquina serviços autorizados rodando que necessitam de acesso externo,
certifique-se de permiti-los explicitamente.
· Existem disponíveis muitos guias excelentes para aumentar a segurança do Mac OS X. O CIS
Benchmark para Mac OS X enumera configurações de segurança úteis para aumentar a segurança
do Sistema Operacional. As ações sugeridas pelos documentos do CIS Level-1 benchmarks não
devem causar nenhuma interrupção nos serviços ou aplicações e são altamente recomendadas a
serem aplicadas no sistema. Também, o relatório Securing Mac OS X 10.4 Tiger examina as
funcionalidades e as configurações de segurança do Mac OS X.
top^
U1. Fraquezas de Configuração do UNIX
U1.1 Descrição
A maioria dos sistemas Unix/Linux inclui um número de serviços padrões em sua instalação original. Estes
serviços, mesmo que completamente atualizados, podem ser a causa de comprometimentos nãointencionais.
Administradores de segurança conscientes refinam os sistemas desligando serviços
desnecessários e/ou ativando um firewall em conexões com a Internet.
Por exemplo uma instalação padrão do Red Hat Enterprise Linux terá serviços como o cups (Common Unix
Printing System), portmap (RPC support), sendmail (Mail Transport Agent), e sshd (OpenSSH server) que
devem ser desativados se não forem necessários.
De particular interesse temos os ataques de força bruta contra acessos por comando de linha
como SSH, FTP, e telnet. Estes serviços são frequentemente alvos de ataques devido à prevalescência
deles para o acesso remoto. Entretanto, nos dois últimos anos um esforço conjunto tem sido feito pelos
atacantes para atacar com força bruta as senhas utilizadas nestas aplicações. De modo crescente, worms
e bots têm motores de ataques de força bruta contra senhas incluídas neles. Sistemas com senhas fracas
para contas de usuários são comprometidas rapidamente; a escalação de privilégios é utilizada
frequentemente para obter o acesso de root, e rootkits são instalados para ocultar o comprometimento. É
importante lembrar que ataques de força bruta podem ser usados como uma técnica para comprometer
mesmo um sistema completamente atualizado.
Administradores de segurança atentos utilizam SSH como seu método de acesso remoto interativo. Se a
versão do SSH é a atual e está completamente corrigida, o serviço é geralmente tido como seguro.
Entretanto, independente de quão atualizado e corrigido esteja, ele ainda pode ser comprometido via
ataques de força bruta capazes de adivinhar a senha. Para o SSH é recomendado utilizar o mecanismo de
autenticação por chave pública para impedir este tipo de ataque. Para outros serviços interativos, audite
as senhas para garantir que elas sejam de complexidade suficiente para resistir a ataques de força bruta.
U1.2 Versões Afetadas
Todas as versões de UNIX/Linux estão potencialmente em risco devido à configurações impróprias ou
padrão. Todas as versões de UNIX/Linux podem ser afetadas devido à contas possuindo senhas fracas ou
baseadas em palavras de dicionário para a autenticação.
U1.3 Como determinar se você está vulnerável
As instalações padrão (feitas tanto pelos fabricantes quanto por administradores) de sistemas operacionais
ou de softwares de rede podem habilitar uma vasta quantidade de serviços desnecessários e inúteis. Em
muitos casos, a incerteza sobre as necessidades de um sistema operacional ou uma aplicação leva muitos
fabricantes ou administradores a instalar todos os programas no caso deles serem necessários no futuro.
Isto simplifica significantemente o processo de instalação, mas também introduz uma grande variedade de
serviços não necessários e contas que possuem senhas padrão/fracas ou conhecidas.
O uso de um scanner de vulnerabilidades atualizado ou um scanner de portas pode ser altamente eficaz
no diagnóstico de quaisquer vulnerabilidades em potencial deixadas pelas instalações padrão, como
serviços e aplicações desnecessárias ou desatualizadas. Da mesma forma, uma ferramenta para quebrar
senhas pode ajudá-lo a evitar o uso de senhas fracas, o que dificultaria a adivinhação no caso de ataques
de força bruta em serviços remotos.
Atenção: Nunca execute uma ferramenta de quebra de senhas/scanner de vulnerabilidades mesmo em
sistemas nos quais você possui acesso root sem uma permissão explícita e preferencialmente por escrito
de seu empregador. Administradores com as intenções mais benevolentes possíveis têm sido demitidos por
utilizar ferramentas de quebra de senhas sem a devida autorização para fazê-lo.
U1.4 Como se Proteger Contra Estas Vulnerabilidades
Serviços Desnecessários
· Verifique o servidor com um scanner de portas ou ferramenta de análise de vulnerabilidades para
determinar quais serviços desnecessários estão rodando no sistema. Desabilite os serviços que
não são cruciais às aplicações necessárias.
· Instale regularmente as correções de segurança mais recentes do fabricante para mitigar as
vulnerabilidades em serviços expostos. O gerenciamento da aplicação de correções é uma parte
crítica do processo de gerenciamento de riscos.
· Utilize as avaliações do "The Center for Internet Security" presentes em www.cisecurity.org para
seu SO e serviços que você utiliza. Também considere a utilização do Bastille presente em
www.bastille-linux.org para refinar a segurança de hosts baseados em Linux e HP-UX.
· Considere a troca da porta padrão de serviços quando possível. Scanners automáticos tendem a
varrer somente as portas padrão.
· Utilize um firewall por hardware ou software para proteger serviços necessários.
· Garanta que os serviços estão protegidos por mecanismos de segurança fornecidos pelo
fabricante (por exemplo SELinux ou a aleatoriedade do espaço de endereçamento).
Ataques de Força Bruta
· Não utilize senhas padrão em nenhuma conta.
· Imponha uma política de senhas fortes. Não permita senhas fracas ou senhas baseadas em
palavras encontradas em dicionários.
· Audite para garantir que sua política de senhas está sendo seguida.
· Limite o número de falhas de tentativas de login aos serviços expostos.
· Limite as contas que podem registrar-se através da rede; a conta de root não deve ser uma
delas.
· Empregue as regras do firewall de forma a limitar as origens de logins remotos.
· Proíba contas compartilhadas e não utilize nomes genéricos em contas, como tester, guest,
sysadmin, admin, etc.
· Registre as falhas nas tentativas de login. Um grande número de falhas no login em um sistema
pode requerer uma checagem futura, para analisar se o sistema foi comprometido.
· Considere a utilização de autenticação baseada em certificados.
· Se seu sistema UNIX permite a utilização de módulos de autenticação PAM, implemente estes
módulos de forma a checar a qualidade das senhas.
· Filtre através do firewall serviços que não necessitem de acesso à Internet.
U1.5 Referências
Ataques de Força Bruta contra SSH e Contramedidas
· http://isc.sans.org/diary.php?storyid=1541
· http://isc.sans.org/diary.php?storyid=1491
· http://isc.sans.org/diary.php?date=2006-08-01
· http://searchsecurity.techtarget.com/or ... 40,00.html
Fontes Diversas de Segurança em UNIX
· http://www.cisecurity.org
· http://www.bastille-linux.org
· http://www.puschitz.com/SecuringLinux.shtml
top^
C1 Aplicações Web
C1.1 Descrição
Aplicações como Sistemas de Gerenciamento de Conteúdo (CMS), Wikis, Portais, Bulletin Boards e fóruns
de discussão estão sendo utilizados por organizações de grande e pequeno porte. Toda semana, centenas
de vulnerabilidades nestas aplicações estão sendo reportadas, e estão sendo continuamente exploradas. O
número diário de tentativas de ataques em alguns dos grandes centros de hospedagem alcança
de centenas de milhares até milhões de ataques.
Todos os pacotes de ferramentas de desenvolvimento para web (PHP, .NET, J2EE, Ruby on Rails,
ColdFusion, Perl, etc) e todos os tipos de aplicações web possuem o risco de falhas de segurança nas
aplicações, que vão desde a validação insuficiente até erros lógicos na aplicação. As vulnerabilidades mais
exploradas são:
· Inclusão remota de arquivos em PHP: O PHP é a linguagem de aplicação e base de
desenvolvimento mais utilizada na web atualmente. Por padrão, o PHP permite às funções de
arquivos acessarem recursos na Internet através da funcionalidade chamada "allow_url_fopen".
Quando os scripts em PHP permitem aos usuários entrarem com dados que modifiquem nomes de
arquivos, podemos ter como resultado a inclusão remota de arquivos. Este ataque permite (mas
não é limitado) a :
o Execução remota de código
o Instalação remota de rootkits
o Em Windows, o comprometimento interno do sistema pode ser possível através do uso
de arquivos de wrapper SMB do PHP.
· SQL Injection: Inserções de código, particularmente de códigos SQL, são muito comuns em
aplicações web. As inserções são possíveis devido à mistura de dados fornecidos pelo usuário
dentro de consultas dinâmicas ou dentro de procedimentos de armazenamento construídos de
forma simplista. As inserções de código SQL permitem aos atacantes:
o Criar, ler, atualizar ou apagar qualquer dado arbitrário disponível à aplicação
o No pior cenário, comprometer completamente o sistema de banco de dados e os
sistemas próximos a ele
· Cross-Site Scripting (XSS): Cross site scripting, também conhecido como XSS, é a falha de
segurança mais nociva e facilmente encontrada em aplicações web. O XSS permite aos atacante
desfigurarem páginas web, inserirem conteúdo hostil, executarem ataques de phishing, obterem
o controle sobre o navegador do usuário através de códigos maliciosos escritos em JavaScript, e
forçar os usuários a executar comandos que eles não solicitaram - um ataque conhecido como
cross-site request forgeries, também conhecido como CSRF.
· Cross-site request forgeries (CSRF): O ataque por CSRF obriga usuários legítimos a executarem
comandos sem seu consentimento. A prevenção contra este tipo de ataque é extremamente
difícil de ocorrer, a menos que a aplicação esteja livre de vetores de cross-site scripting,
incluindo inserções DOM (DOM injections). Com o aumento de técnicas Ajax, e um melhor
conhecimento de como explorar corretamente os ataques XSS, os ataques por CSRF estão se
tornando extremamente sofisticados, tanto em um ataque individual como em um worm
automatizado, como o Samy MySpace Worm.
· Directory Traversal: Directory traversal (acesso a arquivos através de ".." ou muitas variantes
codificadas) permite aos atacantes acessarem recursos controlados, como arquivos de senhas,
arquivos de configuração, credenciais a bancos de dados ou outros arquivos da escolha do
atacante.
C1.2 Como Determinar se Você Está em Risco
Ferramentas de scan de páginas web podem ajudá-lo a encontrar estas vulnerabilidades, particularmente
se elas possuem erros conhecidos. Entretanto, para encontrar todas as potenciais vulnerabilidades é
necessário proceder com uma revisão no código fonte. Isto deve ser realizado pelos desenvolvedores
anteriormente ao lançamento do produto.
Inspecione a configuração de sua base de desenvolvimento web e refine-a apropriadamente.
Os administradores de sistemas devem considerar a execução de análises (scans) periódicas em seus
servidores web com ferramentas de análise de vulnerabilidades, particularmente caso eles executem uma
grande diversidade de scripts fornecidos por usuários, como uma empresa de hospedagem. É impraticável
aos administradores de sistemas executarem testes de penetração detalhados.
C1.3 Como Proteger-se contra Vulnerabilidades em Aplicações Web
Da perspectiva de administradores de sistemas PHP e da hospedagem:
· Atualize para o PHP 5.2 pois ele elimina muitas das falhas de segurança latentes do PHP e
permite APIs mais seguras, como a PDO
· Sempre teste e instale as correções e novas versões do PHP conforme forem sendo lançadas
· A freqüente auditoria em servidores web é recomendada em ambientes nos quais uma grande
quantidade de aplicações PHP estão em uso
· Considere a utilização das seguinte configuração para o PHP:
o register_globals (deve estar como off, vai gerar falhas em aplicativos inseguros)
o allow_url_fopen (deve estar como off, vai gerar falhas em aplicativos que necessitam
desta funcionalidade, mas vai proteger contra um vetor de exploração bastante ativo)
o magic_quotes_gpc (deve estar como off, vai gerar falhas em aplicativos inseguros mais
antigos)
o open_basedir (deve estar ativo e corretamente configurado)
o Consifdere a utilização de funcionalidades que permitam a execução com menores
privilégios como PHPsuexec ou suPHP
o Considere a utilização do Suhosin para controlar o ambiente de execução de scripts em
PHP
· Utilize Sistemas de Detecção/Prevenção de Intrusão para bloquear/alertar no caso de
solicitações HTTP maliciosas. Considere a utilização do mod_security do PHP para bloquear
ataques conhecidos contra o PHP
· Como último recurso, considere a proibição de aplicativos que possuam histórico de exploração
em curso, e reduza o tempo de resposta para a correção de falhas de segurança.
Da perspectiva do desenvolvedor:
· Se você utiliza PHP, migre sua aplicação para PHP 5.2 em caráter de urgência.
· Para evitar os problemas na codificação acima descritos:
o Desenvolva com a última versão do PHP e com uma configuração reforçada (veja acima)
o Valide todas as entradas de dados apropriadamente
o Codifique todas as saídas de dados utilizando htmlentities() ou um mecanismo similar
para evitar ataques de XSS
o Migre sua camada de dados (data layer) para PDO - não utilize a velha forma com
funções mysql_*() que são consideradas falhas
o Não utilize dados fornecidos por usuários em funções de arquivos para evitar ataques
de inclusão remota de arquivos
· Afilie-se a organizações com fins de codificação segura, como a OWASP (veja referências) para
melhorar sua técnica e aprender sobre programação segura
· Teste seus aplicativos utilizando o "OWASP Testing Guide" com ferramentas como WebScarab,
Firefox's Web Developer Toolbar, Greasemonkey e o XSS Assistant
C1.4 Referências
OWASP - Open Web Application Security Project
http://www.owasp.org
OWASP Testing Guide
http://www.owasp.org/index.php/OWASP_Te ... f_Contents
OWASP Guide - a compendium of secure coding
http://www.owasp.org/index.php/Category ... de_Project
OWASP Top 10 - Top 10 web application security weaknesses
http://www.owasp.org/index.php/Category ... en_Project
Suhosin, a Hardened PHP project to control the execution environment of PHP applications
http://www.hardened-php.net/suhosin/
PHP Security Features
http://php.net/features.safe-mode
top^
C2. Software de Bases de Dados
C2.1 Descrição
Bases de dados são um elemento chave em muitos sistemas de armazenagem, procura ou manipulação de
grandes quantidades de dados. Elas são encontradas em praticamente todos os segmentos de negócios,
finanças, bancos, relacionamento com clientes e aplicações de monitoração de sistemas.
Devido ao valor da informação que elas armazenam como dados pessoais ou financeiros, as bases de dados
são frequentemente alvos de ataque e são de interesse peculiar aos ladrões de identidade. Os sistemas de
banco de dados são frequentemente bastante complexos, combinando a base de dados com um conjunto
de aplicações; algumas fornecidas pelo fabricante da base de dados, outras escritas pela própria equipe
(como aplicações web). Uma falha em qualquer um destes componentes pode comprometer todos os
dados armazenados. As vulnerabilidades mais comuns em sistemas de bancos de dados podem ser
classificadas como:
· O uso de configurações padrão com nomes de usuários e senha padrão
· Buffer overflows em processos que escutam portas TCP/UDP bem conhecidas.
· SQL Injection via ferramentas da própria base de dados ou por personalizações na interface web
inseridas pelos próprios usuários.
· Uso de senhas fracas em contas privilegiadas.
Existem muitos diferentes sistemas de bases de dados disponíveis. Alguns dos mais comuns são Microsoft
SQL Server (proprietário, roda em Windows), Oracle (proprietário, roda em diversas plataformas), IBM DB2
e IBM Informix (ambos proprietários, rodam em diversas plataformas), Sybase (proprietário, roda em
diversas plataformas), MySQL e PostgreSQL (ambos de código aberto e disponíveis para diversas
plataformas).
Todas os sistemas de banco de dados relacionais modernos são endereçáveis através de portas, o que
significa que qualquer pessoa com ferramentas de consultas em bancos prontas pode tentar se conectar
diretamente à base de dados, transpondo os mecanismos de segurança utilizados pelo sistema
operacional. As conexões padrão frequentemente utilizadas são: Microsoft SQL via TCP porta 1433 e UDP
porta 1434, Oracle via TCP porta 1521, IBM DB2 via portas 523 e da 50000 em diante, IBM Informix via TCP
portas 9088 e 9099, MySQL via TCP porta 3306, e PostgreSQL via TCP porta 5432.
Exploits na forma Prova de Conceito (Proof of concept) para muitas falhas em bases de dados são
rapidamente disponibilizados na Internet. Devido às conexões de rede que eles permitem, os bancos de
dados podem sofrer com worms. O mais infâme destes foi o SQL Slammer worm, em 2003. Em 2005 vimos
a aparição do primeiro worm para Oracle: "Voyager". Enquanto este não trazia uma carga capaz de causar
muitos danos, ele demonstrou o que poderia ser feito caso uma base de dados Oracle não estivesse
protegida.
Além do relato das vulnerabilidades específicas mencionadas aqui, os administradores preocupados com a
segurança dos banco de dados deveriam considerar:
· O impacto de padrões como o Payment Card Industry Data Security Standard que pode exigir a
encriptação de algumas informações, como números de cartões de crédito.
· Os riscos de transferir grandes quantidades de dados em equipamentos móveis: no último ano
houve inúmeros casos de dados pessoais sendo perdidos devido ao roubo de laptops.
C2.2 Sistemas Operacionais Afetados
A maioria das bases de dados, comerciais e de código aberto, rodam em plataformas múltiplas. As falhas
se aplicam a todas as plataformas suportadas.
C2.3 Entradas CVE
Estes são os indicadores divulgados desde Outubro de 2005. Vulnerabilidades anteriores podem ser
encontradas em edições anteriores das listas de vulnerabilidades do SANS. Em muitos casos os problemas
notificados não são falhas nos bancos de dados propriamente ditos, mas em aplicações desenvolvidas ao
seu redor, por exemplo, inserção de código SQL em interfaces web; estes não foram incluídos aqui.
Oracle
CVE-2005-3641, CVE-2006-0256, CVE-2006-0257, CVE-2006-0258, CVE-2006-0259, CVE-2006-0260,
CVE-2006-0261, CVE-2006-0262, CVE-2006-0263, CVE-2006-0265, CVE-2006-0266, CVE-2006-0267,
CVE-2006-0268, CVE-2006-0269, CVE-2006-0270, CVE-2006-0271, CVE-2006-0272, CVE-2006-0282,
CVE-2006-0283, CVE-2006-0285, CVE-2006-0286, CVE-2006-0287, CVE-2006-0290, CVE-2006-0291,
CVE-2006-0435, CVE-2006-0547, CVE-2006-0548, CVE-2006-0549, CVE-2006-0551, CVE-2006-0552,
CVE-2006-0586, CVE-2006-1868, CVE-2006-1871, CVE-2006-1872, CVE-2006-1873, CVE-2006-1874,
CVE-2006-3698.
Note: Esta lista se baseia nos programas base da base de dados Oracle. Existem vulnerabilidades
em outras aplicações que são parte do pacote Oracle. A Oracle divulga quadrimestralmente
Atualizações com Correções Críticas (Critical Patch Updates - CPU) cobrindo um grande número
de falhas nas bases de dados e aplicações associadas. A recomendação padrão é trabalhar com
estas CPUs. Devido à maneira como a Oracle divulga as informações durante este período de
notificações, muitos indicadores CVE podem estar relacionados a um mesmo problema.
MySQL
CVE-2006-2753.
PostgreSQL
CVE-2006-2313, CVE-2006-2314.
IBM DB2
CVE-2005-3643, CVE-2005-4737.
IBM Informix
CVE-2005-3642, CVE-2006-3854, CVE-2006-3860, CVE-2006-3862.
Microsoft SQL Server
Nenhum indicador durante o período deste relatório.
Sybase
Nenhum indicador durante o período deste relatório.
C2.4 Como Determinar se Você Está Vulnerável
Uma verificação simples, com listas das aplicações que você possui instaladas mantida manualmente não
é suficiente! Como os bancos de dados são frequentemente distribuídos como componentes parte de
outras aplicações, é possível que uma base de dados tenha sido instalada sem mesmo os administradores o
perceberem. Além disso, os bancos de dados podem permanecer desatualizados ou com configurações
padrão vulneráveis. Isto foi graficamente demonstrado quando o worm SQL Slammer atacou o Microsoft
Data Access Component (MDAC), que é incluído em muitas aplicações.
Execute uma varredura em busca de vulnerabilidades nos sistemas para determinar qual o Sistema de
Gerenciamento de Banco de Dados (DBMS) está instalado, é acessível e está vulnerável. Você pode utilizar
scanners comuns de vulnerabilidades ou ferramentas distribuídas por fabricantes como MySQL Network
Scanner, Microsoft SQL server tool. O Microsoft Baseline Security Analyzer é também para ser utilizado no
Microsoft SQL Server.
C2.5 Como se Proteger Contra Vulnerabilidades em Bancos de Dados
· Certifique-se que todos os Sistemas de Gerenciamento de Banco de Dados (DBMS) estão
atualizados. Versões não corrigidas ou desatualizadas costumam possuir vulnerabilidades.
Consulte o website dos fabricantes em busca de informações para a correção dos sistemas.
Mantenha-se a par das vulnerabilidades e alertas anunciados pelos fabricantes:
o alertas de Segurança da Oracle
(http://www.oracle.com/technology/deploy ... alerts.htm )
o MySQL (http://lists.mysql.com/)
o PostgreSQL (http://www.postgresql.org/support/security)
o Microsoft SQL (http://www.microsoft.com/technet/securi ... otify.mspx)
o IBM DB2 (http://www-306.ibm.com/software/data/db2/udb/support/)
o IBM Informix (http://www-1.ibm.com/support/docview.ws ... wg24009130)
· Certifique-se que todos os DBMS e aplicações estão seguras:
o Remova/modifique as senhas padrão das contas privilegiadas do banco de dados e do
sistema antes de colocar o sistema na rede. Listas das contas padrão estão prontamente
disponíveis na Internet.
o Utilize os mínimos privilégios possíveis.
o Utilize os procedimentos existentes (stored procedures) onde for possível.
o Remova/desabilite os procedimentos existentes (stored procedures) desnecessários.
o Configure o comprimento limite de quaisquer campos de formulários.
o Veja a seção de referências abaixo que traz diversas fontes úteis para auxiliá-lo na
segurança do DBMS.
· Utilize firewall ou outro equipamento de segurança de rede para restringir o acesso através da
rede às portas associadas a estes serviços das bases de dados.
· Não confie nas entradas de dados de usuários! Garanta que as aplicações que utilizam o banco de
dados tratem todas as entradas de usuários no lado do servidor, para evitar ataques como a
inserção de código SQL (SQL injection) (veja
http://www.sans.org/rr/whitepapers/securecode/23.php)
C2.6 Referências
Fontes genéricas e de diversas bases de dados
· Artigos do SANS reading room sobre segurança em bases de dados:
http://www.sans.org/rr/catindex.php?cat_id=3
· DoD database security technical implementation guide: http://iase.disa.mil/stigs/stig/databasestig-
v7r2.pdf
· http://www.databasesecurity.com/
Oracle
· Checklist de Segurança abrangente do SANS para Oracle:
http://www.sans.org/score/oraclechecklist.php
· https://store.sans.org/store_item.php?item=80
· http://www.oracle.com/technology/deploy ... database.p
df
· CIS benchmark tool: http://www.cisecurity.org/bench_oracle.html
· http://www.petefinnigan.com/orasec.htm
· http://otn.oracle.com/deploy/security/index.html
· http://www.red-database-security.com
MySQL
· SecurityFocus step-by-step guide to securing MySQL:
http://www.securityfocus.com/infocus/1726
· http://dev.mysql.com/doc/mysql/en/Security.html
PostgreSQL Security Guide
· http://www.postgresql.org/support/security
· http://www.postgresql.org/docs/techdocs.53
Microsoft SQL Security
· http://www.microsoft.com/sql/techinfo/a ... fault.mspx
· http://www.sqlsecurity.com/
· CIS SQL Server Benchmark Tool: http://www.cisecurity.org/bench_sqlserver.html
IBM DB2
· http://www.net-security.org/dl/articles ... BM_DB2.pdf
IBM Informix
· http://www.databasesecurity.com/informix.htm
· http://publib.boulder.ibm.com/infocente ... dmin.doc/a
dmin197.htm
Sybase
· Guide to Sybase security: http://www.niiconsulting.com/innovation/Sybase.pdf
top^
C3. Aplicações de Compartilhamento de Arquivos P2P
C3.1 Descrição
Redes Peer to Peer (P2P) consiste em coleções dos computadores ou "nós" que funcionam
simultaneamente como "clientes" e "usuários" para conseguir uma finalidade comum. Os nós podem trocar
dados, compartilhar recursos, fornecer serviços de diretórios, suportar comunicações e fornecer
ferramentas de colaboração em tempo real.
Um número de arquiteturas do controle e comunicação são utilizadas. Servidores indexadores
centralizados podem fornecer serviços de diretório para a disponibilidade de dados e de serviços. Em
redes inteiramente distribuídas cada nó ajuda com os serviços de indexação e de diretório e é
inteiramente equivalente. As arquiteturas hibridas combinam as características de ambos para diferentes
graus e grupos dos nós podem eleger/promover determinados nós para agir como servidores regionais de
indexação/diretório.
Muitas aplicações legítimas utilizam P2P. Empresas de Software, incluindo Microsoft e Sun, fornecem uma
variedade das ferramentas e incentivam o desenvolvimento de aplicações P2P. Entretanto, como toda a
ferramenta de transferência de dados, as aplicações P2P podem ser empregadas mal ou explorado para
compartilhar ilegal do material proprietário, para obter dados confidenciais, expor usuários a pornografia
não desejada, violência ou propaganda, para distribuir e executar malware (vírus, spyware, bots, etc.),
para sobrecarregar a rede, encontrar dados de uso e comportamento e controlar bots, que podem criar
uma responsabilidade legal. A responsabilidade e o processo legal não podem ser limitados ao perpetrador
e podem ser estendidos ao patrocinador da rede, apoiadores ou membros.
As próprias redes P2P podem ser atacadas modificando arquivos legítimos com malware, espa
<b>O forum é seu, use-o á vontade !

[A prova que existe vida inteligente fora da Terra, é que eles não entraram em contato conosco]

[O único lugar que o sucesso vem antes do trabalho é no dicionário]</b>
User avatar
xchanger
Site Admin
 
Posts: 348
Joined: 25 Dec 2006 21:56
Location: ??!!

Return to Segurança na Web





cron