Férias
Pessoal, estou de férias. Achei que conseguiria ter acesso mais fácil a internet, mas não estou conseguindo com freqüência. Mesmo assim vou tentar deixar alguma coisa pronta para postar da próxima vez.
Semana que vem estou de volta.
Pessoal, estou de férias. Achei que conseguiria ter acesso mais fácil a internet, mas não estou conseguindo com freqüência. Mesmo assim vou tentar deixar alguma coisa pronta para postar da próxima vez.
Semana que vem estou de volta.
Voltando ao DRM, conforme já expliquei no post anterior o DRM é uma idéia praticamente fadada ao fracasso porque:
Entrando mais em detalhes no ponto 1 temos que entender o que é uma forma “controlada” de prover conteúdo. Como eu já expliquei se eu encripto um conteúdo eu tenho uma chave de criptografia.
(abrindo um parênteses, criptografar nada mais é que aplicar uma função matemática que torna praticamente impossível a um terceiro “ler e entender” o conteúdo. Esta função tem que ter uma função de retorno que permita recuperar o original. Se eu utilizar todas as vezes a mesma função eu perco a capacidade de individualizar a mensagem. Basta eu conhecer a função de retorno da mensagem A para ser capaz de ler a mensagem B, mesmo que eu não deva. Criar um algoritmo de criptografia de qualidade é algo bastante desafiador, e utilizar uma funcao diferente para cada mensagem seria impossível. O que se faz então é utilizar algoritmos muito bons que tem como uma das suas entradas uma chave que permite individualizar aquela “sessão de encriptação”. )
E esta chave criptográfica é necessária ao recipiente para poder decriptar. Logo ela deve vir junto de um conteúdo de mídia com DRM. Recentemente o tão badalado esquema de criptografia dos novos formatos de vídeo de HDTV foi quebrado simplesmente realizando uma busca em todo conteúdo do DVD. A idéia do sujeito foi super simples. Se ela está lá basta fazer uma busca byte a byte. E ele varreu todo o conteúdo do DVD testando todas as seqüências de byte como chave para decriptar o conteúdo. Batata ! Em algum tempo achou.
Então como podemos acrescentar algum controle a isto ? Somente se o usuário não puder fazer o que quiser com os leitores de mídia. Mas os computadores são de propósito geral e fazem tudo que seus donos os “instruem” a fazer dentro do que é computacionalmente possível. E esta arquitetura aberta que é o grande charme do PC. E quando eu digo PC aqui, quero dizer no sentido lato, mas principalmente na família IBM PC, que foi realmente um projeto totalmente aberto. Nã0 é por outro motivo que foi a arquitetura vencedora da guerra mercadológica nas últimas décadas apesar de em muitos casos não ser tecnologicamente a mais avançada.
Então a solução é criar um PC em que seu dono não possa fazer tudo. Isto tem nome e já existe. É a chamada Trusted Computing Plataform (plataforma de computação confiável). Na qual é possível confiar que o usuário não vá bolir com “certas áreas protegidas”. E a proteção é por hardware. Imagine um pc de propósito geral igual ao que você possui. Mas ele tem áreas de memória que você (e nem mesmo o sistema operacional) consegue acessar, e roda códigos que você não pode alterar.
Aí dá para ter DRM. Porque eu mando uma mensagem para o seu TC module e ele cuida das funções de decriptar e te repassar o conteúdo (não exatamente, mas próximo disto). Dá para ter proteção contra cheating em jogos online (MMORPGS), dá para ter ferramentas de segurança mais poderosas (antivírus, antispywares), dá para proteger o conteúdo do HD do seu laptop contra roubo(criptografando). Dá para fazer coisas muito legais como identificar sua máquina na internet de forma única e sem repúdio (e viva a privacidade) !! Dá até para impedir que você troque o sistema operacional da sua máquina. Sua ? Bom… acho que não é mais uma máquina para chamar de sua… Reparou que isto quebrou totalmente o grande charme da arquitetura do PC e a raíz do seu sucesso ?
Outra opção é não sofisticar tanto, não precisa ser por hardware. Se eu consigo simplesmente mexer no seu sistema operacional e colocar um módulo de software rodando no nível mais alto de permissão. Com este módulo eu posso monitorar e controlar muita coisa que o usuário pode tentar fazer mas não é do interesse do proprietário do conteúdo. E eu posso fazer isto tudo sorrateiramente de forma a ficar transparente para o usuário que existe este módulo. Mas os hacker já faziam isto há muito tempo. Era chamada a tecnologia de rootkit. Pois foi exatamente o que a Sony fez há pouco tempo atrás e o resultado foi o maior bafafá quando descobriram. Engraçado que apesar de pedir desculpas em público ela parece que não aprendeu a lição pois recentemente lançou um USB Stick utilizando a mesma tecnologia.
Agora porque você precisa burlar o sistema operacional se você já pode ter todas estas “features” com alta agregação de valor para o usuário final embutidas pelo próprio fabricante. É isto que a Microsoft fez no Vista. Reescreveu o sistema operacional inteiro do zero para incluir nova arquitetura de segurança que inclui um suporte visceral para DRM. Uma análise completa do que implica esta nova arquitetura eu deixo para o Peter Guttman em seu paper Uma análise de custo do Sistema de DRM do Windows Vista. O paper é inglês e esbarra em um certo tecnicismo, mas não é uma leitura difícil.
Sempre gostei de compartilhar o que sei e de escrever. Então já fazia um tempo que tinha a idéia de fazer uma página de segurança escrevendo artigos. Isto mesmo antes de blogs existirem.
A idéia nunca foi para frente porque uma página de artigos precisa ser feita e cuidada. Artigos precisam ser escritos e dão trabalho. Nada pior do que fazer algo para nunca ser atualizado e cair na mesmice.
Então sempre fiquei nesta até que há alguns meses comecei a pensar neste blog mais no formato final. Inspirei-me em alguns outros projetos.
Talvez o principal seja o Security Now. Este é um podcast semanal que o Steve Gibson, junto com o apresentador Leo Laporte, faz todas as quintas-feiras explicando segurança para “leigos”.
O Steve Gibson é uma figura controversa. Ganha dinheiro principalmente com um produto de recuperação dados de HDs que até hoje escreve em ASSEMBLY. Para quem não sabe é praticamente linguagem de máquina, a forma mais complexa possível de desenvolver algo.
Hoje em dia desenvolver aplicações totalmente nesta linguagem é uma coisa para “macho”, e totalmente sem sentido pois é plenamente possível escrever apenas partes específicas do seu sistema que requeiram velocidade extrema e chamá-las de um esqueleto mais organizado escrito em uma linguagem de mais alto nível.
O Steve Gibson também já comprou umas brigas esquisitas, meio por causa de sua personalidade de papagaio. Afirmou que uma vulnerabilidade do Windows no ano passado (wmf) só poderia ter sido criada deliberadamente, e nunca um erro de programação, o que foi negado pela MS posteriormente.
O Leo Laport além deste podcast, tem vários outros, cobrindo uma gama de assuntos relacionados a tecnologia. Na verdade ele prefere chamá-los de netcasts, devido a política da Apple que tem processado que usa o afixo Pod em seus produtos. Outro que gosto muito é o TWIT (This Week in Tech) onde ele discute com um grupo de nerds famosos o que aconteceu na semana.
O problema do Security Now é que apesar do Steve Gibson ser muito bom nas suas explicações e procurar ser didático em alguns momentos escorrega na linguagem. Eu diria que é perfeito para quem tem uma boa noção de computação mesmo não sendo profissional. É bem estruturado. Os tópicos vão evoluindo em uma linha lógica. Mas é em inglês falado que derruba muita gente, até quem lê e escreve.
Outra iniciativa que me inspirou foi do Scott Granneman, que é um colunista da Security Focus. Praticamente quando eu decidi que precisava realmente colocar em prática a idéia deste blog, foi ao ler sua coluna. Ele comentou há um tempo atrás da necessidade de educar o usuário com exemplos simples. E resolveu criar um wiki para hospedar estas explicações. Aberto para quem quiser contribuir. Mas em inglês é claro. Curiosamente ele fala do Steve Gibson também ao explicar a sua iniciativa.
Fora isto devo citar o Bruce Schneier que foi uma pessoa que já colocou muitas idéias no lugar para mim. Conceitos que você aprende de uma forma técnica ou empírica, mas que não sabe como explicar de uma maneira fácil. Ou que nunca correlacionou com outras coisas. A referência básica é o Segredos e Mentiras. Leitura de qualidade para qualquer pessoa independente do nível de conhecimento de segurança e computação. Este livro que me mostrou pela primeira vez que dá para falar de segurança de uma forma simples e clara para que qualquer um possa entender e ainda assim chegar em um nível de profundidade muito bom.