Há alguns dias, o servidor principal do kernel.org foi "hackeado". Houve muito barulho em volta disso. Mas o que aconteceu realmente? Quais os perigos envolvidos? Conheça a versão oficial.
Você conhece a Linux Foundation? É uma organização não-governamental, fundada em 2000, com o objetivo de promover o Linux nas mais diversas formas. Entre os grandes colaboradores, está (obviamente) o criador do Linux, Linus Torvalds. Você também pode fazer parte da Linux Foundation. E não precisa ser um super-programador. Basta se inscrever e colaborar 'simbolicamente'. Sou membro há algum tempo, e com isso tenho acesso a materiais exclusivos, como artigos e notícias quentinhas. Faça parte você também.
Todo esse papo é para introduzir algo igualmente sério. Recentemente, o servidor principal do site kernel.org, mantido pela Linux Foundation, foi hackeado. O invasor, não identificado, teve acesso de root. Traduzindo, obteve poderes totais no servidor. Houve muito barulho em volta desse tema. Neste artigo você encontrará a tradução livre de uma matéria da Linux Foundation, do autor Corbet. Você encontrará aqui uma tradução livre da versão oficial do que ocorreu, e quais as suas consequências.
Se dominar o idioma do tio Sam, sinta-se livre para ler o artigo original:
Como foi recentemente anunciado na página principal do kernel.org, seu servidor principal (conhecido como "hera") foi comprometido por um invasor desconhecido. Esta pessoa foi capaz de ganhar acesso de root, ou seja, obteve controle total do sistema.
Falando apenas como um dos muitos membros da comunidade de desenvolvedores do kernel, apenas posso dizer que este episódio é perturbador e constrangedor. Mas posso dizer também que não há necessidade de se preocupar com a integridade da fonte do kernel ou de qualquer outro software hospedado em sistemas dos servidores do kernel.org.
A págna kernel.org é, obviamente, o endereço oficial do kernel Linux. Muitos outros projetos também estão lá. Portanto, kernel.org é um alvo tentador para um ataque. Qual cracker não iria querer uma oportunidade de colocar alguns códigos especiais no kernel Linux? Esse código poderia, ao longo do tempo, estar em milhões de máquinas em todo o mundo. A colocação de backdoors ou outros tipos de malware é uma preocupação para qualquer mantenedor de software - de código aberto ou não - porém estamos bem protegidos contra esse tipo de ataque.
Se todos os desenvolvedores do kernel fizessem envio simples de arquivos com o código fonte, eles provavelmente seriam altamente vulneráveis a ataques. Mas não é assim que o trabalho é feito. O código para o kernel (e para muitos outros projetos) é gerenciado por um sistema que não permite alteração de código modificado por terceiros. Veja como isso funciona.
Uma "função hashing" de criptografia é uma fórmula matemática que resume o conteúdo de um arquivo a um pequeno número. "Pequeno" aqui é algo bem relativo; na verdade, produz números de 160 bits, muito grandes para os padrões medianos - é aproximadamente igual ao número de átomos na Terra.
A chave para a função hash é que, se o conteúdo do arquivo sofre alteração, o hash também sofre. A criação de um arquivo que tenha correspondência exata ao hash de um arquivo existente não é possível na prática; se você quer que novo arquivo seja parecido com o antigo, com exceção de um pequeno trecho de código prejudicial, o desafio é ainda maior. Assim, um atacante seria incapaz de alterar um arquivo sem alterar seu hash também. O sistema realiza verificações regulares.
Assim, uma tentativa simplista de corromper um arquivo seria identificada quase que imediatamente.
O hash não para por aí. Para qualquer estado da árvore de diretórios do kernel, é calculado um hash com base em (1) os hashes de todos os arquivos contidos dentro daquela árvore, e (2) os hashes de todos os estados anteriores da árvore. Assim, por exemplo, o hash para o kernel na versão 3.0 é 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe. Não há forma de alterar qualquer um dos arquivos dentro desse lançamento - ou em qualquer versão anterior - sem alterar esse hash. Se alguém (mesmo que seja o kernel.org) mostrar um kernel 3.0 com um hash diferente, seria imediatamente evidente que algo não estava certo.
Você pode estar pensando que 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe é um número muito longo para memorizar e verificar. Se estivéssemos dependentes de seres humanos para verificar os valores, teríamos razão para nos preocupar. Mas não temos esses problemas quando usamos computadores. E há um grande número de computadores disponíveis para fazer a verificação.
A máquina que eu (Corbet) estou escrevendo este artigo tem uma cópia completa do repositório do kernel. Na verdade, ele tem mais de um. Todos os desenvolvedores do kernel - e muitas pessoas que não são desenvolvedores do kernel - possuem pelo menos uma cópia do repositório em algum lugar. Se um invasor corromper o repositório kernel.org, os outros desenvolvedores notariam logo na próxima vez que atualizassem seus repositórios pessoais - algo que acontece muitas vezes todos os dias.
Se o atacante fosse simplesmente adicionar novos patches que não haviam passado por cópia pessoal de Linus Torvalds do repositório (que não é a cópia em kernel.org), ele iria perceber da próxima vez que tentasse fazer uma mudança de sua autoria. O sistema verá que os valores de hash não são os que deveriam - soará o alarme.
Claro que o endereço kernel.org pode parecer o lugar onde o desenvolvimento do kernel é feito, mas não é. É apenas um ponto de distribuição. A integridade desse ponto de distribuição é protegida pela combinação de software inteligente e milhares de cópias do repositório distribuído em todo o mundo. Assim, quando dizemos que sabemos que a fonte do kernel não foi comprometida em kernel.org, nós realmente sabemos.
Os administradores do kernel.org têm se mostrado capazes e cuidadosos durante muitos anos. Parece que eles tiveram algumas noites sem dormir, com a perspectiva de algumas noites como essa no futuro. Será necessário reconstruir a infra-estrutura do kernel.org e descobrir como o atacante "entrou". A integridade desses sistemas foi perdido; restaurá-la e protegê-la no futuro demandará uma quantidade considerável de trabalho. Mas aqueles que usam o Linux em seu dia-a-dia não precisam se preocupar com a integridade de seus kernels, que é protegida por defesas muito mais fortes do que os de qualquer computador.
[1] Comentário enviado por removido em 19/10/2011 - 10:16h
Muito bom o artigo. Para algumas pessoas é necessário esta explicação, pois alguns tem a compreensão que o Kernel foi violado (invadido), e sabemos que isso não ocorreu. Boa explicação !
[2] Comentário enviado por removido em 19/10/2011 - 10:17h
Finalmente um artigo interessante sobre esse assunto. Até agora, a única coisa que aparecia em alguns lugares era especulação e chateação.
Blá blá blá, kernel violado, bla blá blá, nenhum sistema é 100 % seguro, blá blá blá.
A única coisa que aconteceu foi um acesso indevido ao root do servidor que hospeda o kernel. Isso pode acontecer de várias maneiras, não necessariamente por uma falha do sistema, pode até ser por falha humana. O linux continua íntegro.
Talvez eu esteja falando besteira. Mas eu gostei muito desse artigo, que acalma os ânimos de quem quer ver o linux derrotado. "Nunca serão!"
[4] Comentário enviado por nicolo em 19/10/2011 - 11:06h
O artigo fez chover no molhado. A estória do hash já havia sido comentada aqui no VOL.
Agora, o que aconteceu continua incerto e obscuro.
POr exemplo:
O que tocou o apito vermelho e causou o tumulto todo?
Como os pessoal percebeu que havia algo errado?
Há quanto tempo intruso vinha atuando?
Falam em 1 mes, o que é um lo-o-o-n-ngo tempo em informática.
A extensão do dano ficou conhecida?
[5] Comentário enviado por levi linux em 19/10/2011 - 11:52h
Muito bom artigo, ótimos esclarecimentos.
Sei que uma invasão indica um falha de segurança grave, porém existe uma certa "conspiração" da mídia contra o sistema, que tende a exagerar o fato.
Mas ainda bem, que não houve nada mais grave.
[7] Comentário enviado por dennis.leandro em 19/10/2011 - 11:59h
Muito bom artigo!
Parabeens!
Esclareceram as duvidas de varias pessoas!
Eu ja tinha entendido que era apenas a parte do site, e nao do kernel Linux!
Mas nao sabia dos sistemas de protecao!
Agora sei que estamos MUITO bem protegidos com relacao a isso!
[9] Comentário enviado por cruzeirense em 19/10/2011 - 17:37h
Prezado Cícero,
Essa explicação já existe a um certo tempo na internet. Talvez na época que você escreveu o artigo fosse nova, mas até publicar demorou um pouco.
A minha opinião sobre todo o ocorrido é que ainda não foi explicado exatamente o que aconteceu no kernel.org.
1 - Como foi invadido?
2 - Qual (ou quais) falha de segurança foi explorada?
3 - Os usuários do linux tem as mesmas falhas em seus sistemas?
4 - Existe uma correção para a falha?
E pra ser sincero também eu não entendi bem esta explicação. Se existe os hash's dos arquivos e nenhum deles foi modificado, porque demorou tanto tempo para conferir os benditos hash's?
Acho que existem mais coisas que os simples mortais não estão sabendo...
[10] Comentário enviado por asdf2 em 19/10/2011 - 19:28h
bom, se fosse uma coisa tão simples assim, sem perigo nenhum, me responde isso:
Para quê ficar QUASE 1 MÊS FORA DO AR (até hoje ainda tem serviços indisponiveis) ?
sou usuário puro de linux, só uso linux em casa, mas não sou fanboy de nenhum sistema, qualquer sistema, se tiver algum problema tem que ser falado a limpo, sem proteger ninguém, e linux falhou, falhou sim e falhando feio, e temos que resolver esse problema e divulgar tudo, chega de proteçãosinha besta de que linux é linux e é imbativel, chega disso...
[11] Comentário enviado por removido em 19/10/2011 - 19:36h
Tem duas coisas aqui que não saem da minha cabeça:
[i]"...não há necessidade de se preocupar com a integridade da fonte do kernel ou de qualquer outro software hospedado em sistemas dos servidores do kernel.org.[/i]
Como não? Invadem o site do kernel.org e não há motivos para preocupação? Vc pode me dizer pq 500 pessoas têm acesso ao servidor, ou sejam, estão habilitadas a logar nele???
Isto tb n é motivo para preocupação?
[i]...a págna kernel.org é ... endereço oficial do kernel Linux ... é um alvo tentador para um ataque. Qual cracker não iria querer uma oportunidade de colocar alguns códigos especiais no kernel Linux? Esse código poderia, ao longo do tempo, estar em milhões de máquinas em todo o mundo. A colocação de backdoors ou outros tipos de malware é uma preocupação para qualquer mantenedor de software - de código aberto ou não - porém estamos bem protegidos contra esse tipo de ataque.[/i]
Se [b]todo mundo[/b] sabia disto, porque não se tomou uma providência? Como foi obtido o status de root?
Se m desculpe mas é incompetência pura de quem administra estes servidores!!!
[13] Comentário enviado por juliaojunior em 19/10/2011 - 23:30h
bakunin, em momento algum falei que o artigo era 'original'. Afinal, é baseado em outro artigo da Linux Foundation. E aqui no VOL não houve outra matéria tratando do assunto. Se houve, não vi. Pode me corrigir :)
cruzeirense, a pergunta 'Os usuários do linux tem as mesmas falhas em seus sistemas?' não sei bem se cabe. Como disse no artigo, a invasão foi de um servidor para o kernel.org. Isso não diz que o invasor alterou o kernel. Pode até ter invadido o sistema, algo que eu mesmo nem acho tão fantástico. Basta uma falha de alguém e alguma brecha fica aberta. A questão tratada no artigo foi a integridade do Kernel, e não do kernel.org. Essa diferença é fundamental.
asdf2, dizer "e linux falhou, falhou sim e falhando feio" mostra, no mínimo, uma incompreensão do tema. Você leu o artigo ou falou isso só por falar? A princípio, não tem nada a ver com Linux, Windows, SistemaXYZ. O servidor foi invadido, o servidor do kernel.org. Quantos serviços estão envolvidos nisso? Talvez seja preciso entender melhor a diferença entre o sistema e os serviços implementados pelo sistema.
acvsilva, aí sim vejo motivo de preocupação. Providências certamente foram tomadas previamente, esse provavelmente não é o problema. O problema é que, mesmo com as precauções já tomadas, houve invasão. Isso sim é preocupante. Imcompetência dos administradores, isso é preocupante.
e adsf2, novamente, escrever "e pura insegurança do código do kernel..."??! Isso é tão distante do que aconteceu que já estou achando que é brincadeira.
[15] Comentário enviado por juliaojunior em 20/10/2011 - 00:29h
Vou repetir algo que eu já disse antes. Vc provavelmente sabe que um sistema operacional é uma coisa e os serviços suportados por ele são outra coisa. A expressão 'kernel.org' não é sinônimo de 'kernel do Linux', coisa que provavelmente vc também sabe.
Concordo com vc, é preocupante. Isso não há nem sombra de dúvidas. A informação "... servidores do kernel.org rodam linux" está no corpo do artigo. Concordo com vc, há ligação. Claro que há. Mas daí eu concordar que 'o linux falhou' é confundir o escopo de cada um.
[16] Comentário enviado por meinhardt_jgbr em 20/10/2011 - 13:17h
Companheiros e especialmente Cicero Julião,
Não consigo assimilar e muito menos entender a atitude daqueles que de repente por discordar do assunto ou da pertinência do mesmo, preferem denegrir o artigo, rebaixando a sua avaliação.
Primeiro, o artigo está bem escrito e de forma clara. A tradução mesmo tendo sido dito no inicio do Artigo que é uma tradução livre, está bem feita. Não lembro de nenhum ponto criticável na tradução.
Se o assunto foi mal ou bem explicado, a culpa não é de quem se propôs a investir seu tempo para compartilhar o seu conhecimento e preparar um Artigo fazendo a tradução, mas do autor do original.
Só posso entender o tipo de atitude em rebaixar a nota de um artigo como este de 10 para bem abaixo de um 7 (pois aparece a média 8.2) por algum companheiro que tenha algum recalque por não saber escrever e portanto fica contra tudo e contra todos. Tudo bem que nem mesmo o Cicero Julião esteja imune a criticas pelo que escreve, mas realmente lamento ver a atitude daquele ou daqueles que rebaixaram a nota do artigo com base numa atitude infantil e apenas tipica de quem tem uma inveja insana.
Criticar principalmente de forma não construtiva é muito fácil sendo atitude tipica de todos os medíocres e pobres de espirito. Produzir conteúdo aproveitável são outros 500, que só faz quem pode, não quem quer.
Parabéns pelo artigo, ainda não havia lido nada tão especifico sobre o acontecimento. Me ajudou a entender melhor a situação real.
[18] Comentário enviado por juliaojunior em 20/10/2011 - 16:53h
meinhardt_jgbr, muito obrigado pelo incentivo. Estou aqui há um bom tempo. Já estou habituado a certas atitudes. Mas o importante é compartilhar o que se tem, o que se sabe. Continuemos assim
[20] Comentário enviado por cruzeirense em 21/10/2011 - 12:49h
Prezado cícero,
"cruzeirense, a pergunta 'Os usuários do linux tem as mesmas falhas em seus sistemas?' não sei bem se cabe. Como disse no artigo, a invasão foi de um servidor para o kernel.org. Isso não diz que o invasor alterou o kernel. Pode até ter invadido o sistema, algo que eu mesmo nem acho tão fantástico. Basta uma falha de alguém e alguma brecha fica aberta. A questão tratada no artigo foi a integridade do Kernel, e não do kernel.org. Essa diferença é fundamental. "
O que eu quis dizer é que se o kernel.org foi invadido, possívelmente existiu uma falha que permitisse essa invasão. Queria saber se esta falha existe no kernel que é utilizado nas distros (ubuntu, debian, slackware, etc...). Mesmo porque acho que no prazo em que ocorreu a invasão não houve nenhuma atualização para as grandes distros, de forma que não teria como utilizarem esse kernel possívelmente modificado.
Prezado
meiardth,
"Criticar principalmente de forma não construtiva é muito fácil sendo atitude tipica de todos os medíocres e pobres de espirito. "
Não é só porque você gostou do artigo que todo mundo é obrigado a gostar. Todo mundo é livre para gostar do que quiser e ninguém é mediocre ou pobre de espírito por isso.
"Produzir conteúdo aproveitável são outros 500, que só faz quem pode, não quem quer."
Interessante esse ponto de vista, mas não se aplica aqui, visto que o artigo não foi produzido pelo cícero, é apenas uma tradução.
Se você gostou dá seu 10 e não preocupe com o gosto dos outros...
[22] Comentário enviado por removido em 23/10/2011 - 07:03h
É, realmente houve uma confusão entre a interpretação da informação disponibilizada e críticas pessoais ao sistema.
Parabéns juliaojunior pelo artigo!
Não desanime, todos temos a consciência de que poderiámos obter essas informações focando em uma pesquisa detalhada sobre o assunto, porém ninguém se empenhou a isso e retribui o favor recebido com críticas absurdas.
Mas, amamos o Linux não é? É uma característica de quem faz o bem (vide: Jesus Cristo).
É óbvio que se o sistema se popularizar de forma a ameaçar o império DRM haverá consequências, afinal, compartilhamos tudo, até com quem tem interesses opostos, ou seja, sabem mais de nós que deles mesmos.
Continue disseminando conhecimento pois haverá sempre alguém grato, ainda que a maioria reclame.
[24] Comentário enviado por removido em 24/10/2011 - 20:57h
Obviamente a segurança não depede exclusivamente do pessoal que cuida dos kernels..
Não sou também fanboy de nenhum sistema, apenas acredito que num sistema onde você (usuário) pode controlar tudo, VOCÊ é o principal agente de segurança.
Eu mesmo mantenho no meu disco reservado boa parte do espaço para guardar kernels e outras bibliotecas core essenciais do linux, apenas como medida de segurança.
Reforço também e principalmente a segurança da entrada e saida de dados, fisica e remotamente, do meu computador.
Não sou nenhum paranóico com segurança, mas acredito que um bom usuário de computador tem de ter o controle sobre as suas informações e não confiar de primeira cara e nem demasiadamente em nenhum sistema de computação.
Mas volto a enfatizar, não sou fanboy, sei o que os outros sistemas têm de bom e ruim. E sei bem o que é ultil pra mim.
Aprecio e defendo a bandeira LINUX pois ele é o sistema que mais facilita isto para mim, pois conheço como ele funciona, sua estrutura, e também estou hábil a alterar ao belprazer o que eu achar conveniente.
[25] Comentário enviado por rdg em 27/10/2011 - 11:19h
Como diz na matéria isso é bem perturbador , agora resta saber como conseguiram logar em root . Mas isso ja era até certa forma esperado , pois tudo que se torna destaque pode vir a ser o próximo alvo , e como nos últimos anos o kernel linux tem se difundido muito.E como todo sistema ,independente da plataforma, sempre tem alguma brecha a ser explorada.
[27] Comentário enviado por pinduvoz em 03/11/2011 - 11:28h
Realmente, o artigo esclarece muito.
Sabemos agora que todos os arquivos que interessam ao Kernel Linux estão protegidos contra alterações indevidas (os citados "hashs") e que não foram comprometidos.
O que ainda me preocupa, e deveria preocupar toda a comunidade, é o tempo gasto na solução do problema. Por que, raios, ficou o servidor fora do ar por mais de um mês se em minutos dá para checar se houve alterações indevidas?
Não sei se vcs lembram da invasão do repositório principal do Fedora. Naquela ocasião, a Red Hat abriu um "espelho" limpo praticamente no dia seguinte. Por que não o Kernel?
Isso, a questão do tempo, é o que falta esclarecer.
[28] Comentário enviado por juliaojunior em 03/11/2011 - 23:41h
pinduvoz, isso é uma verdade. Até hoje fico pensando o q desgraça aconteceu. Publiquei este artigo com o objetivo de esclarecer que o kernel em si foi preservado. Mas a matéria não explica qual o motivo de tanto tempo. E o porque tal explicação não estar no artigo é muito simples: não encontrei explicação em lugar algum. Sei lá, hoje já podem ter publicado. Mas não vi. E isso, realmente, é preocupante.