Cada tecnologia acima descrita possui problemas de segurança, sendo através deles que os ataques praticados através de conteúdos executáveis são possíveis. Os principais problemas e suas características estão explicadas a seguir
3.1 Linguagem Java
A linguagem Java foi construída para tentar garantir, através da SandBox, que um Applet hostil não provoque qualquer alteração no ambiente onde está sendo executado, pois foram impostos um conjunto de limitações e regras para a sua execução, assim sendo, se um Applet for recebido através de uma rede, seja ela uma Intranet ou a Internet, ele não está habilitado a executar uma série de tarefas, como exemplo pode-se especificar as seguintes : ler arquivos da máquina cliente ; gravar arquivos na máquina cliente ; apagar arquivos na máquina cliente usando o método da Linguagem Java File.delete() ; apagar arquivos na máquina cliente chamando comandos do sistema operacional , tais como remove ou delete; etc.
Problemas na implementação da linguagem e situações não previstas na elaboração dos procedimentos de segurança da linguagem Java permitiram que Applets Java pudessem violar as regras impostas pela SandBox. Vários ataques utilizando Applets Java foram noticiados [MCG 96], [CA 96.05], [BIL 97], [LAD 97], [LAD 96a], [LAD 96b], [PRI 96], [DEA 96], [ROJ 96], fazendo com que os fabricantes da linguagem Java e os fabricantes dos produtos por ela suportados diponibilizassem novas versões nas quais as vulnerabilidades conhecidas estariam sanadas. Para manter-se sempre a salvo dos problemas de segurança já conhecidos e relatados, é conveniente que a ferramenta Java que está sendo utilizada, seja ela um Browser ou uma Plataforma de desenvolvimento, esteja sempre atualizada pelas versões mais recentes disponibilizadas pelos fabricantes. Entretanto ninguém está livre de futuras possibilidades de ataques que ainda não foram descobertas.
3.2 Javascript
Muitos dos problemas de segurança criados a partir da linguagem Javascript não podem ser explorados diretamente, isto é, necessitam da interação com o usuário. Como a maioria dos usuários não sabem dos perigos implícitos neste tipo de tecnologia, os ataques se tornam fáceis de serem executados, pois os usuários oferecem toda a ajuda possível. Por exemplo, muitos ataques requerem que os usuários apertem botões que aparecem em caixas de diálogos para que o código hostil seja ativado. Uma trapaça comum é construir uma caixa de dialogo para que o usuário pressione um botão, sendo que a mensagem mostrada na tela é a mais simples possível, como "Click OK para continuar". Na caixa de dialogo existe somente um botão chamado "OK". Usuários ingênuos apertam o botão ativando o ataque. Como exemplos de ataques pode-se citar :
Javascript pode ser usado para rastrear todos os "sites" visitados por um usuário sem o seu conhecimento, reportando as informações para o atacante[RUB 97];
O usuário pode ingenuamente enviar arquivos via correio eletrônico para o atacante apertando um botão de confirmação que aparece na tela do Browser WWW[RUB 97] ;
JavaScript pode ser usado para montar ataques em sistemas que bloqueiam a entrada de Applets Java. Por exemplo : muitas Firewalls evitam a entrada de Applets Java removendo qualquer código existente entre os marcadores (Tags) de um documento HTML. Entretanto, JavaScript pode ser usado para recriar um marcador logo após o recebimento da página[RUB 97].
2.3 ActiveX
Os conteúdos executáveis desenvolvidos pela plataforma ActiveX quando recebidos e aceitos para serem executados por um Browser WWW tem acesso a qualquer recurso da máquina. Na definição de utilização desta tecnologia está descrito que conteúdos executáveis ActiveX só deveriam ser aceitos se a pessoa que o disponibilizou na Internet fosse certificada, garantindo assim a sua origem. Isto não ocorre na prática, pois a maioria dos usuários de Browsers WWW habilitam o recebimento de qualquer conteúdos, certificado ou não. Certificar os conteúdos ActiveX não resolve o problema de segurança pois qualquer programador consegue comprar uma certificação (authenticode) por aproximadamente U$ 20.00[BRU 97]. "Se um programador mal intencionado comprar uma certificação e desenvolver um único controle ActiveX que muda a configuração dos Browsers WWW Internet Explorer para que qualquer outro controle ActiveX seja aceito, uma vez que estes Browsers estavam configurados para receber somente controles ActiveX certificados, nunca ficará evidente de onde veio o programa que desconfigurou os Browsers WWW. A partir deste momento os usuários destes Browsers estão vulneráveis aos outros controle ActiveX hostis da Internet"[GAR 96]. Um exemplo de ataque utilizando ActiveX foi noticiado por [BUR 97].
2.4 ShockWave
Como as animações ShockWave são conteúdos executáveis que são recebidos pelos Browsers WWW para serem executadas, alguns ataques já foram noticiados utilizando esta tecnologia, como mostram os exemplos abaixo relacionados.
Um desenvolvedor de aplicações ShockWave pode acessar as pastas de correio eletrônico dos usuários do Browser Netscape. Isto é feito assumindo os nomes e caminhos padrões no sistema de arquivos locais do usuário. Por exemplo, Inbox, Outbox, Sent e Trash são nomes padrões que são configurados na instalação do Browser Netscape. O caminho padrão para estas pastas de correio eletrônico no Windows95/NT é sempre o mesmo "C:/ProgramFiles/Netscape/Navigator/Mail/Inbox", a não ser que o usuário configure um caminho diferente do padrão. O desenvolvedor de aplicações ShockWave pode programar um comando chamado "GETNETTEXT" para o Netscape enviar uma mensagem para um servidor qualquer na Internet. O conteúdo da mensagem será as informações de uma das pastas de correio eletrônico de quem recebeu a animação ShockWave [VIT 97];
Dave Yang descobriu que o ShockWave versão 5 com o Browser Netscape possibilita que um desenvolvedor de aplicações ShockWave tenha total acesso ao sistema de arquivos locais da máquina onde está sendo executado [VIT 97];
O uso do ShockWave por máquinas de uma Intranet as deixa potencialmente vulneráveis a ataques. Animações ShockWave maliciosas que são executadas em uma Intranet podem copiar informações da máquina para uma outra máquina na Internet [VIT 97].