Por que parece tão fácil piratear hoje?
Parece um pouco difícil de acreditar que, com todos os nossos avanços tecnológicos e os bilhões de dólares gastos em engenharia do software mais inacreditável e impressionante, ainda não temos outros meios de proteção contra a pirataria além de um "número de série / chave de ativação " Tenho certeza de que uma tonelada de dinheiro, talvez até bilhões, foi para a criação do Windows 7 ou Office e até do Snow Leopard, mas posso obtê-lo gratuitamente em menos de 20 minutos. O mesmo para todos os produtos da Adobe, que provavelmente são os mais fáceis.
Existe um método à prova de idiotas e de hackers para proteger seu software contra a pirataria? Se não for realista, que tal teoricamente possível? Ou não importa quais mecanismos essas empresas implantem, os hackers podem sempre encontrar uma maneira de contornar isso?
Respostas:
Código é dados. Quando o código é executável, uma cópia desses dados é um código não protegido. Código não protegido pode ser copiado.
Aplicar o código com verificações antipirataria dificulta um pouco, mas os hackers usam apenas um depurador e os removem. Inserir no-ops em vez de chamadas para "check_license" é muito fácil.
Programas I vendem no meu atual empregador (ferramentas aeroespaciais) não telefone de casa sempre . Os clientes não tolerariam telefonar para casa para "ativação" toda vez que o programa iniciar.
Na pior das hipóteses, o programa é executado em uma VM sem rede, onde sempre é uma data fixa.
Portanto, pode ter sido legitimamente instalado uma vez, mas nenhum esforço por parte dos desenvolvedores pode dizer que não é como era.
As verificações de DRM de hardware terão falsos positivos em alguns tipos de conteúdo.
Caso mais simples: resolução. Gravo vídeo Quad HD a partir do meu conjunto de câmeras (sentado na minha mesa agora). O DRM do Windows fica entre mim e os dados porque é QuadHD.
Análise de assinatura: O DRM de hardware é pequeno e possui um conjunto de dados relativamente fixo. Ele também precisa usar o mesmo barramento de dados que a CPU para diminuir a velocidade intermitentemente. Isso estraga tudo em tempo real.
Portanto, para tornar o DRM de hardware mais inteligente durante um falso positivo, seu computador acabará sendo interrompido para verificar usando um serviço da web. Agora, meu processador de dados científicos falha ou não está em rede ou interrompe o fluxo de dados.
fonte
Em última análise, o grande problema é que a maioria dos softwares envolve entregar a chave e o bloqueio ao potencial atacante e esperar que eles não descubram como montá-los.
O único método seguro de proteger o software não é dar ao usuário (por exemplo, SaaS). Você notará que não pode "piratear" o Google Docs, por exemplo. Por fim, se você está tentando garantir algo, deve assumir que eles têm pleno conhecimento de qualquer coisa que você lhes der. Você não pode confiar no cliente. Isso se aplica tanto à prevenção da pirataria quanto à proteção de um sistema contra comprometimento.
Como os modelos de distribuição de software existentes baseiam-se em fornecer ao cliente todo o pacote e, em seguida, tentar protegê-lo no hardware que o invasor potencial controla , o modelo de distribuição é incompatível com qualquer conceito de software "inpirável".
fonte
É mais lucrativo vender software fácil de piratear.
Ao decidir sobre medidas antipirataria, as empresas fazem uma análise de custo-benefício. Para qualquer conjunto de medidas, se os benefícios não superam os custos, a empresa não o faz.
Os custos incluem tempo e esforço para implementar, documentar, dar suporte e manter as medidas, e talvez perdas de vendas, se forem realmente irritantes. De um modo geral, existem dois tipos de benefícios:
Aqui está um exemplo simples: Microsoft Office.
Agora, a MS tem tudo a ver com dinheiro, e não tanto quanto fazer os executivos felizes com a pirataria. Há algum tempo, a MS vende uma edição "Office and Student" do Office por muito mais barato que a edição "normal" para os negócios. Comprei isso alguns anos atrás e não tinha nenhuma proteção contra cópia! E a tecnologia "antipirataria" consistia em inserir uma chave do produto que era então armazenada na pasta do aplicativo. Mas você pode executá-lo em quantos computadores quiser simultaneamente, e todos eles funcionam bem! De fato, no Mac, você pode arrastar a pasta do aplicativo pela rede para outro computador onde nunca havia feito uma instalação e, como a chave do produto estava armazenada no aplicativo, ela funcionou muito bem.
Por que essa tecnologia antipirataria tão patética? Duas razões.
A primeira é porque o custo adicional de suporte técnico para usuários domésticos que estragam suas instalações simplesmente não valia a pena.
O segundo são as medidas antipirataria não técnicas . A MS possui um programa de denúncia de irregularidades em que, se você sabe que uma empresa pirateava o software da MS - como instalar 200 cópias do mesmo escritório "Casa e Estudantes" - você pode ligar para eles. Em seguida, a MS entra e audita a empresa e, se encontrar software pirateado, processa tudo - e você obtém uma grande fatia dos ganhos.
Portanto, a MS não precisa usar a tecnologia para evitar a pirataria. Eles acham mais lucrativo usar apenas dinheiro frio e duro.
fonte
Um problema fundamental da IMHO é que a maioria ou todos os métodos "à prova de falhas e à prova de hackers" * de proteção de software contra a pirataria também incomodam ou até afastam os usuários inocentes e legais.
Por exemplo, verificar se o aplicativo está instalado apenas em uma única máquina pode dificultar a troca de hardware por um usuário. Dongles de hardware podem significar que você não pode usar o mesmo aplicativo em suas máquinas domésticas e profissionais. Sem mencionar os códigos de área de DVD, CSS, o Sony rootkit et al., Que não são estritamente para proteção de software, mas estão intimamente relacionados.
* que, como observou o @FrustratedWithFormsDesigner, nunca é perfeito na prática; não há 100% de segurança, você só pode tentar fazer com que seja caro o suficiente para um invasor quebrar a defesa para que não haja "muitos" deles. E acredito que é devido à natureza fundamental do software e das informações digitais, que uma vez que alguém consiga romper uma defesa específica, a ruptura quase sempre pode ser trivialmente replicada por milhões.
fonte
Como disse Bruce Schneier , tentar tornar os arquivos digitais inacessíveis é como tentar deixar a água não molhada. Ele fala principalmente sobre "DRM", que é aplicado mais ao conteúdo (por exemplo, filmes) do que ao código, mas do ponto de vista de impedir a cópia do conteúdo do arquivo faz pouca diferença real - copiar um arquivo é copiar um arquivo é copiar um arquivo .
fonte
Existe apenas um "método à prova de idiotas e de hackers para proteger seu software contra pirataria" :
Software Livre (Como você pode fazer o que quiser com ele, até vendê-lo.)
Você não pode roubar o que é dado livremente. É verdade que isso estragará alguns modelos de software de empresas de dinossauros, mas a pirataria não vai a lugar algum. Venda algo que você não pode copiar, de preferência algo que acompanha o que você deu de graça; sua ajuda, por exemplo.
fonte
Isso é causado pela combinação de quatro fatores principais:
Em um nível fundamental, muito do que um computador faz funciona copiando dados. Por exemplo, para executar um programa, o computador precisa copiá-lo do disco rígido para a memória. Porém, depois que algo é copiado na memória, ele pode ser gravado da memória em outro local. Tendo em mente que a premissa fundamental da "proteção contra pirataria" é criar software que não possa ser copiado com êxito, você pode começar a ver a magnitude do problema.
Segundo, a solução para esse problema difícil atua diretamente contra os interesses de usuários legítimos e daqueles que desejam usar o software sem adquiri-lo legalmente. Alguns desses usuários terão o conhecimento técnico necessário para analisar o código compilado. Agora você tem um adversário competente trabalhando ativamente contra você.
Como esse é um problema difícil e porque a produção de software correto também é inerentemente difícil, é muito provável que sua solução contenha pelo menos um bug explorável em algum lugar. Para a maioria dos softwares, isso não importa, mas a maioria dos softwares não está sob ataque ativo de um determinado adversário. Sendo a natureza do software, uma vez encontrado um bug explorável, ele pode ser usado para controlar o sistema inteiro e desativá-lo. Portanto, para produzir uma proteção confiável, sua solução para o problema muito difícil deve ser perfeita ou será quebrada.
O quarto fator é a Internet mundial. Isso torna trivial o problema de transmitir informações a quem estiver interessado. Isso significa que, uma vez que seu sistema imperfeito é quebrado uma vez, ele está quebrado por toda parte.
A combinação desses quatro fatores significa que nenhum sistema imperfeito de proteção contra cópia pode ser seguro. (E quando foi a última vez que você viu um software perfeito?) Diante disso, a pergunta não deveria ser "por que o software ainda é facilmente pirateado?", Mas "por que as pessoas ainda estão tentando impedi-lo?"
fonte
Uma das principais motivações negligenciadas por trás das soluções SaaS baseadas em nuvem é garantir fluxos de receita.
Acho que é aqui que realmente está o futuro da monetização e proteção de IP.
Ao mudar o foco da venda de soluções locais que devem ser executadas em um ambiente que está fora do controle dos fornecedores, eventualmente todas as estratégias contra a pirataria de software estão fadadas ao fracasso. Não há como proteger seus ativos quando você os distribui a outra pessoa, pois a proteção precisa ser imposta em sua máquina.
Ao ter seu Software hospedado na nuvem e fornecido como um serviço, você está efetivamente elevando a fasquia da pirataria a um nível em que seus negócios são macacos.
fonte
Acho que a resposta que você está procurando é que muitas empresas não se importam mais com pirataria dessa maneira. Ninguém quer que suas coisas sejam divulgadas de graça, mas quando você olha para a troca entre irritante e ter que apoiar todas as pessoas em que a proteção avançada contra cópias quebrou ou quebrou seus computadores. Algumas empresas se esforçaram muito para se importar, mas no final do dia as coisas ainda estão rachadas e seus usuários tendem a sair com um gosto ruim na boca.
Não vale a pena (ou a perda potencial de clientes) tentar implementá-lo para as poucas pessoas que você impediria de invadir de qualquer maneira.
Algumas empresas até viram os usuários piratas como um recurso. A Valve divulgou as notícias com um comentário como esse há um tempo, e você não pode me dizer que a Microsoft não saiu do lado vencedor de todas as instalações piratas do Windows na Ásia ao longo dos anos.
Para os microsofts por aí, eles procuram vender grandes blocos de licenças para os pequenos que precisam em todas as vendas, mas não podem perder clientes ou, em alguns casos, até comprar rootkits e outras porcarias ruins que as pessoas usam para tentar criar esse tipo de bloqueio -no.
Você não pode fazer uma antipirataria perfeita, mas não há muitas pessoas altamente motivadas para tentar mais.
fonte
Tudo o que você constrói em seu software, ele deve ser compreensível pela máquina que o executará. Como o software ficou mais sofisticado, o software para entender outro software também ficou mais sofisticado. Portanto, se esse software é compreensível pela máquina, é compreensível (e modificável) pelo pirata.
Por exemplo, em princípio, você pode criar uma criptografia forte no seu executável, para que a maior parte do software seja ilegível. O problema é que as máquinas dos usuários finais não conseguem ler mais esse código do que os piratas. Para resolver isso, seu software deve incluir o algoritmo de descriptografia e a chave - ambos de forma clara, ou pelo menos se escondendo atrás de uma criptografia mais fraca (com a descriptografia para isso).
IIRC, os melhores desmontadores podem avisá-lo sobre código criptografado e ajudá-lo a capturar e analisar o que está oculto por trás da criptografia. Se parece que os criadores de desmontadores são maus, considere que os desenvolvedores de segurança precisam disso todos os dias para investigar vírus e outros malwares que também ocultam no código criptografado.
Provavelmente existem apenas duas soluções para isso. Uma é a plataforma fechada que bloqueia seus próprios usuários. Como mostra o Playstation 3, isso não é necessariamente uma garantia. De qualquer forma, há uma grande classe de usuários não-maus que não vão gostar.
A outra é que seu software seja executado em servidores que estão sob seu controle.
fonte
A antipirataria automatizada é uma contradição lógica.
Usuários legítimos são confiáveis pelos fornecedores.
Qualquer antipirataria "automatizada" procura automatizar a relação de confiança.
Como isso pode funcionar? Como pode algum meio técnico chegar a "confiar" em uma pessoa?
A confiança é um relacionamento inerentemente humano. Qualquer mecanismo técnico sempre pode ser subvertido por pessoas que parecem confiáveis, mas não são.
Na verdade, as pessoas perdem a confiança o tempo todo também.
fonte
Acho que um dos motivos é que as mesmas pessoas que sabem escrever segurança decente provavelmente são os próprios hackers.
Além disso, tentar se proteger contra a pirataria é muito, muito difícil. Como o seu computador precisa executar essa proteção, ele pode ser interceptado em qualquer ponto (memória / execução / tráfego de rede / ...). É aí que entra a ofuscação, tentando tornar impossível entender o que está acontecendo.
Acredito que o poder dos números de série e das chaves de ativação esteja no fato de que você pode pelo menos ver quem está pirateando e tentar rastreá-lo / bloqueá-lo dessa maneira. Acredito que seja parte da razão pela qual tantos serviços são serviços online atualmente. (Steam, Windows update etc ...) Torna-se subitamente muito mais difícil de decifrar, ... mas ainda é possível.
Onde você tem um produto de sucesso, há mais pessoas tentando decifrá-lo, então as chances de piratear são maiores.
fonte
Tecnicamente falando, o software ainda pode ser pirateado porque a maior parte da TI ainda opera em ambientes de software e hardware projetados conceitualmente milênios atrás, quando nem a noção de pirataria de software existia.
Essas fundações precisam ser mantidas para compatibilidade com versões anteriores, aumentando ainda mais nossa dependência delas.
Se formos redesenhar ambientes de hardware / software a partir do zero, com a antipirataria em mente, poderíamos adicionar melhorias significativas.
Veja por si mesmo:
O mesmo sistema operacional aberto com todos os seus componentes totalmente expostos e literalmente oferecendo-se para manipulação
A mesma arquitetura de computador aberto que aceita qualquer software que você usar
O modelo de distribuição de software ainda é baseado em arquivos não criptografados que são entregues ao usuário
O mesmo problema existe com a Internet e sua baixa segurança, muitas vulnerabilidades, abertura para manipulação, spam e ataques distribuídos. Faríamos muito melhor na segunda vez, se pudéssemos refazer a Internet. Infelizmente, temos que manter o que temos para manter a compatibilidade com a massa de aplicativos e serviços existentes.
Por enquanto, parece que a melhor maneira de proteger o software da pirataria é introduzir mudanças no nível do hardware:
Feche o hardware e transforme-o em uma caixa preta. Torne impossível para um usuário mexer com o hardware e seu software. A abordagem aqui é provavelmente criptografar tudo no nível do chip para que suas interfaces externas sejam totalmente criptografadas. Um bom exemplo disso é a criptografia HDCP para a interface de mídia HDMI - um fluxo de mídia é criptografado antes de sair da caixa do player e descriptografado dentro de uma unidade de exibição para que não haja fluxo de dados aberto para interceptar.
Feche os canais de distribuição. Torne todas as mídias externas e canais online totalmente criptografados, para que apenas o hardware certificado possa descriptografar o fluxo de dados.
É possível retirar os dois, mas transformará todo o ecossistema em uma prisão. Muito provavelmente, um movimento paralelo / subterrâneo de um hardware / software livre surgirá, criando um ecossistema paralelo.
fonte
Dado o esforço, a proteção quase perfeita contra cópias provavelmente poderia ser alcançada ... mas não valeria o custo . Vários blogs notáveis discutiram isso de maneira excelente : especificamente, o conceito de uma taxa ideal de pirataria .
As medidas antipirataria têm vários custos: o custo direto de implementá-las, mas também custos indiretos: por exemplo, as medidas costumam causar transtornos, afastando os usuários.
A pirataria tem custos, mas muitas vezes não são terrivelmente altos. Também pode ter alguns benefícios, por exemplo, na expansão da base de usuários. Como um comentarista escreveu no post do Coding Horror: “Agora que sou desenvolvedor e tenho dinheiro para gastar em software, costumo comprar os programas que pirateei nos meus dias de faculdade porque já estou familiarizado com eles. "
Portanto, alguma proteção antipirataria é importante para garantir que as vendas legítimas não sejam prejudicadas muito; mas além de um certo ponto, simplesmente não há incentivo econômico para melhorar as medidas antipirataria.
fonte
Todas as respostas parecem ser técnicas, mas não são um problema técnico, são sociais.
O software é fácil de copiar e difícil de escrever. Se não fosse fácil copiar, não nos incomodaríamos. A maioria dos programas é apenas dispendiosa para escrever como uma única, e os menores dependem de programas maiores para poder executar. Se também tornamos os programas difíceis de copiar, então estamos colocando-nos em desvantagem competitiva. Sim, você pode maximizar o lucro a curto prazo desorientando a cópia. Mas, no final, você perderá participação de mercado para quem puder minimizar os custos de cópia, custo de gravação e custo de uso.
O Software Livre minimiza 1 desses custos de cópia e reduz significativamente os outros 2 custos de gravação e custo de uso.
custo para copiar
Posso instalar o Ubuntu Linux no mesmo tempo e esforço que o Windows 7 [o Windows 7 precisa que eu adicione uma chave de licença, tornando-a um pouco mais difícil].
O Windows 7 vai custar 100 libras, mas para o Ubuntu eu posso baixá-lo, comprá-lo por 6 libras na loja da revista (com uma revista gratuita lançada), por e-mail de 2 libras ou pedir emprestado um CD de um amigo.
custo de gravação
O software livre pode ser modificado, o que reduz o custo. Eu não tenho que começar do começo.
custo de uso
No Windows 7, não recebo aplicativos, exceto em um navegador da Web; no Ubuntu, recebo todos os aplicativos que consigo imaginar; muitos instalam no sistema operacional.
Não preciso de um antivírus no Linux.
Eu posso executar o Linux em hardware mais antigo.
Com o Software Livre, ninguém está forçando a atualização, criando versões incompatíveis das ferramentas de escritório.
fonte
Em um mundo em que os computadores são semelhantes o suficiente para poder baixar software da rede e executá-lo imediatamente, é muito difícil identificar algo que permita determinar se este computador está bom para funcionar, mas esse computador não está.
Eventualmente, tudo se resume a você ter algo que ninguém mais tem. Pode ser um número de série pelo qual você pagou, um dongle de hardware ou um dvd com erros físicos em um determinado local. O software então procura por algo específico e se recusa a executar, se não estiver lá. Para números de série, você também precisa ter um local na internet onde o software possa validar que o número de série é aceitável para a remessa mãe.
Infelizmente, os hackers são muito bons em remover cirurgicamente essas verificações, portanto o código precisa ser muito complicado e difícil de modificar para dificultar, mas com dedicação suficiente, um ser humano ainda pode fazer isso.
Portanto, a maioria dos produtos de software de baixo custo vai para o número de série com uma nave-mãe na internet validando-o, além de uma política de licença que as empresas de caixa são obrigadas a seguir. Os produtos caros geralmente usam proteção contra dongles.
fonte
Existem diferentes tipos de software que possuem proteções.
Quando você toma o exemplo do Windows 7, é óbvio que a resposta é não, simplesmente porque a arquitetura e a programação do PC são muito conhecidas.
Mas se você considerar outros hardwares, como o PS3, o PSP e o iPhone, é totalmente diferente, principalmente porque o fabricante tem controle sobre tudo, não apenas o software: eles podem fazer com que o hardware execute apenas software genuíno, e isso exige boas habilidades de hackers para quebrá-las.
Você deveria dar uma olhada no projeto microsoft longhorn no passado: na época em que eles queriam implementar chips para verificar se seu software era genuíno ou não. Teoricamente, teria sido muito difícil invadir, mas eles não fizeram isso porque teria sido muito invasivo.
fonte