Segurancaem Software de Codigo Aberto"- Quem acha que software de codigo fechado e maisseguro?" - perguntou o palestrante. Uns poucos gatos pingados levantaram a mao. "- E quem acha que software de codigo aberto e mais seguro?" Outros poucos ouvintes acreditavam que essa ultima era a afirmacao verdadeira. Mas a esmagadora maioria ficou passiva, sem saber o que responder. Senhoras e senhores, estamos diante de um dos maiores dilemas da TI pos- Internet. E assunto para horas de discussao namesa do bar, que tem grande chance de dar em nada, sefor tratado de forma religiosa. Mas vamos tentar ser frios, relembrar algumashistorias e nao nos perder em crencas infundadas. Tudo gira em torno de seguranca por ser (codigo) publico versus seguranca porser fechado. A comunidade de programadores de codigo aberto tem a cultura domerito e respeito, entao e natural que seus membros tomem mais cuidado aoprogramar. Alem disso, e comum o trabalho de um ser revisado e auditado pelooutro. Outra vantagem e a velocidade com que correcoes sao escritas. Foi o caso de um problemadescoberto na implementacao TCP/IP de qualquer sistemas operacional, em 1996.A correcao para Linux foi publicada em 20 minutos, enquanto que paraoutros sistemas demorou 2 dias uteis. Ha dezenas de casos semelhantes. Mas aqui vale um ponto de atencao: o sistema operacional Linux e um caso muito especialde software de codigo aberto, simplesmente porque ele e muito usado e tem umecossistema enorme de programadores e empresas interessadas em sua estabilidadee progresso. Em outras palavras, ele tem uma infinidade de observadores, e issonao e verdade para qualquer software livre. Ou seja, so quando um softwareaberto usufrui de muitos usuarios e desenvolvedores e que tera pessoas cavandoe corrigindo problemas rapidamente em seus fontes. O modelo de codigo fonte aberto de desenvolvimento de software nao e umagarantia de seguranca. Contudo, softwares livres populares como o Linux,Apache, Samba e muitos outros tem tido seus codigos examinados por variosespecialistas de seguranca. Por outro lado, software de codigo fechado tem a garantia de que ninguem podevasculhar falhas em suas entranhas. Ironicamente tambem garante que se ofabricante decidir implantar um backdoor, ninguem podera encontra-lo. E foiexatamente o que aconteceu quando a Borland liberou o codigo do Interbase: eles esqueceram deremover um trecho do codigo que abria um backdoor de administracao. Foidescoberto e removido assim que outros comecaram a olhar seu codigo fonte, emotivo de vergonha para a Borland. Outro aspecto e que certas coisas sao muito dificeis de desenvolvercorretamente quando somente poucas pessoas tem acesso ao codigo fonte. E o casode boa criptografia e de protocolos de comunicacao seguros. So uma densaauditoria multicultural e independente pode analisar a fundo cada detalhe docodigo. No ambito de ferramentas de seguranca, o mundo livre dispoe de uma lista semfim de coisas como OpenSSL, OpenSSH, PAM, PKI, OpenLDAP, Tripwire, Kerberos,SELinux, etc, todos possuidores de um forte ecossistema de usuarios edesenvolvedores. O pensamento saudavel para essa questao e que software aberto e fechado temvantagens e desvantagens que muitas vezes se completam. Nenhum modelo egarantia de seguranca, mas ter o codigo aberto da pelo menos a chance de umcerto software poder ser