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

古典的な脆弱性が残る組み込みシステム 67

ストーリー by kazekiri
そりゃそうだな 部門より

slashscreen2 曰く、

周辺機器、モバイル端末、情報家電などの組み込みシステムでのセキュリティレベルが二極化しており、古典的な脆弱性を大量に作り込んでいる製品も多いという記事が@ITに掲載されている。 バッファオーバーフロー、コマンドインジェクション、ディレクトリトラバーサル、クロスサイトスクリプティング、DoS攻撃、認証バイパスといったPCの世界では常套手段となっている典型的な脆弱性が、そのまま組み込みシステムにも存在することが多いという主旨であるが、JTAGポートを基盤に残しているといった不備もあるらしい。実際にD-Linkのブロードバンドルータをクラックした話も載っているが、組み込み系のシステムは盲点になりやすいだけに皆さんご注意を。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2007年04月07日 16時46分 (#1138962)
    例に挙げられているルーターのような規模だと、ファームウェアに問題があった場合に、JTAGで書き換えるためにJTAGポートを残すか、全部回収して基板全交換にするかのトレードオフだと思うのですが。
    絶対に脆弱性もバグもないソフトを作れというなら組み込みに限った話ではないはずです。

    ネットワークやDBまで載った大規模組込みの場合、コンパクトフラッシュなどに書き込んでブートさせるのですが、そういったものはコンパクトフラッシュ抜くだけでいくらでもやり放題ですし。

    #組み込んだBOXごと樹脂にでも漬け込んで二度とアクセスできないようにしろってことですかそうですか
  • by Lurch (10536) on 2007年04月07日 14時15分 (#1138896)
    組み込んで保護してる?
    --

    ------------
    惑星ケイロンまであと何マイル?
  • 微妙な指摘のような (スコア:3, すばらしい洞察)

    by oddmake (1445) on 2007年04月07日 14時26分 (#1138903) 日記
    @ITの記事では「脆弱性の本質は、多くの場合汎用システムと同じ」と言いながら、
    「クローズドアーキテクチャを使う」「CPUの名称や型番などを外見から判別不能にする」のような、汎用システムではうまくいかないとわかっている隠蔽によるセキュリティによる提案が一部あるのはどうかとも思いました。
    ブルース・シュナイアー先生も特殊な状況では有益と言っていたと思いますが…。

    参考:シュナイアー先生の"Secrecy, Security, and Obscurity" [schneier.com]

    記事の書き方に問題があったとか、組み込みの事情ではうまくいく提案であるとかいろいろあるかとも思いますので、ワークショップに参加された方や組み込み事情に詳しい方にぜひ語っていただきたい。
    --
    /.configure;oddmake;oddmake install
    • by Anonymous Coward on 2007年04月08日 10時05分 (#1139134)
      今回のセミナーではないですが、鵜飼氏は、昨年、国内で行ったセミナーでも
      同じ発表をしています。そちらに参加したのですが、

      別に極端な事や狼少年的な事ではなく、むしろ、現実的な、セキュリティとコストの
      バランスの上での発言であるように感じられました。

      ・調べてみると、組み込み機器には、非常にたわいもない脆弱性が
       存在する。PCでは既にほとんど駆逐されたような、古典的なバッファオーバーフローの
       手口など。
      ・しかし、そもそも組み込み機器は、PC上で動作するソフトウェアのように簡単に
       セキュリティフィックスが出来ないし、実際、ほとんど行われていない
      ・ならば、JTAGのような中途半端なものは残さないなど、もっとクローズド(外部からの解析不能)にして、
       脆弱性を隠す、というのも現実的な対策だ

      外部から攻略可能な脆弱性が沢山あるような状態がそもそもの問題だ、ということです。
      それが修正されるのであれば、それが最良でしょう。

      他の人が沢山おっしゃってますが、JTAG自体は、「脆弱性の発見」のために使うだけであって、
      一度発見した脆弱性は、ネットワークから侵入し、乗っ取るのに使用できます。
      確か、NICのRAM乗っ取り、などもやっていたような・・・(これは、PCからは気がつけない)

      NICやルータを乗っ取ってしまえば、通信の盗聴や改竄はやりたい放題。非常に効率が良いわけで、
      これが攻撃の対象にならんわけがない、と。
      親コメント
      • by cypher_nut (33847) on 2007年04月08日 12時27分 (#1139146)
        元記事の本質なんて、普通の技術者が読めばすぐ分かりそうなもんですがね・・・。
        元記事の主張は至極まっとう。

        ・今では絶滅したようなショボい脆弱性が組み込みには沢山ある
        ・JTAGを差せば、簡単に脆弱性攻略コードが書けまっせ
        ・広範に普及しているネットワーク機器などは、攻撃者にとって十分ターゲットになるはず
        ・脆弱性は当分どうしても作りこんでしまうだろうから、せめて脆弱性を攻略されにくくするフェールセーフくらいは用意しとけ

        しかし一番の問題点は、元記事を読んでも、こんな基本的な事すら理解できない技術者(?)がここにすらも沢山居るという事かも。もし組み込み技術者に大半がこんな調子なら、やはりPC用OSと同じ道を辿るんじゃないでしょうかね。

        組み込み技術者向けに、もうちょっと基本から分かりやすく解説したような記事なり書籍なりは無いんでしょうかね・・・。
        親コメント
    • アーキテクチャーがオープンで、CPUの型番が公開されてるといえば、ザウルスSLシリーズや玄箱シリーズ等結構出てるけど、あのへんはどうなるんだ?
      どちらも吸い出すまでもなく、ソースコードが公開されてるわけで。
      クローズなシステムと比べてそんなに攻撃しやすいとは思えないけど。
      自由度が高いから自分で穴を開けたり、マルウェアに引っかかったりする可能性は高そうだけど。
  • by Anonymous Coward on 2007年04月08日 8時10分 (#1139121)
    OpenWRTでD-Linkだとこういうのがあるようです。
    http://wiki.openwrt.org/OpenWrtDocs/Hardware/D-Link [openwrt.org]
    親切にJTAGやシリアルのpinoutも載っているようですよ。

    ソースからコンパイルすればセキュリティのパッチとか
    自分で当てたファームをルータに焼く事もできそうです。
    # JTAGでファーム焼く環境が有れば、立ち上がらなくなっても元に戻せるかな?
    ## 全て自己責任って事になりますが。
  • OpenBSDは専用のライブラリを開発・使用して脆弱性対策をしていますが、 これからは(組み込みも含めて)プログラミング環境付属のライブラリも脆弱性対策を行う段階なのでしょうか。怖くて夜も眠れません。

    もう、コードを一瞥しただけでは絶対にセキュアとは言い切れませんね。

    #Perl適当に書いただけでXSS脆弱性を作成可能だがID。

    --
    All your base are belong to us
    • 何をもって攻撃というかというところがあいまいですね。
      PCと異なり、製品の用途に幅があるのでしょうがないのかもしれませんが。

      とりあえず、CPUのコントロールを奪うという点だけであれば、
      JTAG経由でデバッガを起動すればできそうです。

      しかし、バッファオーバーフローなどに言及しているということは、
      ターゲットはルータやプリンタなど、通信用インタフェースを持っているものを
      想定しているということでしょうか。
  • by Anonymous Coward on 2007年04月07日 13時34分 (#1138874)
    もちろん対処しておくのが「より望ましい」ことは否定しないけど、そういう「侵入して機器の蓋を開けて細工をする」ことができる状況なら既に他のことだってやりたい放題の問題外なわけで、いちいち指摘して危機感を煽る必要もないことだと思うがな。
    • by Anonymous Coward on 2007年04月07日 13時54分 (#1138885)
      お菓子に毒を入れられない様に開封がわかる仕組みが一時期以降入ったことと同列に扱って良い物かどうかちょいとわからんが。
      JTAGポート経由で無線操作可能な工作をしたネットワーク製品なんかが売られた結果、エンドユーザが損害(passwordや個人情報の抜き取り)をうけた場合の責任の所在というのはどうなってしまうのだろうか?

      JTAGが無ければ事態が起きないと言われたらPL法で縛られる対象なんだろうか
      親コメント
      • by Artane. (1042) on 2007年04月07日 20時03分 (#1139015) ホームページ 日記
        実際、端子を立てるかどうかはともかく、汎用のプログラマブルなASICや組込み用のMPUを使っている時点でJTAGインタフェースからの書き換えのリスクは避けられない訳ですが、比較的高度な技術が必要な訳で。

        そういうブツが販売されるとしたら、かなりアングラな商売での販売ではないかと。(例えば、iLinkやHDMIなどの外部バスに出力する部分でコピーの制限を外せるようにクラックしてあるファーム突っ込んだDVDレコーダとか、クローン携帯とか…)

        ファームのアップデート構造やベースになってるOSをソフトウェアの脆弱性を逆手に取って乗っ取られ、ファームを書き換えられたりバックドア仕掛けられる方が数桁はリスクが高いのではではないですか?

        書き換え可能ROM内蔵のMPUであっても、最近のは多くの場合、特定のポートを叩けば書き込みロックが解除できる訳で、私が攻める側だったら、JTAG云々よりはそういうソフトウェア的な手法で書き換えたり、外付けROMやメンテナンス用のRS-232Cポートなどがあればそこから情報をすり替えるとか、そういう「正攻法」で試しますけどね…

        やる気の有る奴はBGAであっても専用のフローハンダ付け治具などを使って線付ける位平気でやるでしょうが、他の侵入方法よりは数段どころではなく敷居が高い訳でだし、JTAGでバスを止めて不揮発性の部分を書き換えるというのはそこそこ高度な技術が必要では?動いてるものを変えるのならばそんなに手間はかからないでしょうけど
        …古の8bitの個人用マイコンやシーケンサのソフトだったらできなくはない真似でしょうけど、ルータ程度の規模になると大抵の場合、ROM化されたファームは圧縮とCRCなどで多重に防護されている訳で。例外が有るとすればブートローダー部分くらいでは?(でも、間抜けでなければブートローダ込で多重にCRCやHASHかけると思いますが)

        …そこまでする位だったら、未知のデバイスの「フリーな」ドライバを作るための挙動調査に注力しますけどね:-)
        親コメント
        • Re:JTAGポートねぇ (スコア:2, すばらしい洞察)

          by Anonymous Coward on 2007年04月07日 23時08分 (#1139061)
          Artaneさん、あんたのこと今まで知識十分かと思ってたけど JTAGが何であるかは知っていてもそこにTapされたものが密かに売られたらという元ACの懸念と異なったトンチンカンな解説するくらいなら、書き込まない方がいいじゃないの? #っていうかJTAGポートをどけろって言うのなら製品の価格少し上げてもいいよね? #少しだけ汎用性をあげて実機テストする部分としてのJTAGを排除されたら #組み込み系でコスト下げるの大変だとしってほしいよ(他品種極少量な人なのでAC)
          親コメント
          • あのー、元書き込み人は元の記事を見た上で書いてるという前提で私も書いたので説明不足だったかもしれませんが、

            基本的な話ですが、JTAGが必要な段階の基板から*わざわざ*JTAGなくすためだけにパターン変えるなんてのはコスト的にまずありえませんよね?
            よほと致命的なパターン修正が必要で、ついでにJTAGなくしました。というのなら(まぁやられた方は調整工程にせよファームのデバッグ工程にせよすごく迷惑ですけど)なくはないでしょうけど、それやらかすのは酷くバカな開発屋orメーカーですよね。程度の話から膨らませただけなんですけどね。

            例えば、元記事で例に出たルータなんかはJTAGコネクタ立ててあるのがあかんような事を元記事の講師の方は強調していますが、コネクタ一個余計にコストに加算してるということはそれ以上の「プラス要素」が製造・販売側にあるからやってることだし、親の仇のようにJTAG外せだBGAつかえだICの型番消せだなどと無意味な事を宣っておられるな…と言うのを念頭に置いて書いたのですが。

            つまりは、
            >そこにTapされたものが密かに売られたらという元ACの懸念

            と言うようなこと自体が机上の空論・あるとしたら違法スレスレの目的にクラックしたブツや所謂「チャイニーズ・コピー品」(もう死語ですね…「パチモノ」と言う方が適切か?)のようなそもそもが物騒な流通ルートでしか流れないブツが売られていて、
            そこに「おまけ」でロジック爆弾やtrojan(だけではありませんけど)仕込まれる位じゃないですかね。その位非生産的で量産品の実状を知らないシチュエーション設定だ。と言いたかったのですが。

            まぁ、売り元のメーカが定期点検しているブツで、現場のエンジニアがおいたする位はあるでしょうけど…バレたときのリスクが高いわりにかなり手の込んだ「おいた」な訳で、ふつう会社とかお客とかによほどの怨みがなければやらんでしょ。と言うことで、やらかすのはあくまでも購入した側の方が強いのに…と言いたかったんですけど。
            親コメント
            • by Anonymous Coward
              >基本的な話ですが、JTAGが必要な段階の基板から*わざわざ*JTAGなくすためだけにパターン
              >変えるなんてのはコスト的にまずありえませんよね?

              見るからにEmbedded ICEインタフェースです!といったパターンを基盤に残す必要は全く無いと思いますが。
              BGAなら、たとえば基盤のあちこちにそれぞれのTAPピンを散らしておくなどすると、どれがどれに該当するのか部外者が調査するのは大変ですので、クラッカーのモチベーションを削ぐ効果は高いと思います。しかし、開発者側は簡単にJTAGを接続する事ができますし、これによりコストが大幅アップするとは思えませんが
    • Re:JTAGポートねぇ (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2007年04月07日 13時56分 (#1138886)
      「製品を1個買ってきて解析して脆弱性を発見し、同じ製品に対してアタックできる」って意味だと思います。

      ブラックボックス化することによって安全性を得ようという発想(クローズドソースだから安全というのと同様)自体の是非はあるでしょうが、現実的には一つハードルが高くなる分、小さな安全は得られるでしょう。
      親コメント
      • by Anonymous Coward
        >「製品を1個買ってきて解析して脆弱性を発見し、同じ製品に対してアタックできる」
        設置してある場所に進入でもする気?
        • Re:JTAGポートねぇ (スコア:1, すばらしい洞察)

          by Anonymous Coward on 2007年04月07日 14時20分 (#1138900)
          私は門外漢なのでJTAGとかいうのがどういうものかわからないのですが、
          一台あれば、JTAGポートからデバッガで内部がどうなってるかを調べて
          攻撃コードを作ることができて、それによってできたコードを用いて
          他の装置に *外側から* 攻撃できるということだと読みました。

          違うの?

          件の記事からはそうとしか読み取れなかったんだけど。
          親コメント
          • Re:JTAGポートねぇ (スコア:0, 参考になる)

            by Anonymous Coward
            外側って建物の外って意味?

            JTAGってのはシリアル通信形式で、チップ内のレジスタやメモリを読み書きする為の物理的な端子で、例えばルーター内の基板にJTAGポートが付いていたとして、そこにアクセスする為には、ルーターの設置されている建物に侵入して、ルーターの設置されている部屋に到達できて、ルーターを分解してJTAGポートにデバッガなり何なりを接続してって作業が必要だよ?
            • Re:JTAGポートねぇ (スコア:3, すばらしい洞察)

              by taotao (13793) on 2007年04月07日 15時08分 (#1138919)
              じゃなくて、JTAGポートからファームウェアなり何なりを吸い出して解析すれば、
              外部から攻撃可能な脆弱性を発見することも可能、ってことじゃね?
              親コメント
              • by Anonymous Coward
                それならPCの方が危険だよね。JTAGなんかなくても中身を抜き出せるし、GDBやその他ツールがそろってるし。
              • 基盤にアクセスできるということは、侵入用Backdoorマシンの設置やパケットスニファの設置が物理的に可能だということだよね。 だったらJTAGをなくしたって無駄だよ。どうするか?ブロードバンドルータへの物理的アクセスを封じるしかない。 PCIバスへのアクセスがセキュリティホールだというのか!?
              • by Anonymous Coward

                やっと出発点。
                で、PCなどの汎用機では既になされてる対策が、全くなされてない組み込みシステムが多いということで、タレこみのリンク先では「あなたたちの粗末なコードを隠してください」と言ってる訳です。それに対する疑問や評価が [#1138903] [srad.jp] [#1138886] [srad.jp]。

              • by Anonymous Coward
                組み込みは単価の安い製品が多いんだし、そんなに手の込んだ対策は取れないよ。
                手の込んだ対策をしようと思えば、その分製品単価に跳ね返るからね。

                物理的な防御を完全にするのは、かなりのコストが掛かると思うよ。
                コストの安い簡単なプロテクトを施した程度じゃ、
                解析したくて解析する側はすぐに破ってくるだろうし。

                コストを掛けたとして物理的な防御もある程度以上に強固にした場合、
                今度は、製品を修理できなくなるよ。
              • Re:JTAGポートねぇ (スコア:1, すばらしい洞察)

                by Anonymous Coward on 2007年04月07日 22時18分 (#1139046)
                JTAGで物理的に進入なら、PCの方が物理進入に対して弱いじゃん
                親コメント
              • by cypher_nut (33847) on 2007年04月08日 2時37分 (#1139103)
                >JTAGで物理的に進入なら、PCの方が物理進入に対して弱いじゃん

                JTAGはあくまで脆弱性の解析と攻撃コード作成に必要という話。

                PCの場合はデバッガをインストールできるので脆弱性攻略が簡単なのは明白だが、組み込みでもJTAGを使える状況なら簡単にデバッグできて攻撃コードが作成れますよ、というお話。
                親コメント
              • by cypher_nut (33847) on 2007年04月08日 3時18分 (#1139108)
                >基盤にアクセスできるということは、侵入用Backdoorマシンの設置や
                >パケットスニファの設置が物理的に可能だということだよね。

                いやだから、、、

                (1) 友人が使っているD-Linkのルーターに侵入したい
                (2) とりあえず、脆弱性があるかないか調べるために、店で友人のと同じD-Linkルーターを買ってきた
                (3) 脆弱性を見つけ攻撃コードを書くには、対象をデバッグしなければいけない
                (4) デバッグするためにはJTAGが手っ取り早い(っていうか、クローズドな組み込みでは他に簡単で良い方法が無い)
                (5) こうしてD-Linkルーターの脆弱性を攻略する攻撃プログラムが完成した
                (6) この攻撃プログラムは他のD-Linkルーターでも動作するので、これを使って友人のD-Linkルーターに侵入

                こういう事。

                攻撃プログラムさえできてしまえば、友人宅のD-Linkルーターに物理的に触る必要は全く無い。
                親コメント
            • by Anonymous Coward
              競合メーカーなりが調査をするならまだしも、
              たかだか数万円の機材をハックするのに、
              平気でン十万、ン百万円もするJTAGを使う意味があるのだろうか?

              職場で使ってるJTAGの接続ケーブルがハード屋のミスで
              おじゃんになったとき、たかだか50cmのリボンケーブルで
              5万円とか言われたときは目を疑った・・・・・
              (テフロンコートの銀メッキ線のリボンケーブルってので、値段に納得したが)
              • by Anonymous Coward
                値段に納得する以前に「テフロンコートの銀メッキ線のリボンケーブル」が必要かどうか考えましたか?
          • by Anonymous Coward
            そう、ひとつ自分で入手して解析ってことには使える「かもしれない」。
            が、「同じ装置を誰が使ってるか」はどうやって知るの?

            「誰」が初めから決まっている…つまりターゲットが限定されているなら、「何を使っているか」をどうやって特定する?
            「同じ装置」が決まっている…つまりターゲットが非限定なら、どうやって探す?

            ポートを残さないことが「more better」なことは否定しないが、煽りすぎだよ。
            • by Anonymous Coward
              そんなの投網方式でもいいし
              「こんなこともあろうかと」という手段として
              保持しておく人だっているんじゃないの?
            • by Anonymous Coward
              対象機器を使っているかどうか判断する方法なんて、NMapに見られるOS検出などいくらでもありますよ? JTAGを使って脆弱性を発見解析し、ある特定の機器に対する攻撃プログラムが作成できれば、同種の機器に対する攻撃が可能になる、という話。これは、組み込み機器だけの話ではなく、WindowsやLinuxにも同じ事が言えるでしょ?
    • みんな~! (スコア:1, 参考になる)

      by Anonymous Coward on 2007年04月08日 22時12分 (#1139350)
      そもそもJTAGはソフトウェアのデバッグのためのものではなく、製品の検査を行うためのものだということをたまには思い出してあげようよ!
      たとえ、いまのところは製品検査に使われる頻度よりもソフトウェアのデバッグやROMやコンフィギュレーション情報の書き込みに使われる頻度のほうが圧倒的に高いとしても、だ。
      親コメント
    • by Anonymous Coward
      板橋区某所で手に入る改造受信機とかですか? アキバのジャンク屋とか中古屋
      とかなら、いくらでも機器の蓋あけて細工可能とか
  • by Anonymous Coward on 2007年04月07日 14時24分 (#1138902)
    JTAGにデバッガを繋いだところで、何が出来るって訳でもないと思うのですが。

    コードにはデバッグ情報が含まれていないからマシン語でしか読めないし、バウンダリスキャンを使ったところでハードディスクとかの非メモリなデバイスにアクセスすることも出来ない。
    フラッシュとかSDRAMとかのメモリにはアクセスできるけど、「どのチップセレクト信号がどのデバイスに繋がっているか」「どのアドレスに何が書いてあるか」が判らない状態で個人情報を吸い出そうっていうのかな。。
  • by Anonymous Coward on 2007年04月07日 15時07分 (#1138918)
    セキュリティのプロフェッショナルの言うことでもこの程度なんですから、
    組込みシステムが攻撃のターゲットになることはないんじゃないかなぁ。
  • by Anonymous Coward on 2007年04月07日 15時33分 (#1138932)
    JTAG云々については他でも言われてるように直接ハードに手を出せる必要があるわけで、そんなことができるならJTAGなんぞに頼る必要なく、BUSラインを引き出すとかROM吸い出すとかやりたい放題できる。
    そんな直接ハードを触れる状態にあるなら、PCだろうが組み込み機器だろうがセキュリティなんてないに等しいのは自明の理。

    JTAGが駄目なら、PCだってOSを入れ替えたりハードウェアを簡単に変更出来るんだから駄目駄目だよね。

    もっとも、組み込み機器系にバッファオーバーフローなどの脆弱性が多く残ってるのは否定はしない。
    実際に設定関連のCGIとかチェックが甘くて、ブラウザでは入力制限で入力できない長さの文字列を送りつけるとリブートしたりするってのは結構ある。

    重要なのは他人がアクセスできるような状況にあるものはPCだろうが組み込み機器だろうがリスクを持っているって事を認識すること。JTAGだとかそんなのは不備でもなんでもなくただのこじ付け。
    • リンク先の記事から引用

      例えば同社が調査したD-Linkのブローバンドルータでは、JTAGポート用の接続コネクタが基板上に残ったまま出荷されており、「はんだ付けすら不要」(鵜飼氏)だったという。

       さらに問題のD-Linkのブロードバンドルータでは、UPnPで利用されるUDPの1900番ポートに800バイトを超える特定の文字列を送り込むと、任意のコードを実行できるというバッファオーバーフローの脆弱性があった。同社では、管理パスワードのリセット、設定情報をフラッシュメモリに書き込むAPIの呼び出し、ルータのリセット、クラック版ファームウェアの書き込みを行うことに成功したという。

      ということで、手元の実機のJTAGポートを使って解析して、攻撃対象の同機種をリモートから攻撃する方法を発見したってことです。
      • by Anonymous Coward on 2007年04月07日 22時27分 (#1139048)
        引用もとの記事は、
        • JTAGポート用の接続コネクタが基板上に残ったまま
        • バッファオーバーフローの脆弱性があった。
        という、(著者が言うところの)脆弱性が複数あったということです。

        ということで、手元の実機のJTAGポートを使って解析して、攻撃対象の同機種をリモートから攻撃する方法を発見したってことです。
        と読み解くには無理があります。
        親コメント
        • by Anonymous Coward on 2007年04月08日 1時36分 (#1139088)
          今までは、いかに普及した組み込みシステムでも、PCに見られるようなバッファオーバーフロー脆弱性などは攻略される事がほとんど無かったというのが現状。

          危険性としてはPCと同じだが、攻略されなかった大きな原因はクローズドアーキテクチャであり、かつ、機器を簡単にデバッグできないと多くの攻撃者が思っていたという事(バッファオーバーフローを攻略するためには、動作中の実機をデバッグする必要があるでしょう)。

          セキュリティというのは、基本的にトレードオフ。デバッグもメーカーなら簡単に出来る訳だが、単に、攻撃者のような外部の人間には難しいとされていたため、脆弱性があっても攻撃コードが世の中に出現しにくいという背景があった(そういう意味で、組み込みで言えばクローズドアーキテクチャは攻撃者にとって足かせのひとつにはなり得た)。

          それが、JTAGが基盤に残ってると、JTAGさえ買ってくれば簡単に誰でもデバッグできてしまう(今は数万円で買えるはず)。デバッグができれば、もしバッファオーバーフローなどの脆弱性があった場合、簡単に攻撃コードを作成されてしまうので、攻撃者にとって非常に大きな障害が一つ減って攻撃コード作成が楽になる。

          汎用的な組み込み機器の場合、それを買ってきて分解し、脆弱性を探してJTAGでデバッグしながら攻撃コードを作成すると、それが同一型番の全ての機器で動作する事になる。その攻撃コードが公開されれば、第三者はある特定バージョンの汎用OS向け攻撃コードと同じ要領でそれを利用できる。

          対策としては、当然ながら脆弱性を無くすのが一番だろうが、組み込みシステムの場合、耐タンパも考慮すれば、攻撃コード作成に至らない可能性がある。セキュリティは、本質的な対策だけではなく、セキュアチップに見られるような攻撃に対する障害(破られるかもしれないが)を増やす事も大事でしょう。バッファオーバーフロー脆弱性を発見したとしても、結局、世の中の攻撃者がデバッグに成功しなければ攻撃コードを作成する事はできない訳で。バッファオーバーフロー対策のハードウエアDEPだって、破られる事が分かっていても実際の攻撃プログラム作成に対する障害としては決して無意味では無いのと同じ。

          組み込みの場合、クローズドアーキテクチャや耐タンパは、汎用システムと違って、脆弱性に対する防御策としてある程度考慮すべきでしょう。そういった意味でも、ルーターのような脆弱性が発生するとまずい機器に、見た目一発で分かるJTAGポートがそのまま乗っかってるのは問題でしょ。
          親コメント
      • 別にJTAG無くてもROM外して解析すれば同じ事でしょ。

        このノリで行くと、そのうちセキュリティ重視の製品は、
        全てエポキシ樹脂とかで基板を固めてありそうだな(笑)
        (固めたところで削れば解析できちゃうだろうけどね。)
  • by Anonymous Coward on 2007年04月07日 16時48分 (#1138964)
    尻コンは付けますが、JTAGまで見ませんよ(´・ω・`)

    #玄箱Proの穴が大きくてコンスルー使えず_| ̄|○
  • by Anonymous Coward on 2007年04月07日 23時38分 (#1139067)
    説得力ないよなあ。
    #「基板」って書けよ。
typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...