Questão Algum software pode danificar fisicamente o hardware?


Eu sei que uma pergunta semelhante a esta foi feita antes, no entanto, foi sobre a instalação de um sistema operacional de 32 bits em um laptop de 64 bits. Minha pergunta é mais sobre danificar o hardware.

Eu queria saber se havia uma maneira de fazer a interface com o hardware do sistema operacional ou da camada de terminal, de modo a danificá-lo além do reparo (dano físico real, não apenas hardware defeituoso).

  • Você poderia ignorar as medidas de segurança e executar uma CPU com tanta força que a cerâmica realmente quebra?
  • Você poderia escrever ou interagir com um HDD de uma maneira que causaria danos físicos aos pratos?
  • Você poderia mexer com a memória e fritar RAM?
  • Você pode explodir um NIC?

Eu sou interessante em saber o limite ao qual o software pode alcançar quando se olha para um sistema como um todo.


89


origem


Eu diria sim a todas essas coisas, embora não seja trivial. Você já leu sobre stuxnet - arstechnica.com/tech-policy/news/2011/07/… - Nate
possível duplicata de Um vírus pode derreter a CPU? - dmckee
Equipe Negra da IBM: penzba.co.uk/GreybeardStories/TheBlackTeam.html - jftuga
Meu amigo tinha um monitor CRT Magnavox que, quando definido para 1280 x 1024, morreria em um monte de fumaça. Ele acidentalmente fez isso para um par de monitores, felizmente ainda estava na garantia. - Jack B Nimble
@dmckee Eu diria que isso não é uma duplicata exata porque é um pouco mais geral - não sobre como derreter a CPU especificamente, mas apenas sobre como o software pode causar qualquer dano físico. - nhinkle♦


Respostas:


Quando realmente executando programas, a carga na CPU pode fazer com que a temperatura do núcleo suba. Embora as tecnologias mais recentes tenham algum efeito (frequência dinâmica e escala de voltagem), isso ocorre principalmente porque certas instruções usam caminhos elétricos diferentes no microprocessador (em oposição a quando o processador está simplesmente em um estado ocioso ou de baixa energia). Houve vários vírus de energia escrito no passado, que aproveita esse fato para executar repetidamente o código de máquina específico, que atrai o máximo de energia e, portanto, produz o máximo de calor (veja a pergunta Um vírus pode derreter a CPU? para detalhes).


Embora você também possa estender essa ideia para outro hardware no sistema (que abordarei abaixo), outro interessante é os dispositivos de armazenamento. Você também pode escrever um vírus para ler e gravar arquivos constantemente em uma unidade, o que os desgastará muito mais rápido (discos rígidos mecânicos e drives de estado sólido). Você aumentará a probabilidade de falha mecânica em um HDD e diminuirá a longevidade de um SSD. Se o usuário não estiver ciente desses ciclos constantes de leitura e gravação, você poderá danificar seus discos dentro de uma semana ou mais se você implementou isso corretamente.

Além disso, alguns laptops da Apple possuem um microcontrolador embutido na bateria. Nada de especial, mas no passado eles lançaram um patch que atualiza o firmware - e por sua vez, agora as próprias baterias são suscetíveis a hacks de firmware.


Agora, de volta ao dano por calor. Algumas novas placas-mãe incluem a opção de modificar as configurações do BIOS no Windows. Você poderia teoricamente escrever um vírus que aumentaria as tensões no sistema para limites artificialmente altos, potencialmente danificando os componentes (RAM, CPU, north / southbridges). O aumento da tensão e / ou o overclocking do barramento PCIe também podem danificar alguns desses componentes.

Um componente em particular em um barramento PCIe / AGP que eu gostaria de endereçar é a placa de vídeo. Isso ocorre porque a maioria dos fabricantes fornece ferramentas de overclock para aumentar a velocidade e a voltagem do núcleo. Dando um passo ainda mais adiante, você também pode escrever um vírus para usar essas ferramentas para elevar essas duas coisas a níveis perigosos, para que você possa queimá-lo, sobrecarregá-lo até que ele se degrade ou ambos!

Observe que a maioria dos hardwares de computador possui proteção contra superaquecimento e atingirá o "desligamento térmico" antes de ocorrer qualquer dano. Quanto à proteção contra sobretensão, é possível, mas muito menos comum.


O ponto: É possível escrever vírus que aproveitam qualquer sistema de computador. Se o sistema de destino não tiver acesso ao hardware externo (ou mesmo ao próprio), não há muito dano que você possa fazer. A melhor analogia aqui seria como tentar hackear alguém que puxou o cabo Ethernet para fora da parede - você literalmente não tem acesso a esse sistema.

Dito isto, a maioria dos dispositivos em nossos sistemas de computador modernos Faz ter acesso para modificar parâmetros físicos de hardware - ou seja, tensão e velocidade do núcleo. Desde essas coisas posso ser modificado, é possível para que os vírus aproveitem e possivelmente interrompam ou destruam completamente sua operação.


60



-1 Eu discordo em discos rígidos. Os discos rígidos do servidor funcionam constantemente e não se desgastam em uma semana. static.googleusercontent.com/external_content/untrusted_dlcp/… - Byron Whitlock
Embora no problema da CPU, qualquer placa moderna terá cortes térmicos que devem matar a energia muito antes que a CPU esteja em perigo de dano físico. - Phoshi
@Bryon Whitlock eu diria que isso depende do padrão de uso. A maioria dos servidores armazena em cache as informações que eles recuperam e executam write-backs sequencialmente. Você poderia criar um vírus para gravar informações na borda e bordas muito internas de um disco de volta e quarto muito rapidamente, causando desgaste excessivo muito Mais rápido. Finalmente, se você pudesse escrever continuamente em um grupo selecionado de setores, você pode ser capaz de causar alguns problemas ruins muito mais rápido do que o normal. - Breakthrough
@Breakthrough: Uhm ... não. Escrever continuamente para os mesmos setores não fará absolutamente nada para esses setores. Bandejas magnéticas não "desgastam-se devido à flexão excessiva". Estou um pouco confuso sobre o porquê você acha que isso causaria um problema. Se a sua unidade tiver problemas em procurar entre as bordas do disco, você tem uma unidade defeituosa ... mais uma vez essa interface é eletromagnética, não mecânica. Para ter um problema, você teria que literalmente desgastar o rolamento selado que mantém o conjunto do braço no lugar. - user11934
Os discos rígidos PODEM ser danificados por vírus, mas não por qualquer tolice relacionada a braço e prato. O ponto mais vulnerável é o motor do fuso principal. Inicie a unidade, desligue-a, inicie-a, desligue-a, etc etc etc. Isso é (relativamente) difícil nos componentes. Essa é a principal razão (além do choque físico) de que as unidades de laptop não duram tanto quanto as unidades de desktop, os requisitos de energia mantêm as coisas giradas o máximo possível. Assim, um vírus poderia, teoricamente, encurtar a vida útil das unidades de desktop para parecer mais com uma unidade de laptop. - user11934


Sempre houve esse aviso de que alguns monitores CRT mais antigos, se recebessem um sinal de vídeo além das freqüências que poderiam suportar, poderiam sofrer danos. Eu não sei quais, mas era um aviso comum quando você ajustava as taxas de atualização ou as configurações manuais de resolução.

Basicamente, a menos que um sistema não tenha resfriamento adequado ou uma fonte de alimentação adequada instalada, você não pode quebrar a CPU trabalhando muito. O resfriamento e a energia com a qual ele está instalado devem ser mantidos a 100% de uso.

Contudo todas as CPUs modernas todas as atualizações de microcódigo. A Intel sempre exigiu que seu microcódigo seja criptografado, mas a AMD não (não sei se isso mudou). Pode ser possível fazer upload de um microcódigo para uma CPU que faz algo desagradável.

A memória flash pode ser desgastada com gravações repetidas. Provavelmente é possível "queimar" um chip flash BIOS com este método.

Tenho certeza de que os fabricantes de discos rígidos projetam seus dispositivos com intertravamentos de hardware e nenhuma capacidade de ajustar a velocidade do motor, já que realmente o motor do HDD gira a uma velocidade constante. No entanto, girar e girar um HDD causa estresse e desgaste prematuro, o que pode ser feito em software. Além disso, é possível "queimar" a memória flash / EEPROM de um disco rígido com repetidas atualizações falsas ou firmware hackeado que gravam repetidamente em flash ou EEPROM acessível internamente. Da mesma forma para as unidades de CD-ROM.

É possível desabilitar os fãs por software, mas muitos processadores modernos desligam automaticamente quando uma temperatura muito alta é atingida. CPUs mais antigas não tinham essa proteção, mas essas placas-mãe também não tinham controle de ventilador.


15



Sobre os CRTs: acho que foi possível com os mais antigos. Eu já tinha alguns dos meus definidos em níveis onde a tela era uma bagunça pura. Eu sempre desligava a tela porque tinha medo de quebrá-la. Os mais novos mostraram apenas o erro "fora do intervalo". - sinni800
Há anos, Donkey escrevi código de baixo nível controlando a arma de elétrons do monitor (mono). Eu estava preocupado que, se eu entendi errado, a varredura do feixe seria restrita a um pequeno ponto no meio da tela, que poderia superaquecer em relação ao resto do vidro, e quebrar. Isso nunca aconteceu, mas eu suei um pouco! - FumbleFingers
Na cor gameboy e gameboy, se você zerou o bit 7 de FF40 (LCD Ativar) em qualquer período, exceto um vblank que quebraria permanentemente a tela LCD do gameboy. - Callum Rogers
Este foi um problema em meados dos anos 90 ao configurar o X em uma máquina linux com certas combinações de placas de vídeo e monitores e produzir resoluções específicas / profundidades de cor / atualizações de freqüência. - ivanivan


Sua fonte de alimentação, se explodir, não causará o mesmo dano que a do Die Hard. Desculpe desapontar.

Um artigo interessante destacando uma variante do software causa danos no hardware recentemente Conectado com relação ao vírus Stuxnet. Software que causa software de comando e controle para danificar fisicamente as centrífugas nucleares. É simplesmente incrível.


10



Embora este seja um vírus muito interessante, e suas implicações fossem muito grandes, eu diria que o Stuxnet é não o que @MaxMackie estava procurando. Nesse caso, o software tinha controle físico de um dispositivo físico capaz de causar danos. Eu acho que ele está falando apenas de um sistema básico de computadores causando danos a em si, não há dispositivos sobre os quais tenha controle direto. Dito isto, o vírus Stuxnet foi muito surpreendente no que fez - +1 - Breakthrough
Eu continuei rindo e sacudindo a cabeça enquanto lia o artigo. Eu sei que não é o que ele estava perguntando, mas aparentemente eu não era a única pessoa que achava que pelo menos tinha relações teóricas com esse tópico. - music2myear


Historicamente, houve alguns casos em que falhas de design de hardware tornaram possível danificar direta e imediatamente uma máquina. Em um caso, uma instrução de linha única pode causar um curto-circuito no computador e pegar fogo, IIRC. Mas os casos de que ouvi falar estavam em velhos micros de 8 bits.

Aparentemente, o termo é "Killer Poke", mas eu acabei de transformar isso em um rápido Google.

Eu não ficaria surpreso se essas coisas pudessem acontecer em sistemas embarcados com drivers com bugs para hardware, mas isso deveria ser difícil de alcançar nas plataformas de hardware mais comuns - primeiro porque o acesso direto ao hardware é controlado e, em segundo lugar, porque esses problemas deveriam ser incomum e muito específico para plataformas de hardware exatas de qualquer maneira. Por exemplo, uma cutucada em sua placa gráfica provavelmente funcionará apenas para uma placa gráfica específica.

Vejo - http://en.wikipedia.org/wiki/Killer_poke

EDITAR - Eu não consegui achar nenhuma referência a micro-circuitos de 8 bits e pegar fogo de uma cutucada assassina - talvez esse fosse apenas um mito urbano que eu peguei no caminho em algum lugar. Mas as notas sobre instruções de CPU HCG (Halt e Catch Fire) ( http://en.wikipedia.org/wiki/Halt_and_Catch_Fire ) são divertidos ... O processador Motorola 6809 foi usado no Dragon 32, IIRC, então é isso que eu mal me lembro.


8



AFAIK "Killer Poke" como proteção contra cópia no Commodore 64 (8 bits) era real. - Peter Kofler
@ Peter - Se houvesse uma maneira de danificar permanentemente o hardware C64 com código, ele provavelmente teria sido mencionado no livro "Definitive Guide" de Raeto West - não me lembro de nada, mas isso não significa muito. Eu colocaria apostas que lá estavam maneiras de causar danos permanentes à unidade de disquete, mas nunca possuía uma dessas. - Steve314


Além de overstressing o hardware, existem vírus de firmware, que poderia danificar o hardware não danificando-o fisicamente, mas simplesmente tornando-o inoperável (o que pode muito bem ser "físico", já que o hardware não pode mais ser usado qualquer sistema).


8





Eu danifiquei uma unidade de disquete uma vez, programando um código de montagem para mover a cabeça para fora dos limites habituais. A unidade parou de funcionar e eu consegui fazer isso com outras duas unidades.

Mas muitas pessoas duvidam disso naquela época e eu nunca mais dei atenção ao assunto novamente.

Há alguma discussão sobre se reescrever um BIOS (como o vírus antigo causou) é um dano físico, mas muitas pessoas (inclusive eu) tiram isso dos problemas que você mencionou.


6





executar uma CPU tão difícil que a cerâmica realmente quebra

Não, é impossível fazer qualquer coisa para uma CPU no software para causar "a cerâmica [quebrar]". Embora seja possível em algumas CPUs alterar os modos de controle de freqüência ou potência o dado superaquece, ou para alterar as saídas de tal forma que os transistores afundar ou fonte muito atual (que depende de como os componentes externos são interfaceados); qualquer um deles danificará o silício ou as almofadas. A cerâmica não será afetada.

Também é possível em uma CPU que tenha registros de configuração EEPROM (às vezes chamados 'fusíveis') para bloquear a CPU. Por exemplo, processadores embutidos (não x86 classe como na pergunta original) com flash interno que fornece opções de proteção de código ou outras opções (por exemplo, Microchip PIC) que, se configuradas incorretamente, podem causar a quebra do código (se o código estiver ativado e o software tentar ler memória de programa, ele retornará todos os zeros em vez dos valores reais). Isso iria 'tijolo' o sistema e reprogramação usando um programador de chip externo poderia ser necessário (talvez até mesmo remoção de placa de circuito para fazer isso).


5