アカウント名:
パスワード:
現在のUSBデバイスは、製造元が作ったファームウェアかどうかを、確認するメッセージ認証コードとか、使っていないのですか?それとも、その確認を回避して書き込めるのだろうか?ファームウェアにコード署名を導入とかあるのかなぁ?
誰か、BadUSB もっと勉強して。
デバイス自身が認証プロセスを持っていなかったのか、ということだったのです。コード署名の検証を安価なUSBデバイスがするのは、難しいかもしれませんがメッセージ認証コードくらいは実装できるかと思ったのです。
メインフレームのデバイスでは、そういう実装をしているものもが昔あった。
TPMだかEFIだかの関連でブートローダ回りの正当性チェックする機構はあるね。そもそもUSBデバイスではファーム更新機能自体無い奴も多いと思うんだけど…ファーム更新機能を正規に持つなら、自己書き換え前に署名検証とかは組み込めるし組み込まれてることも珍しくない。
ハードレベルでの検証機能となると、ソフト的に書き換えが実行されてる前提に基づいて実装される対策なわけだけど、USBデバイスのファームに自己書き換え脆弱性が存在するリスクに対してそこまでのコストを払うかというと…まぁそういうことでは?そこまで警戒する頃には、見た目そっくりで悪意あるファームを持った偽物をソーシャルハックで仕込まれる警戒とかも必要だろう。となるとホスト側とデバイス側えガチガチに相互認証するくらいの領域に足突っ込んできて、そんなの一般用には出てこないだろ…
TPMを使ったブートローダでは、取り外しができるUBSデバイスの正当性チェックできない。
USBデバイスのファームに自己書き換え脆弱性が存在するリスクを対策しなければ感染してUSBデバイスが悪事をするようになると、コストをけちることないと思う。
安価なUSBデバイスは、わからないが、メッセージ認証コードくらいのハードはたいしたことないと思う。
安全なお店で買ったUSBデバイスを、安全な自宅で利用することは多いがその場合は、ソーシャルハックの心配はない。
相互認証が面倒かどうかではなくて、セキュリティ的な問題があれば、やるしかないのでは。
商業的に一番簡単なのは、8051をやめてARMにしちゃうことでしょう。セキュアブートとかもついてます。
USBメモリは片手か両手で数えるくらいの部品数しか載せませんし、メモリはオンダイでCPUのバスは半導体の外にも出ません。よって暗号アクセラレータのような外部ハードをボード上に追加することはできません。コントローラ+メモリの2チップしかそもそも載っていません。USB 2.0のフラッシュメモリ程度であれば、FelicaのようなIC暗号カードと同じ方向性で、マスクROMを載せてプログラム書き換え不能とし、フラッシュ領域に設定だけを書き込むようにするのが解決策としてよくあるやり方じゃないかと思います。
> 暗号アクセラレータのような外部ハードをボード上に追加することはできません。え、AES 256bitの機能を搭載したUSBメモリってあるのだけど。
USBメモリみたいに、使われ方が既に固まっている場合は、フラッシュ領域にいろいろな機能を実装できるファームウェアを置く必要がないということですね。
#とても参考になる書き込みをしてくださって、よかったと思います。
誤変換なんだろうけど”だんぱ"じゃなくて”たんぱー”(tamper)突っ込む、どつきまわすくらいにとっておけばいい#マルチプルタイタンパーとか
中身ダンプして改変、リストアに耐えるってのも耐タンパー性でいいとおっもう
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
メッセージ認証コード、使ってなかったのか (スコア:0)
現在のUSBデバイスは、製造元が作ったファームウェアかどうかを、確認するメッセージ認証コードとか、使っていないのですか?
それとも、その確認を回避して書き込めるのだろうか?
ファームウェアにコード署名を導入とかあるのかなぁ?
誰か、BadUSB もっと勉強して。
Re: (スコア:0)
Re: (スコア:0)
デバイス自身が認証プロセスを持っていなかったのか、ということだったのです。
コード署名の検証を安価なUSBデバイスがするのは、難しいかもしれませんが
メッセージ認証コードくらいは実装できるかと思ったのです。
メインフレームのデバイスでは、そういう実装をしているものもが昔あった。
Re: (スコア:0)
TPMだかEFIだかの関連でブートローダ回りの正当性チェックする機構はあるね。
そもそもUSBデバイスではファーム更新機能自体無い奴も多いと思うんだけど…
ファーム更新機能を正規に持つなら、自己書き換え前に署名検証とかは組み込めるし組み込まれてることも珍しくない。
ハードレベルでの検証機能となると、ソフト的に書き換えが実行されてる前提に基づいて実装される対策なわけだけど、
USBデバイスのファームに自己書き換え脆弱性が存在するリスクに対してそこまでのコストを払うかというと…まぁそういうことでは?
そこまで警戒する頃には、見た目そっくりで悪意あるファームを持った偽物をソーシャルハックで仕込まれる警戒とかも必要だろう。
となるとホスト側とデバイス側えガチガチに相互認証するくらいの領域に足突っ込んできて、そんなの一般用には出てこないだろ…
Re: (スコア:0)
TPMを使ったブートローダでは、取り外しができるUBSデバイスの正当性チェックできない。
USBデバイスのファームに自己書き換え脆弱性が存在するリスクを対策しなければ
感染してUSBデバイスが悪事をするようになると、コストをけちることないと思う。
安価なUSBデバイスは、わからないが、メッセージ認証コードくらいのハードは
たいしたことないと思う。
安全なお店で買ったUSBデバイスを、安全な自宅で利用することは多いが
その場合は、ソーシャルハックの心配はない。
相互認証が面倒かどうかではなくて、セキュリティ的な問題があれば、やるしか
ないのでは。
Re: (スコア:2)
商業的に一番簡単なのは、8051をやめてARMにしちゃうことでしょう。セキュアブートとかもついてます。
USBメモリは片手か両手で数えるくらいの部品数しか載せませんし、メモリはオンダイでCPUのバスは半導体の外にも出ません。
よって暗号アクセラレータのような外部ハードをボード上に追加することはできません。コントローラ+メモリの2チップしかそもそも
載っていません。USB 2.0のフラッシュメモリ程度であれば、FelicaのようなIC暗号カードと同じ方向性で、マスクROMを載せて
プログラム書き換え不能とし、フラッシュ領域に設定だけを書き込むようにするのが解決策としてよくあるやり方じゃないかと思います。
Re: (スコア:0)
> 暗号アクセラレータのような外部ハードをボード上に追加することはできません。
え、AES 256bitの機能を搭載したUSBメモリってあるのだけど。
USBメモリみたいに、使われ方が既に固まっている場合は、フラッシュ領域にいろいろな
機能を実装できるファームウェアを置く必要がないということですね。
#とても参考になる書き込みをしてくださって、よかったと思います。
Re: (スコア:0)
Re:メッセージ認証コード、使ってなかったのか (スコア:1)
誤変換なんだろうけど
”だんぱ"じゃなくて”たんぱー”(tamper)
突っ込む、どつきまわすくらいにとっておけばいい
#マルチプルタイタンパーとか
中身ダンプして改変、リストアに耐えるってのも耐タンパー性でいいとおっもう