アカウント名:
パスワード:
やっと出発点。 で、PCなどの汎用機では既になされてる対策が、全くなされてない組み込みシステムが多いということで、タレこみのリンク先では「あなたたちの粗末なコードを隠してください」と言ってる訳です。それに対する疑問や評価が [#1138903] [srad.jp] [#1138886] [srad.jp]。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常
JTAGポートねぇ (スコア:0)
Re:JTAGポートねぇ (スコア:1, すばらしい洞察)
ブラックボックス化することによって安全性を得ようという発想(クローズドソースだから安全というのと同様)自体の是非はあるでしょうが、現実的には一つハードルが高くなる分、小さな安全は得られるでしょう。
Re:JTAGポートねぇ (スコア:0)
設置してある場所に進入でもする気?
Re:JTAGポートねぇ (スコア:1, すばらしい洞察)
一台あれば、JTAGポートからデバッガで内部がどうなってるかを調べて
攻撃コードを作ることができて、それによってできたコードを用いて
他の装置に *外側から* 攻撃できるということだと読みました。
違うの?
件の記事からはそうとしか読み取れなかったんだけど。
Re:JTAGポートねぇ (スコア:0, 参考になる)
JTAGってのはシリアル通信形式で、チップ内のレジスタやメモリを読み書きする為の物理的な端子で、例えばルーター内の基板にJTAGポートが付いていたとして、そこにアクセスする為には、ルーターの設置されている建物に侵入して、ルーターの設置されている部屋に到達できて、ルーターを分解してJTAGポートにデバッガなり何なりを接続してって作業が必要だよ?
Re:JTAGポートねぇ (スコア:3, すばらしい洞察)
外部から攻撃可能な脆弱性を発見することも可能、ってことじゃね?
Re:JTAGポートねぇ (スコア:0)
Re:JTAGポートねぇ (スコア:0)
Re:JTAGポートねぇ (スコア:0)
リバースエンジニアリングは怖いからね。
Re:JTAGポートねぇ (スコア:0)
やっと出発点。
で、PCなどの汎用機では既になされてる対策が、全くなされてない組み込みシステムが多いということで、タレこみのリンク先では「あなたたちの粗末なコードを隠してください」と言ってる訳です。それに対する疑問や評価が [#1138903] [srad.jp] [#1138886] [srad.jp]。
Re:JTAGポートねぇ (スコア:0)
手の込んだ対策をしようと思えば、その分製品単価に跳ね返るからね。
物理的な防御を完全にするのは、かなりのコストが掛かると思うよ。
コストの安い簡単なプロテクトを施した程度じゃ、
解析したくて解析する側はすぐに破ってくるだろうし。
コストを掛けたとして物理的な防御もある程度以上に強固にした場合、
今度は、製品を修理できなくなるよ。
Re:JTAGポートねぇ (スコア:1, すばらしい洞察)
Re:JTAGポートねぇ (スコア:1)
JTAGはあくまで脆弱性の解析と攻撃コード作成に必要という話。
PCの場合はデバッガをインストールできるので脆弱性攻略が簡単なのは明白だが、組み込みでもJTAGを使える状況なら簡単にデバッグできて攻撃コードが作成れますよ、というお話。
Re:JTAGポートねぇ (スコア:4, 興味深い)
>パケットスニファの設置が物理的に可能だということだよね。
いやだから、、、
(1) 友人が使っているD-Linkのルーターに侵入したい
(2) とりあえず、脆弱性があるかないか調べるために、店で友人のと同じD-Linkルーターを買ってきた
(3) 脆弱性を見つけ攻撃コードを書くには、対象をデバッグしなければいけない
(4) デバッグするためにはJTAGが手っ取り早い(っていうか、クローズドな組み込みでは他に簡単で良い方法が無い)
(5) こうしてD-Linkルーターの脆弱性を攻略する攻撃プログラムが完成した
(6) この攻撃プログラムは他のD-Linkルーターでも動作するので、これを使って友人のD-Linkルーターに侵入
こういう事。
攻撃プログラムさえできてしまえば、友人宅のD-Linkルーターに物理的に触る必要は全く無い。
Re:JTAGポートねぇ (スコア:0)
つか、そっちが本題。セキュアなコードであれば、物理的に何されようが問題ないんだし。
JTAG云々は、攻撃の手がかりを与えないようにしましょうってだけ。
Re:JTAGポートねぇ (スコア:0)
当然それが本質ですが、セキュリティ確保には、脆弱性があったとしても簡単に攻撃を成功させないためのフェイルセイフも重要な要素です(バッファオーバーフロープロテクション、アドレスランダム化、権限降格、などなど)
組み込み機器の場合、JTAGポートがそのまま乗っていて簡単に識別できるという状態は、フェールセーフとして好ましくないでしょう。
Re:JTAGポートねぇ (スコア:0)
Re:JTAGポートねぇ (スコア:0)
たとえて言うなら、泥棒を完全に防ぐことができないなら自宅に施錠しないかというとそうではないですよね。それがピッキング可能なシリンダー錠だったとしても、施錠しないよりはマシとは思いませんか?
Re:JTAGポートねぇ (スコア:0)
たかだか数万円の機材をハックするのに、
平気でン十万、ン百万円もするJTAGを使う意味があるのだろうか?
職場で使ってるJTAGの接続ケーブルがハード屋のミスで
おじゃんになったとき、たかだか50cmのリボンケーブルで
5万円とか言われたときは目を疑った・・・・・
(テフロンコートの銀メッキ線のリボンケーブルってので、値段に納得したが)
Re:JTAGポートねぇ (スコア:0)
Re:JTAGポートねぇ (スコア:0)
が、「同じ装置を誰が使ってるか」はどうやって知るの?
「誰」が初めから決まっている…つまりターゲットが限定されているなら、「何を使っているか」をどうやって特定する?
「同じ装置」が決まっている…つまりターゲットが非限定なら、どうやって探す?
ポートを残さないことが「more better」なことは否定しないが、煽りすぎだよ。
Re:JTAGポートねぇ (スコア:0)
「こんなこともあろうかと」という手段として
保持しておく人だっているんじゃないの?
Re:JTAGポートねぇ (スコア:0)
Re:JTAGポートねぇ (スコア:0)
EthernetまでアクセスできるならMACアドレスはメーカーごとに割り当て範囲があるから、
故意に書き換えない限り、チェックすればどこのメーカーのデバイスがLAN上で稼動しているのかわかる。
メーカーはメーカーで、そのMACアドレスを製造ラインから出てくる個々の製品に
たくさん割り当てて使う。あえてランダムにする理由は無いわけだから、
その割り当て方に法則性があると考えるのは自然。ならば脆弱性のあるネットワーク機器の
MACアドレスに近い値のMACアドレスで稼動する同じ会社のデバイスを見つけたら、
同じ機器で、同じ脆弱性がある可能性が高いと考えられる。
Re:JTAGポートねぇ (スコア:0)
答えは「到達可能な何千何万のホストに無差別に攻撃コードを仕掛ける」です。相手がその特定のバージョンのapacheだろうが関係なく。たとえIISだろうが、httpサービスが動いてなくてもです。非常に効率の悪い方法ですが、そのためのコストはゼロに等しいですから、実行可能なのです。
そうして何千何万のホストにアタックして、数台でもヒットすればクラッカーは目的を達成できます。もちろん「特定のあのホストを攻撃したい」という用途には使えるとは限りませんが、「何でもいいからクラックしたい」ならば有効です。
かつてはセキュリティ専門家が「apacheのレスポンスにバージョン文字列を入れておくとそのバージョンに応じた攻撃を加えられるかもしれない。だからレスポンスにはバージョンやアプリケーション名は入れないようにしましょう」なんて言ってた時代もありました。今ではそんなことを言う人は一人も居ません。それは上記のような現実があるからです。