SELinux

組込みSELinuxがカーネル本体に入った

以前出した、read/writeパフォーマンス向上と、 avtabのメモリ消費節約が、カーネル本体にマージされた。すばらしい。 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3232c110b56bd01c5f0fdfd16b4d695f2e05b0a9 http://git.…

次回はSELinux Symposium開催されず

第四回SELinux Symposiumが開催されるかどうか、聞いている人がいた。 どうやら、第四回は開催されないようだ。 http://marc.info/?t=119205281800016&r=1&w=2表向きの理由は、 SELinuxネタは他のカンファレンスに出すべきだから 本当は、スポンサーなど大人…

refpolicyについて

こんなスレが立っているAre the reference policy abstractions the right ones? http://marc.info/?t=119194317700002&r=1&w=2Refpolicyについての問題点とその改善方法について議論している。 昔のポリシよりは体系だっているけど、 依然問題も多いのは確…

OSC終了

金曜土曜とOSCに出してきた。 今回は、来客対応というより、 他コミュニティとの交流がメインだった。 一つの部屋に全コミュニティ集合というのは、なかなかよい試みだったと思います。 タダで機会を提供してくださったOSC事務局様、ありがとうございました…

read/write再チェックの意義

OSCで、PANDAさんに色々教えてもらった。 SELinuxは、 ファイルopen -> read/write というときに、open, read,write両方の時にパーミッションチェックを行う。 TOMOYO Linuxとかはopen時にしかチェックを行わない。SELinuxのようにread/write時にもチェック…

OSC 2007 Fall Tokyo

金曜、土曜と、OSC2007 Fall/Tokyo のセキュアOSユーザ会(SELinuxユーザ会のエイリアス) のブースにいます。 私の担当は、組込みSELinuxです。 L-BoxというSH4が入っているデバイスにSELinuxを入れてます。 組込みでもSELinuxが使えるようになってきました。…

AVCミス時の高速化

KaiGaiさんのパッチがマージされた。 SELinuxのアクセスチェック時、 AVCをミスしたときは、直接ポリシの構造体を見に行くが、 その探索は遅い。 KaiGaiさんパッチは、 その速度を2.5倍ぐらい速くしている。スレ: http://marc.info/?t=119078657600002&r…

OSC 2007 Tokyo Fall

OSC2007 Tokyo Fallが来週開催されます。 http://www.ospn.jp/osc2007-fall/ SELinuxユーザ会のaliasである セキュアOSユーザ会名義で参加します。セキュアOSユーザ会ブースでは、 SE-PostgreSQL、LIDSやセキュアOS運用管理関係、 組込みSELinux、segatexと…

BusyBox SELinux対応を試す

SELinuxサポートが新しいBusyBoxに入ってる。 色々と組込み機器を見てみると、BusyBoxのバージョンが古いことが多い(0.xとかも多い)。こういう環境では、新版にアップグレードするのは怖いかもしれない。 # 今日もバグフィックスを送った(汗 古いBusyBoxを使…

SELinux新版

ライブラリ、コマンド群などのSELinuxユーザーランドの最新版が 久々に出た。 http://www.nsa.gov/selinux/news.cfm#R070925 以前やった、libselinux/libsepolの分離とかmake EMBEDDED=yも入った。 stableとdevelopementのバージョンに分かれているようだ。 …

libattr

すっかり忘れてた存在。 libattrは、xattrを扱うAPI。 libselinuxもこれに依存してる?

SELinuxパフォーマンスチューニング(6)

SELinuxのread/write高速化パッチが、↓のスレにてようやくマージ。 長かった。。。。 http://lkml.org/lkml/2007/9/13/373 Jamesのgitに入った。次は、mmに入れるのだろう。 以前のメモリ削減パッチも、mmに入っている。パッチ適用後のlmbenchの値は以下。 1…

SELinux Policy Editor 2.2.0(予告編)

SELinux Policy Editor(SEEdit, 種IT)の 開発がストップしている疑惑があるが、実はゆっくりと進んでいる。 こちら http://seedit.svn.sourceforge.net/svnroot/seedit/branches/2.2.0/ に2.2の、α版ともいえるものがアップされている。とはいえ、何が2.2…

SELinuxパフォーマンスチューニング(5)

read/writeの高速化 まだまだ続く。。 open->readと行く際、open時だけチェックして、 read時のチェックを省く(sidが変わってないならば)パッチを出してるが、 may_open -> security_dentry_openの間に、sidが変化したら 穴になるとStephenから直メールで言…

segatex

intrajpさんが作っているツール。 いつのまにか、バージョンアップしている。 http://sourceforge.net/project/showfiles.php?group_id=156582

コンパイラの最適化オプションとパフォーマンス

不思議な現象を発見。 だいぶ前、SHだとSELinuxのオーバーヘッドが大きいけど、手作業関数インライン化すると なぜか早くなったという話があった。 原因は不明だったけど、shlinux MLで、SH linuxの中の人に聞いてみた。 コンパイラが怪しいんじゃないといわ…

SE-PostgreSQL

SE-PostgreSQL 正式版がリリース http://kaigai.sblo.jp/article/5314965.html OSCでのSE-PostgreSQLセッション 10/6 12:30〜13:30 http://www.ospn.jp/osc2007-fall/modules/eventrsv/index.php?id=2&noform=1 開発者のKaiGaiさん大いに語る!

SELinuxのチューニング(4)

LSMにフックを加える方式で実装してみた。 コードがすっきりした。 正しいかどうかは、コミュニティ任せ(汗 Release early, release oftenっていうし(汗今度はLSMも直すので、lkmlにもccした。 http://lkml.org/lkml/2007/9/6/14__dentry_openに、security…

SELinuxの速度チューニング(3)

先日出したRFCにコメントがついた。 http://marc.info/?t=118880749800004&r=1&w=2実現方式について、 LSMに新しいフック入れればいいじゃんと言われた。 file->f_securityに、 ファイルオープン時のiノード番号のsidを格納したかったのだが、 既存のフック…

日経Linux連載「新SELinux入門」過去記事公開

参考にして下さい。 http://itpro.nikkeibp.co.jp/article/COLUMN/20070827/280414/?ST=oss Fedora Core 5ベースなので、ちょっと古いです。 Fedora 7では一部通用しない部分もあります(booleanで部分的に無効にする、という部分です)。 ただ、Cent OS 5, …

SELinuxの速度チューニング(2)

つづき。 Stephenに教えてもらったことを元に、 チューニングパッチを作り直してみた。 プロセス、ファイルの sid(ラベルの整数表現)が変更されるたびに++される変数を作って、 sidの変更を検知。 sidが変更されている場合のみ、read/writeのチェックを呼ぶ…

SELinuxの速度チューニング

昨日宣言した、「衝撃のデータ」話。NSAのMLに投げたネタ http://marc.info/?l=selinux&m=118845327521551&w=2色々とSELinuxのパフォーマンスを 測ってみたが、組込み向けアーキテクチャだと Pen4と比較してオーバーヘッドが大きいことに気付いてしまった。…

SELinuxのオーバーヘッド2

「SELinuxは、7%ほど、オーバーヘッドがある」 という風説が流れているが、出所はどこなんだろうと、 隣の人に聞いてみた。↓ではないか、とのこと。 http://docs.fedoraproject.org/selinux-faq-fc5/#id2965028 うーん。 「7%」って何を根拠に言っているの…

メモリサイズ削減パッチ承認

ついに、承認された!!! カーネルに手を加えて、認められたのは初体験。 これが、カーネル本体に入るには、どんな手続きを経るんだろ。 http://marc.info/?l=selinux&m=118822259001463&w=2お、Jamesのgitに入った。 どうやら、SELinuxのカーネルは、 Step…

SELinuxのオーバーヘッド

以下、適当な測定の結果なので、正確性に欠ける可能性があります。 むやみに引用しないほうがいいです。ちょっと測ってみると、Pentiumなマシンでは、 1byteのreadとか単にopenするだけのオーバーヘッドは10-20%ぐらい (SELinux無しと比べて)。 1byteじゃな…

IPA未踏ソフトウェア創造事業2006年下期 千葉PM採択プロジェクト 最終成果報告会

http://www.mitou-chiba.org/ KaiGaiさんの講演の前に、 SELinuxのチュートリアルを担当することになった。 準備しなきゃ。 開催日時:2007年9月7日(金) 9:30開場、10:00より18:00まで場所:東京工業大学大岡山地区西9号館1階デジタル多目的ホール ht…

SELinuxは重いのか?

avtab関連のベンチマークを取るついでに、 AVCのベンチマークも取っている。 AVCの効果 その中で分かったのは、AVC(Access Vector Cache)の効果。 SELinuxで、アクセス制御のチェックをするときは、 1) AVCを見に行く 2) AVCにないときは、security_compute_…

メモリ削減パッチ再提出

また提出しなおし。 ひたすらベンチマークとった。 http://marc.info/?l=selinux&m=118767082011094&w=2 さらにハッシュスロットへらして、300k超のメモリを節約した。ハッシュ関数変えたけど、ハッシュテーブルの利用状況は良くとも、 ハッシュ関数が遅く…

te_avtab探索パフォーマンス測定

昨日言われた宿題をやってみた。 te_avtabの探索速度をはかってみた。 測る場所は、 security_compute_av関数の速さ。 これをブート時から、10000回分測って平均取る。 カーネルモジュールはめんどくさいから、 そのままカーネルを強引に書き換え。 色々パラ…

必要メモリ量削減

「ダイエット」と書くと、変なトラックバックがつきまくる。。te_avtabの、ハッシュ関数を、デフォルトの適当なやつから、 jhashに差し替えてみた。 (include/linux/jhash.hで定義されている) ちょうどよく、3つの整数からハッシュを作る関数があった。 測…