quarta-feira, 24 de março de 2010

Pacotão de segurança: Javascript e censura na web.


O pacotão de segurança desta semana trata de dois temas: as vulnerabilidades em navegadores de internet que envolvem a linguagem Javascript – por que, afinal, tantas brechas podem ser reduzidas se o Javascript for desativado? – e a censura na web. Vamos lá!

Se você tem alguma dúvida sobre segurança da informação (antivírus, invasões, cibercrime, roubo de dados etc.), vá até o fim da reportagem e deixe-a na seção de comentários. A coluna responde perguntas deixadas por leitores todas as quartas-feiras.
O que é Javascript? É perigoso permitir Javascript no navegador? Quais os riscos inerentes a ele e quais formas de se proteger?
Pablo Ecrosque Moura

Javascript é uma linguagem de programação usada por sites para adicionar recursos dinâmicos em páginas de internet. O Javascript permite ao desenvolvedor do site muita flexibilidade. Logo acima deste texto, há um botão que permite que você aumente ou diminua o tamanho da letra. Esse botão, por exemplo, funciona graças ao Javascript.

Há tantas possibilidades de uso de Javascript que seria impossível citar todas. Há até mesmo joguinhos simples feitos em Javascript.

É claro que essa riqueza de possibilidades resulta em uma linguagem complexa. Para piorar, o Javascript foi “crescendo” com o tempo e cada navegador web decidiu interpretar comandos diferentes da mesma forma. Isso adicionou ainda mais complexidade, tanto para quem faz códigos Javascript como para quem faz os navegadores, que precisam funcionar com o maior número possível de códigos.

O Javascript é, portanto, o tipo de código mais complexo com o qual os navegadores precisam lidar. E quanto mais difícil é fazer algo, maior a probabilidade de ocorrerem erros. Não existe nenhum risco inerente ao Javascript, exceto pela complexidade desnecessária criada pelo histórico conturbado da linguagem.

De qualquer forma, problema maior está no fato de que os programadores podem cometer muitos erros na criação do componente responsável pelo processamento dos códigos. Isso resulta em vulnerabilidades.

Como o Javascript interage com a página, além dos erros existentes nele mesmo, ele também pode ser peça-chave na exploração de erros em outras funcionalidades do navegador. É por isso que tantas falhas têm como solução temporária a desativação de Javascript.

Diferentemente de outras linguagens de programação, existe muita tolerância na programação de páginas web. Mesmo códigos “errados” funcionam devido aos esforços dos navegadores para tentar fazer a página aparecer na tela. Além disso, erros em navegadores web também moldaram as linguagens, quer dizer, programadores acabaram dependendo de erros para fazer as páginas aparecerem do jeito que queriam. Ainda hoje, os navegadores precisam detectar esses “erros” e “saber” o que o criador da página pretende.

É por isso que não apenas Javascript, mas até uma linguagem aparentemente simples como o HTML – principal responsável pelas páginas de internet – acabam sendo difíceis de “digerir” pelos softwares.

Não é possível navegar na internet sem Javascript. A grande maioria dos sites apresentará defeito ou perda de funcionalidade. Para o Firefox, o plugin NoScript limita os poderes do Javascript, mas também adiciona transtornos na navegação. Fica a critério de cada um optar pela segurança ou pela comodidade. De qualquer forma, manter o navegador sempre atualizado é essencial para que qualquer brecha conhecida, seja no processamento de Javascript ou outro componente, seja eliminada.
A coluna Segurança para o PC comentou sobre os segredos mantidos pela indústria de segurança. Um leitor deixou o seguinte comentário:

Esse segredo todo também é uma forma de manter o poder, mas acho que certas coisas não podem ser divulgadas mesmo, pois as consequências podem ser muito mais nefastas do que a censura da não divulgação. Entre dois males (censura X mau uso dos códigos) o menor é a censura (ou não publicação).
Carlos

É difícil citar um caso em que se pode ter absoluta certeza de que uma informação é melhor ser censurada. Mesmo no caso de detalhes técnicos de falhas de segurança; embora seja verdade que é melhor que elas não sejam publicadas, esse só é o caso até o ponto em que podemos confiar nas empresas para que elas façam seus melhores esforços para proteger seus usuários. Ainda hoje, a única coisa que força as companhias de software a lançarem correções para brechas é a ameaça de ter as informações publicadas.

Quando nenhuma informação sobre nenhuma brecha é divulgada, a impressão que se tem é de que um software não tem falhas. É claro que esse não é o caso.

Outro fato é que, se há censura prévia, jamais poderemos saber o que foi censurado. Nessa situação, fica impossível avaliar se a retenção da informação foi realmente justa. Como esta mesma coluna opinou anteriormente, no caso da segurança da informação, as coisas ficam ainda mais complicadas, porque a maioria das pessoas não consegue compreender o real impacto das informações divulgadas, tanto para o bem como para o mal.

A coluna aqui não pretende ter uma resposta. Apenas vale deixar claro que os argumentos contra a censura não se limitam a dizer que ela nunca é positiva, mas sim que é difícil (ou impossível) julgar quando ela é, dada a sua própria natureza, que impede todas as pessoas de possuírem as informações necessárias para formar uma opinião.


Fonte: G1.

Nenhum comentário:

Postar um comentário