web-dev-qa-db-ja.com

一部のソフトウェアはハードウェアに物理的な損傷を与える可能性がありますか?

私はこれと同じような質問が以前に尋ねられたことを知っていますが、それは64ビットラップトップに32ビットOSをインストールすることについてでした。私の質問はハードウェアの損傷に関することです。

私は修理を超えてそれを損傷する方法でOSまたはターミナル層からハードウェアとインターフェースする方法があるのではないかと思っていました(実際の物理的な損傷。故障したハードウェアだけではありません)。

  • セキュリティ対策を回避して、セラミックが実際に壊れるほどCPUを強く動かしてもらえませんか。
  • プラッタに物理的な損傷を与えるような方法で、HDDに書き込みまたはインタフェースすることができますか?
  • あなたはメモリとフライRAMを台無しにすることができますか?
  • あなたはNICを吹き飛ばすことができますか?

私は、システム全体を見たときにソフトウェアが到達できる限界を知ることに興味があります。

91
n0pe

実際にプログラムを実行しているとき、CPUの負荷によりコアの温度が上昇する可能性があります。新しいテクノロジーには何らかの効果(動的周波数と電圧スケーリング)がありますが、これは主に、特定の命令がマイクロプロセッサーで異なる電気経路を使用するためです(プロセッサーが単にアイドル状態または低電力状態の場合とは対照的です)。過去にさまざまな パワーウイルス が記述されていますが、この事実を利用して、特定のマシンコードを繰り返し実行し、最大のパワーを引き出し、したがって、最大の熱を生成します(質問 ウイルスはCPUを溶かすことができますか? 詳細については)。


このアイデアをシステム内の他のハードウェア(以下で説明します)に拡張することもできますが、別の興味深いものはストレージデバイスです。また、ドライブにファイルを常に読み書きするウイルスを作成することもできます。これにより、lotより高速になります(機械式ハードドライブとソリッドステートドライブの両方)。 HDDの機械的故障の可能性を高め、SSDのドライブ寿命を短縮します。ユーザーがこれらの一定の読み取り/書き込みサイクルに気付いていない場合、これを適切に実装すれば、1週間以内にディスクを損傷する可能性が高くなります。

また、一部のAppleラップトップには、バッテリーにマイクロコントローラーが組み込まれています。特別なことは何もありませんが、過去にファームウェアをアップグレードするパッチをリリースしました-そして今では バッテリー自体がファームウェアのハッキングを受けやすい です。


さて、熱損傷に戻ります。一部の新しいマザーボードには、WindowsでBIOS設定を変更するオプションが含まれています。理論的には、システムの電圧を人為的に高い限界まで増加させ、コンポーネント(RAM、CPU、北/南橋)を損傷する可能性のあるウイルスを作成できます。電圧を上げたり、PCIeバスをオーバークロックしたりすると、これらのコンポーネントの一部が破損する可能性があります。

特に対処したいPCIe/AGPバス上のコンポーネントの1つは、ビデオカードです。これは、ほとんどのメーカーがコアの速度と電圧を上げるためのオーバークロックツールを提供しているためです。さらに一歩進んで、これらのツールを使用してこれらの両方を危険なレベルに上げるウイルスを作成することもできます。そのため、それらを燃やすか、劣化するまで過電圧するか、その両方を行うことができます!

ほとんどのコンピュータハードウェアには過熱保護機能があり、損傷が発生する前に「サーマルシャットダウン」に達することに注意してください。過電圧保護については可能ですが、あまり一般的ではありません。


ポイント:任意のコンピューターシステムを利用するウイルスを作成することは可能です。ただし、ターゲットシステムが外部(またはそれ自体の)ハードウェアにアクセスできない場合は、それほど大きな損害はありません。ここでの最良の例えは、イーサネットケーブルを壁から引き抜いた人をハッキングしようとすることです。文字通り、そのシステムにアクセスする方法はありません。

とはいえ、現代のコンピューターシステムのほとんどのデバイスdoは、物理的なハードウェアパラメーター、つまり電圧とコア速度を変更するためのアクセス権を持っています。これらのことはcanが変更されるため、is isウイルスが利点を活用し、動作を完全に妨害または破壊する可能性があります。

61
Breakthrough

彼らが扱うことができる周波数を超えるビデオ信号を与えられるならば、何人かのより古いCRTモニターが損害を被るかもしれないといつもその警告がありました。私はどれを知りませんが、あなたがリフレッシュレートまたは手動の解像度設定を調整していたときに与えられた一般的な免責事項でした。

基本的に、システムに適切な冷却装置や適切な電源装置が取り付けられていない場合を除き、CPUを過熱しても壊すことはできません。それがインストールされている冷却と電力は100%の使用率でそれを維持する必要があります。

しかし、最近のCPUはすべてマイクロコードを更新しています。 Intelは常にマイクロコードの暗号化を要求してきましたが、AMDは要求しました(変更されたかどうかわからない)。厄介なことをしているCPUにマイクロコードをアップロードすることは可能かもしれません。

フラッシュメモリは書き込みを繰り返すと消耗します。この方法でBIOSフラッシュチップを「焼き尽くす」ことはおそらく可能です。

ハードドライブの製造元は、ハードドライブインターロックを使用し、モーター速度を調整する機能を使用せずにデバイスを設計していると確信しています。実際、HDDモーターは単に一定の速度で回転するためです。しかし、HDDを回転させたり回転させたりすると、ストレスや時期尚早の摩耗が発生します。これはソフトウェアで行うことができます。また、ハードドライブのファームウェアフラッシュ/ EEPROMを、偽の更新プログラムを繰り返し使用したり、内部アクセス可能なフラッシュまたはEEPROMに繰り返し書き込みをするハッキングされたファームウェアを使用して、 "焼き払う"ことも可能です。 CD-ROMドライブについても同様です。

ソフトウェアでファンを無効にすることは可能ですが、最近のCPUの多くは、温度が高すぎると自動的にシャットダウンします。古いCPUにはこの保護がありませんでしたが、そのようなマザーボードにもファン制御がありませんでした。

15
LawrenceC

あなたの電源が爆発しても、Die Hardのものとまったく同じダメージを与えません。がっかりしてすみません。

ソフトウェアの変種を強調した魅力的な記事は、最近Stuxnetウイルスに関して Wiredに出現したハードウェアの損傷を引き起こします 。指揮統制ソフトウェアに核の遠心分離機を物理的に損傷させるソフトウェア。それはちょっとすごいことです。

10
music2myear

歴史的に、ハードウェアの設計上の欠陥が直接そして即座に機械を損傷することを可能にしたいくつかのケースがありました。ある場合には、単一行の命令がコンピュータをショートさせて発火させる可能性があります、IIRC。しかし、私が聞いた事件は、古い8ビットマイクロに関するものでした。

どうやら、用語は "キラーポケ"ですが、私は簡単にグーグルでそれを明らかにしました。

これらのことがバグの多いハードウェアドライバを備えた組み込みシステムで起こることがあっても私は驚かないでしょうが、最も一般的なハードウェアプラットフォームで達成するのは難しいはずです - ハードウェアへの直接アクセスが制御されるからです。とにかく珍しくて、正確なハードウェアプラットフォームに非常に特有です。例えば、あなたのグラフィックスカードを爆発させることは、おそらく特定のグラフィックスカードに対してだけ働くでしょう。

- http://en.wikipedia.org/wiki/Killer_poke を参照してください。

EDIT - キラーポークからの8ビットのマイクロショートおよび発火への言及を見つけることができなかった - 多分これはまさに都会の神話だった私は途中どこかで拾った。しかし、HCG(Halt and Catch Fire)のCPU命令( http://en.wikipedia.org/wiki/Halt_and_Catch_Fire )に関するメモは楽しいです..モトローラ6809プロセッサはドラゴン32、IIRCで使用されていたので、多分それは私がほんの少し覚えているものです。

8
Steve314

ハードウェアに過度のストレスをかけること のほかに、 ファームウェアウイルス があります。ハードウェアを物理的に損傷させるのではなく、単に動作不能にする(ハードウェアはanyシステムで使用できなくなるため、「物理的」になる可能性があります)。 .

私はフロッピードライブを一度傷つけ、頭を通常の限界から動かすようにアセンブリコードをプログラムしました。ドライブが動かなくなり、他の2台のドライブでも可能になりました。

しかし、当時は多くの人がそれを疑っており、私は二度とこの問題に注意を向けなかった。

BIOSを書き換えること(古いウイルスがしたように)が物理的な損傷であるかどうかについての議論があります、しかし多くの人々(私自身を含む)はあなたが言及する問題からこれを取ります。

6
woliveirajr

陶磁器が実際に壊れるほど堅いCPUを動かしなさい

いいえ、「セラミックを壊す」ためにソフトウェアでCPUに何かをすることは不可能です。一部のCPUでは、ダイがに過熱するように周波数または電力制御モードを変更することも、トランジスタシンクまたはソースになるように出力を変更することもできます。多くの電流(これは外部コンポーネントとのインターフェースの仕方によって異なります)。どちらもシリコンまたはパッドを損傷します。セラミックは影響を受けません。

EEPROM設定レジスタ(「ヒューズ」と呼ばれることもあります)を持つCPUでも、CPUを構成することができます。例えば、コード保護オプションや他のオプション(例えばMicrochip PIC)を提供する内蔵フラッシュを搭載した組み込みプロセッサ(は、元の質問のようにx86クラスではありません)コードが壊れる可能性があります(コード保護がオンになっていて、ソフトウェアがプログラムメモリを読み取ろうとすると、実際の値ではなくすべてゼロが返されます)。これはシステムを「煉瓦化」し、外部のチッププログラマを使用して再プログラミングすることが必要になるかもしれません(これを達成するために回路基板から取り外すことさえ可能です)。

5
jcline

通常のデスクトップコンピュータから離れたら、悪意のないソフトウェアエラーでも、壮大なハードウェア障害を引き起こす可能性があります。

  • Mars Climate Orbiter - メートル法から帝国法への変換エラーによって破壊され、5億ドル以上がミスソンに費やされました。

  • Ariane 5 Flight 501 - 整数オーバーフローのバグにより破壊され、その結果、ロケットと搭載されている宇宙船の損失は3億7000万米ドル以上になりました。

  • 2つの$ 150ミリオンF - 22ラプター航空機がクラッシュ - 異なるバグによる

  • ChinookヘリコプターのFADECソフトウェアのバグは、少なくとも一部は ZD576のクラッシュ と29人の死亡のせいです。

3
Colin Pickard

私たちのほとんどは単純な小さなコンピュータ用のコードを書いているだけで、これが起こる可能性は低いです。あなたが機械機械とインターフェースをとるとき、それはよりありそうになります。

最近、ワームStuxnetが、ウラン濃縮のプロセスで使用されるガス遠心分離機を制御するSiemensソフトウェアを攻撃するために作成されました。それは遠心分離機をそれらを損傷するように設計された速度で回転させるだろう。

3
sjbotha

何年も前に、DAT(デジタルオーディオテープ)ドライブをコンピュータのバックアップドライブとして設定しました。 Retrospect(バックアップソフトウェア)を介して間接的にしか書き込めませんでした。それから私はあなたが実際にドライブをマウントすることを可能にするいくつかのソフトウェアを見つけました - それをハードドライブのように使います。それはうまくいった…数週間…そしてテープドライブは燃え尽きた。テープヘッドは、ハードドライブのようにランダムアクセス用に設計されたものではなく、前後に激しく衝突して破壊されました。

そうです、ソフトウェアはハードウェアを損傷する(あるいは破壊する)可能性があります。

3
Typist

Mandrake Linuxは何年も前にLG CDROMにバグがありました http://www.linux.com/archive/feed/32318 。現時点ではバグは有名でした。

3
Rufo El Magufo

ハードウェアを損傷する最も簡単な方法は、マイクロコントローラの個々のピンにアクセスできる組み込みシステムの場合です。入力を出力に設定するか、またはその逆に設定するだけで、短絡が発生します。私がこれをPCに損害を与えるのに有用であると想像することができる唯一の方法はあなたがアクセスを持っていて、そしていくつかのハードウェアコンポーネントのファームウェアに変更することができるということです。

2
vsz

設計時にハードウェアに課された制約に部分的に依存します。それが発射するように設計された爆弾がコンピューターに取り付けられている場合、おそらくソフトウェアでハードウェアをかなり効果的に破壊することができます。しかし、雷管への直接アクセスを防ぎ、ハードウェアは安全です。

ソフトウェアでハードウェアを損傷するには、次のものが必要です。

  • 自分自身を損傷する可能性があるハードウェア
  • ソフトウェアがその機能を制御する方法(例:UI、API、低レベルのアクセス、アクセス制限のバグ)
  • ソフトウェアを変更/操作/インストール/実行する方法
2
bhinesley

はい、少なくとも設計が不十分なハードウェア用です。しかし、現代のハードウェアはさまざまな安全規制を遵守しなければならず、それがそれ自体を損傷する能力を制限します。最近のCPUは過熱した時、最近のハードディスク/ CD/DVD /ブルーレイドライブは事前に設定された速度などを持っているとシャットオフします。ハードウェアの製造元が設置した安全なメカニズムには、欠陥のあるソフトウェア(欠陥のあるドライバやファームウェアを含む)によるハードウェアの損傷を防ぐためのものがあります。

これらの安全機構は決して絶対確実というわけではありませんが、ソフトウェアだけでうまく設計されたハードウェアを損傷することは非常に困難です。ソフトウェアができることは、最適な方法でハードウェアを使用することです。

2
Lie Ryan

あなたがBIOSレベルコントロールに入ることができるなら、確かにそれは多くのシステムに損害を与えることが可能です。単純にファンをオフにしてから計算集中型プログラムを実行すると、多くのシステムに損傷を与えることになります(ハードワイヤードのサーマルリミッタを含むものもあります)。いくつかのシステムではプログラムなどで電圧を調整することができ、いくつかではプロセッサのデューティサイクルなどを調整することができます。 (これは特に大規模な電力制御ロジックがあるラップトップに当てはまります。)

そしてもちろん古いモニターでは間違ったリフレッシュレートを提供することによって、あるいは単にビデオを完全に遮断することによってそれらを損傷する方法がありました。 (最近のほとんどのモニターは自己保護ロジックを内蔵しています。)そして、誰かが言ったように、フロッピードライブの中には頭を限界を超えて駆動することによって損傷を与える可能性があるものがあります。 (私はこの問題に遭遇しました。)

私はNokia n97miniの電話を持っていましたが、ディスプレイが過熱により損傷していました。CPUがループに巻き込まれて過熱した時です。熱はディスプレイの層を分離させた。他の電話機にも同様の危険があると思います。

2
Daniel R Hicks

ハードウェアが適切に設計されていない場合に限ります。例えば、ソフトウェアは電圧を変えることによって電気モーターの速度を制御します、しかしモーターはそれが最高の電圧が1分以上使われるならば燃え尽きるように設計されています。あなたはソフトウェアが容易にこの限界を超えることができると想像することができます。ただし、モータの温度が一定の限界値に達すると、モータに特定の回路切断電流が流れると、モータはソフトウェアが実行しようとしているにもかかわらず存続します。

私がWindows 7 + Dell BIOSがハードドライブを乾かすことができると非難した私の他のある記事に戻る。

1
Dmitriy R

何年も前に私はコンピュータウイルスについての本を読んだが、私の注意を引いたものは実際にハードウェアを殺すことができるトルコウイルスだった。

このウイルスの変種の1つは、CRTモニターでビームを集束させてそれを焼き尽くすことです。それを燃やすことによって、私はPhosphorのバーンインを意味するのではない、しかしそれは副作用であった、しかし電子銃は失敗し、モニタ完全にdeadのままになる。

このウイルスの別の亜種は、コプロセッサを過負荷にして燃え尽きさせるような方法で数学的計算を実行します。

もちろん、これは、この種の攻撃を受けやすい古いハードウェアの時代の少し前のことです。ありがたいことに、現代のハードウェアは一般的にそれを防ぐように設計されていますが、それはおそらく十分に決心している人を止めることにはならないでしょう。


また、ウイルスがBIOSを殺すのは比較的簡単です。 BIOSフラッシャーが点滅中にシステムの電源を切ったりリセットしたりしないように常に警告する理由があります。書き込みが不完全だとBIOSが破損したままになり、BIOSがBasicになるためです。コンピュータの入出力システム、破損するとシステムが動作しなくなります。むかしむかし、BIOSは純粋なDOSモードからのみフラッシュできますが、Windowsフラッシャーはしばらく前から存在していました。ウイルスがBIOSに悪いものを書き込んでシステムを殺すのを阻止するものは何もありません。 CIH /チェルノブイリは1999年にまさにこれをしました。

幸いなことに、いくつかのマザーボードはプライマリBIOSが破損した場合にバックアップを使用できるようにデュアルBIOSを搭載しています。他のマザーボードは破損したBIOSをリセットまたは再フラッシュすることを可能にします。

1
Synetech

一般的に答えはソフトウェアはハードウェアを損傷することはできないということです。しかし例外があります....オリジナルのIBM-PC上のソフトウェアがモノクロのアダプタボードかモニタのどちらかを傷つけることができるとき誰かが覚えていますか?それは間違いなくアイオープナーでした。

多くの場合、ソフトウェアには接続されているデバイスのハードウェア制御があるため、誤動作しているソフトウェアは物理ハードウェアに損傷を与える可能性があります。

0
mdpc

これに関連する用語は、ハードウェアが許容できない値をレジスタに入れること(「poke」命令)を表す「キラー・ポーク」です。 "キラーポーク"のための ウィキペディアのページ にいくつかの例があります。

初期のハードドライブはあらゆる種類の損害を被る可能性があります。読み取り/書き込みヘッドは、Platterをはるかに超えてスピンドル軸またはケーシングに衝突することがあります。これにより、読み取り/書き込みヘッドが損傷したり、ヘッドの位置がずれる可能性があります。

最近のインクプリンターやスキャナーは、多くの場合、印刷ヘッドまたはCCDバーのトラックの片側にのみ制限スイッチを備えています。ファームウェアだけが彼らの意図した範囲外への移動(そして物事への追い込み)から彼らを保護します。理論的には、ファームウェアの更新は、そのようなデバイスを修復するだけでなく、物理的な損傷も引き起こすように設計することができます。

やわらかい「キラーポーク」もあります。ハードドライブの寿命は、ストレスと熱を最大化することでかなり短縮できます。ちなみに、Windowsにはそのような「機能」が付属しています。もしHDD上に複数のソフトウェアRAIDパーティションを作成した場合、RAIDを同期させる必要があるとこの状態でのスループットは最小であるため、ドライブを最大速度で極端な位置の間で前後に動かすと、数日間かかる可能性があります。一方、SSDで早期に失敗するには、持続的な最大書き込み数が必要になります。

0
Cygon

古いBBCマイコンには、テープドライブの起動と停止に使用されるリレーが装備されていました。一般に、プログラムをロードする前にコマンドでリレーを有効にし、その後リレーを無効にします。

リレーを有効または無効にすると、ケースの内側から大きなカチッという音がして聞こえ、リレーの状態をすばやく切り替えるとバズが発生します。有効化と無効化の頻度が異なれば、異なるブザー音が発生します。これを使って曲を演奏することができます。

リレーはそれほど多くのパワーサイクル用に設計されていませんでした、そしてこれをすることは修理を超えてリレーを損傷する可能性があり、結局は破壊します。古いもの。

私は個人的な経験を通してこれを学びました、しかし、私がディスクベースのシステムを持っていて、リレーを切り替えることが純粋に娯楽のためだったので、今まで壊れたリレーを交換することはありませんでした。

思い出せば、BBC Microに付属のプログラマーズリファレンスマニュアルにこれに対する警告すらありました...

0
braindigitalis