Muitas vezes a atividade de desenvolvimento de softwares não é orientada pelos princípios básicos de Segurança da Informação. Diversas conseqüências podem advir dessa inobservância: problemas relativos à propriedade do programa; a apropriação ou mau uso de dados sensíveis da empresa; a divulgação de dados cadastrais de clientes ou seu uso para fins espúrios; a ocorrência de incidentes pelo não monitoramento dos dados de saída dos softwares; problemas advindos da atividade de terceirização do desenvolvimento, etc.
Em primeiro lugar, no que diz respeito à propriedade intelectual, temos a lei 9.609/98 que dispõe sobre a propriedade intelectual de programa de computador. Seu artigo 4º é claro em dizer:
“Salvo estipulação em contrário, pertencerão exclusivamente ao empregador, contratante de serviços ou órgão público, os direitos relativos ao programa de computador, desenvolvido e elaborado durante a vigência de contrato ou de vínculo estatutário…”
Com isso, é importante a correta orientação dos desenvolvedores no sentido de impedir que os códigos fontes gerados pela relação de emprego sejam reutilizados pelo profissional em atividades particulares. Também, sempre é útil um aditivo no contrato de trabalho ou um termo de ciência de tal disposição para reforçar tal orientação.
Na maioria dos casos, os desenvolvedores têm acesso a dados sensíveis da empresa , tais como informações financeiras, cadastros de clientes, segredos industriais, dados telefônicos ou bancários etc. Nesse diapasão, um monitoramento preventivo pela equipe de segurança é útil para evitar o mau uso desses dados. O resultado desse monitoramento (logs) também deve ser corretamente gerado bem como armazenado. Também é útil a criação de rotinas de autorização para o uso de dados sensíveis. Ademais, dependendo do caso, cada desenvolvedor deve ter acesso apenas aos dados estritamente necessários para a sua atividade. Em casos extremos, é gerado um banco de dados fictício apenas para o fim de desenvolvimento, para que os desenvolvedores não tenham acesso aos dados reais de propriedade da empresa.
A norma ISO/IEC NBR 17799:2005, que trata das melhores práticas para Segurança da Informação, dispõe especialmente sobre os controles necessários atinentes à atividade de desenvolvimento de sistemas. A validação de dados de entrada e saída é um dos itens comentados. Vemos a importância desse controle na medida em que sistemas que geram informações bancárias, fiscais, etc, podem causar um prejuízo quando da emissão de dados errôneos. Além do prejuízo financeiro e dos possíveis danos à imagem, há o risco jurídico de emissão errônea de dados bancários, por exemplo, em ações movidas pelos atingidos.
A referida norma também fala sobre o acesso ao código fonte. Deve ser implementado um controle específico para restringir o acesso ao código fonte, para evitar questões de propriedade intelectual e também para evitar a inserção de códigos não autorizados no corpo do programa, os conhecidos rootkits.
A troca de sistema operacional deve ser sempre observada, com o fim de verificar a compatibilidade do programa desenvolvido e evitar o possível impacto negativo no caso de incompatibilidade.
Cuidados específicos no caso de terceirização da atividade também devem ser desenvolvidos. A transferência dessa tarefa não implica necessariamente a transferência de responsabilidades. Nesse sentido, a realização dos contratos por uma assessoria jurídica especializada é importantíssima. Em tais contratos, estabelece-se uma série de cláusulas específicas da atividade indo desde os processos de trabalho, bem como os resultados pretendidos, até questões como acordos de confidencialidade e acordos de monitoramento entre outros. Esses contratos também regulam questões sobre o nível de responsabilidade de cada parte e questões de suporte quanto a eventuais futuros problemas.
A realização de testes também é importante nesse cenário. Algumas empresas são especializadas apenas em encontrar defeitos em softwares. Além de tais testes terem o condão de evitar perdas futuras pelo mau funcionamento do software, também previne-se o retrabalho de desenvolvedores para identificar e corrigir futuros defeitos.
Em sendo assim, finalizamos com a indicação do aconselhamento legal e aplicação de controles de segurança da informação para a atividade de desenvolvimento de software.