Tag Archive: Application Security


Spring-Security-logo

… surge mais um “bug-manhoso“! – categoria de bugs em que incluo também os famigerados ponto e vírgulas e outros elementos “insignificantes” que dão-nos algumas dores de cabeça quando esquecidos algures no emaranhado de códigos.

Neste cenário, o nosso “bug-manhoso” é alimentado pelo Mau Mapeamento das Portas no ficheiro de configuração do applicationContext.xml, impossibilitando o correcto funcionamento da framework de segurança Spring Security 3.1.4 em uso numa aplicação web Java.

Este problema é impulsionado pelo facto de que com alguma frequência  nos  desleixamos e confiamos nas configurações default que acompanham muitos dos  recursos usados nos nossos ambientes.

Server Tree

A configuração em questão é a do servidor de aplicação Glassfish que corre por default nas portas 8080 e 8181 (http e https, respectivamente). Quando os condicionalismos obrigam, o funcionamento em simultâneo de vários servidores só é possível efectuando a alteração das portas default, usando por exemplo as portas 14798 e 14799.

Caso esta alteração não seja acompanhada das devidas alterações subsequentes, poderá provocar um mau funcionamento do Spring Security.

Em dias de sorte, esta falha é alertada pela exibição da mensagem no browser: “Está página Web tem um ciclo de redireccionamento“, com o código de erro: ERR_TOO_MANY_REDIRECTS.

1

Podendo também ser menos explícita tal como apresentado no screenshot abaixo, lançando a excepção com.sun.faces.context.FacesFileNotFoundException e duplicando o nome do sistema na URL.

main

Como Resolução, deve-se alterar as definições de mapeamento de portas no ficheiro applicationContext.xml actualizando para os novos valores dos atributos http e https da tag port-mapping.

applicationContext

portas

24

E foi com este tema que marquei ontem a minha estreia, em modo Speedy Gonzalez :D, nas sessões de apresentações do CAST – Comunidade Angolana de Segurança e Tecnologia.

Com casa cheia, foi bastante gratificante podermos observar o intercâmbio de conhecimento e experiências entre os profissionais da área e os estudantes universitários que pela primeira vez fizeram-se representar em bom número, o que com certeza deixou satisfeito os que têm acompanhado de perto a caminhada da comunidade.

O pontapé de saída foi dado por Sérgio Cruz que dissertou sobre “Sistemas Integrados de Gestão Empresarial“, cobrindo os pontos anunciados por altura do lançamento do evento, tais como a importância, factores de decisão técnica e as razões técnicas em que baseou a sua opção. Em jeito de conselho, foi passando informações que considera cruciais para que um processo de adopção de um ERP finalize com sucesso.

Na sequência, coloquei as vestes de evangelizador de segurança, convidando os participantes a uma viagem ao passado, levando-os a compreender a presente necessidade de consciencialização para a adopção de práticas seguras de Engenharia de Software e de Gestão de Projectos de Software nos processos de desenvolvimento e/ou aquisição de soluções. Com certeza, a ocasião proporcionou também a oportunidade para dar a conhecer conceitos pouco disseminados como Software Assurance, ciclo de vida de desenvolvimento de software seguropráticas de segurança, entre outros, relacionados à Segurança em TI.

Para obter mais informações como as apresentações deste e outros eventos passados, é só visitar a página do CAST em www.cast.co.ao e, aproveitando a visitinha, cadastrar-se, abraçando assim a causa. 😉

24

Será amanhã, quinta-feira 30 de Maio, a partir das 18h30, que decorrerá mais um Encontro CAST onde profissionais e entusiastas das Tecnologias de Informação partilham seus conhecimentos e experiências, com ênfase para os assuntos relacionados à Segurança.

Desta vez estarei na linha da frente com a apresentação intitulada “Segurança de SoftwareUm olhar para além das linhas de código!”, que terá na sua essência a consciencialização sobre a necessidade da adopção de práticas seguras de Engenharia de Software e de Gestão de Projectos de Software nos processos de desenvolvimento e/ou aquisição de soluções.

Comigo também estará Sérgio Cruz, Gestor de Projectos ERP, Consultor/Programador Sénior PHC Enterprise e SQL Server Database Administrator, dissertando sobre “Sistemas Integrados de Gestão Empresarial“, com tópicos que evidenciarão a sua Importância, factores de decisão técnica, razões técnicas que baseiam a sua opção, entre outros.

Local: Integrated Solutions, Bairro Azul. Clique para conhecer o local

Caso ainda não saiba, recomendo: 5 razões para estar presente num encontro do CAST

A PARTICIPAÇÃO É TOTALMENTE GRÁTIS!

P.S: Coffee Break por conta da casa, uma oferta da Integrated Solutions!

Security is the Word!!!

For your business’ safety! 😉

Em finais de Agosto foram anunciadas vulnerabilidades no Java SE (CVE-2012-4681) que podem afectar os utilizadores via navegadores de Internet (web browsers), permitindo a terceiros com intenções maliciosas de executar código arbitrário no sistema do utilizador, sem a necessidade de autenticação (um nome de utilizador e/ou senha).

Estas vulnerabilidades são exploradas com êxito, quando um utilizador desavisado, executando em um navegador uma versão Java afectada, visita uma página web maliciosa que aproveita estas vulnerabilidades. Um ataque bem sucedido pode afectar a disponibilidade, integridade e confidencialidade do sistema do utilizador.

Versões afectadas

JDK e JRE 7 Update 6 e anteriores
JDK e JRE 6 Update 34 e anteriores

A Actualização

Em resposta, a Oracle disponibilizou no dia 30 de Agosto as actualizações que corrigem as vulnerabilidades anunciadas.

Aos utilizadores comum que executam o Java SE com um navegador, aconselha-se a efectuarem o download das actualizações do JRE 7 em http://java.com/ e, a posterior, prosseguirem com o processo de instalação.

Para os utilizadores avançados e desenvolvedores, inicialmente, se necessário, poderão verificar a versão do Java instalado nos seus computadores visitando a página http://www.java.com/en/download/installed.jsp.

De seguida, poderão efectuar o download do Java SE 7 update 7 ou 6 update 35, escolhendo os links para os respectivos JDK e JRE em http://www.oracle.com/technetwork/java/javaso/downloads/index.html.

.

Relatório sobre o Estado da Segurança nos Softwares elaborado pela Veracode.

State of Software Security (SOSS) - Veracode

Open Web Application Security Project (OWASP) é uma comunidade aberta dedicada a capacitar as organizações para conceberem, desenvolverem, adquirirem, operarem e manterem aplicações confiáveis.

A comunidade OWASP inclui corporações, organizações educacionais e indivíduos de todo o mundo que trabalham na criação de artigos, metodologias, documentação, ferramentas e tecnologias disponíveis de forma livre e aberta.

Nesta senda, o OWASP Top Ten Project produz anualmente o  OWASP Top Ten, um documento onde são descritas as vulnerabilidades mais críticas identificadas com frequência nas aplicações web, orientando-nos como encontrá-las e o que fazer para protegermo-nos delas.

No Top 10 de 2010 foram contempladas as seguintes ameaças:

1 – Injecção

As falhas de injecção, tais como injecção de SQL, de S.O. e de LDAP, ocorrem quando dados não confiáveis são enviados para um interpretador como parte de um comando ou consulta. Os dados do ataque hostil pode iludir o interpretador para que este possa executar comandos não desejáveis ou aceder a dados não autorizados.

2 – Cross Site Scripting (XSS)

As falhas XSS ocorrem sempre quando uma aplicação recebe dados não confiáveis e os envia para um navegador Web sem que os tenha validado ou …filtrado convenientemente. O XSS permite aos atacantes a execução de scripts no navegador da vítima que podem ser usados para sequestrar informações da sessão do utilizador, alterar sítios de Web de forma perniciosa ou redireccionar o utilizador para sítios maliciosos.

3 – Quebra da Autenticação e da Gestão de Sessões

 As funções de uma aplicação relacionadas com autenticação e gestão de sessões são muitas vezes implementadas de forma incorrecta, permitindo aos atacantes o  de senhas, chaves, identificadores de sessão ou, ainda, explorar outras de implementação para assumirem a identidade de outro utilizador.

4 – Referência Insegura e Directa a Objectos

Uma referência directa a um objecto ocorre quando um programador expõe uma referência para um objecto interno da implementação, como um …ficheiro, uma directoria ou chave de uma base de dados. Sem uma verificação de controlo de acesso ou outra protecção semelhante, os atacantes podem manipular estas referência para acederem a informação não autorizada.

5 – Cross Site Request Forgery (CSRF)

 Um ataque CSRF força o navegador de uma vítima que tenha uma sessão activa a enviar um pedido HTTP forjado, o cookie da sessão bem como outras da sessão como informação de autenticação para uma aplicação Web. Esta falha permite ao atacante forçar o navegador da vítima gerar requisições que a aplicação vulnerável aceite como pedidos legítimos oriundos da vítima.

6 – Configuração Incorrecta de Segurança

A segurança depende também da existência de configurações seguras específicas definidas e usadas na aplicação, frameworks, servidor aplicacional, servidor de Web. Todas estas configurações devem ser definidas, implementadas e mantidas por que muitas vezes elas não vêm aplicadas directamente do fornecedor das mesmas. Isto inclui igualmente possuir todo o software actualizado, incluindo todas as bibliotecas de código usadas pela aplicação.

7 – Armazenamento Criptográfico Inseguro

Muitas aplicações Web não protegem devidamente dados sensíveis, tais como cartões de créditos, SSNs e credenciais de autenticação com algoritmos de cifra ou de resumo. Os atacantes podem roubar ou modificar estes dados, protegidos de forma deficiente, para realizar roubos de identidade, fraude com cartões de crédito ou outros crimes.

8 – Falha na Restrição de Acesso a URL

Muitas aplicações Web verificam os direitos de acesso a uma URL antes de mostrarem ligações e botões protegidos. No entanto, as aplicações devem realizar verificações de controlos de acesso semelhantes de cada vez que estas páginas são acedidas, caso contrário, os atacantes podem forjar URLs e aceder a estas páginas escondidas, sem qualquer controlo.

9 – Insuficiente Protecção ao Nível do Transporte

As aplicações falham frequentemente na autenticação, cifra, e protecção da confidencialidade e integridade do tráfego de rede sensível. Quando o fazem, fazem-no muitas vezes com recurso a algoritmos fracos, usam certificados inválidos ou expirados, ou não os usam correctamente.

10 – Redireccionamentos e Encaminhamentos Inválidos

As aplicações Web redireccionam e encaminham frequentemente utilizadores para outras páginas e sítios de Web, e usam dados não confiáveis para determinar  as páginas de destino. Sem uma validação adequada, os atacantes podem redireccionar as vítimas para sítios de phishing ou de malware, ou usar o encaminhamento para aceder a páginas não autorizadas.

Baixar o Documento Oficial