Conheça as nossas soluções:

Pioneiros.NET - Logotipo

As nossas soluções são sinónimo de robustez, fiabilidade, segurança e escalabilidade, apresentando-se ideais quer para o pequeno empresário quer para a grande instituição.

Pioneiros.NET Artigos Segurança do Software Open Source

Publicado em 01/11/2007 - autor: João Cohen

"Quem acha que o software proprietário é mais seguro? " - perguntei, durante uma palestra.

Alguns participantes levantaram a mão.

"E quem acha que o software Open Source é mais seguro? "

Alguns participantes acreditavam que esta última era a afirmação verdadeira.

Mas a esmagadora maioria ficou passiva, sem saber o que dizer.

Estamos perante um dos maiores dilemas das Tecnologias de Informação após o aparecimento da Internet. É um assunto para horas de discussão, que tem grandes chances de não dar em nada. Mas vamos tentar ser frios, relembrar algumas histórias e não nos perder-mos em crenças sem fundamento.

Tudo gira em torno da segurança pelo facto de ser (código) público vs. segurança por ser (código) fechado.

A comunidade de programadores de código aberto tem a cultura do mérito e respeito, então é natural que os seus membros tenham um maior cuidado ao programar. Além disso, é comum o trabalho de alguém ser revisto e avaliado por outra pessoa.

Outra vantagem é a velocidade com que as correcções são escritas. Foi o caso de um problema descoberto na implementação do protocolo TCP/IP, em 1996. A correcção para Linux foi publicada em cerca de 20 minutos, enquanto que para outros sistemas proprietários demorou cerca de 2 dias úteis. Existem dezenas de casos semelhantes a este.

Vale a pena referir que o sistema operativo Linux é um caso muito especial de software de código aberto, pois é utilizado por milhões de utilizadores (estimado 29 milhões em Fev. 2005) e possui um ecossistema enorme de programadores e empresas interessadas na sua estabilidade e desenvolvimento.

Por outras palavras, o Linux tem uma infinidade de observadores, e isto não é verdade para qualquer software livre. Ou seja, só quando um software aberto usufrui de muitos utilizadores e programadores é que terá pessoas a corrigir problemas rapidamente.

O modelo do código fonte aberto de desenvolvimento de software não é uma garantia de segurança. Contudo, o código fonte de software livre popular como o Linux, Apache, Samba e muitos outros tem sido examinado por vários especialistas de segurança.

Por outro lado, o software de código fechado (proprietário) tem a garantia de que ninguém pode vasculhar as suas falhas. Ironicamente também garante que se o fabricante decidir implementar um backdoor, ninguém poderá encontrá-lo. E foi exactamente o que aconteceu quando a Borland publicou o código do Interbase: eles esqueceram de remover um pedaço do código que abria um backdoor de administração. Foi descoberto e removido assim que outros começaram a olhar para o seu código fonte, e considerado motivo de vergonha para a Borland.

Outro aspecto importante é que certas coisas são muito difíceis de desenvolver correctamente quando somente poucas pessoas têm acesso ao código fonte. É o caso de boa criptografia e de protocolos de comunicação seguros. Só uma densa auditoria multicultural e independente pode analisar a fundo cada detalhe do código.

No âmbito de ferramentas de segurança, o mundo do software livre dispõe de uma lista sem fim de coisas como OpenSSL, OpenSSH, PAM, PKI, OpenLDAP, Tripwire, Kerberos, SELinux, etc, todos possuidores de um forte ecossistema de utilizadores e programadores.

O pensamento saudável para esta questão é que tanto o software aberto como o proprietário tem vantagens e desvantagens que muitas vezes se completam. Nenhum modelo é garantia de segurança, mas ter o código aberto dá pelo menos a chance de um certo software poder ser testado, para além de que uma falha detectada pode ser corrigida por qualquer pessoa a qualquer hora, e não ser tratada como "característica do software" que o fabricante não acha que deve corrigir.

A fórmula do sucesso custo / benefício, tende a usar software livre nos elementos de infra-estrutura do datacenter, enquanto que o software proprietário se enquadra melhor nas camadas relacionadas a lógica de negócio, sempre utilizando padrões abertos para garantir a interacção entre eles.

Um exemplo prático dessa boa interacção é correr o seu ERP empresarial (de código fonte proprietário) sobre um sistema operativo de código fonte aberto, mas que tenha suporte comercial no mercado, como o Linux.

 

Tecnologias Utilizadas