Análise comparativa para identificação de plágio de software

AutorInácio Gorayeb
Páginas99-138

Page 99

Inácio Gorayeb

Trabalha com TI desde 2002, possui graduação em Bacharelado em Ciência da Computação pela Universidade da Amazônia (2005), possui especialização em Teste de Software pela Universidade CEUMA no maranhão e mestrado em Ciência da Computação pela Universidade Federal do Pará (2011). Participou de um dos maiores projetos de desenvolvimento de software bancários do Brasil, onde atuou como Líder de Teste, alem de analista de Teste. Foi professor em dois dos quatro maiores grupos educacionais do Brasil, ministrando disciplinas como Algoritmo, estrutura de dados, Implementação de Banco de Dados entre outras relacionadas ao desenvolvimento de sistemas. Atualmente é professor na FAMAZ – Faculdade Metropolitana da Amazônia. Vice presidente da APECOF Associação de Peritos em Computação Forense. Tem experiência na área de Ciência da Computação, com ênfase em Gestão de T.I., atuando principalmente nos seguintes temas: Computação Forense, Desenvolvimento de Sistemas, Software Livre e Startups.

email: igorayeb@gmail.com

Page 100

Page 101

Introdução

As organizações vem buscando ao longo nos anos a automação processos segundo CBOK, 2009, os processos que as organizações mais buscam automação, são os operacionais e negociais. Como motivação para esta prática as organizações contem com redução de custos, redução de tempo alcançando excelência em seus objetivos.

Segundo Laudon 2012, uma das maneiras de conseguir a excelência em processos organizacionais e negociais, é através de sua automação por Software, onde podem auxiliar pessoas em suas atividades conseguindo proporcionar maior agilidade, menor custos e ainda maior precisão em relatórios estratégicos e gerencias voltados ao apoio a decisão.

Segundo SOMMERVILLE, 2003, para que um Sistema de Informação ou Software sirva a organização, auxiliando nas estratégias de negócio e em processos organizacionais os mesmos necessitam estar descritos em seu código para que estes sistemas se comportem e reajam a estímulos do meio externo de maneira esperada, cumprindo assim com a cultura e diretrizes organizacionais. Corroborando com a idena PRESSMAN, 2005, caso um sistema de informação não possua nem as estratégias de negócio e nem os processos organizacionais devidamente programados em suas linhas de código, as consequências podem ser devastadoras a uma organização refletindo desde um simples atraso em determinadas atividades, como até em relatório deturpados, levando assim a decisões equivocadas.

Com essa importância atribuída sistemas de informação, seu resguardo e segurança vão além de dados e informações, que necessitam por si só de tratamentos especiais, mas os sistemas vão também ao resguardo de procedimentos

Page 102

e processos organizacionais os quais muitas vezes possuem participações decisivas em sucessos organizacionais e/ou atuando como diferenciais de mercado.

A importância do software tronou-se tão relevante a sociedade que para resguardo de sua propriedade intelectual criou-se uma lei específica para este fim, trata-se da Lei do Software Lei nº 9.609, de 19.02.98 que discorre sobre a proteção da propriedade intelectual de programa de computador, bem como sua comercialização no País e dá outras providências.

A lei do software

Segundo a constituição federal brasileira, A Lei nº 9.609/98 em seu Art. 1º trás uma definição legal para software onde, “é a expressão de um conjunto organizado de instruções em linguagem natural ou codificado, contido em suporte físico de qualquer natureza, de emprego necessário em máquinas automáticas de tratamento da informação, dispositivos, instrumentos ou equipamentos periféricos, baseados em técnica digital ou analógica, para fazê-los funcionar de modo e para fins determinados”.

Outro ponto importante para o embasamento deste capítulo remete ao parágrafo segundo do Art. da Lei nº 9.609/98, onde assegura que a tutela dos direitos ao programa de computador pelo prazo de cinquenta anos, contados a partir de 1º de janeiro do ano subsequente ao da sua publicação, ou na ausência desta, da sua data de criação. Com isso, torna-se claro que não necessariamente para ter a tutela dos direitos autorias o software necessite de um registro, mas sim ter como comprovar sua data de criação, o que torna o trabalho de perícia em software muito relevante para esses tipos de caso.

Já o Capítulo V da lei do Software o qual trata das infrações e das penalidades no seu Art. 12 diz que a pena para violação do direito de autor de programa de computador a pena é detenção de seis meses a dois anos ou multa. Complementa ainda em seu parágrafo primeiro, que se a violação consistir na reprodução, por qualquer meio, de programa de computador, no todo ou em parte, para fins comércio, sem autorização expressa do autor ou de quem o represente, com pena de reclusão de um a quatro anos e multa. Portanto a análise e perícia em sistemas de informação torna-se de suma importância para guarda e preservação da propriedade intelectual de organizações e produtores de softwares, bem como, preservação de procedimentos organizacionais.

Natureza do software

Este tópico dividirá o software em algumas dimensões a serem focadas na hora da perícia em software, onde através destas serão feitas as coletas, analises e conferencia de resultados.

Page 103

Alguns aspectos sobre o software deve ser considerados, primeiramente deve-se identificar o objeto de análise quanto a sua natureza que podem ser de três tipos:

• Aplicações Web – Sistemas desenvolvidos para funcionamento em navegadores e feitos para serem executados em servidores de aplicações web através da internet e variantes.

• Aplicações Desktop – Sistemas desenvolvidos para funcionamento local, computador a computador geralmente necessitam de instalação ou máquinas virtuais para execução.

• Aplicações Mobile – Sistema desenvolvido para utilização em dispositivos móveis como Smartphones.

• Sistemas Embarcados – Sistema desenvolvido para utilização em equipamentos específicos geralmente rodando em baixo nível.

Vale ressaltar que dependendo da natureza do software o perito deve preparar-se para coleta que a natureza necessita. Aplicações WEB e sistemas embarcados, por exemplo, demonstram naturalmente uma coleta mais delicada, haja vista a tendência é que Aplicações Web sejam hospedadas em nuvem, já sistemas embarcados, muitas vezes possuindo plataformas de comunicação proprietárias tornando, algumas vezes, o trabalho de coleta muitas vezes seja inviabilizada tecnicamente, ou que demande ferramental específico e nem sempre de fácil acesso.

Aplicações Mobile, abre um leque grande, haja vista que as grandes lojas de vendas destas aplicações, dependendo do sistema operacional, podem possuir os código binários dos mesmos caso a coleta não seja possível nos aparelhos e/ou computadores que os desenvolveram. É possível que algumas vezes sejam necessários intervenção judicial para que os binários sejam disponibilizados pelas referidas lojas.

A coleta por desktop teoricamente tende a ser a mais simples, haja vista que o todo ou a parte desse software, dada sua arquitetura estejam disponíveis no dispositivo informático em questão. O estado do dispositivo para essas aplicações no momento da coleta deve ser levado em consideração, caso o dispositivo esteja ligado, é importante que o perito realize as coletas propostas para análise quente, dentre as ações, dump de memória por exemplo.

Portanto a pré-identificação do tipo de aplicação é de fundamental importância para cernir o perito nas ações a serem realizadas e locais de buscas a serem visitados, pois dependendo da natureza as ações são diferentes.

Page 104

Análise estática

Consiste na análise realizada no software cuja á realizada sem que o software esteja em execução, ou seja, são analisados elementos referente a linguagem de programação, arquitetura, código fonte, bibliotecas externas, data de concepção, bugs, modelagem de dados e documentação de produção. Nesta seção serão apresentados aspectos a serem analisados em um ambiente post mortem para análise de plágio de software que caracterizará o mesmo afim de determinar intricidades e personalidades únicas dos softwares.

3.4. 1 Linguagem de programação

Analisa-se a semelhança do software quanto a Linguagem de Programação utilizada, uma vez que os softwares alvo possuam a mesma linguagem para ambos, mais testes de similaridade serão executados, dando uma maior assertividade nos resultados, como exemplo testes de comparação textual, a ser apresentado no estudo de caso.

Identificar se a linguagem é similar, pode vir a determinar o nível de plágio e/ou cópia que um objeto teve do outro de maneira mais direta, façamos um paralelo entre linguagens idiomáticas, como por exemplo o português e o inglês. Tendo duas obras literárias por exemplo, caso os objetos de comparação forem ambos em português do Brasil é muito mais fácil provar e identificar similaridades diretas do que em linguagens distintas, onde entraria questões de tradução, terminologias, entre outros aspectos. Portanto a identificação de Linguagem e versões são de grande valia para determinação de ações a serem realizadas e suas expectativas de resultados.

3.4. 2 Arquitetura de software

Realizar levantamento quanto a arquitetura do software extraindo detalhes como, frameworks e suas verões, organização de grupo de classes, quais métodos de acesso ao banco de dados foram utilizados são de fundamental...

Para continuar a ler

PEÇA SUA AVALIAÇÃO

VLEX uses login cookies to provide you with a better browsing experience. If you click on 'Accept' or continue browsing this site we consider that you accept our cookie policy. ACCEPT