lsm

プログラムがHOMEディレクトリに書き込まないようにするには、SMACKを使用してください。
lsm

プログラムがHOMEディレクトリに書き込まないようにするには、SMACKを使用してください。

起動するたびに、HOMEディレクトリに空のフォルダを作成するバイナリプログラムがあります。気にしないで使いたいスマーカーこれを防ぐメカニズムです。私の考えは、タグを使用してHOMEディレクトリを表示しHOME、タグを使用してプログラムプロセスを表示NoWriteHomeしてから3つのSMACKルールを作成することです。 $ sudo setfattr -n security.SMACK64 -v 'HOME' "/home/${USER}" $ sudo setfattr -n security.SMACK64EXEC -v 'NoWr...

Admin

Linuxカーネルソースツリーにstruct lsm_idが存在しない理由
lsm

Linuxカーネルソースツリーにstruct lsm_idが存在しない理由

私はLSMを書いており、カーネル6.2.0-20-genericを使ってコンパイルしています。 /lib/modules/6.2.0-20-generic/buildにあるファイルを参照すると、lsm_idという構造があることがわかります。ところで、最近のGithubでLinuxソースツリーを調べてみると、このような構造は見えません。別のバージョンをダウンロードしようとしましたが、どのLinuxカーネルソースコードにもこの構造が見つかりませんでした。 今年のパッチがリリースされたことがわかりますが、なぜソースツリーにそのパッチが表示されないのか、そのパッチが...

Admin

/proc ファイルへのファイルコンテキストの設定
lsm

/proc ファイルへのファイルコンテキストの設定

/procSELinuxを使用してファイルへのアクセスを最大限に制限したいと思います。内部ディレクトリをchconしようとすると/proc失敗します。 $ chcon -t staff_proc_t /proc/acpi chcon: failed to change context of '/proc/acpi' to ‘system_u:object_r:staff_proc_t’: Operation not supported 明らかに/proc、ファイルシステムはコンテキストを直接変更することはできません。/proc項目にSELinuxコンテキス...

Admin

システムコールを傍受し、そのパラメータを変更します。
lsm

システムコールを傍受し、そのパラメータを変更します。

私は、クロス、フィルタリング、パラメータの変更など、システムコールを可能な限りあらゆる方法で制御できるカーネルプログラムを作成することに興味があります。 私は2つの目標を探しています。 システムコールとそのパラメータを読み、ポリシーに従ってそれをブロックするかどうかを決定します。 パラメーターを変更してユーザーに渡す権限があります。 実際には(この寓話が本当かどうかはわかりません。)カーネルとそのシステムコールのビューを変更できるプロセスに対して単純な仮想化を実行したいと思います(たとえば、パブリック"/tmp/new_folder/foo.txt"シス...

Admin

Linuxセキュリティモジュール - SELinux/AppArmor
lsm

Linuxセキュリティモジュール - SELinux/AppArmor

誰かが私に理由を説明できますか?SELinuxはUbuntuで正式にクラックされました。しかし、AppArmorは素晴らしい作品? AppArmorはSELinuxと同様に、「Linuxセキュリティモジュール」フレームワークに基づいて構築されています。では、どちらもUbuntuでスムーズに実行してはいけませんか? 私は「Linuxセキュリティモジュール」フレームワークを誤って理解している可能性があります。 ありがとうございます! ...

Admin

Debian BusterでLinuxカーネルの特定の部分だけを再コンパイルする方法は?
lsm

Debian BusterでLinuxカーネルの特定の部分だけを再コンパイルする方法は?

私は現在、securityカーネルソースツリーのディレクトリに格納されているLinuxセキュリティモジュールを開発しています。次のコマンドを使用してカーネルをコンパイルしてインストールすると、モジュールがロードされ、すべてが正常に動作します。 fakeroot make -j9 -f debian/rules.gen binary-arch_amd64_none_amd64 apt remove linux-image-4.19.0-9-amd64-unsigned dpkg -i linux-image-4.19.0-9-amd64-unsigned_...

Admin

LSMフック - inodeフックとパスフックの違いは何ですか
lsm

LSMフック - inodeフックとパスフックの違いは何ですか

下には2セットのLSMフックがあります。inode操作用のセキュリティフック:inode_*とpath_*。それらの多くは同じように見えます。たとえば、inode_linkとpath_linkです。 inodeとパスフックの違いは何ですか?それぞれはいつ使うべきですか? ...

Admin

SELinuxとAppArmorの適用性
lsm

SELinuxとAppArmorの適用性

LSMの実装に関する入門書を読んでいるので、最終的AppArmorにはSELinux。 わかりましたこの議論しかし、これは2つのLSMの実装に関する質問を明確に説明しません。 これは本当ですか? SELinuxはシステム全体に適用する必要があります(したがって、auto-relabeling最初の起動プロセスはファイルシステムの検索と同じくらい時間がかかります)。 AppArmorは、必要なプロセス/スクリプトに対してのみポリシーを定義できる柔軟性を提供します。 - インタラクティブレビュープロセスを通じて) (?) ...

Admin

LinuxでAppArmorを有効にする
lsm

LinuxでAppArmorを有効にする

カーネル(linux-libre-xtreme)をコンパイルしました。この構成、ほとんどのLSM(YAMA、SMACK、AppArmor、TOMOYO、SELinux)を有効にします。ただし、OpenRCを使用して衣類サービスを開始すると、次の結果が表示されます。 # rc-service apparmor start * Stopping AppArmor ... * Unloading AppArmor profiles * Root privileges not available ...

Admin

MACですか、DACですか?
lsm

MACですか、DACですか?

LSM 属性/上限実装のユーティリティーや使用法を見るのに問題があります。 私は私の懸念と質問を表現するためにいくつかの類似コードをまとめました。 (p 3)の図に従ってモデル化されます。 https://www.kernel.org/doc/ols/2002/ols2002-pages-604-617.pdf カーネルアクセスチェック(おおよそ)とLSM呼び出し: DAC op:__? // ? what operation would pass a DAC check yet not the LSM hook ? file:___ perms:...

Admin

Selinux inodeセキュリティ構造の割り当て
lsm

Selinux inodeセキュリティ構造の割り当て

inode_security_structSelinuxの割り当てを理解しようとしています。 selinuxのソースコードを調べると、この構造には割り当てが1つしかありません。Hooks.cファイルの230行目。この割り当ては、inodeが作成されたときに呼び出されるLSMフックにあります。 私の質問は、Selinuxがselinux initの前に生成されたinodeをどのように割り当てるかです。 ありがとうございます。 ...

Admin

POSIX IPC APIにLSMフックがないのはなぜですか?
lsm

POSIX IPC APIにLSMフックがないのはなぜですか?

私が理解しているように、Linux Security Module(LSM)フレームワークには、セキュリティに敏感な作業の前に追加のセキュリティチェックを実行する機能を登録するセキュリティモジュールのコールバックフックがたくさんあります。 ほとんどの場合、これらのフックはfile。 私が理解していないことの1つは、System V IPC APIにはフックがありますが、そのPOSIX APIにはフックがない理由です。たとえば、「すべてのSystem V IPC操作に影響を与える」とsecurity_ipc_permission説明されているフックが1つあ...

Admin

ebpf:ユーザー空間からデータを送信して待ちます。
lsm

ebpf:ユーザー空間からデータを送信して待ちます。

私はebpfとbccを使ってebpf-lsmプログラムを書いています。接続されたUSBデバイスをブロックし、その情報をユーザースペースに送信したいと思います。デバイスがバインドされているかどうかに関係なく、ユーザーは私に情報を送信します。 どうすればいいですか? ebpfマッピングを使用すると、ユーザースペースからデータを受信できることがわかりますが、どのように待つことができますか?つまり、ユーザーが応答するまでebpfプログラムをどのようにブロックしますか? ご案内いただきありがとうございます! ...

Admin