web-dev-qa-db-ja.com

libsecretとは何ですか?なぜパスワードが漏洩するのですか?

Ubuntuデスクトップコンピューターで LaZagne を実行しました。これは、コンピューターをスキャンしてパスワードを見つけるpythonプログラムです。

14個のパスワードが見つかりましたが、そのうちのいくつかはまだアクティブです。私はそれらのほとんどを変更しました。オプション-vを指定してプログラムを実行すると、パスワードがどこにあるかを確認できます。

すべてのパスワードはLibsecretで見つかります。 libsecret のgnomewikiによると:

libsecretは、パスワードやその他のシークレットを保存および取得するためのライブラリです。 D-Busを使用して「シークレットサービス」と通信します。 gnome-keyringとksecretserviceは、どちらもシークレットサービスの実装です。

どうやら、これは正しく機能せず、パスワードを漏らします。

  1. このライブラリは何ですか?
  2. なぜ、どのようにパスワードが漏洩するのですか?
  3. パスワードを保護するにはどうすればよいですか?

一部のパスワードは、sshに使用される秘密鍵のものです。

1
chmike

libsecretは意図したとおりに機能しています-ユースケースと矛盾する意図である可能性があります。

「シークレットサービス」により、ユーザーはたとえばある意味で、ログオンしたユーザーにとっては簡単にアクセスできるであるが、他の誰かによってアクセスするのが非常に難しいというパスワード。

コンピュータが物理的に取得された場合(ログインしていないとき)、またはハードドライブがコピーされた場合、攻撃者はD-Bus経由でパスワードにアクセスできないため、パスワードにアクセスするために深刻な暗号化を破る必要があります。自分のマシン(別のユーザーの下)で実行されているWebサーバーがハッキングされた場合、攻撃者はログインが間違っているため、D-Bus経由でパスワードにアクセスできません。

ただし、自分のアカウントで実行しているプログラムが要求した場合、パスワードに簡単にアクセスできます。これが、Lazagneが簡単にそれらを取得できた理由です。

これにより、セキュリティと利便性の間の妥協が可能になります。これは、一般的なユーザーには受け入れられることが非常に多いですが、受け入れられない場合もあります。パスワードを保存する機能を使用しないか、libsecretと統合されていないソフトウェアを使用することで、キーリングや友達にパスワードを保存することを簡単に回避できます。

2
Eugen Rieck