パスワードを忘れた? アカウント作成
12187048 story
暗号

パソコンの発する電磁波をAMラジオで受信してRSA秘密鍵などを解析 32

ストーリー by headless
受信 部門より
これまでパソコンの電源鳴き電位の揺らぎを利用してRSA秘密鍵などの解析に成功しているイスラエル・テルアビブ大学の研究チームが、市販のAMラジオを使用したサイドチャネル攻撃でRSA秘密鍵およびElGamal秘密鍵の読み取りに成功していたそうだ(研究チームによる解説記事論文: PDFThe Registerの記事)。

研究チームでは、GnuPGで復号を実行する際、パソコンが発する電磁波の周波数が変動し、1.5~2MHzのFM波として受信可能な点に注目。そこで、USB接続のSDR(ソフトウェア無線)受信機ドングルとループアンテナ、ノートパソコンを組み合わせてターゲットの秘密鍵解析を試みたところ、3072ビットElGamal秘密鍵と4096ビットRSA秘密鍵をそれぞれ数秒で取得できたという。また、SDRドングルとループアンテナ、OSをDebianに変更したAndroid TVドングルを使用し、ピタパンに組み込み可能なポータブル型読み取り装置(PITA)も作成している。こちらもノートパソコンを使用した場合と同様のパフォーマンスが得られたとのこと。

PITAは安価に作成できるが、SDRドングルを購入する必要がある。一般的な家庭用品で電磁波の読み取りを可能にするため、研究チームはポータブルラジオで受信した音声をスマートフォンで録音する仕組みを考案。ポータブルラジオにはFM放送の受信が可能なものもあるが、読み取りを行う電磁波は中波帯のため受信できない。そのため、AM受信機のチューニングを少しずらしてFM/AMコンバーターのような働きをさせることで、データの取得が可能になったという。

なお、実験に使用したGnuPGはバージョン1.4.18。Libgcrypt 1.6.2にも同様の脆弱性があるという。ただし、研究チームでは事前に脆弱性の存在をGnuPGの開発者に連絡しており、論文が公表された2月27日には修正版のGnuPG 1.4.19およびLibgcrypt 1.6.3が公開されている。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by sameshima (10060) on 2015年06月21日 13時52分 (#2834581) 日記
    まだCPUにキャッシュとかがない頃

    0x0~0x00f番地あたりでタイマループ

    0xff0 にジャンプ

    0xff0~0xfffでタイマループ

    0x000にジャンプ

    のようなプログラムでタイマの値を音テーブルからもってくると、近くにおいたラジオで聞こえるノイズが音楽になるってのをアイドリングループに仕込んだことがあります。
    8bitだと1音だったのですが、MC68kでループ2個くみあわせて2音だせたのでバッハのインベンションを仕込めて、処理能力の高さを実感しました。(クロックは6MHzだっけか?)
    • by Anonymous Coward on 2015年06月21日 17時15分 (#2834634)

      MUSIC OF A SORT [vintagecomputer.net][動画 [kevindriscoll.org]]みたいなことやられたってことですか

      親コメント
      • by sameshima (10060) on 2015年06月22日 0時38分 (#2834797) 日記
        おーー。元ネタたぶんこれです。子供のころ兄におそわりました。8080だと全速力で音楽を奏でることになりますが、68Kだと余裕があって上司に報告したらすんなり組み込みOKがでました。
        プロセッサが仕事中はピロピロ言ってて、暇になると音楽(バッハ)が聞こえる。ラジオを聴きながら仕事していたので、ピロピロ音でどの辺を処理しているかわかるようになりました。のんびりした時代でした。
        なんでFMでもAMでも音楽が聴こえるんだ?って話になって、アドレスラインが音楽のベースバンド信号で、そいつとバスドライバのリンギングやらなにやらが入力保護ダイオードなどの非線形歪で掛け算変調がかかる(AMも)という説明をしていました。今だったらプロセッサのビヘイビアモデルとSpiceモデルでリアルタイムシミュレーションで再現できるかも。
        親コメント
  • by bikeman (14466) on 2015年06月21日 14時25分 (#2834590)

    うちのページへのアクセスが急に増えたんで、なんだろうと思ってた。

    テンペストはディスプレイの画面を離れた場所から覗くことだったけど、これはキーボードから出る電磁波を、SDRで受信、復号している。いまならキーボードはUSB接続なので、USBのプロトコルを見ているんだろうか? 元のページをよく読んでいないのでわからんけど。

    • by matlay (32743) on 2015年06月21日 18時24分 (#2834645) 日記

      研究チームによる解説記事 [tau.ac.il]
      を本当に斜め読みした感じだと、CPUで実行中の命令はFM波の測定でわかるみたい。(Q&A Q1の画像)
      それができれば、論理的にはGnuPGが動く際のパターンを認識して解析すればできる....かな?
      命令がわかってもオペランドわかるんかいと思うんだけど、わかる前提で書いてあるような気がする。GnuPG内部の処理がトレースできるのであれば、できるような気がする。

      実際は一発では確実でなくて、何回か測定して、確率的にあたりがある程度のように思える。
      #論文まで読めば書いてあるかな?

      対策は
      1.ジャミングすればいいんじゃないのぉ〜
      2.そもそも、そんな怪しいもん(アンテナ)を近づけんな
      3.ソフトウェア的対策はどうなんだろうね。ソース公開してる限り無理な気がするんだけど
        (複数CPU前提で常に同時に何か動かすようにする?超変態コーディングで毎回動く命令パターンを変える?)
      4.光コンピュータにすれば解決
      5.ノイマン型のモデルを捨てる

      --
      #存在自体がホラー
      親コメント
      • by matlay (32743) on 2015年06月21日 20時05分 (#2834680) 日記

        論文: PDF [tau.ac.il]もさーっと眺めてみたけど、書いてある事はあまり変わらんような気がする。

        ・コンパイラのバージョンなどの記述があった。よく考えたら、コンパイラとかいろいろな条件で限定されるよね多分
        ・成功率については書いてなかったような
        ・ソフトウェア的対策は 4 Discussion 以下に書いてあるような
         GnuPG内で計算処理中に変換テーブル使用している箇所があるのが脆弱性だから横着すんな
         という話なのか?
        #英語読める人、後たのんだ

        --
        #存在自体がホラー
        親コメント
      • by Anonymous Coward

        Q7の所がその辺の解説かなぁ?
        ・処理させるデータをいじくって鍵の絡む演算の周期や内容を揃えるか何かして、
        同じパターンの繰り返しによって分析しやすい特徴量が吐き出されるよう誘導する。
        ・データや鍵によって実行される命令が変化してしまう部分が存在するので、
        その分岐を誘導することで鍵の情報を実行される命令の選択から逆算する。

        ってことだろうか。

        >命令がわかってもオペランドわかるんかい
        オペランド(もとい、データや鍵)によって命令が変化しちゃう部分が(減らす努力はされてるものの)存在しているので、
        適切に加工したデータによって「鍵によって命令が変化する」よう誘導し、実行されたオペランドから鍵を展開する、と。

        この場合、データや鍵によって命令が変化しないように(繰り上がり処理の打ち切りみたいなことを止める)すれば良いという事なのだろうか。

        • by matlay (32743) on 2015年06月29日 0時46分 (#2838650) 日記

          ありがとうございます。読み飛ばしてました。(ひどいな)

          それは入力データを任意に選択しないと成り立たないという事になるのだろうか?
          "poisoned value"ってなんじゃいと気にはなっていたのですが、そういう事なのだろうか?
          #それは脆弱性なのだろうか?

          繰り上がり処理の打ち切りみたいなことを止めるってのは論文内のtableに繋がるんかな

          #群盲が象を撫でるような感じですが。少なくとも私は盲も同然で

          --
          #存在自体がホラー
          親コメント
    • by Anonymous Coward

      どこからキーボードが出てきたの

      • by bikeman (14466) on 2015年06月21日 20時49分 (#2834706)

        2MHz付近のFM、だけしか知らなかったんで、PS/2かUSBだろうと思ってた。
        CPUの動作周波数はGHzなんで、なぜ下の周波数に現れるのか不思議。

        親コメント
        • by Anonymous Coward

          2GHzのCPUで、1000クロックで一回りのループを繰り返せば2MHzが出てくるのでは?

  • by Anonymous Coward on 2015年06月21日 15時45分 (#2834615)

    > AM受信機のチューニングを少しずらしてFM/AMコンバーターのような働きをさせることで、データの取得が可能になったという。

    これはかつてFMラジオの回路が初心者アマチュアには複雑で高価だった時代に使われたロストテクノロジー、スロープ検波ですな。

  • by Anonymous Coward on 2015年06月21日 12時33分 (#2834542)

    だからなんでソフトウェアで対策できるのか想像を絶する。
    前回 [security.srad.jp]

    • by Anonymous Coward

      素人なりにふと思いついた素朴な疑問と対策方から議論の喚起を期待して書いてみました。

      こういった「デジタル盗聴でないアナログ傍受式」って「正解の判明しているサンプルターゲット」から取得した膨大な量のアナログデータを正解と照らし合わせながら解析したデータを元にデコードするんだと思うのですが、

      そもそも標的のマシン上で同様な複数の復号の実行が同時に走っている状況でも機能するんでしょうか?ってのが素朴な疑問。
      つまり別々の複合が同じマシン上で3つ同時に走らせた場合、こうした傍受方式ってその3つの分解能が有るんだろうか?

      単純に考えれば結果として周波数変動のパターンが全然違ってきちゃうと思うので、区別できないのであれば、ダミーを同時に複数実行する処理を入れるだけでもソフトウェアで対策できるかな~と思った次第です。

      • by Anonymous Coward

        元論文に全部書いてあります。気になるならグダグダ言わずに読みましょう。

        • by matlay (32743) on 2015年06月22日 8時31分 (#2834844) 日記

          すいません、読んだんだけど、頭が疲れてちょっと気力が持続しなかった。

            4 Discussion 以下の話なんだけど、あれって、table がどうのと書いてあったような気がするんだけど、暗号化途中の計算で変換テーブル使ってるからまずいっていう話なのか?
          まあ、修正されたGnuPGのdiff見ればわかるか。

          --
          #存在自体がホラー
          親コメント
    • by Anonymous Coward

      電波が出ているということは、電位や電流が変化しているということ。
      現在のコンピュータは電圧のON/OFFで2進数を入出力して動いています。
      CPU内部もメモリも原理的には同じで、特にメモリに対する連続的な読み書きはパターン化しやすい気がします。

      ソースコードがあって、その動作で発信される電波のパターンがわかれば、ある程度読み書きされているデータが予想できると言うことでしょう。

      逆にメモリアクセスや演算をある程度並列化し、順序が一定にならないようにすれば予想は難しくなると思います。

  • by Anonymous Coward on 2015年06月21日 15時11分 (#2834604)

    RADIO のボリュームを ちょっと あげて
    秘密の鍵が 届くはず…

    #元の歌詞http://j-lyric.net/artist/a0025d9/l0070f6.html

    • by Anonymous Coward

      RAID0って読んじゃった・・疲れてるな。

      • by Anonymous Coward

        大丈夫。おかしいのは、単なる英単語なのに大文字表記する奴。

        • by Anonymous Coward

          やべぇアメリカ人のかなりの割合がまとめてdisられた

          • by Anonymous Coward

            英語のネットスラングで大文字強調の多用をやめろ的なのがあるそうですね。
            # TYCLO [alc.co.jp]とかいうらしい。

  • by Anonymous Coward on 2015年06月21日 20時00分 (#2834678)

    SDRドングルなんて安いじゃん。デジタルテレビの方式の違いから日本ではあまり
    出回ってないけど、それでも秋葉原にいけば1000円位で手に入りますよね。
    わざわざ他の方法を探しだしたのは・・・・探したかっただけかなぁ?

    • by Anonymous Coward

      探したかっただけです。
      ありふれた民生品だけでできれば、より技術デモとしてのインパクトは大きい。
      AMラジオとスマホだけで暗号買い得できちゃうYo!と言われてみなさい。
      AMラジオが当局によって発売禁止になったりし
      NO CARRIER

  • by Anonymous Coward on 2015年06月21日 20時43分 (#2834701)

    産業スパイによって得られる利益は大きいから、この記事で示される技術よりも
    はるかに優れたものが存在しているかもしれない。

    技術を公開して得られる利益より、非公開で産業スパイを行って利益を得たほうがはるかに大きい場合
    公開せずにお金儲けをする人はいると思う。

  • by Anonymous Coward on 2015年06月22日 12時44分 (#2834971)
  • by Anonymous Coward on 2015年06月24日 10時03分 (#2836123)

    機械だー01には、回路を流れる電流による熱で
    ロボットの思考を逆算するロボットがいました

typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...