Comentário: Você também deve prestar atenção aos problemas de segurança no HTML5
Especialistas em segurança de aplicativos dizem que o HTML5 apresenta novos desafios de segurança para os desenvolvedores.A guerra de palavras entre Apple e Adobe traz muitas especulações sobre o destino do HTML 5. Embora a implementação do HTML 5 ainda tenha um longo caminho a percorrer, uma coisa é certa que os desenvolvedores que usam o HTML 5 precisarão implantar novos recursos de segurança para o ciclo de vida do desenvolvimento de segurança do aplicativo para lidar com os desafios de segurança trazidos pelo HTML 5.
Então, que impacto o HTML5 terá na superfície de ataque que precisamos cobrir? Este artigo discutirá várias questões importantes de segurança sobre o HTML 5.
Armazenamento do cliente
As versões anteriores do HTML só permitiram que os sites armazenassem cookies como informações locais, que são relativamente pequenas e apenas adequadas para armazenar informações simples de arquivo ou como identificadores para dados armazenados em outros lugares (como ID da sessão), disse Dan Cornell, diretor da divisão de pesquisa de segurança de aplicativos do grupo jeans. No entanto, o HTML5 LocalStorage permite que o navegador armazene um grande número de bancos de dados localmente, permitindo que novos tipos de aplicativos sejam usados.
O risco de que dados sensíveis possam ser armazenados na estação de trabalho do usuário local e os invasores que acordam ou comprometem fisicamente a estação de trabalho pode obter facilmente dados confidenciais, o que Cornell disse ser ainda mais perigoso para os usuários que usam computadores compartilhados.
Por definição, ele realmente pode armazenar informações sobre o sistema de clientes, disse Josh Abraham, pesquisador de segurança da Rapid7. Em seguida, você tem a capacidade potencial de usar um ataque de injeção de SQL baseado em cliente, ou talvez um dos bancos de dados do seu cliente seja malicioso e, quando sincronizado com o sistema de produção, pode haver problemas de sincronização ou os possíveis dados maliciosos do cliente serão inseridos no sistema de produção.
Para resolver esse problema, os desenvolvedores precisam poder verificar se os dados são maliciosos, o que é realmente um problema muito complicado.
Nem todo mundo concorda com a importância desta questão. O diretor de tecnologia da Veracode, Chris Wysopal, disse que, por exemplo, sempre houve muitas maneiras de armazenar clientes de dados usando plug-ins ou extensões de navegador.
Existem muitos métodos conhecidos para manipular as propriedades HTML5 SessionStorage atualmente implantadas, mas esse problema só será resolvido quando o padrão for finalizado, disse Wysopal.
Comunicação entre domínios
Outras versões do HTML podem permitir diretamente que o JavaScript emita solicitações XML HTTP para ligar de volta ao servidor original, enquanto o HTML5 relaxa esse limite e as solicitações HTTP XML podem ser enviadas para qualquer servidor que permita essas solicitações. Obviamente, se o servidor não estiver confiável, isso também pode trazer sérios problemas de segurança.
Por exemplo, posso criar um mashup (combinação, mesclar mais de dois aplicativos da Web usando bancos de dados públicos ou privados para formar um aplicativo integrado) para obter as pontuações de sites de terceiros através do JSON (JavaScript Object Notation). Cornell disse que este site pode enviar dados maliciosos para o aplicativo em execução no navegador do meu usuário. Embora o HTML5 permita o estabelecimento de novos tipos de aplicativos, se os desenvolvedores não entenderem o significado da segurança dos aplicativos que eles criaram quando começarem a usar essas funções, ele trará grandes riscos de segurança para os usuários.
Para os desenvolvedores que dependem do PostMessage () para escrever aplicativos, eles devem verificar cuidadosamente para garantir que as informações sejam de seu próprio site; caso contrário, o código malicioso de outros sites poderia criar informações maliciosas, acrescentou Wysopal. Esse recurso em si não é seguro e os desenvolvedores começaram a usar diferentes recursos DOM (Modelo de Objeto de Documento)/navegador para imitar a comunicação entre domínios.
Outra questão relacionada é que a World Wide Web Alliance atualmente fornece uma maneira de usar os mecanismos cruzados-originais para ignorar políticas homólogas para o design de compartilhamento de recursos originais.
O IE implantações possui diferentes recursos de segurança do Firefox, Chrome e Safari, e ele observa que os desenvolvedores precisam garantir que eles criem listas de controle de acesso muito soltas com os perigos de serem muito soltos, especialmente porque algum código de referência é atualmente muito inseguro.
Segurança iframe
Do ponto de vista da segurança, o HTML5 também possui bons recursos, como as propriedades da Sandbox que planejam suportar o IFRAMES.
Essa propriedade permitirá que os desenvolvedores escolham como os dados são interpretados, disse Wysopal, infelizmente, como a maioria dos HTML, o design provavelmente será mal interpretado pelos desenvolvedores e provavelmente será desativado pelos desenvolvedores, porque é inconveniente de usar. Se tratado corretamente, esse recurso ajudará a se defender contra anúncios de terceiros maliciosos ou impedirá que o conteúdo não confiável seja reproduzido.