問題タブ [linux-security-module]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
787 参照

security - セキュア ブートとカーネル ロックダウンの間に関係はありますか?

今までグーグルで調べた限りでは、2 つの機能は独立しているように見えます。

セキュア ブートはカーネル署名に依存しているため、有効な場合、ブートローダーは (カーネル/単一イメージ アプリケーション) 署名をチェックし、カーネル開始関数を呼び出します。

ロックダウンは、「ロックダウン コードは、起動の早い段階でカーネルをロックダウンできるようにすることを目的としていますが、まだ機能していないほど早い段階ですkmalloc()。特権ユーザーでさえ、カーネル メモリに存在する機密データにアクセスできないようにします。」

ロックダウンは、カーネルが有効であると認証された後、ブート パラメーター/sysfs 制御を介して行われます。

私の理解は正しいですか?

そのため、セキュア ブートを無効にしても、ロックダウン機能は引き続き機能するはずです。

0 投票する
1 に答える
126 参照

linux-kernel - Dynamically loadable Linux security modules

I have seen many articles on LWN about allowing for dynamically loadable Linux security modules (LSM), but it is impossible to find concrete information on how it can be done. The LSM hooks (I don't know if this is the right term) aren't exported in the kernel anymore, but their addresses can be retrieved with kallsyms_lookup_name and then assigned to function declarations.

There are some mentions of LSM hooks not being unloadable, but is this true? What does it even mean? If a Linux loadable kernel module registers some hooks, is it unable to unregister them later? Why is this case? Is there a workaround or a way to force them to unload?

Do dynamically loadable LSMs have to be written differently than built-in LSMs? Or do both use the same conventions and interfaces?

0 投票する
0 に答える
163 参照

c - Linux カーネルの bprm_check_security から argv を取得します。ドキュメントは間違っていますか?

Linuxカーネルのドキュメントによると:

bprm_check_security: このフックは、バイナリ ハンドラの検索が開始される時点を仲介します。これにより、前の呼び出しbprm->cred->securityで設定された値に対するチェックが可能になります。リストと リストcreds_for_execはで確実に利用できます。このフックは、1 回の実行中に複数回呼び出すことができます。 構造が含まれています。argvenvpbprmexecvebprmlinux_binprm

ただし、argvenvp(たとえばbprm->mm->arg_start) の値は、実際にNULLはこの時点にあります。これは、これらの値が で設定され、フックのsetup_arg_pagesに呼び出されるためです。また、構造体はまだ古いプロセスを指しているため、これらのデータを取得するために使用することはできません。current

私の質問は次のとおりです。ドキュメントは正しくありませんか、それともこの時点で引数を確実に取得する別の方法はありますか?


補足:この投稿で既に非常によく似た質問がされていることは知っていますが、この投稿では から argv を取得する方法を尋ねているため、重複しているとはbprm_check_security思いません。 doc から来ています。また、この投稿には正解がありませんでした。