|
Sistema
de proteção contra pirataria de Software
Uma das técnicas utilizadas para se proteger
um programa somente através de software é gravar informações
que o software vai consultar em algum lugar do disco rígido
de forma que não seja possível uma simples cópia da mesma,
ou seja, deve-se esconder estas informações para que quando
alguém copiar o software protegido para outro diretório
ou para outro microcomputador as informações não sejam
levadas junto.
A maneira mais simples de implementar esta técnica
consiste em criar um arquivo com estas informações e mudar
os atributos deste arquivo para que o mesmo não apareça
no diretório. Os atributos de um arquivo podem ser alterados
através de funções do DOS (comando ATTRIB.EXE) ou acessando
diretamente a BIOS.
Esta técnica funciona bem para um usuário leigo,
o qual geralmente não conhece os comandos do Sistema Operacional
(DOS). Entretanto se você estiver utilizando o Windows
3.x, Windows 95, Windows 98 ou Windows NT basta selecionar
a opção para Exibir os arquivos escondidos no Gerenciador
de Arquivos ou Explorer e arrastar a pasta contendo todos
os arquivos do diretório para outro diretório, ou até
para um disquete, mantendo os atributos dos arquivos.
Esta tarefa também é simples se você utilizar
o comando ATTRIB.EXE do DOS, pois basta identificar os
atributos do arquivo escondido digitando attrib *.* |
more, mudar o atributo de escondido (attrib -h arquivo.xxx),
copiar o arquivo junto com o diretório e no destino retornar
o atributo (attrib +h arquivo.xxx).
De
qualquer maneira esta técnica é pouco utilizada devido
sua alta fragilidade.
Uma outra forma é gravar informações relativas
ao número de trilha e setor em que o arquivo está gravado,
evitando desta forma que o mesmo possa ser movido, pois
certamente quando o mesmo for copiado para outro diretório
ou disquete sua posição absoluta (trilha e setor) não
será a mesma da instalação original.
Esta técnica é um pouco melhor que a anterior,
entretanto irá criar problemas quando o usuário utilizar
ferramentas de organização do disco-rígido, tais como
DEFRAG (para defragmentar o disco-rígido), Compactadores,
etc., pois a posição do arquivo que contém as informações
poderá ser alterada, fazendo com que o software
protegido
não funcione mais por não encontrá-lo em seu local de
instalação.
Outra
técnica utilizada para "amarrar" um software
a um microcomputador é gravar no arquivo escondido dados
relativos às configurações dos periféricos do microcomputador,
por exemplo, valores da BIOS, tipo de placa de vídeo,
endereço de portas seriais, etc.
Desta
forma se o software for copiado para outro microcomputador
a chance de ambos terem as mesmas informações é muito
pequena, portanto o software protegido não vai executar
pois as configurações não serão as mesmas do arquivo de
instalação original.
Outro
inconveniente desta técnica é o fato da mesma não poder
ser aplicada em uma rede local, já que geralmente os microcomputadores
conectados na rede deverão ter configurações de hardware
diferentes entre si.
Percebemos
que sempre será necessário manter um disquete mestre,
o qual será utilizado para instalar e desinstalar o software
quando necessário. Isto é um problema pois sabe-se que
toda mídia magnética, principalmente disquetes de 5"
1/4 e 3" 1/2 não conseguem na prática manter a integridade
das informações por mais de 12 meses sem sofrerem regravações
periódicas, ou seja, se você gravar um disquete inteiro
e tentar ler suas informações após 12 meses, será grande
a possibilidade de ter perdido alguma informação, pois
ocorrerá a desmagnetização devido ao próprio campo magnético
terrestre, além do constante bombardeamento que estamos
expostos de partículas cósmicas.
Portanto
quando você precisar do disquete talvez ele não funcione
e você vai precisar solicitar uma nova cópia ao produtor
de software. Isto representa um grande contratempo ao
usuário, além de não garantir ao produtor de software
que o usuário não está agindo de má fé, tentando instalar
mais uma cópia do produto.
Devido
à todos estes problemas, a proteção por software acabou
sendo abandonada pelos produtores de software, além de
ter uma fragilidade evidente ao ataque de um usuário mais
avançado, ou seja, é um sistema de proteção que oferece
uma pequena proteção, e os produtores de software tem
o interesse em proteger ao máximo seus produtos.
Com
a crescente onda de pirataria que ocorreu no mundo todo
os desenvolvedores de software procuraram por algo mais
confiável e foi então desenvolvido um sistema de proteção
por hardware, onde as informações que antes eram
guardadas em um arquivo escondido passaram a ser gravadas
em um pequeno plugue eletrônico, conhecido por "dongle"
no mercado internacional. Vários fabricantes passaram
a ter diferentes modelos, oferecendo diferentes características
como memória, criptografia, etc. Após alguns anos a tendência
de desenvolvimento foi a de um plugue de proteção de software
que é conectado na saída paralela do microcomputador (externamente),
transparente para a impressora ou outro periférico. Desta
maneira o produtor de software grava informações neste
plugue eletrônico de forma que o software protegido passa
a exigir a presença do mesmo para que possa funcionar
corretamente.
As
vantagens para o desenvolvedor de software são evidentes
pois a reprodução de um circuito eletrônico proprietário
é praticamente impossível, o que torna a pirataria do
software praticamente impossível. O controle de revendas
fica muito mais fácil, já que é o próprio desenvolvedor
que personaliza cada protetor enviado para as revendas,
tendo assim controle total sobre o faturamento das mesmas
em relação ao seu produto. Fica aberta a possibilidade
de uma nova forma de comercialização do software, o aluguel,
onde o controle de vencimento de parcelas mensais é garantido
pelo plugue eletrônico que pode ser atualizado (data de
expiração) até mesmo remotamente, facilitando inclusive
o controle de clientes.
Em
alguns casos um simples telefonema com a informação de
uma contra-senha pode liberar o software para rodar por
mais 30 dias, sem ter a necessidade da visita de um técnico
ao cliente.
Portabilidade
é outro ponto forte deste sistema de proteção por hardware.
O usuário tem a liberdade de instalar o software em mais
de um microcomputador, entretanto poderá executá-lo apenas
em uma máquina por vez, não ferindo assim o contrato de
licença de uso do software.
A
utilização de um plugue eletrônico propicia ao usuário
uma total liberdade em relação à troca de periféricos
(upgrade, troca de disco-rígido, etc.) sem a
necessidade
de desinstalar e reinstalar o software protegido, já que
é necessário apenas a colocação do plugue eletrônico no
microcomputador em que se quiser utilizar o software protegido.
No
início os protetores de hardware eram relativamente caros
(por volta de US$80,00/unidade), o que fez com que apenas
programas de valores elevados os utilizassem.
Hoje
em dia os preços caíram para aproximadamente US$25,00/unidade,
o que fez com que o número de desenvolvedores aumentasse
de maneira rápida, já que passamos a ter uma relação custo/benefício
muito mais interessante aos desenvolvedores de software.
Os
protetores por software ainda são utilizados, mas geralmente
em softwares de baixíssimo custo e que normalmente não
tem o compromisso de novas versões pois são apenas de
consumo (distribuídos em papelarias, bancas de revista,
etc.).
Resumindo:
As características de segurança de um sistema de proteção
por software podem ser totalmente reproduzidas no sistema
de proteção por hardware com muitas vantagens, e ainda
sem os inúmeros inconvenientes e com maior segurança que
os sistemas de proteção por software faziam anos atrás.
|