コンピュータへの物理的なアクセスを取得した人が、[Grub / Bashを使用して]ルートを取得する方法はどのように安全ですか?
Linuxがそれを始めようと決めた場合、ハッカーは他のセキュリティホールを悪用するだけだからです。セキュリティの最初のルールは、あなたのシステムに物理的にアクセスできる場合、ゲームオーバーです。勝った。
さらに、Xサーバーが壊れ、GUIがもうないことを想像してください。回復コンソールを起動して問題を修正する必要がありますが、それは安全ではないためできません。この場合、システムは完全に壊れた状態になりますが、少なくとも「安全」です。
しかし、カズ、これはどのように可能ですか?Grubにパスワードを設定して、init
Bashに変更できないようにします!
ああ、そうでしたか?興味深いのは、これがあなたの写真アルバムのように見えるからです。GRUBには固有のセキュリティ要素がまったくありません。これは単なるブートローダーであり、安全なブートおよび認証チェーンのステップではありません。実際に設定した「パスワード」は、簡単にバイパスできます。
それと、緊急時にシステム管理者が起動ドライブを持たないものは何ですか?
しかし、どのように!?あなたは私のパスワードを知りません(これは完全P@ssw0rd
にではありません)
ええ、しかし、それは私があなたのコンピューターを開いてあなたのハードドライブを引き出すことを止めるものではありません。そこから、ドライブをコンピューターにマウントするための簡単な2つの手順で、すべてのシステムにアクセスできます。これには、BIOSパスワードをバイパスするというすばらしい利点もあります。それ、またはあなたのCMOSをリセットすることもできます。どちらかまたは両方。
だから...どうしてあなたが私のデータにアクセスできないようにするのですか?
シンプル。コンピュータを私から遠ざけてください。触ったり、キーボードにアクセスしたり、自分のフラッシュドライブを挿入したり、分解したりできれば、勝つことができます。
だから、私は自分のコンピューターをデータセンターなどに置くのが好きですか?これらはかなり安全ですよね?
ええ、そうです。しかし、人間もハッキング可能であることを忘れており、十分な時間と準備があれば、おそらくそのデータセンターに入り、コンピューターからすべての甘い、甘いデータを吸い上げることができます。しかし、私は脱線します。ここでは実際のソリューションを扱っています。
さて、あなたは私のブラフに電話しました。データセンターに置くことはできません。ホームフォルダーなどを暗号化することはできますか?
もちろんできます!それはあなたのコンピューターです!それは私を止めるのに役立ちますか?わずかではありません。/usr/bin/firefox
自分の悪意のあるプログラムなど、重要なものを置き換えることができます。次回Firefoxを開くと、すべてのシークレットデータがシークレットサーバーのどこかにシークレットされます。そして、あなたも知りません。または、マシンに頻繁にアクセスできる場合は、ホームフォルダーをコピー先/usr/share/nonsecrets/home/
または同様の(暗号化されていない)場所にセットアップするだけです。
さて、フルディスク暗号化はどうですか?
それは...実際にはかなり良いです。しかし、まだ完璧ではありません!信頼できる圧縮空気の缶を使用して、コールドブート攻撃をいつでも実行できます。または、ハードウェアキーロガーをコンピューターに接続するだけです。一方は明らかに他方よりも簡単ですが、方法は実際には重要ではありません。
で、広大な大多数の場合、これは良い停止場所です。たぶんそれをTPMと組み合わせて(以下で説明します)、あなたは黄金色です。3文字のエージェンシーまたは非常に意欲的なハッカーを怒らせていない限り、この段階を過ぎて必要な努力をする人はいません。
もちろん、PPAなどを提供することで、マルウェア/バックドアをインストールすることもできますが、これは非常に曖昧なユーザー信頼の領域に入ります。
だから...どのようにiPhoneはとても安全ですか?物理的にアクセスしても、できることはあまりありません。
はい、そうです。つまり、やる気があれば、フラッシュチップを読んで必要なものをすべて手に入れることができます。ただし、iPhoneは完全にロックダウンされたプラットフォームであるため、根本的に異なります。しかし、同時に、ユーザビリティと壊滅的な障害から回復する機能を本当に犠牲にします。GRUB(特に特別に設計された場合を除く)は、セキュリティシステムのチェーンになることを意図したものではありません。実際、ほとんどのLinuxシステムでは、ブート後に起動するセキュリティチェーンがあるため、GRUBが処理を完了した後です。
さらに、iPhoneには暗号化署名が適用されており(これについても以下で説明します)、正当な経路を介してマルウェアが電話に忍び込むことは非常に困難です。
しかし、TPM / SmartCards / [ここに暗号技術を挿入]はどうでしょうか?
さて、今あなたは物理的セキュリティを方程式にペアリングしていますが、それはさらに複雑になります。しかし、TPMは比較的脆弱であり、すべての暗号化がオンチップで行われるわけではないため、これは実際には解決策ではありません。TPMがチップ自体で暗号化を行う(何らかの方法で)十分に強力な場合(非常に派手なハードドライブにはこのようなものがあります)、キーが公開されず、コールドブート攻撃のようなものは不可能です。ただし、システムバスにはキー(または生データ)がまだ存在している可能性があります。これは、キーを傍受できることを意味します。
それでも、私のハードウェアキーロガーはパスワードを取得でき、前述のFirefoxの悪用方法でマルウェアをマシンに簡単にロードできます。私が必要とするのは、あなたがあなたの家/コンピューターをたぶん1時間離れることです。
さて、TPM /スマートカード/何でもお持ちで、すべての暗号化がチップ上で実際に行われている場合(キーがRAMにまったく保存されていないことを意味します)、私はほとんど実際に不可能ですすべて、あなた(ユーザー)が滑って何かを忘れない限り。つまり、システムバスから(暗号化されていない)キーを読み取る方法を見つけない限りです。
しかし、すべてのプログラムが合法であることを確認するために、何らかの形式の暗号化/デジタル署名の強制がある場合はどうなりますか?
さまざまなスマートフォン企業で実証されているように、これはセキュリティに対処する非常に良い方法です。これで、悪意のあることを行うためにマシンにコードを挿入する私の能力が無効になりました。これはプラスです。事実上、マシンへの永続的なアクセスをリモートで保持する私の機能を無効にしました。これは大きなプラスです。
ただし、これはまだ完璧な方法ではありません!デジタル署名の実施により、ハードウェアキーロガーが停止することはありません。また、完全にバグがない必要があります。つまり、自分の証明書をマシンの証明書ストアにロードできるエクスプロイトを見つける方法はありません。さらに、これは、システム上のすべての実行可能ファイルに署名する必要があることを意味します。手動ですべてを実行する場合を除き、すべてにデジタル署名があるAptパッケージなどを見つけるのは非常に困難です。同様に、これは署名されていない実行可能ファイル、つまりリカバリの正当な使用をブロックします。重要な何かを壊し、それを修正する(署名された)実行可能ファイルがない場合はどうなりますか?さて、あなたのシステムに行きます。
いずれにせよ、Linuxでこれを行うための努力は基本的にすべて放棄されており、新しいカーネルでは機能しなくなっているため、独自のカーネルを作成する必要があります。
だから、あなたを私のコンピューターから締め出すことは不可能ですか?
事実上、はい、ごめんなさい。物理的なアクセスと十分な動機があれば、システムに入ることは常に可能です。例外なく。
しかし、実際には、ほとんどの邪悪な人々は、いくつかの猫の写真のためだけにここまで行こうとはしません。通常、フルディスク暗号化(またはLinuxを実行しているだけです!)で、ほとんどのスクリプトキディが2秒の名声を得ることを阻止するのに十分です。
TL; DR:コンピューターの近くで信頼していない人に聞かせないでください。通常はこれで十分です。