パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

悪質なハッカーに狙われる「最後のフロンティア」、それはハードウェア」記事へのコメント

  • 元記事の非常に乱暴な要約。

    ・組込機器のチップの外部調達が増えている。
    ・悪意のあるチップ設計者によって、余計な機能が組み込まれるかもしれない。(機器を停止したり、情報を外部に転送したり)
    ・各ブロックが互いを信用しない構成をとり、不正な動作を検出・停止する必要がある。
    ・回路規模は数%増えるかもしれないが国防関係者なら評価してくれるだろう。

    つまり……
    中国やイスラエルの情報収集機関が、情報を横取りしたり機器を強制停止する蟲を仕込む*かもしれない*から対策しておけ、という事でしょうか?
    (個人で行っても旨味はないよね。 愉快犯ならありえるけど経歴を棒に振る程の喜びが得られるものなの?)
    --
    notice : I ignore an anonymous contribution.
    • Re: (スコア:2, おもしろおかしい)

      by Anonymous Coward
      Flashmemoryにウィルスが入ってたとか有ったけど、
      DRAMにだってやろうと思えば、ウィルス入れられるよね。
      政府調達が無茶苦茶になってきてるから、確かに国防レベルだと
      心配した方がいいと思う。
      • Re:ぱらのいや (スコア:-1, フレームのもと)

        by Anonymous Coward on 2010年08月07日 13時05分 (#1806427)

        バカは引っ込んどけ。

        親コメント
        • by Anonymous Coward
          バカは君だよ、ニセモノのD-RAMチップが出回ったりしてるし。
          DDR3とかだと、どのOSに刺さるか大体解るしだろうしね。
          1Gチップに512バイトほど不正コードを突っ込んで、ある種の
          条件でのみアクセスさせるってのは可能だよ。
          • by Anonymous Coward

            電源供給なしでも内容を保持できるものは DRAM とは呼びません。

            • by Anonymous Coward on 2010年08月07日 14時29分 (#1806463)
              君が何をDRAMとよんで何をDRAMと呼ばないかはしらないが、
              君がDRAMと思っているものに
              攻撃者がROMでもフラッシュメモリでもなんでも積んでる
              って可能性を考えたことはないのかい?
              親コメント
              • by Anonymous Coward
                それは「ROMなりフラッシュメモリなりにウイルスを入れてDRAMに混ぜてる」のであって「DRAMにウィルス入れる」と表現するのはおかしい。
              • by Anonymous Coward

                DRAM に見せかけたなにかを作れるとして、それをどうやって活用するかは難しいですね。
                DRAM に書かれた内容をすべて WiFi で外部に送るとか?

              • by hanetsuki (4035) on 2010年08月07日 20時08分 (#1806542) 日記

                DRAMチップ内は制御回路があるからその気があればチップ内のROMなり回路に不正なコードを混ぜることは可能。
                ここで、「不正なコードがいるのはメモリセルそのものじゃない」と言われれば仰る通り。
                ユーザにとっては、メモリセルに直接アクセスできない以上はセル内だろうと制御部だろうと差はないけど。

                ユーザにとって瑣末な話を続けてみる。
                DRAMのメモリセルそのものに初期値をもたせることは可能だろうか?
                DDR3はリセット端子があるけど、それを各セルにつなぐのは容易ではないか…な?。

                親コメント
              • by kei100 (5854) on 2010年08月07日 23時25分 (#1806603)

                POSTコード辺りはまだ固定値だと思うので、初期化時にBIOSを改竄>ROM領域から仮想マシン注入>正規OS起動とかでしょうかねぇ?

                親コメント
              • by cyber205 (4374) on 2010年08月08日 2時53分 (#1806652) ホームページ 日記

                DRAMの場合、1本だけ使うのならともかく、複数挿して使う場合に
                どのようにメモリの中身をマシンから見えるようにするかは実装依存ですよね。
                極端な話、データバス側をてんでバラバラに接続してても各ビットが確実に読み書きできれば問題ないし、
                SDRAMのようにメモリチップ内部が高速アクセスのため複数のバンク構成を採っている場合でも、
                どのアドレスにどのスロットのどのバンクを割り振るかはホスト側で決められることで、
                それをDRAM自体が知っている必要は全くない。おそらく物理アドレスと仮想アドレスの関係も知らんでしょう。
                確かにメインメモリ上にアドレス変換テーブルは展開されているでしょうが、どのアドレスにそれが来るのか、
                おそらくDRAM側では見当もつかないだろうと思います。それをチェックするロジックはかなり大規模になるでしょう。
                当然、DRAMとしては貴重な回路面積を多量にもっていかれて容量が減ってしまいます。
                しかも確実にそのチップに変換テーブルが載るかどうか確実ではない。
                その上、たいていのCPUはキャッシュを持ってますから、正確にデータの書き換えられた履歴を追っかけるのも難しい。

                そう考えると、確実にどう読まれるか予想できるROM上のファームウェアと比較して、苦労の多さに比較して
                得られるモノは少ないので、何が書かれるか分からないDRAMのほうに何か仕込むのは難しいと思いますよ。

                親コメント
              • by kei100 (5854) on 2010年08月08日 8時19分 (#1806666)

                まず、私が想定してるのは単なるDRAMチップでなく、DRAMモジュールを想定していました。
                現行のPCを攻撃ターゲットとした場合、CPUとメモリコントローラーに関しては種類が限られます。
                特にAMDは既に長期に渡りCPUに内蔵されており、Intelもi7から内蔵されていますのでメモリアクセス方法はかなり固定されます。
                マッピングテーブルに関して実は資料が公開されてる場合もありまして、AMDに関してはBIOS and Kernel Developer’s Guide [amd.com]を参照すれば詳しく載っています。

                そもそも、攻撃対象が判明してるなら、電源投入直後に書き込まれる内容を元にどのバンクが割り当てられたか各々のメモリが判別可能と思われます。
                # 極論、対象のどのスロットに差し込まれてもOK、それ以外だったら無効化される程度の自由度さえあればOK(むしろ発覚させない為にその方が好ましい)。

                また現行メモリはヒートスプレッダが装備されるケースもあり、その際は物理的に基盤パターンやチップを隠蔽可能となります。
                この場合別にDRAMモジュールの内部に実装する必要すらなく、隙間から見える形さえ気にすればある程度堂々と仕込めます。
                例えば片面は本物のDRAMで、反対側のDRAMは偽装されたROMと高周波デバイスのような形ですね。
                BGAなら、足の本数もわからないでしょうし

                攻撃手法として今のPOSTコードやBIOSはまだASLRの様な所まで辿り着いていないのではないでしょうか?
                でしたら、本物のBIOSが起動する前や途中に独自の攻撃コードをスタックオーバーラン等のようなアドレス書き換えの要領で起動させ、
                ハイパーバイザとして起動後に本物のBIOSのように振舞ってしまえば外部からは簡単には判らなくなります。
                そして後の全てのコードは攻撃者のハイパーバイザ上で稼動するのでお好きに煮るなり焼くなりすれば良いのです。
                場合によっては、POSTコード・BIOSがキャッシュに全て収まってしまうので実際には無理という可能性もありますが・・・

                もちろん、言う程この手法は簡単ではないでしょうね。
                少なくともメモリに使われる信号を読めて改竄する必要がありますし、本当に可能なのか?記憶領域の問題等がありますから。

                親コメント
              • ユーザにとって瑣末な話を続けてみる。
                DRAMのメモリセルそのものに初期値をもたせることは可能だろうか?
                DDR3はリセット端子があるけど、それを各セルにつなぐのは容易ではないか…な?。

                所詮キャパシタの塊なんだから、メモリセルの初期値はランダムと言うのが建前ですよね?
                BIOSがメモリチェックして固定パターン書き込んで初期化する。
                供給電圧が特定の値&&リフレッシュサイクル(でいいのか?)の時のアドレスが特定の時だけビットパターンが面白いことになるというのはやれなくないように思えますけど。
                これを応用すると、メモリチェックでは大丈夫でも某かの消費電力制御ソフトと特殊なDRAMでバックドアが形成出来てしまうかも知れない。
                或るパワーステートで、確実にあるアドレスをアクセスするソフトがあれば、この実行コードをすり替えることが出来る。とか…

                親コメント
              • by Anonymous Coward

                DRAMのメモリセルそのものに初期値をもたせることは可能だろうか?

                その「初期値」はどうやってチップ内に保存されているのか考えてみてくれよ。
                #ROM以外の何物でもないな。

              • by Anonymous Coward

                その初期値が書き換え不可能であればそうですね。

            • by NAZZ (13040) on 2010年08月07日 14時29分 (#1806464) 日記
              DRAMセルの中に数KバイトのROM領域を作ってしまうという話じゃないかと。
              親コメント
              • by Anonymous Coward

                DRAMセルの中に数KバイトのROM領域を作ってしまうという話じゃないかと。

                普通、DRAMセルといえば1ビットを記憶する単位のことなんで、その中に数Kバイトも書けたら、そりゃすごいなあ、と思ってしまいました。

                上の方にも「1Gチップに512バイトほど不正コードを突っ込んで」とかいう話があったけど、512バイトの連続領域が1チップに記憶されると思っているのかと。

              • Re: (スコア:0, フレームのもと)

                > 上の方にも「1Gチップに512バイトほど不正コードを突っ込んで」とかいう話があったけど、512バイトの連続領域が1チップに記憶されると思っているのかと。

                頭が固いおじさんだな。

                不正コードを1チップに記憶されなきゃいけない必然性はないでしょ。

                DRAMにDRAM以外の何かを入れる時点で、もう何でもありですよ。
                DRAMモジュールにCPUを載せてDRAMをエミュレートして、
                高度な条件下でDRAM内容を書き換えるってことも可能かと。

                そのうち、WiFiも搭載されたりするんでしょか。

              • by Anonymous Coward

                あの~、その言葉はいつ出てきたんですか?

                『上の方にも「1Gチップに512バイトほど不正コードを突っ込んで」とかいう話があったけど、512バイトの連続領域が1チップに記憶されると思っているのかと』と書いてますが。この文を見て、「512バイトの連続領域は1チップに記憶されない」という情報を導き出せない人が存在すると主張するのでしょうか?

                ちょっと知識があるだけで、まわりをすぐに見下すよくあるあれですね。

                私がDRAMに関して持っている知識など、本当に初歩的なものだけです。そんなものは、「ちょっと知識がある」にも入りません。それに、知っていても何の自慢にもならないような知識です。そんなもので人を見下せるわけがありませんね。が、DRAMに関する話をするのであれば、最低限必要な知識ぐらい身につけてないと、意味がある意見など述べられるわけがありません。それだけの話です。それを指摘すると、「人を見下した」ということになるんですか?

              • by Anonymous Coward

                これ [srad.jp]とこれ [srad.jp]についてどう思うか話してくれないか?

                フレームのもとになりそうなコメントに、「フレームのもと」というモデがついているな、としか思いませんが。それが何か。

                「ギャーギャー騒ぐ」という表現も意味不明です。あなたのコメントの親コメントには、穏やかな言葉が並んでいるだけなのですが、一体どの部分をもって「騒ぐ」と言っているのでしょうか?

              • by Anonymous Coward
                どんなDRAM使ってんだ?
        • by Anonymous Coward
          まさか、DRAMは電源を抜けば数分も内容が保存されないから、
          バカとか言ってるんじゃないよな。
          • by Anonymous Coward

            「DRAM に偽装した何か」ならまだしも、DRAM にウィルスを仕込むと書いてたらやっぱりネタ扱いでしょう。

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

処理中...