私も、誰も私のファイルを暗号化できないようにしたいと思います。私はそれを使用する必要がなく、それを望んでいません。
OSレベルで何らかの暗号化を永続的に無効にする方法はありますか?
そうでない場合、これは将来のファイルシステムに組み込むことができる可能性のある改善でしょうか?それとも、根本的に防ぐことは不可能ですか?
読み取り専用のファイルシステムは、定義上、(少なくともデジタル的には)書き込むことはできません。ホールパンチャーとネオジム磁石で行うことは、あなた自身のものですビジネス)。例:
ファイルシステムのバージョン管理 がより実用的ですが、一般的ではありません。このようなシステムには、ファイルの各バージョン(または以前のバージョンとの違い)をWORMデバイスまたは保護されたストレージに透過的に書き込むオプションが簡単に含まれる場合があります。
これらはどちらも根本的な問題を解決します。悪意のあるソフトウェアによる暗号化の場合に元のデータを失わないことです。
いいえ、ファイルの定義を変更しない限り、それは不可能です。
ファイルは任意のデータです。任意のデータを暗号化できます。
構造化データのみを許可している場合でも、スペースの制約がないと仮定すると、構造化データが悪用されてすべての任意のデータを格納することができます*(引用が必要)。これが出発点になります。
制限を導入すれば、部分的に成功する可能性があります。たとえば、ファイルを書き込んだ後で暗号化したくない場合は、 write once (または write only )システムを使用できます。または、ランサムウェア攻撃に対抗したい場合は、変更されたファイルの元のコピーを一定期間保持するファイルシステムを使用できます。
*たとえば、「Fizz」と「Buzz」という単語のみを許可する制限付きテキスト形式は、0を「Fizz」に、1を「Buzz」に置き換えることで、すべてのバイナリデータを表すことができます。
ファイルシステムのロードには、ネイティブファイルシステムレベルの暗号化サポートがありません。ただし、ソフトウェアで暗号化されたファイルは、他のファイルと同様に、どのファイルシステムにも保存できます。ファイルシステムは、ランダムデータと暗号化データの違いを識別できません。
OSレベルで何らかの暗号化を永続的に無効にする方法はありますか?
コードが実行され、ファイルをディスクに書き込める限りは。
それとも、根本的に防ぐことは不可能ですか?
はい、基本的な機能を犠牲にすることなく。
質問ランサムウェアにタグを付けました。探しているのは、アプリケーションのサンドボックス化またはヒューリスティックベースのランサムウェア検出に関する情報です。
暗号化とファイルシステムの間に誤解があるようです。
2つは独立しており、1つはファイルシステムがなくても暗号化を実行でき、もう1つは暗号化を実行せずにファイルシステムを実行できます。
たとえば、従来のFAT16/FAT32ファイルシステムは、NTFSがEFSサブコンポーネントで行うようなネイティブ暗号化を「サポート」していません。 ただし、既にコミットされているデータを変更したり、暗号化されているファイルシステムにデータを書き込んだりできなかったという意味ではありません。
「書き込み専用」ファイルシステムまたは「読み取り専用」ドライブを使用することは完全に可能ですが、これによってデータがコピーされ、暗号化されてから別の場所に保持されるのを防ぐことはできません。すでにディスク上にあるデータの削除と上書きを確実に防ぐことができます(Windowsのファイルはアクティブなプロセスによってロックされる可能性があります)。
ファイルシステムは、基本的にはオペレーティングシステムのサービスプロバイダーであり(たとえば、基になるストレージメディアにデータを永続的に保存および取得する方法を提供します)、オペレーティングシステムは、コンピューターで実行されているすべてのプログラムにこのサービスを提供します。
暗号化を処理するのはファイルシステムの基本的なジョブの説明ではありません。ネイティブの暗号化を提供するファイルシステムはいくつかありますが、通常、それを処理するのは他のレイヤーです。
ただし、ランサムウェアはそれを気にしません。ネイティブ暗号化を行わないファイルシステムがあり、暗号化レイヤーを提供する追加のソフトウェア(Truecrypt、Veracryptなど)を削除した場合でも、ランサムウェアコード自体はOSが提供するインターフェイスを使用しますファイルシステム上のファイルにアクセスして暗号化します。必要に応じて回復できるように、データを入念にバックアップすることを除いて、それから確実に保護するものはありません。
理想的には、暗号化されたデータは、ランダムデータと区別できないはずです。これは、暗号化されたデータが存在するかどうかを「隠す」ことではありません(これはステガノグラフィーです。詳しくは後で説明します)。攻撃者がデータ内のパターンを見つけられず、そのパターンが使用される可能性があります。それを解読するための鍵を理解する。
ランダムなデータは理論上、ビットのシーケンスを含む可能性があるため、これは目的のシステムに問題を引き起こします。ビットのランダムな文字列が、たとえばランダムなJPEGであることが判明するのは、必ずしも可能性が高いとは限りません しかし、それは発生しました 。これをステガノグラフィーと組み合わせると、データは他のデータ内に隠され(多くの場合、暗号化されたデータを他の暗号化されていないデータ内に隠すために使用されます)、状況はシナリオにとってより厳しく見えます。
このため、特定のデータが暗号化されているかどうか、または暗号化されている可能性のある別のデータが含まれているかどうかを確認する方法は実際にはありません。暗号化されたデータを絶対に含めることができないファイルシステムに最も近い可能性があるのは、まったくデータを含めることができないファイルシステムであり、そのようなファイルシステムの用途はほとんどありません。
他の人が言ったように、ファイルシステムレベルでの暗号化を防ぐことはできませんが、私がまだ言及していない、最も近い代替案は Mandatory Access Control です。
基本的に、追加の権限を設定して、インターネットにアクセスできるアプリケーションがディスクへのアクセスを非常に制限できるようにすることができます。たとえば、Webブラウザーを設定して、その設定、キャッシュ、ダウンロードディレクトリにのみ書き込むことができるように設定できます。そのプロセスがこれらのフォルダの外側に書き込む試みは、オペレーティングシステムによって拒否されます。
したがって、脆弱性が悪用された場合、ディスク全体が暗号化されるのではなく、ダウンロードディレクトリのみが暗号化されます。もちろん100%安全ではありません(何も安全ではありません)が、攻撃者が通常予期しない別のレイヤーです。
欠点は、セットアップするのが難しく、維持するのが不便であり、注目を浴びる攻撃が世間の目に留まると、しばらくして無意味になります。
ファイルにアクセスできないようにすることに関する懸念がある場合は、バージョン管理されたファイルシステム(VMSのように)を設定して、古いバージョンの削除が簡単にできないようにすることをお勧めします。
あなたの推論は、ランサムウェアに対して脆弱であるという懸念のためだと思います。そうでない場合、私の答えも「なぜ」になりますか?暗号化をサポートするすべてのファイルシステムには、暗号化を使用しないオプションがあります。したがって、ファイルアクセスを遅くするオーバーヘッドがなく、ディスクの破損がファイルシステム全体を読み取り不能にすることを心配する必要もありません。
ランサムウェアの種類がファイルシステムの暗号化機能を利用しているとは思いません。それらは独自に行うので、ファイルシステムレベルで暗号化を無効にしても役に立ちません。
ランサムウェアがファイルを暗号化できないようにするには、ファイルシステムを読み取り専用にするか、権限をいじる必要があります。データファイルを書き込み、変更、削除する機能を奪い、特にファイルを更新する場合にのみ、これらの権限を自分に与えることができます。あまり実現可能ではありません。私は最近、ロックボックスタイプのアプリで少し概念実証を行いました。これにより、フォルダーへのすべての変更権限が削除され、ユーザー、管理者などは読み取り専用になります。その後、ファイルを変更する機能を有効にすると、ロックが解除されますフォルダ。
ユーザーの観点からそれが実現可能であるとはまだ思えないので、私は実際にはそれ以上は進みませんでした。
ランサムウェアからの最良の保護は、ファイルを頻繁にバックアップすることです。 Windows 7/10には、「以前のバージョン」の機能があります。これは、ファイルの変更に伴ってファイルの履歴が保持されるためです。したがって、ファイルが1週間前に暗号化、削除などされても、今日まで気付かなかった場合でも、破損していないバージョンが見つかります。
Windows 7/10をリグして、データファイルが変更されたときにUACをトリガーするには、それらのファイルを「プログラムファイル」フォルダーの下に配置します。