grub2を介してどのようにLinuxマシンに侵入できるのですか?


52

コンピューターに物理的にアクセスした人が、これらの手順で何らかの方法でルートを取得する能力はどのように安全ですか?

  1. grub2メニューが開いたら e 、Linuxの起動オプションを編集するために押す
  2. 変化する:

    "linux   /vmlinuz-2.6.35-23-generic root=UUID=e7f1e48d-0015-485f-be7d-836217a31312 ro   quiet splash" 
    

    に:

    "linux   /vmlinuz-2.6.35-23-generic root=UUID=e7f1e48d-0015-485f-be7d-836217a31312 ro init=/bin/bash"
    
  3. これで、rootアクセスができます:

    mount -o remount,rw /
    passwd user
    mount -o remount,ro / 
    sync
    
  4. コンピューターを再起動すると勝ちます。

私の質問は、grub2を介してどのようにLinuxマシンに侵入できるかということです。Linuxについてのその事実は理解できませんが、ご回答いただきありがとうございます。


51
誰が物理的アクセスを不可能にする必要があると言ったのですか?誰かが物理的にアクセスできる場合-ALL-ベットは-OFF-です。マシンの所有者は、常に隣にいるときにマシンにアクセスできる必要があります。それ以外の場合は、回復する方法なしでブロックすることが可能です。
リンツウィンド

7
これについて文句を言うこともできますが、システムにライブDVD / USBを挿入するのはどうでしょうか。または、ディスクを取り出し、別のマシンに入れてddディスクを実行しますか?そして「Linux」?
GRUB

10
完全に固定されるように、あなたが必要とするこのソリューションを
アンワル

5
ああ、仲間なし!@Clutchyは私たちの秘密を発見しました。私たちは皆、シアン化物カプセルを今すぐ服用しなければなりません。
ポールザグ

3
@paulzagわかりました、サーバールームの自己破壊メカニズムをトリガーします。RMSに栄光を!
カズウルフ

回答:


108

コンピュータへの物理的なアクセスを取得した人が、[Grub / Bashを使用して]ルートを取得する方法はどのように安全ですか?

Linuxがそれを始めようと決めた場合、ハッカーは他のセキュリティホールを悪用するだけだからです。セキュリティの最初のルールは、あなたのシステムに物理的にアクセスできる場合、ゲームオーバーです。勝った。

さらに、Xサーバーが壊れ、GUIがもうないことを想像してください。回復コンソールを起動して問題を修正する必要がありますが、それは安全ではないためできません。この場合、システムは完全に壊れた状態になりますが、少なくとも「安全」です。

しかし、カズ、これはどのように可能ですか?Grubにパスワードを設定して、initBashに変更できないようにします!

ああ、そうでしたか?興味深いのは、これがあなたの写真アルバムのように見えるからです。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:コンピューターの近くで信頼していない人に聞かせないでください。通常はこれで十分です。


または、ホームパーティションを暗号化します。
user13161

5
@ user13161これにより、悪意のあるエンティティは、/bin/bash暗号化されていないホームフォルダーで悪いことをする独自の邪悪なスクリプトに置き換えることができます。
カズウォルフ

GRUBでは、LUKS暗号化ブートパーティションを使用できます。このシナリオでは、ブートするためのパスワードをバイパスすることはできません。wiki.archlinux.org/index.php/Dm-crypt/…を参照してください。
v7d8dpo4

@ v7d8dpo4:暗号化/bootは実際には役に立たないです。ブートパスワードを追加しますが、/実際に何か便利なことをするには暗号化を解除する必要があります。そのため、少しの利益のために余分なオーバーヘッドを追加するだけです。さらに、保護されている場合のみ 、自分のGrubディスクを使用して暗号化されたブートをバイパスできます/boot。または、通常のようにドライブを読み取ることができます。
カズウルフ

2
iPhone(6以降、私は思う)は完全な「ディスク」暗号化を持っているだけでなく、それはPINコード/生体認証ログインにリンクされています。したがって、コンピュータが介入なしに起動することを拒否する場合は、そのディスク暗号化をハードウェアトークン/パスワード/ TPMモジュールに関連付けることもできます。それは非常に多くの作業です。
pjc50

17

拘束する場合は、パスワードを使用します。リンクから:

GRUB 2パスワード保護に関する注意

Grub 2は、次のパスワード要件を確立できます。

  • すべてのメニュー
  • 特定のメニュー
  • 特定のユーザーの場合:たとえば、ユーザー「Jane」はUbuntuにアクセスできますが、スーパーユーザーの「John」のみがアクセスできるWindows復旧モードにはアクセスできません。
  • 管理者は、GRUB 2システムファイルを編集して、パスワード保護を手動で有効にする必要があります。

  • ユーザーまたはパスワードは、/etc/grub.d/00_headerまたは別のGRUB 2スクリプトファイルで識別される必要があります。

  • すべてのメニュー項目の普遍的な保護が必要な場合を除き、特定のエントリを識別する必要があります。

    • 手動Grubの2編集すること/etc/grub.d/などのスクリプトを10_linuxし、30_os-prober
    • ユーザーが作成したカスタム構成ファイルを編集して手動で。

    • 上記のいずれの方法でも、GRUB 2はupdate-grubが実行されるたびにパスワード要件を構成ファイル(grub.cfg)に自動的に追加できます。

    • 手動で編集し/boot/grub/grub.cfgます。このファイルの編集update-grubは、実行時に削除され、パスワード保護が失われます。

  • GRUB 2パスワード保護のいずれかの形式が有効になっている場合、GRUB 2コマンドラインおよびメニュー編集モードにアクセスするには、スーパーユーザーの名前とパスワードが必要です。

  • ユーザー名やパスワードは、Ubuntuログオン名/パスワードと同じである必要はありません。
  • GRUB 2のパスワード暗号化機能を使用しない限り、パスワードはプレーンテキストとして読み取り可能なファイルに保存されます。この機能の使用に関するガイダンスについては、パスワード暗号化のセクションを参照してください。

この場合、デフォルトでは(!)ユーザビリティはセキュリティより優先されます。周囲の人を信頼できない場合は、常にマシンを持ち歩きます。より多くのセキュリティを必要とする人々は、システム全体を暗号化する傾向があり、パスワードの必要性を必須にします。


正直に言って、これらのパスワードは物理アクセスで簡単にバイパスできます。彼らはシステムを初心者から保護しますが、いくつかの基本的なスキル(Googleを使用すれば十分かもしれません)や物理的アクセスを持つ攻撃者からは保護しません。
バイトコマンダー

3

あなたの意図的なハックはこれから始まります:

  1. grub2メニューが開いたら、「e」を押してLinux起動オプションを編集します

ただし、eここで説明されているように、オプションをパスワードで保護できます。ブートオプションを編集するときではなく、OSロードプロセスにGRUBパスワード保護を追加する方法

リンクで説明されているように、grubパスワードを暗号化する追加の手順を実行できます。実際、おそらく人口の3%(推測)が自宅でLinux / Ubuntuを使用しているため、システム管理者がe職場の実稼働システムの機能から保護することをお勧めします。Ubuntuが職場で使用されている場合、30〜40%が自宅でも使用し、そのうち10%がe自宅のシステムでの実行方法を学習していると思います。

あなたの質問のおかげで、彼らはさらに多くを学んだ。ただし、上記のリンクを使用すると、システム管理者のTo Doリストには、実稼働環境を保護するための別のタスクがあります。


1
正直に言って、これらのパスワードは物理アクセスで簡単にバイパスできます。彼らはシステムを初心者から保護しますが、いくつかの基本的なスキル(Googleを使用すれば十分かもしれません)や物理的アクセスを持つ攻撃者からは保護しません。
バイトコマンダー

@ByteCommanderそれはすべて物理的なアクセスに関するものです。BIOSは管理者パスワードで設定できるため、USBやDVDから起動することはできません。誰かがケースを開けて、マザーボードの2つのピンを短くすると、パスワードは空白にリセットされます(BIOSの起動順序を変更するのにパスワードは必要ありません)。
WinEunuuchs2Unix

0

GRUBを安全にするには、アクセスを保護する必要があります。これはハードディスクのパスワードで簡単に行えます。ここでは、ディスク自体のファームウェアに保存されるディスクセキュリティについて説明します。ディスクは読み書きできません。したがって、パスワードなしではgrubにアクセスできないだけでなく、データもアクセスできます。

パスワードはディスク自体に保存されているため、別のシステムにパスワードを移動してもハッカーの助けにはなりません。

製造元のディスクからパスワードを削除できるソフトウェアがありますが、ディスクを効果的に消去します。したがって、データはまだ安全です。


後期のコメントですが、これは簡単な方法で時々破られる可能性があることを指摘したいと思います。フォーマットをトリガーせずにHDDパスワードをクリアするための(文書化された)製造元コマンドがある場合があります。同様に、ハードドライブのプラッタを「借り」て自分のコントローラに入れることができるかもしれません。パスワードはプラッタ自体ではなく、コントローラのNVRAMに(通常)保存されます。
カズウルフ

@Kaz、あなたの言うことは絶対に正しいが、「これはときどき簡単な方法で打ち負かされる可能性がある」というフレーズの中で「ときどき」という言葉を強調しなければならない。あなたの言うこととは逆に、ハードドライブテクノロジーの改善が進むにつれて、ほぼすべてのメーカーがファームウェアとパスワードをプラッターに保存するようになったため、コントローラーカードを変更しても役に立ちません。データを消去せずにドライブのロックを解除するソフトウェアがありますが、古いドライブでのみ機能します。
スクービー2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.