web-dev-qa-db-ja.com

自作とmacportのセキュリティ上の意味は何ですか?

macports

  • バイナリは/opt/local/bin/、つまりtesseractから使用できます

    bin$ which tesseract
    /opt/local/bin/tesseract
    
    bin$ ls /opt/local/bin/tesseract
    -rwxr-xr-x  1 root  admin  28120 15 Sep  2016 /opt/local/bin/tesseract  
    
    bin$ ls /opt/local/ | grep bin
    drwxr-xr-x  719 root  admin  24446  6 Aug 19:55 bin 
    
  • インストールにはSudoが必要

Sudo port install tesseract

自作

bin$ which packer
/usr/local/bin/packer   

bin$ ls /usr/local/bin/packer
lrwxr-xr-x  1 myuser  admin  33  7 Aug 14:28 /usr/local/bin/packer -> ../Cellar/packer/1.2.5/bin/packer

bin$ ls /usr/local | grep bin
drwxrwxr-x  41 myuser  admin  1394  7 Aug 14:28 bin
  • インストールにはSudoは必要ありません

brew install packer

他のソフトウェアをトリミングして、これは私の$ PATH順序です:

/opt/local/bin  #macports
/usr/local/bin  #homebrew
/usr/bin        #Apple binaries

/ usr/loca/bin権限。

https://Apple.stackexchange.com/a/26171 から、homebrewの前の/usr/local/binはroot書き込みのみで始まると信じています。

drwxr-xr-x  26 root  wheel  -                 884 Oct 17 03:36 bin

リスク?

これらの2つのアプローチに実際の違いはありますか? portまたはbrew自体がハッキングされた場合はどうなりますか?インストールするパッケージがハッキングされた場合はどうなりますか?

ハッキングされたもののインストールは正しく終了しないことに気付いたので、brew/portがOKで、インストールされたパッケージも破損していないと仮定します。システム?

/usr/local/binがワイドオープンであるかのように見え、そこにあるバイナリが実際にAppleプログラムの代わりになることができます。心配する必要がありますか?

私があなたの質問を正しく理解しているなら、それは要約すると:

Homebrewは、/usr/local/binの権限をデフォルトのdrwxr-xr-x root wheelから安全性の低いdrwxrwxr-x myuser adminに変更します。リスクは何ですか?

ご指摘のとおり、ユーザー(またはadminグループのユーザー、または管理者として実行するように管理されているウイルス)は、デフォルトのシステムの上書きなどのソフトウェアをインストールできるようになりました。

これはどれほど大きな問題ですか?

マルチユーザーシステム

他のユーザーがログインしているサーバーのようなマルチユーザーシステムでは、これは大きな問題になります。 Macにアクセスできませんが、私のLinuxボックスは十分に似ていると思います。 /usr/local/binは空です(置き換えるものはありません)。

$ echo $PATH
/usr/local/bin:/usr/bin:/home/mike/bin:/usr/local/sbin:/usr/sbin

したがって、他のユーザーが私と同じbash構成を持っていると想定すると、最初に/usr/local/binを探します。したがって、lsという悪質なプログラムを/usr/local/binに配置すると、次回誰かがファイルシステムをナビゲートしようとしたときに、私のコードがユーザーアカウント内で実行されます。悪質な可能性は無限大です。

したがって、これはマルチユーザーサーバーの問題であることに同意します。

シングルユーザーパソコン

すべての意図と目的のために、ラップトップには1人のユーザーしかいません。 xkcdはこれを非常によく示しています

xkcd authorization comic

攻撃者/マルウェア/などがすでにあなたのアカウントに侵入している場合、彼らはあなたのすべてのデータを持っています、あなたがSudoパスワードを入力するキーログを記録するまで時間の問題なので、彼らがさらにインストールするかどうか本当に気にしますかマルウェアを/usr/local/binに入れるか、/home/myuserに入れてパスに追加しますか?最終結果は同じです。

5
Mike Ounsworth