最近、USBポートを介したデータ転送に根本的な欠陥があることが証明されているので、インターネットを使用せずにデータを転送する100%安全な方法があるかどうか疑問に思っています。
アランが一生オフラインになっているコンピュータシステムを持っているとします。 AlanはBobからデータをインポートしたいと考えています。アランはこれを行うことができ、外の世界から切り離されたままになることができますか?
私の考えは、アランは転送されるデータを完全に制御する必要がある(つまり、アランは自分が何をインポートしているかを100%知っている)か、アランは自分のコンピューターシステムでデータがどのように処理されているかを正確に(そしてつまり)知っている必要があるということです。これは、アランが自分のコンピューターシステムにマルウェアを既にインストールしている可能性があり、このマルウェアが転送されるデータのデータを使用して、アランのコンピューターシステムと外界との間の通信を提供し、転送。
編集:
「アランはボブからデータをインポートしたい」の代わりに、アランとボブはどちらも通信中にインターネットに接続されていない間、双方向で通信したいと書いているはずです。
「セキュリティ」を書いたとき、アランが送信しようとしているデータ以外のデータを漏らさないことを保証することを意味しました。したがって、データがボブに到達したときに変更され、変更されたデータのビットがアランのシステムからコピーされない限り、このタイプのセキュリティでは100%安全であると見なされます。また、ボブは一生インターネットの常用ユーザーであり、一定期間(つまり、2つの間のデータ転送中)オフラインになる可能性があります。
「アランは転送されるデータを完全に制御しなければならない」と書いたとき、アランは送信中の情報を少しずつチェックし、何らかの方法でそれを正確に理解する必要があることを意味しました。
より明確にするために、ボブは自分のコンピューターにもマルウェアを持っている可能性があります。
実際に直面している特定の脅威、データ転送の方向などによって異なります。
あなたはUSBの危険性について言及します。主なものは確かに、そのファームウェアがBadUSBタイプの攻撃の可能性を開くことに関連しています。したがって、双方向でデータを転送する必要がある場合は、そのような脅威に影響されないSDカードを使用することをお勧めします(外部を使用する場合) USB SDカードリーダー 安全である必要があります ただし、1台のコンピュータ専用にしてください。共有しないでください!).
ここでは、SDカードをUSBファームウェアの攻撃のみに対して実行可能なソリューションとして言及していると主張します。このような攻撃では、不正なデバイス(偽のキーボード、ネットワークカードなど)をシミュレートするためにUSBフラッシュドライブのファームウェアが破損する可能性があります。SDカードではこのような攻撃は不可能です。エドワードスノーデンが自分のコンピューターとレポーターのコンピューター間でファイルを交換するときに、ローラポイトラスのCitizenfour映画でSDカードに依存しているのは、これが理由だと思います。
SDカードには、読み取り専用スイッチも装備されています。このようなスイッチは、カードのコンテンツが誤って変更されるのを防ぐのに非常に便利ですが、読み取り専用アクセスはカード自体によって強制されるのではなく、コンピューターのオペレーティングシステムに委任されるため、悪意のある変更を防ぐことはできません。
あなたは、いくつかの隠しチャネルにデータを保存しているアランのコンピュータ上のいくつかのマルウェアによる情報漏えいの可能性について話します。転送が主に一方向のみであり、これが主な脅威である場合は、CDまたはDVDなどの読み取り専用メディアを使用することをお勧めします。 CD/DVDリーダーがまだ市場にあるかどうかはわかりませんが、AlanのPCがデータを保存する可能性を物理的にすべて排除できるので、最高ですただし、それがなくても、そのようなディスクにデータを個別に格納することははるかに困難です。
掘り下げて、他の代替案を見つけることもできます。たとえば、スレッド ウイルスからUSBスティックを保護する方法 書き込みブロッキングスイッチを含むUSBスティックに関する説明が表示されます(これは、 SDカードの同等のものよりも安全な方法)、通常は法医学目的で設計された機器である書き込みブロッカーの使用など。
現状のまま実装された上記のソリューションは、AlanとBobが直接接触していることを想定していますが、常にそうであるとは限りません。ただし、ほとんどの場合、通常の郵便(別名 snail mail )を使用することにより、コンピュータネットワーク外へのデータ転送は、長距離でも可能です。
この方法は、一部の人々によって安全でないと誤って認識される可能性がありますが、正しく使用すると、実際には非常に高いセキュリティレベルを示す可能性があります。この方法は、非常に大量のデータを安全に移動する必要がある場合に業界で使用されます。 Amazonは Amazon Snowballサービス を提供しています Wikipediaのスニーカーネットに関するページ は、他のいくつかの実際の使用例もリストしています (エイプリルフールの日RFC キャリアピジョンを使用してストレージメディアを運ぶ。
現在のシナリオでは、アランとボブはすべてがうまくいくようにいくつかの予防策を講じる必要があります。
アリスとボブは公開鍵を交換する必要があります。これは簡単に聞こえるかもしれませんが、具体的な世界では、アランとボブは一度も会う可能性がなく、お互いを知らない可能性があり、お互いの身元を保証したり、エスクローサービスを提供したりする信頼できる第三者がいない可能性があります。ただし、このシステムのセキュリティ全体は、この操作を正常に実行する必要があるという事実に依存しています。幸い、非対称暗号化はこれらのキーの漏洩が大きな影響を与えることはないため、非常に役立ちますが、このステップで発生するなりすましや改ざんには役立ちません。
選択されたデータ交換媒体は、それぞれ異なる特性を示す可能性があるため、いくつかの重要性を持っています。
ファームウェアベースのストレージデバイスは、現在最も頻繁に使用されており、データボリュームが大きいハードディスクから、非常に簡単に隠すことができるマイクロSDカードにまで及びます。最初の改ざんを回避するために、いくつかの実店舗から購入することを好むかもしれませんが、後で見るように、最初の出荷が行われると、デバイスはすべての場合においてもはや信頼できなくなります。
非ファームウェアベースのデバイスは明らかにファームウェア関連の問題を提示しませんが、AlanとBobの正確なニーズによっては、特に匿名性に関連する他の問題を提示する可能性があります: 焼き付けディスク および 印刷された紙 たとえば、著者へのリンクを可能にする一意の識別子が含まれている場合があります(ただし、このような識別子では著者の場所を特定できませんが、彼の装置が没収されると、この装置がそれらを生成したことを証明するために使用できます)。
もちろん、データをメディアに保存する前に、適切に暗号化して署名する必要があります。私はメディア上の暗号化されたパーティションを直接使用するよりも簡単に操作できる暗号化されたファイルを好む傾向があります。
送信する前にデータを適切にバックアップすることを強くお勧めします。そのような転送は、潜在的な対戦相手がデータを傍受したとしてもデータにアクセスしたり改ざんしたりできないように安全ですが、データが失われたり消えたりする可能性があります(自発的または不本意な行動:ビッグブラザーの介入なしに小包が失われたり差し押さえられたりすることは起こります Murphy もそれで非常に優れています!)。
実際の送信者と受信者を難読化する方法(私書箱からより高度なものまで)をストレージデバイスの隠蔽と組み合わせると、傍受を回避するのに役立ちます。
少なくとも受信側では、受信したストレージデバイスをメインコンピュータに直接接続しないことを強くお勧めします。代わりに:
受信したメディアを特別に強化された最小限のシステム(別名 sheep dip 、ホスト自体にハードディスクがなく、LiveCDから起動する)に接続します。メディアコンテンツと暗号化されたファイル(このホストではファイルを復号化しないでください!)、
暗号化されたファイルをより信頼できるサポートにコピーすることをお勧めします(暗号化されたパーティションの代わりに暗号化されたファイルを使用すると便利な場合があります)。暗号化されたファイルを別のサポートに移動することは、ファームウェアベースストレージデバイスを使用する場合に特に役立ちます。郵便サービスを通過すると、ファームウェアの整合性を保証できなくなるためです(暗号化されたデータが署名されている間、確認できる署名はありません)残りのストレージデバイス用)。
次に、この最も信頼できるサポートをメインのエアギャップコンピューターに接続して、安全に解読できるようにして、この手順をストーリーの終わりにしてください:)。
外部ソースから受け取ったデータ(オペレーティングシステム、BTWを含む)を100%安全にすることができると仮定することは決して合理的ではありません。
何かを転送する最も安全な方法であり、副作用がないことを保証します(たとえば、OSが外部ドライブをマウントしている場合)。すべてを理解していることを確認しながら、すべてのデータを手動で入力します。それでも保証はありません。
基本的に、完全なセキュリティを実現する唯一の方法は、コンピュータに何かをさせないことです。
あなたが求めていることを達成することは不可能です。基準で、アランのコンピューターが任意の未知のマルウェアに事前感染する可能性があることを指定しました。言い換えれば、アランのコンピュータは、制御下にあるハードウェアのいずれかを使用して、自由に好きなものを実行できます。また、「100%」安全な方法が必要であることを指定しましたが、安全であるという意味を指定しませんでした。データの破壊、盗難、改ざん、またはこれらすべてに関心がありますか? 100%未満のセキュリティレベルをオプションとして指定しなかったので、私の答えは100%のセキュリティのコンテキストのみです。
インターネットから切断し、USBドライブを禁止することで、システムの安全性を高めようとしました。これにより、マシンを制御するためにこれらの媒体に依存する特定のタイプの攻撃に対するセキュリティが強化されます。しかし、あなたはすでに任意のマルウェアを持っていますなので、それに対して保護するにはすでに遅すぎます。
また、データ破壊から保護するには遅すぎます。マルウェアは、いつでも好きなときにすべてのアランのデータを破壊することを決定できます。
したがって、保護したい残りの主な懸念事項は、おそらくデータ漏洩です。どのようにデータを取得するかは重要ではありませんinアランのコンピュータに。インターネット、USB、手動でデータを入力できるキャリアピジョン-アランのシステムは完全に危険にさらされているため、すべてにアクセスできます。
つまり、データはoutのままになります。繰り返しになりますが、コンピュータがコンピュータとして機能するのを止めずに、コンピュータが外部の世界と通信することを100%防ぐことはできません。それはおそらくいくつかの組み合わせを持っています:ファン、電気回路、機械的ドライブ、スピーカー、モニター、電源。それらの一部は必須であり、すべてがマルウェアに対して制御可能な信号を発信する可能性があります。
特定のポイントのうち2つに対処するには:
アランは転送されるデータを完全に制御する必要があります(つまり、アランは自分が何をインポートしているかを100%知っています)
これは少し具体的ではありません。彼が100%ソースを信頼しているということですか?コンピューターに入るときにデータストリームの100%を見ることができるということですか?彼が100%できること理解そのデータストリームのすべてのビットの意味?
最初の2つを達成できるかもしれません。 3番目は不可能です。マルウェアは、通信を隠すために任意の種類の任意のエンコーディングを使用している可能性があります。
またはアランは、自分のコンピュータシステムでデータがどのように処理されているかを正確に(そして私が言っていること)知っている必要があります。
これは、マルウェアのため、設定した基準では不可能です。
この質問では、アランのコンピュータシステムの種類を指定していないので、この回答では、典型的なデスクトップPCではないではないと仮定します。代わりに、何らかの形の組み込み/プロジェクトコンピューターシステム。
したがって、ボブはROMチップにデータを書き込み、「スニーカーネット」を介してそれをアランに送信します。アランは彼のコンピュータにROMチップを差し込みます。それがROM、アランのコンピュータ上の何も、マルウェアも、それを変更することはできません。
マルウェアの疑いが他の誰かにデータを送信しないようにするには、all出力デバイスをAlanのコンピューターから切断します。イーサネットなし、WiFiなし、シリアルまたはUSBなし。マルウェアが他の誰かにバイナリコードの形式として画面をフラッシュする可能性があるため、モニターを接続することもしないでください。コンピュータボードにLEDがある場合は、念のためにLEDを切り取ります。スピーカーも切断して、マルウェアが近くの何かに口笛を吹かないようにします。
もちろん、その欠点は、アランのコンピュータが何をしているかを知る方法がなくなり、完全に役に立たなくなることです。しかし、完全に安全です。
Alanがボブのコンピューターからデータを安全に取得するシナリオでは、セキュリティ全般について多くのことを考慮する必要があります。簡単に言えば、ほとんどの場合、問題はありません。単純なUSBサムドライブ(スニーカーネットと呼ばれることもあります)を使用してデータ転送を実行している場合は、悪意のあるコード(機能します)を転送しない可能性が高くなります。
長い答え:いいえ、それはデータであり、常に危険にさらされる可能性があります。アランがボブからデータをインポートし、ボブのコンピューターが1秒間でもインターネットを見ている場合、インポートするデータに悪意のあるコードが追加されている可能性があります(可能性は非常に高いものから非常に小さいものまでさまざまです) )。
ほとんどのマルウェアは、インターネット接続とデータのやり取りに依存していますが、実際には、ウイルスを破壊したいウイルスがまだ存在しています。コンピュータがインターネットに接続されているかどうかは関係ありません。
現実的には、おそらく大丈夫です。転送されるデータにマルウェアがあったとしても、悪意のあるコードの多くは別のマシンで機能しなくなります。これは、上記のように、多くのマルウェアにはインターネットへの接続にある程度の信頼性が含まれており、アランのマシンに到達するためのマルウェアのコードは、あなたのマシンで動作するコードと同じではないためです。 (これがなぜなのかについてもっと知りたいか、興味があるならシェルコードのバリエーションについてもっと読んでください)。
簡単に言うと、単純なUSBスティック転送はおそらく問題ありませんが、理論的にはすべてハッキング可能であり、100%安全なものはないことを覚えておいてください。
シリアルポート を使用して2台のコンピューターを接続します。うまくいけば、両方ともusb-to-serialコンバーターを必要とする代わりに、そのようなネイティブのポートがまだあるでしょう。
インターフェースは、送受信されたデータを手動で検査できるほど単純です。コンピュータの1つから(それがtrustableの場合)だけでなく、オシロスコープを使用して外部からも。そこには、実行するためにカスタマイズを必要としない標準インターフェースがあります。
彼らは、通常の手順と同様に、いくつかの電流リミッター(1台のマシンの悪意のあるハードウェアが他のマシンに損傷を与えないようにする)や整流器(わずかに異なる電圧の潜在的な秘密チャネルを回避するため)を挿入したい場合があります。ケーブル自体のセキュリティを確保するようなものです。
妄想的なセキュリティを強化するために、磁場や他の音(例:ディスクの動き)を記録するために使用されているように、磁界やマイクがデータを漏らさないように、両方のコンピューターを同じ部屋に配置しないでください。ギャップのあるコンピューター(wifiハードウェアがありませんよね?).
同様の質問で、Thomas Porninは、マシン間の単一方向通信にサウンドカード(スピーカー→マイク)を使用することを提案しました。アランとボブにはシリアルポートが望ましいと思いますが、この代替案も興味深いかもしれません。
物理的に制御しているが、操作上ではないコンピューターからデータを漏らさないことを100%確実にしたいと考えています。つまり、データを取得し、電源を切断し、あらゆる方法でハードウェアを制御できますが、ソフトウェアは完全に他の誰かがコントロールする。
ソフトウェアを書いている人があなたが知らないかもしれない情報を送信する方法を考えたかもしれないので、あなたは100%確信することができません。
100%未満の確実性で解決する必要があるかどうかを評価するには、(a)情報がどの程度望ましいか、および(b)架空の攻撃者がコンピュータまたは媒体にどれだけ近づくことができるかを決定する必要があります。を使用してデータを送信し、最後に(c)データを送信することとデータをリークしないことの重要性
データ送信は、基本的には観察可能な変更を加えることにすぎません。コンピュータを直接監視できないように十分に環境を制御できる場合は、コンピュータからコンピュータにデータを送信してから、最終的な宛先にデータを送信する一方で、コンピュータがデータを送信しないようにします。彼らのコンピュータになります。彼らが彼らのコンピュータまたは彼らのコンピュータから送信されたデータを直接観察することができるなら、あなたはおそらく彼らがデータを漏らすことを防ぐことができないでしょう。
定義上、データのみを含み、実行可能コードや検証不能なハードウェアを含まない可能性のあるメディアを使用したいと考えています。これは、単純な物理的なアーティファクト(紙など)を要求します。この敷居は明らかにデジタルデータ転送よりも便利ではありませんが、それでも可能です。
少量のデータの場合、単純なテキスト(印刷、スキャン、OCR)を使用できます。エラーを防ぐためにチェックサムを使用する場合があります。これは監査可能です-正確に転送されるものを確認できます。
大量のデータの場合、 http://ollydbg.de/Paperbak/ のようなものを使用できます。これは、A4用紙あたり500 kBを確実にエンコードすると主張しています。
このシナリオでもサイドチャネルが存在し、両方のコンピューターが十分に高度なマルウェアに感染すると、余分なデータを転送できることに注意してください。たとえば、印刷されたデータには非常に薄い黄色のドットが含まれている可能性があり、スキャンしたときに読み取ることができます。それを使用してすべてのプリントアウトでプリントメタデータ(シリアル番号、時間など)をエンコードするシステムがあります。情報はユーザーから隠されますが、確実に機械可読です。
@WhiteWinterWolfはすでにデータ転送の優れた方法を投稿していますが、これは楽しみのためのもう1つの方法です:イーサネットケーブルを使用して直接接続を形成します( イントラネット、インターネットではない )アランからボブへ。
これが両方のコンピューターの唯一のネットワークインターフェイスである場合、どちらかのコンピューターのマルウェアが外部サーバーに接続するのを防ぎます。 Alanは、 公開鍵認証 を使用して、特定のフォルダーへの読み取り専用権限を持ち、かつ chroot
'ed there。
その後、Alanはファイル(暗号化されたコンテナーである必要があります)をコピーできます。次に、事前に設定されたパスワードと事前に設定された [〜#〜] totp [〜#〜] を使用して、コンテナを のように復号化できます。 YubiKey 。 AlanがUSBデバイス(信頼できるデバイスを含む)を避けたい場合は、代わりにカウンターベースのOTPを使用できます。これにより、たとえ攻撃者がキーストロークを記録していたとしても、攻撃者が将来交換されるファイルを解読することができなくなります。
データを完全に安全に転送するための絶対的な方法はありません。できる限り最善の方法は、情報を取得することをできるだけ困難にするか、攻撃者がNSAのような人物ではないことを期待することです。
簡単な解決策はARMチップと説明ソフトウェア付きのチップ、たとえばAES256です。AlanのPCはSDカードのようなオフラインのデータ転送メディアではなく、CHIPと通信します。AlanとBobはパスフレーズとそのハッシュからのフレーズ自体が事前共有暗号化キーになります。キー交換は、オンラインではなく、実際の人/実在するものである必要があります。その後、技術的に両方の側で転送を確認できます。このデータ交換の場合、関連する問題は発生しません。セキュリティを強化する必要がある場合-より多くの AES(Rinjdael algorythm、実際には) 丸めを使用して、暗号強度を高めます。