Sony causa transtornos enormes para usuários de computador
Enviado: 10 Mar 2009, 11:02
Sony usa tecnologia hacker para proteção de direitos autorais
A gravadora Sony BMG foi acusada recentemente de utilizar tecnologia hacker em seu software intitulado DRM - Digital Rights Management. Esse software assemelha-se com rootkits pelo uso de técnicas que permitem esconder arquivos e diretórios do sistema. A solução adotada pela Sony para a proteção de conteúdo expõe seus usuários a sérios problemas de segurança, bem como problemas relacionados a privacidade. É sobre isso que conversaremos com Ronan Gaeti, analista de segurança ACME! Computer Security Research - Laboratório de Pesquisa de Segurança em Redes de Computadores, localizado no campus da Unesp de São José do Rio Preto.
1) Inicialmente vamos tentar entender a tecnologia associada ao problema. O que significa o termo RootKit?
O termo rootkit é usado para descrever mecanismos e técnicas utilizadas por malwares, incluindo vírus, spywares e trojans, que tentam esconder sua presença de Spywares Blockers, Antivírus e utilitários de gerenciamento de sistema. Há diversas classificações de rootkits dependendo se ele permanece ativo ou não após o reinício do sistema se executa em modo usuário ou em modo de kernel.
PERSISTENT ROOTKITS: ativado a toda vez que o sistema é inicializado. Deve armazenar o código em uma meio persistente de armazenamento, podendo ser tanto o Registry ou o sistema de arquivos. O código é automaticamente! Mememory-Based Rootkits: malware que não posse código persistente, não sobrevive a um reboot.
USER-MODE ROOTKITS: intercepta diretamente as APIs do Windows FindFirstFile/FindNextFile, que são usadas por aplicativos de visualização de arquivos, incluindo o IE e o command Prompt.
KERNEL-MODE ROOTKITS: manipula diretamente as estruturas de dados do kernel. Uma técnica comum de esconder um processo é removê-lo da lista de processos ativos do kernel. Um vez que as APIs destinadas ao gerenciamento de processos confiam nessa lista, o processo não aparecerá em ferramentas como Task Manager ou Process Explorer.
2) Como foi descoberto o uso da técnica de root-kit no Software DRM?
Mark Russinovich, do site Sysinternals, ficou surpreso enquanto testava a última versão do RootkirRevealer, um software de detecção de root kits, e encontrou a evidência de um rootkit em seu sistema. O software em questão identificou diretórios escondidos, diversos drivers e um aplicação escondida. Esse foi o ponto de partida para uma investigação minuciosa para descobrir a origem desse rootkit.
É relativamente simples olhar as chamadas de sistemas fazendo um dumping do conteúdo da Tabela de Serviços. Todas as entradas devem apontar para endereços pertencentes ao espaço de memória do Kernel do Windows, todas
as chamadas que não pertencerem são patched functions.
Mar Russinovich fez o dumping da tabela de serviços utilizando o software LikeKd, que revelou algumas patched functions. Ainda em sua análise, Russinovich descobriu que essas chamadas externas pertenciam ao driver Aries.sys pertencente ao diretório $sys$filesystem, ambos identificados pelo RootKitRevealer.
É comum que rootkits escondam arquivos e pastas sem necessariamente bloquear o acesso direto a eles. Russinovich abriu um Command Prompt e tentou entrar no diretório escondido:
c:\Windows\system32\$sys$filesystem\.
Sem maiores surpresas conseguiu entrar no diretório e listar os arquivos. Tentando descobrir o que realmente o Aries.sys estava fazendo ele copiou o arquivo para outro diretório e abriu-o no IDA Pro, um poderoso disassembler. Estudando as funções de inicialização do driver ele descobriu que o driver interferia diretamente na tabela de chamadas de sistema escondendo qualquer arquivo, diretório ou chave de registro iniciada por $sys$. Para provar sua conclusão ele realizou uma copia do arquivo Notepad.exe renomeando-o para $sys$Notepad.exe e o arquivo simplesmente desapareceu.
Observando a assinatura dos arquivos contido no diretório oculto, por meio do software Sigcheck, ele conseguiu identificar uma empresa chamada First 4 Internet. Tentou achar algo relacionado ao Aries.sys no site da empresa porém não obteve sucesso. Entretanto descobriu que a empresa vende a tecnologia chamada XCP, o que o fez pensar que aqueles arquivos encontrado fariam parte de algum Sistema de Proteção de Conteúdo.
Pesquisando pela internet, descobriu que a empresa First 4 Internet tinha contrato com diversas gravadoras incluindo a Sony, para implementar o software Digital Rights Management (DRM) para CDs.
Essa referência ao DRM o fez lembrar que havia comprado um CD recentemente que só poderia ser tocado por meio de um media player que veio com CD, e que limitava até três o número de cópias. O CD que ele havia comprado era o Van Zant Brothers - Get Right with the Man (um nome um tanto quanto irônico, dado as devidas circunstâncias) que é protegido com o software DRM
Para provar sua tese ele colocou o CD no computador e notou um aumento do uso de CPU pelo processo $sys$DRMServer.exe, que se auto intitulava Plug and Play Device Manager, o que obviamente representa a tentativa de mascarar o serviço. Retirando o CD esperava-se que o uso da CPU voltasse ao normal, porém para uma surpresa não muito agradável o software, ainda por cima, era mal escrito! Utilizando os softwares "Regmon" , e "Filemon", ele descobriu que o software scaneava os executáveis correspondentes ao processo a cada dois segundos, em busca de informações básicas sobre os arquivos incluindo o tamanho (oito vezes a cada scan). Para confirmar a conexão entre o processo e o CD Playes Mark observou mais atentamente os processos. Baseado nos pipe handles ele descobriu a comunicação entre o player e o DRMServer.
Conclusão: Foi provado que o RootKit encontrado pelo RootKitRevealer estava associado ao software da empresa First 4 Internet que a Sony disponibiliza em seus CDS.
3) É possível a remoção desse software? Quais os riscos de segurança associados?
Quando Mark Russinovich concluiu a relação entre o CD e o RootKit, e começou uma jornada na tentativa de remover o software. Porém, não foi encontrado nenhuma referência em Adicionar ou Remover Programas no Painel de Controle, nem no site da First 4 Internet. Procurando na EULA (END-USER LICENSE AGREEMENT), que é apresentada na instalação do software, não foi encontrado nenhum termo que mencionava na aceitação da instalação de um software que não poderia ser removido.
Tentando a desinstalação manual, Mark removeu as entradas no Registro do windows, parou o serviço DRMServer e deletou sua imagem. Enquanto removia as entradas no registro do windows descobriu que o software se auto intitulava como SafeBoot, ou seja os drivers são carregados até mesmo em modo de segurança, tornando a recuperação do sistema extremamente difícil, se houver um bug em um desses serviços que previnam o sistema de iniciar.
Para sua surpresa maior ao reiniciar o computador Mark descobriu que o seu driver de CD havia desaparecido do Explorer. Ao deletar os drivers, ele havia desabilitado o drive de CD.
O WINDOWS suporta um esquema de "Filtros" que permite um driver se inserir acima ou abaixo de outro driver para que ele possa ver e modificar as requisições de I/O. Abrindo o Device Manager descobriu que a CD-ROM estava associado o driver escondido, Crater.sys Infelizmente só é possível visualizar os nomes dos filtros registrados mas não há nenhuma interface administrativa que permita a remoção. Entrando no Registro, Mark encontrou o registro associado ao filtro do CD-ROM. Na tentativa de removê-lo obteve um erro de acesso negado. Só é possível alterar esse tipo de registro com a conta Local System. Entrando do Register como Local System obteve sucesso na remoção do filtro e na remoção de outro dispositivo chamado Cor.sys. Ao reiniciar o sistema obteve seu drive novamente.
A SONY é responsável pela instalação de um Software repleto de técnicas utilizada por malwares que tentam mascarar sua existência. Pior ainda, qualquer usuário que utilizar o RootKitRevealer e tentar remover os arquivos sem maiores cuidados, danificará o sistema, como mencionado anteriormente.
4) Esse caso teve uma grande repercussão na mídia, houve alguma preocupação por parte da Sony para desenvolver algum patch ou um desisntalador do Software DRM?
A Sony se recusa em disponibilizar um desisntalador para o seu software. Na página de FAQ da Sony o usuário é direcionado a outra página em que é necessário o preenchimento de um formulário requisitando a desinstalação do software.
Após preencher o formulário, recebe-se um e-mail contendo um "Case ID" e um link para outra página onde deve-se novamente solicitar o desinstalador, e esperar por mais um segundo e-mail.
O download que era para ser pequeno, é de 3.5 mb, pois inclui update para os drivers e para os executáveis do DRM.
Após o patch um novo software é identificado no computador, o MediaJam. Na tentativa de remover o MediaJam, mais um erro.
* * * * * * * * *
An error occurred trying to remove MediaJam. It may have already been unistalled.
Whould you like to remove MediaJam from the Add or Remove programs list?"
* * * * * * * * *
É importante ressaltar que cada link fornecido para a remoção do software só pode ser utilizado uma única vez, o que inviabiliza a redistribuição (deveras importante em grandes organizações) , e obriga os usuários a adotarem todo o processo burocrático que envolve a disponibilização de informações pessoais.
E OS PROBLEMAS CONTINUAM…
Após a aplicação do patch, o driver é descarregado da memória. A correção imposta pelaSony, leva aos usuários o risco da temida TELA AZUL pois o driver Aries não fornece o descarregamento seguro do driver.
"Cada serviço de kernel que é exportado para uso pelas aplicações do Windows tem um ponteiro em uma tabela que é indexada com um número interno de serviço que o Windows atribui a API.
Se um driver modifica uma entrada nessa tabela, com um ponteiro para sua própria função, o kernel então, invoca a função do driver toda vez que a aplicação utilizar a API e o driver pode controlar o comportamento dessa API"
Nunca é seguro descarregar um driver que aplica patches na tabela de chamada do sistema. Um thread pode estar a ponto de executar a primeira instrução de uma função que tem uma ligação externa à tabela de chamada de sistema.
Se isso acontecer o thread saltará para um posição inválida de memória.
Não há uma forma de um driver se proteger dessa ocorrência. Para solucionar esse problema o sistema deveria manter o drive ativo durante o período de desligamento e não ser mais carregado na próxima inicialização..
5) Há alguma forma de prevenção que possa ser tomada pelos usuários?
Uma boa forma de se prevenir é desabilitar o Autorun no computador. Isso irá prevenir que programas em um CD executem automaticamente quando o CD é inserido. Mas é importante saber que isso desabilitará toda e qualquer auto execução, não estando apenas restrito aos CDs de áudio. Portanto quando o Autorun é desabilitado é necessário executar os programas manualmente do CD.
6) Após toda essa cobertura na mídia a Sony ainda pretende continuar com esse esquema de proteção de conteúdo?
A Sony BMG disse que iria suspender a produção de CDs que usem XCP Technology, o rootkit-style DRM desenvolvido pela empresa britânica First4Internet. Entretanto a empresa se recusou pedir desculpas pelo software e também se recusou fazer o recall dos cds que possuem essa tecnologia. Ao todo são 20 CDs que utilizam o XCP Technology, esses produtos estão no mercado desde abril.
A gravadora Sony BMG foi acusada recentemente de utilizar tecnologia hacker em seu software intitulado DRM - Digital Rights Management. Esse software assemelha-se com rootkits pelo uso de técnicas que permitem esconder arquivos e diretórios do sistema. A solução adotada pela Sony para a proteção de conteúdo expõe seus usuários a sérios problemas de segurança, bem como problemas relacionados a privacidade. É sobre isso que conversaremos com Ronan Gaeti, analista de segurança ACME! Computer Security Research - Laboratório de Pesquisa de Segurança em Redes de Computadores, localizado no campus da Unesp de São José do Rio Preto.
1) Inicialmente vamos tentar entender a tecnologia associada ao problema. O que significa o termo RootKit?
O termo rootkit é usado para descrever mecanismos e técnicas utilizadas por malwares, incluindo vírus, spywares e trojans, que tentam esconder sua presença de Spywares Blockers, Antivírus e utilitários de gerenciamento de sistema. Há diversas classificações de rootkits dependendo se ele permanece ativo ou não após o reinício do sistema se executa em modo usuário ou em modo de kernel.
PERSISTENT ROOTKITS: ativado a toda vez que o sistema é inicializado. Deve armazenar o código em uma meio persistente de armazenamento, podendo ser tanto o Registry ou o sistema de arquivos. O código é automaticamente! Mememory-Based Rootkits: malware que não posse código persistente, não sobrevive a um reboot.
USER-MODE ROOTKITS: intercepta diretamente as APIs do Windows FindFirstFile/FindNextFile, que são usadas por aplicativos de visualização de arquivos, incluindo o IE e o command Prompt.
KERNEL-MODE ROOTKITS: manipula diretamente as estruturas de dados do kernel. Uma técnica comum de esconder um processo é removê-lo da lista de processos ativos do kernel. Um vez que as APIs destinadas ao gerenciamento de processos confiam nessa lista, o processo não aparecerá em ferramentas como Task Manager ou Process Explorer.
2) Como foi descoberto o uso da técnica de root-kit no Software DRM?
Mark Russinovich, do site Sysinternals, ficou surpreso enquanto testava a última versão do RootkirRevealer, um software de detecção de root kits, e encontrou a evidência de um rootkit em seu sistema. O software em questão identificou diretórios escondidos, diversos drivers e um aplicação escondida. Esse foi o ponto de partida para uma investigação minuciosa para descobrir a origem desse rootkit.
É relativamente simples olhar as chamadas de sistemas fazendo um dumping do conteúdo da Tabela de Serviços. Todas as entradas devem apontar para endereços pertencentes ao espaço de memória do Kernel do Windows, todas
as chamadas que não pertencerem são patched functions.
Mar Russinovich fez o dumping da tabela de serviços utilizando o software LikeKd, que revelou algumas patched functions. Ainda em sua análise, Russinovich descobriu que essas chamadas externas pertenciam ao driver Aries.sys pertencente ao diretório $sys$filesystem, ambos identificados pelo RootKitRevealer.
É comum que rootkits escondam arquivos e pastas sem necessariamente bloquear o acesso direto a eles. Russinovich abriu um Command Prompt e tentou entrar no diretório escondido:
c:\Windows\system32\$sys$filesystem\.
Sem maiores surpresas conseguiu entrar no diretório e listar os arquivos. Tentando descobrir o que realmente o Aries.sys estava fazendo ele copiou o arquivo para outro diretório e abriu-o no IDA Pro, um poderoso disassembler. Estudando as funções de inicialização do driver ele descobriu que o driver interferia diretamente na tabela de chamadas de sistema escondendo qualquer arquivo, diretório ou chave de registro iniciada por $sys$. Para provar sua conclusão ele realizou uma copia do arquivo Notepad.exe renomeando-o para $sys$Notepad.exe e o arquivo simplesmente desapareceu.
Observando a assinatura dos arquivos contido no diretório oculto, por meio do software Sigcheck, ele conseguiu identificar uma empresa chamada First 4 Internet. Tentou achar algo relacionado ao Aries.sys no site da empresa porém não obteve sucesso. Entretanto descobriu que a empresa vende a tecnologia chamada XCP, o que o fez pensar que aqueles arquivos encontrado fariam parte de algum Sistema de Proteção de Conteúdo.
Pesquisando pela internet, descobriu que a empresa First 4 Internet tinha contrato com diversas gravadoras incluindo a Sony, para implementar o software Digital Rights Management (DRM) para CDs.
Essa referência ao DRM o fez lembrar que havia comprado um CD recentemente que só poderia ser tocado por meio de um media player que veio com CD, e que limitava até três o número de cópias. O CD que ele havia comprado era o Van Zant Brothers - Get Right with the Man (um nome um tanto quanto irônico, dado as devidas circunstâncias) que é protegido com o software DRM
Para provar sua tese ele colocou o CD no computador e notou um aumento do uso de CPU pelo processo $sys$DRMServer.exe, que se auto intitulava Plug and Play Device Manager, o que obviamente representa a tentativa de mascarar o serviço. Retirando o CD esperava-se que o uso da CPU voltasse ao normal, porém para uma surpresa não muito agradável o software, ainda por cima, era mal escrito! Utilizando os softwares "Regmon" , e "Filemon", ele descobriu que o software scaneava os executáveis correspondentes ao processo a cada dois segundos, em busca de informações básicas sobre os arquivos incluindo o tamanho (oito vezes a cada scan). Para confirmar a conexão entre o processo e o CD Playes Mark observou mais atentamente os processos. Baseado nos pipe handles ele descobriu a comunicação entre o player e o DRMServer.
Conclusão: Foi provado que o RootKit encontrado pelo RootKitRevealer estava associado ao software da empresa First 4 Internet que a Sony disponibiliza em seus CDS.
3) É possível a remoção desse software? Quais os riscos de segurança associados?
Quando Mark Russinovich concluiu a relação entre o CD e o RootKit, e começou uma jornada na tentativa de remover o software. Porém, não foi encontrado nenhuma referência em Adicionar ou Remover Programas no Painel de Controle, nem no site da First 4 Internet. Procurando na EULA (END-USER LICENSE AGREEMENT), que é apresentada na instalação do software, não foi encontrado nenhum termo que mencionava na aceitação da instalação de um software que não poderia ser removido.
Tentando a desinstalação manual, Mark removeu as entradas no Registro do windows, parou o serviço DRMServer e deletou sua imagem. Enquanto removia as entradas no registro do windows descobriu que o software se auto intitulava como SafeBoot, ou seja os drivers são carregados até mesmo em modo de segurança, tornando a recuperação do sistema extremamente difícil, se houver um bug em um desses serviços que previnam o sistema de iniciar.
Para sua surpresa maior ao reiniciar o computador Mark descobriu que o seu driver de CD havia desaparecido do Explorer. Ao deletar os drivers, ele havia desabilitado o drive de CD.
O WINDOWS suporta um esquema de "Filtros" que permite um driver se inserir acima ou abaixo de outro driver para que ele possa ver e modificar as requisições de I/O. Abrindo o Device Manager descobriu que a CD-ROM estava associado o driver escondido, Crater.sys Infelizmente só é possível visualizar os nomes dos filtros registrados mas não há nenhuma interface administrativa que permita a remoção. Entrando no Registro, Mark encontrou o registro associado ao filtro do CD-ROM. Na tentativa de removê-lo obteve um erro de acesso negado. Só é possível alterar esse tipo de registro com a conta Local System. Entrando do Register como Local System obteve sucesso na remoção do filtro e na remoção de outro dispositivo chamado Cor.sys. Ao reiniciar o sistema obteve seu drive novamente.
A SONY é responsável pela instalação de um Software repleto de técnicas utilizada por malwares que tentam mascarar sua existência. Pior ainda, qualquer usuário que utilizar o RootKitRevealer e tentar remover os arquivos sem maiores cuidados, danificará o sistema, como mencionado anteriormente.
4) Esse caso teve uma grande repercussão na mídia, houve alguma preocupação por parte da Sony para desenvolver algum patch ou um desisntalador do Software DRM?
A Sony se recusa em disponibilizar um desisntalador para o seu software. Na página de FAQ da Sony o usuário é direcionado a outra página em que é necessário o preenchimento de um formulário requisitando a desinstalação do software.
Após preencher o formulário, recebe-se um e-mail contendo um "Case ID" e um link para outra página onde deve-se novamente solicitar o desinstalador, e esperar por mais um segundo e-mail.
O download que era para ser pequeno, é de 3.5 mb, pois inclui update para os drivers e para os executáveis do DRM.
Após o patch um novo software é identificado no computador, o MediaJam. Na tentativa de remover o MediaJam, mais um erro.
* * * * * * * * *
An error occurred trying to remove MediaJam. It may have already been unistalled.
Whould you like to remove MediaJam from the Add or Remove programs list?"
* * * * * * * * *
É importante ressaltar que cada link fornecido para a remoção do software só pode ser utilizado uma única vez, o que inviabiliza a redistribuição (deveras importante em grandes organizações) , e obriga os usuários a adotarem todo o processo burocrático que envolve a disponibilização de informações pessoais.
E OS PROBLEMAS CONTINUAM…
Após a aplicação do patch, o driver é descarregado da memória. A correção imposta pelaSony, leva aos usuários o risco da temida TELA AZUL pois o driver Aries não fornece o descarregamento seguro do driver.
"Cada serviço de kernel que é exportado para uso pelas aplicações do Windows tem um ponteiro em uma tabela que é indexada com um número interno de serviço que o Windows atribui a API.
Se um driver modifica uma entrada nessa tabela, com um ponteiro para sua própria função, o kernel então, invoca a função do driver toda vez que a aplicação utilizar a API e o driver pode controlar o comportamento dessa API"
Nunca é seguro descarregar um driver que aplica patches na tabela de chamada do sistema. Um thread pode estar a ponto de executar a primeira instrução de uma função que tem uma ligação externa à tabela de chamada de sistema.
Se isso acontecer o thread saltará para um posição inválida de memória.
Não há uma forma de um driver se proteger dessa ocorrência. Para solucionar esse problema o sistema deveria manter o drive ativo durante o período de desligamento e não ser mais carregado na próxima inicialização..
5) Há alguma forma de prevenção que possa ser tomada pelos usuários?
Uma boa forma de se prevenir é desabilitar o Autorun no computador. Isso irá prevenir que programas em um CD executem automaticamente quando o CD é inserido. Mas é importante saber que isso desabilitará toda e qualquer auto execução, não estando apenas restrito aos CDs de áudio. Portanto quando o Autorun é desabilitado é necessário executar os programas manualmente do CD.
6) Após toda essa cobertura na mídia a Sony ainda pretende continuar com esse esquema de proteção de conteúdo?
A Sony BMG disse que iria suspender a produção de CDs que usem XCP Technology, o rootkit-style DRM desenvolvido pela empresa britânica First4Internet. Entretanto a empresa se recusou pedir desculpas pelo software e também se recusou fazer o recall dos cds que possuem essa tecnologia. Ao todo são 20 CDs que utilizam o XCP Technology, esses produtos estão no mercado desde abril.