コンピュータアーキテクチャ – いくつかのソフトウェアは物理的にハードウェアにダメージを与えることができますか?

computer-architecture hardware-failure physical-security

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

OSやターミナル層からのハードウェアに修復不可能なほどのダメージを与える方法でインターフェイスする方法があるのかと思っていたのですが(ハードウェアの不良ではなく、実際に物理的なダメージを与える方法です)、その方法はないのでしょうか?

  • セキュリティ対策を迂回して、セラミックが実際に壊れるほどCPUを激しく動かすことはできないのでしょうか?
  • プラッタに物理的なダメージを与えるような書き方やHDDとのインターフェイスは可能でしょうか?
  • メモリをいじってRAMを揚げてくれないかな?
  • NICは吹けるのか?

システム全体を見たときにソフトが到達できる限界を知ることができて面白いですね

  92  n0pe  2011-07-22


ベストアンサー

実際にプログラムを実行しているときには、CPUへの負荷がコア温度を上昇させることがあります。新しい技術では、ある程度の効果(ダイナミック周波数と電圧のスケーリング)がありますが、これは、特定の命令がマイクロプロセッサ内で異なる電気経路を使用していることがほとんどです(プロセッサが単にアイドル状態または低電力状態にある場合とは対照的です)。過去にはさまざまな パワー ウイルス が書かれており、この事実を利用して、最も電力を消費する特定のマシン コードを繰り返し実行し、最も熱を発生させています (詳細については、ウイルスは CPU を溶かすことができますか? という質問を参照してください)


このアイデアをシステム内の他のハードウェアにも拡張することができます(以下で説明します)が、もう一つ興味深いのはストレージデバイスです。また、ドライブにファイルを読み書きするためのウイルスを書き込んでおけば、ドライブの消耗が早くなります(機械式ハードドライブとソリッドステートドライブの両方)。HDDの機械的故障の可能性を高め、SSDのドライブの寿命を縮めることになります。ユーザーがこれらの一定の読み書きサイクルに気づかない場合、これを適切に実装した場合、ほとんどの場合、1週間ほどでディスクを損傷させることができます

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


さて、熱害の話に戻ります。新しいマザーボードの中には、WindowsでBIOSの設定を変更するオプションが含まれているものがあります。理論的には、システム内の電圧を人為的に高い限界まで上昇させ、潜在的にコンポーネント(RAM、CPU、ノース/サウスブリッジ)にダメージを与えるウイルスを書くことができます。電圧を上げたり、PCIe バスをオーバークロックしたりすると、コンポーネントにダメージを与える可能性があります

特にPCIe/AGPバス上のコンポーネントの1つは、ビデオカードです。これは、ほとんどのメーカーがコアスピードと電圧を上げるためのオーバークロックツールを提供しているからです。さらに一歩進んで、これらのツールを使用して、これらの両方を危険なレベルに引き上げるためにウイルスを書くこともできます

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


ポイント:どんなコンピュータシステムでも、それを利用したウイルスを書くことは可能です。しかし、ターゲットシステムが外部の(あるいはそれ自身の)ハードウェアにアクセスできない場合、あなたができるダメージはそれほど大きくありません。ここでの最良の例えは、壁からイーサネットケーブルを引き抜いた人をハッキングしようとしているようなものです

つまり、現代のコンピュータシステムに搭載されているほとんどのデバイスは、物理的なハードウェアパラメータ、すなわち電圧やコア速度を変更することができます。これらの変更が可能なため、ウイルスがそれを利用して操作を混乱させたり、完全に破壊したりする可能性があります

61  Breakthrough  2011-07-22


いくつかの古いCRTモニターは、彼らが扱うことができる周波数を超えてビデオ信号を与えられた場合、損傷を受ける可能性があるという警告が常にありました。私はどのものを知らないが、それはあなたがリフレッシュレートや手動の解像度設定を調整していたときに与えられた一般的な免責事項でした

基本的には、適切な冷却や適切な電源が搭載されていないシステムでない限り、CPUを酷使して壊すことはできません。装着されている冷却と電源が100%の使用率で維持されている必要があります

しかし、すべての近代的な CPU はすべてのマイクロコードを更新します。インテルは常に暗号化されたマイクロコードを要求してきましたが、AMDはそうではありません(それが変更されたかどうかは知りません)。何か厄介なことを行う CPU にマイクロコードをアップロードすることが可能かもしれません

フラッシュメモリは繰り返しの書き込みで消耗することがあります。この方法でBIOSフラッシュチップを「焼き切る」ことが可能なようです

HDDのモーターは一定の速度で回転しているだけなので、ハードドライブメーカーはハードウェアのインターロックでデバイスを設計していると思いますが、モーターの速度を調整する機能はありません。しかし、HDDを回転させたり、回転させたりすることで、ストレスがかかり、早期に摩耗してしまいます。また、内部的にアクセス可能なフラッシュやEEPROMに繰り返し書き込みを行う不正なアップデートやハッキングされたファームウェアで、ハードドライブのファームウェアフラッシュ/EEPROMを「焼失」させることも可能である可能性が高いです。CD-ROM ドライブについても同様です

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

15  LawrenceC  2011-07-22


電源が爆発してもダイハードと同じダメージは与えられないがっかりさせてすまない

最近、Stuxnetウイルスに関するWiredに、ハードウェアに損傷を与えるソフトウェアの亜種に焦点を当てた興味深い記事が掲載されました。コマンドと制御ソフトウェアが核遠心分離機を物理的に損傷させる原因となるソフトウェア。なんだかすごいことになっている

10  music2myear  2011-07-22


歴史的に、ハードウェアの設計上の欠陥により、直接かつ即座にマシンを損傷させることが可能になったケースがいくつかあります。あるケースでは、一行の命令がコンピュータをショートさせて発火させたことがありました。しかし、私が聞いたのは古い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 ) についてのメモは楽しいです。Motorola 6809プロセッサはDragon 32で使われていたので、おぼろげながら覚えているのかもしれません

8  Steve314  2011-07-22


ハードウェアに過度のストレスをかけているのとは別に、ハードウェアウイルスもあります

8  BlueRaja – Danny Pflughoeft  2011-07-22


私は一度フロッピードライブを破損させてしまい、通常の限界からヘッドを移動させるアセンブリコードをプログラムしました。ドライブは動作を停止し、他の2つのドライブでそれを行うことができました

しかし、その時は多くの人がそれを疑っていたので、私は二度とこの話題に注目することはありませんでした

BIOSの書き換え(オールドウイルスがやったような)が物理的なダメージになるのかどうかは議論があるが、多くの人(私も含めて)は言及されている問題点からこれを持ち出している

6  woliveirajr  2011-07-22


セラミックが実際に壊れるほどCPUを動かす

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

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

5  jcline  2011-07-22


私たちのほとんどは単純な小さなコンピュータのコードを書いているだけで、このようなことが起こる可能性はほとんどありません。機械的な機械と連動しているときは、その可能性が高くなります

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

3  sjbotha  2011-07-22


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

そう、ソフトウェアはハードウェアにダメージを与える(あるいは破壊する)ことができます

3  Typist  2011-07-24


一度普通のデスクトップパソコンから離れてしまうと、悪意のないソフトウェアのエラーでも、壮大なハードウェアの故障を引き起こすことがあります

  • 火星の気候オービター – 5億ドル以上がミソンに費やされ、メートル法からインペリアル法への変換ミスで破壊された

  • Ariane 5 Flight 501 – 整数オーバーフローのバグで破壊され、ロケットと搭載宇宙船が失われ、3億7000万ドル以上の費用がかかった

  • 2つの1億5000万ドルのF-22ラプター機が墜落 – 異なるバグによるもの

  • ZD576の墜落事故と29人の死亡事故の少なくとも一部は、チヌークヘリコプターのFADECソフトウェアのバグのせいである

3  Colin Pickard  2011-07-24


Mandrake Linux は数年前に LG の CDROM にバグがあった http://www.linux.com/archive/feed/32318 。このバグは当時は有名でした

3  Rufo El Magufo  2011-07-24


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

ハードにダメージを与えるには、ソフトが必要です

  • 自体にダメージを与えることができるハード
  • ソフトウェアがその能力を制御するための方法(例:UI、API、低レベルのアクセス、アクセス制限のバグ)
  • ソフトウェアを修正/操作/インストール/実行する方法

2  bhinesley  2011-07-22


そうですね、少なくとも設計の悪いハードウェアの場合は。しかし、現代のハードウェアは様々な安全規則を遵守しなければならず、それ自体を損傷させる能力を制限しています。最新のCPUはオーバーヒートするとシャットダウンしますし、最新のハードディスク/CD/DVD/ブルーレイドライブはあらかじめ設定された速度を持っています

これらの安全機構は決して馬鹿にできないものではありませんが、よく設計されたハードウェアをソフトウェアだけで損傷させることは非常に困難です。ソフトウェアができることは、ハードウェアの摩耗を最適に高めるような使い方をすることです

2  Lie Ryan  2011-07-23


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

2  vsz  2011-07-24


確かに、BIOSレベルのコントロールに入ることができれば、多くのシステムでダメージを与えることが可能です。単純にファンをオフにして、計算負荷の高いプログラムを実行するだけで、多くのシステムでダメージを与えることができます(一部のシステムでは、ハードワイヤードのサーマルリミッターが含まれていますが)。いくつかのシステムでは、プログラムなどを介して電圧を調整することができ、いくつかのシステムではプロセッサのデューティサイクルなどを調整することができます。これは特にラップトップの場合に当てはまります

もちろん、古いモニターでは、間違ったリフレッシュレートを提供したり、ビデオを完全にシャットダウンしたりすることで損傷を与える方法がありました(最近のほとんどのモニターには自己保護ロジックが含まれています)。(最新のモニターには自己保護ロジックが搭載されています。) また、誰かが言っていたように、フロッピードライブの場合、ヘッドを限界を超えて駆動させることでダメージを与える可能性があります(私はこの問題に遭遇しました)。私はこの問題に遭遇したことがあります)

私が使っていたNokiaのn97miniというスマホは、CPUがひっかかってオーバーヒートしてしまい、ディスプレイが破損してしまいました。その熱でディスプレイの層が分離してしまったのだ。他の携帯電話にも同じような危険性があるのではないかと推測します

2  Daniel R Hicks  2011-08-10


ハードウェアの設計が悪い場合に限ります。例えば、ソフトウェアは電圧を変えることで電動機の回転数を制御しますが、最高電圧を1分以上使うと燃え尽きてしまうように設計されています。ソフトウェアはこの限界を簡単に超えてしまうことが想像できます。しかし、モーターの温度が一定の限界に達したときに、モーターに特定の回路の切断電流が流れていれば、ソフトウェアが何をしようとしているにせよ、モーターは生き延びることができます

私はWindowsを非難したいくつかの他の投稿に戻ります 7 + Dell BIOSは、ハードドライブを焼くことができます

1  Dmitriy R  2011-07-23


何年も前にコンピュータウイルスについての本を読みましたが、その中でも特に注目を集めたのが、ハードウェアを実際に殺すことができる「トルコウイルス」でした

ウィルスの一つのバリエーションではブラウン管モニターにビームを集中させて焼失させます焼失とは蛍光体の焼き付きという意味ではなく 副作用ですが 電子銃が故障して モニターが完全に死んだ状態になります

ウイルスのもう一つのバリエーションは、コプロセッサに負荷をかけて燃え尽きてしまうような方法で数学的計算を行うことです

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


また、ウイルスがBIOSを破壊するのは比較的容易である。それは、不完全な書き込みがBIOSを破損したままにしてしまうからで、BIOSは基本的な入力出力システム

であるためです

1  community wiki  None


一般的には、ソフトウェアはハードウェアにダメージを与えることはできません。しかし、例外はあります…. 誰もが、オリジナルのIBM-PCのソフトウェアがモノクロアダプターボードやモニターのどちらかを損傷する可能性があったときのことを覚えていますか?それは確かに目を見張るものがありました

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

0  mdpc  2011-07-22


これに関連する用語として、ハードウェアが許容できなかった値をレジスタ(「ポーク」命令)に入れることを説明する「キラーポーク」があります。Wikipediaの “キラーポーク”のページには、いくつかの例が掲載されています

初期のハードドライブは、あらゆる種類の損傷を受ける可能性があります。読み取り/書き込みヘッドは、プラッターから離れたところでスピンドル軸やケーシングに当たることがあります。これは、読み取り/書き込みヘッドに損傷を与えたり、アライメントを崩したりする原因となります

最近のインクプリンタやスキャナには、印刷ヘッドやCCDバーのトラックの片側だけにリミッティングスイッチが付いていることが多い。ファームウェアだけが、意図された範囲外への移動(および物に突っ込むこと)からそれらを保護します。理論的には、ファームウェアの更新は、そのようなデバイスが壊れてしまうだけでなく、物理的な損傷を引き起こすように設計されている可能性があります

ソフトな「キラーポケ」もあります。ストレスや熱を最大化することで、ハードディスクの寿命はかなり短くなる。ちなみに、Windowsにはこのような「機能」が搭載されています。HDD上に複数のソフトウェアRAIDパーティションを作成した場合、RAIDを同期させる必要があるとき(例えば、予期せぬ再起動後)には、すべてのパーティションが同時に同期され、ドライブの頭を最大速度で極端な位置の間を行ったり来たりし、この状態でのスループットは最小限であるため、おそらく数日間に渡り、ドライブの頭を動かします。一方、SSD は、早期に故障するためには、最大書き込みを持続させる必要があります

0  Cygon  2016-07-09


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

リレーの有効化や無効化を行うと、ケース内から大きなクリック音が鳴り、リレーの状態を素早く切り替えるとブザーが発生します。有効化と無効化の周波数を変えると、異なるバズ音が発生します。そして、これを使って曲を演奏することができます

しかし、リレーはそれほど多くのパワーサイクル用に設計されているわけではなく、これを行うことで、最終的には修理不可能なほどリレーが損傷し、コンピュータの所有者は新しいものを購入し、古いものと交換するためにマザーボードに物理的にハンダ付けする必要がありました

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

私の記憶では、BBCマイクロに付属していたプログラマーのリファレンスマニュアルには、これに対する警告がありました

0  braindigitalis  2017-09-13


タイトルとURLをコピーしました