O ataque, chamado #WannaCry, é baseado no exploit EternalBlue que apareceu no vazamento de ferramentas da NSA feito pelos Shadow Brokers em abril. Embora a falha tenha sido corrigida pela Microsoft, quem usa Windows e não atualizou seu sistema nas últimas semanas está vulnerável.
Os arquivos dos computadores afetados são criptografados com uma chave desconhecida, tornando impossível acessá-los, e é solicitado um resgate financeiro para que sejam descriptografados.
A reportagem da Folha diz que ao menos 16 hospitais públicos do Reino Unido enfrentaram problemas e que o bloqueio de seus computadores impediu o acesso a prontuários e provocou o redirecionamento de ambulâncias. Diz ainda que, no Brasil, o TJ-SP foi alvo de ataques e a equipe de tecnologia recomendou que seus funcionários desligassem os computadores. Funcionários do Santander e da Vivo também relataram problemas nas redes internas.
root@alice ~ # lsusb
Bus 002 Device 002: ID 0bda:0158 Realtek Semiconductor Corp. Mass Stroage Device
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 04f2:b052 Chicony Electronics Co., Ltd
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 147e:2016
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Alice (é o nome do laptop) veio com Windows Vista 64 bits e a primeira coisa que notei nela foi um estranho desligamento do nada (no seu primeiro dia de vida), antes mesmo de eu instalar Linux! (ou seja, nos seus primeiros minutos, pois obviamente a primeira coisa a fazer quando se recebe um computador com Windows é instalar um Linux)
Pensei ser problema do sistema operacional e não dei bola. Mas aí a coisa ficou estranha: coloquei um CD minimal do Gentoo amd64 e quando ele iniciava o computador desligava do nada.
Para não precisar resolver o problema na hora, instalei um Ubuntu 32 bits (que, estranhamente, não desligava) e entrei na internet para pesquisar.
Como o laptop estava com lacres de garantia, ao invés de abrir e tirar 2GB de memória pra testar levei-a até a divisa entre Florianópolis e São José (um local lá perto de onde o Peterson vive) para a Wil Informática, única autorizada da Amazon PC na região.
Lá chegando o cara do suporte falou que tinha outros laptops da Amazon dando problema e que podia ser devido aos 4GB de memória. Trocou os pentes e pensou que funcionaria. Funcionou por alguns minutos na mão dele. Chegando em casa notei que o problema continuava e, como não tinha mais lacres, tirei um pente.
O laptop com 2GB de memória RAM não teve problema algum. Instalei Gentoo, pesquisei mais um pouco e encontrei a opção mem=4000M que deveria passar para o Kernel só reconhecer 3 e com isso funcionar com 64 bits.
Continuei pesquisando, entrei em contato com a Amazon (que não ajudou em nada a não ser sugerir algo equivalente a mem=4000M pra Windows) e troquei e-mails com o Wil (que prometeu passar minha queixa para a Amazon trocar minha placa-mãe e desde 9 de fevereiro não me respondeu). No fim, não tive opção senão ficar com o laptop e, como ele não dava problemas com 3GB, resolvi deixar pra lá.
Há cerca de dois meses, porém, o laptop começou a apresentar outro problema. De vez em quando (quando eu fazia-o processar muito), ele desligava do nada. Quem tem noção de como é o Gentoo sabe que fazer o computador processar muito faz parte do dia-a-dia.
Estranhando o comportamento, mas atribuindo-o a eu estar usando versões bleeding edge (hard masked) de Kernel, GCC & etc, resolvi usar um Ubuntu 32 bits por um tempo até ter disponibilidade pra reinstalar um Gentoo com carinho.
Nos primeiros dias de Ubuntu ele travava com frequência, mas acreditei que fosse por culpa da placa de vídeo (tinha duas opções no Ubuntu: usava Compiz — blacklisted pa minha placa de vídeo — ou tinha um lag infernal pra trocar de área de trabalho no Gnome. Fiquei com a primeira), então não dei bola. Curiosamente os problemas cessaram e continuei usando o Ubuntu [razoavelmente-]feliz por mais algum tempo. De vez em quando o computador desligava quando eu fazia operações bastante pesadas e eu estranhava, mas pensava que era coincidência.
Nesse fim de semana ouvi falar do Funtoo e, mesmo com a agenda cheia, resolvi parar de usar Ubuntu de uma vez e fazer a Alice voltar a ter um sistema firme e forte. Baixei o stage 3 do <a href”http://dev.funtoo.org/linux/~funtoo/core2\_32/”>~core2\_32, caprichei nos arquivos de configuração e quando rodei um emerge -DN worldsurpresa! O laptop desligou.
Superaquecimento? Podia ser, o cooler fazia um barulho desumano, embora o tempo em São Paulo fosse muito frio. O ACPI não me ajudava, porque a temperatura da thermal zone ficava oscilando entre 42, 55, 63, 68, 73 e 79 graus celsius o tempo todo, assim como o barulho do cooler.
Deixei-a desligada por um dia, coloquei-a com as pontas apoiadas em livro, super ventilada, e fui compilar o Gentoo. Novamente, o laptop desligou.
Só pode ser o problema da BIOS, pensei. Vou ver se tem uma versão nova… E não é que tem?
Ótimo, sofro um pouco mas instalo o Vista, atualizo a BIOS e depois isso vai estar corrigido. Alterei minha tabela de partições, criei uma partição primária especialmente pro Windows (porque sei que ele é chato com isso), iniciei com enorme desgosto a instalação do Vista e depois de digitar a product key mais de uma vez cheguei a conclusão que não ia conseguir instalá-lo. E depois ainda dizem que Linux é que é difícil…
Bom… Vou tentar instalar o Gentoo 64 bits, afinal ele já tinha funcionado no início do ano. Baixei e queimei um system rescue cd, o stage 3 do ~core2 e fui à luta. Resultado: desligamento sempre que tentava compilar alguma coisa pesada. Notava uma mensagem estranha muitas vezes: gcc internal compiler error
Resolvi voltar lá, configurei o Kernel e fui compilar. Em vários pontos dava essa segmentation fault (eu ia retirando as partes que davam esse erro), um deles (o último que eu anotei, aí resolvi desistir) foi no reiserfs:
Pensei que só podia ser porque estava usando versões de Kernel e GCC muito novas, potencialmente instáveis (2.6.30-gentoo-r5 e 4.4). Mas por via das dúvidas resolvi procurar na internet. Eis o que encontrei:
- Random segfaults during compilation. These are signalled by compilation
failing at undetermined points. Often trying to recompile will succesfully
compile the file it was complaining about, but will fail for another. This is
in general a sign of hardware problems.
...
There are multiple causes that can cause the above symptoms:
- Flaky hardware. This is showstopper number one. The cause can be either:
- Insufficient power supply. To detect this try to unplug as many auxiliary
devices (like cd-players, usb devices, etc.) as possible and see whether
the problem persists
- Overclocked memory or CPU's can show random anomalous behaviour. Worse some
hardware has these problems even at "factory speed". Lowering the clockspeed
would be the solution to this problems
- Overheated CPU's. CPU's have several calculation units which have a specific
location on the chip. Compilation tends to intensively use a few of those
units. This can cause heat problems within these units even when the overall
chip temperature is within limits. If overheating is a problem a better cpu
cooler often works. (Underclocking also works as heat increases with
frequency)
- Broken chipsets. There are some chipsets on motherboards which are broken.
sometimes the os (read linux kernel) can work around some of these bugs,
sometimes the only solution is a new motherboard.
Resolvi ainda testar o Funtoo estável pra desencargo de consciência, mas dessa vez o system rescue cd não bootou!!! Suponho então Broken chipset ou overclocked memory or CPU. Qual dessas? Apostaria na primeira, mas de fato não faço muita ideia, porque não entendo nada de hardware.
Minha grande dificuldade é explicar isso pras assistências técnicas que, em geral, são compostas por pessoas que não entendem nada de Linux, nada de compilação e não compreendem nem mesmo o problema que tenho. Não que a última seja fácil, nem eu entendo esse problema (mas eu pelo menos sei que há algo errado). Elas testam deixando o computador ligado por algumas horas e, notando que ele não desliga, pensam que está tudo normal.
Creio inclusive que há outros Compal JFT00 (a Intelbras produziu vários desses, além da Amazon) com o mesmo defeito, mas usuários comuns de computador nem devem notar.
Solução? Amanhã telefonarei pra Amazon e incomodarei eles até eles consertarem Alice de vez ou me prometerem um laptop novo. Por sorte Alice ainda está na garantia, que vai até janeiro de 2010. Espero que até lá eu já tenha resolvido tudo isso…
Esse é um problema super comum que já resolvi para dezenas de pessoas e resolvi escrever aqui pra não ficar tendo que repetir a resolução toda vez que alguém me perguntar.
O caso é o seguinte: você tem Linux numa das suas partições e por algum motivo estranho instala Windows (ou reinstala) na outra. O Windows, como todo sistema operacional para idiotas, simplesmente limpa sua MBR (master boot record do HD) sem lhe perguntar nada e com isso deleta seu gerenciador de boots (neste post estarei tratando o Grub e o Lilo).
Aí você se vê triste, desiludido e em muitos casos resolve reinstalar o Linux só pra recuperar o boot. Péssimo, não? Mas não se preocupe: seus problemas acabaram.
Tudo o que você precisará para recuperar sua MBR (com Grub ou Lilo) é:
Um livecd (não precisa ser um daqueles pesadões, um disco 1 do Slackware ou Gentoo Minimal resolve) com a mesma arquitetura do seu Linux. Se você não tem, sugiro o Gentoo Minimal porque é leve: o download você faz aqui. Se você não sabe o que é arquitetura, você provavelmente usa x86.
Saber em que partição se encontra seu Linux (tipo: /dev/hda1, /dev/sda1, ou algo do gênero) e em que HD ele se encontra (tipo: /dev/hda, /dev/sda… é só tirar o número da partição)
Se você não sabe em que partição/hd está seu Linux, é fácil descobrir através do comando fdisk -l
Boote o livecd (considerarei que você sabe fazer isso, do contrário não teria conseguido instalar o Windows) e abra um terminal se seu livecd for gráfico (é aquela telinha preta, também pode ser chamado de Console).
Agora o que vamos fazer é montar a partição root do seu Linux (e considerarei que /boot não está numa partição separada, se estiver monte ela também), entrar nela e reinstalar o Grub ou o Lilo.
Se o seu terminal terminar com um caractere $ (cifrão), digite “sudo su” para virar root. Agora pode digitar o que segue:
# mkdir linux
# mount /dev/hda1 linux
# mount -o bind /dev linux/dev
# mount -t proc none linux/proc
# chroot linux /bin/bash
# source /etc/profile
# cat /proc/mounts > /etc/mtab
Não se esqueça de substituir /dev/hda1 pela partição do seu Linux.
Agora, se você usa Grub (se não, provavelmente esse comando não dará problema, então se você estiver na dúvida pode chutar esse):
Se você não tinha Windows antes, o Windows não vai por mágica aparecer nas suas opções de boot. Então, no seu velho Linux, é só editar o arquivo /boot/grub/menu.lst (pra quem usa Grub) ou /etc/lilo.conf (pra quem usa Lilo) e colocar linhas para bootar o Windows, respectivamente:
title Windows
rootnoverify (hd0,1)
makeactive
chainloader +1
e
other=/dev/hda2
label=Windows
(assumindo que seu Windows está em /dev/hda2)
É importante que você note que o Grub inicia suas contagens a partir do 0. hda1 é (hd0,0), hda2 é (hd0,1), hdb1 é (hd1,0), hdc2 é (hd2,1). Deu pra entender? Letra antes da vírgula (a = 0, b = 1, c = 2, …) e número depois da vírgula (1 = 0, 2 = 1, 3 = 2, …)
Para editar um arquivo como root, escreva “su” para virar root e use “vim”, ou, se você não sabe fazer isso, sua distribuição provavelmente permite que você digite algo como: “sudo gedit arquivo” ou “sudo kwrite arquivo”.
Se você usa Lilo, é necessário que depois de salvar o arquivo você entre no terminal como root e digite:
# lilo
… para salvar suas alterações na MBR.
É isso. Reinicie seu computador e divirta-se com seu gerenciador de boots funcionando novamente. Qualquer dúvida, escrevam comentários.
A maioria das pessoas que ouvem “software livre” ou “free software”, se é que já viram esse termo antes, imaginam um programa de computador gratuito. A filosofia por trás do software livre vai muito além disso, mas não é meu objetivo nesse post falar dela. Meu objetivo é falar sobre o projeto de Bram Mooleenar, criador e mantenedor de um dos editores de texto para programadores mais populares do mundo, o Vim.
Bram criou uma organização não-governamental para ajudar as crianças que sofrem com o alto índice de HIV no sul da Uganda, na África. Ele desenvolve o Vim a troco de doações para esta fundação, a ICCF.
The south of Uganda has been suffering from the highest HIV infection rate in the world. Parents die of AIDS, just when their children need them most. An extended family can be their new home. Fortunately there is enough food in this farming district. But who will pay their school fees, provide medical aid and help them grow up? That is where ICCF Holland helps in the hope that they will be able to take care of themselves, and their children, in the long run.
98% do dinheiro doado para o desenvolvimento do Vim vai para a ICCF ajudar crianças pobres da Uganda. Bram Mooleenar não é nem milionário, ele desenvolve um excelente editor livre para todo mundo, de graça e nem as doações dos usuários satisfeitos com o Vim vão pra ele!
Enquanto isso, o bilionário Bill Gates é premiado e agraciado por ser o “cidadão solidário”: cobra um absurdo em seus programas falhos que não podem ser adaptados para uso especial e doa menos de 5% de sua fortuna para a sua fundação depois de anos de ganância e com uma grana que ele nunca conseguiria usar de qualquer maneira.
Acer Aspire 5050-3205 comprado por 2500 reais num camelódromo de Balneário. Posto melhor sobre ele quando acabar de baixar, instalar e configurar o slamd64, que aí vou conhecê-lo melhor. Primeira impressão: lindo, portátil, a webcam é muito legal!
Veio com um Windows XP que estou pra tirar; no mais, tudo parece funcionar perfeitamente. Só não gostei do layout do teclado que é, em uma palavra, ridículo. Para usar o ponto de interrogação é necessário pressionar AltGr+W e a barra é AltGr+Q ou Fn+; (não sei qual é pior).