CE Linux Forum 第28回テクニカルジャンボリー(Japan Technical Jamboree)に参加中

今日来ている、CE Linux Forumのやつ、熊猫さんが出られるそうだ
15名くらい参加しているが、ちょっとアウェイ感抜群!

セッション1

天野さんの東京のものを、ビデオ上映、天野さんとSkypeで繋いで、質疑応答

MiracleLinuxの天野さんのMoblin2レポート

前回のジャンボリーのビデオ上映
Moblin2がIntelが出したが、その内容
OSSで出したのでコミュニティの手に渡っているその報告

天野さん自己紹介

Moblinが日本では知られていないので紹介する

Moblinとは?

Moblin v1

  • GNOME Mobileをベースに考えられている
  • Kernel-2.6.24
    • Poulsbo(US15W)パッチが適用されていた
    • ベースになっていたのは、Ubuntu8.0

Moblin v2

  • 一つのディストリビューションとして動くように開発されている
  • ソフトウエアスタックを定義して開発していく予定
  • Kernel-2.6.29
    • FASTBOOTを有効にして提供している
    • 新しいバージョンを使っている

FASTBOOT

  • SSDオプティマイズされている
  • Boot Splashも不要
  • 6秒7秒程度まで早くなっている、目標としては、2秒(電源投入からじゃなくってBootLoaderからの時間)

その他

  • BugzillaやGIT、ML、IRC等もある

1年くらい続けて、去年くらいから一部しか盛り上がっていなかった、MLも1日数件だったが、ベータリリース後1日20件くらい流れるようになってきている(注目を浴びてきていると感じる)

Linux FoundationのBoFでMoblinが紹介

Moblinに関しては盛り上げるために人がたくさんいた
3日間で1日目と2日目にセッションがあった

  • 1日目:State of Union(Imad Sousou)
  • 2日目:大部屋で1日セッション、7つのセッション
    Intelのエンジニアがセッションを設けていた
  • レセプションパーティもあった
    Face2Faceで会えたのが一番であった、ビデオよりも実際会うことが重要だと感じた

librest/mojito

いわゆるTwitterなどのSNSGUIアプリケーションを統合しようとする昨日
FlickreやLast.FMTwitterなどからDBUSからアプリケーションに受け取っって連携できるもの

Connection Manager

  • Ubuntuにはネットワークマネージャがあるが、モバイルシステムに特化したネットワークマネージャ
    現状のネットワークマネージャの問題点や歴史がある
  • 現状の問題
    • カスタマイズや拡張が難しい
    • ネットワークマネージャ自体が機能しないバグがあったりする、ディストリビューションが調整したりしている
    • GNOMEKDEに偏った形で提供したくない
  • この中一から作ることになった
    • 簡単に言うと各有線LAN、無線LAN、PPPセッションの要素をプラグイン化しようとしている
    • ネットワークマネージャをデーモンとして動いているとメモリを食うので必要最低限のプラグインだけ使うようにして小メモリで使えるようにした
    • ネットワークマネージャのDNSゾル
      サスペンドしたWi-Fiで名前解決がうまくいかなかったり
    • Resolv.confではLocalhostだけでLocalDNSを持つ形

Clutter(OpenGLを簡単に使えるようにする仕組み)

  • GUIライブラリやWebサービス等と統合して実装できるようにしている
  • QTライブラリなども使えるようにライブラリを提供している
  • box2d(物理エンジン)物理的に転がしたりというエンジンがあるが、それもClutterから使えるようにしている
  • Cでも書けるが、PythonPerlC#でも使えるようBindingを提供している

Moblin SDK

  • 開発環境
    • KVM
    • VMware
    • FSイメージ(USBブートイメージ)等
  • ツール
    • Moblin Image Creater2(イメージを作るもの)
    • Linux Project Generator(AutoToolとか使われるが、簡単に作れるツール)
  • ドキュメントもある

将来的に・・・

  • Moblin v2現在ベータバージョンでNetBook向けのものを出している2009年Q3当たりに出る
  • Moblin v2のモバイル向けが出る?2010年Q1
  • 次のプラットフォーム向けにNetbookなんかに対応すると思われる

日本の状況

  • 日本ではゆるーく、日経Linux2008年09月号にMoblin 1.0ででている
    日経Linux 2009年7月号より連載予定
  • ITPRO LFCS現地レポートもあるので見てほしい

質疑応答

  • ローカライズは?
    • 本家では考えていない、日本で主導する
  • 省電力
    • V1からスタックとして挙がっていなかったが、PowerTOPや電源計測ツールもあるが、プロジェクトといっしょにやっていく
  • EeePCに入れたMoblin2がある

大阪質疑応答

  • ATOMを搭載しているとのことだが32Bitだけか?
    • Core2と同じ命令セットを使っている、64Bitが出たら対応する形になると思う、現状は32Bitのみ提供
  • Moblin v2から、DebianからRPMに変わったそうだが、詳細を教えてほしい
    • ちゃんとした変更した利用が帰ってきていない、彼らにとってはRPMの方が使いやすいと判断したみたいだ
  • 開発ツールの機種展開やアーキテクチャーを選べたり、機能的に使えたりとかのスケーラビリティが大事になるが、開発ツールに対するコンフィグへの自由度とかで工夫されているか?
    • イメージを作る段階でカスタマイズができるが、コンフィグについてはパッケージしなおして組み込んだりとか、ImageCreater2にLoopbackイメージが作れるので、Converterで起動イメージに変換する形で持っていくことができると思う
  • Loopbackイメージは、開発イメージではなくターゲットのイメージか?
  • 2009年10月でKernelSummitやJapan Linux Symposiumも同様のコラボレーションになるのか?
    • たぶんそうなる、私(天野)も参加したい、Moblinのみのイベントも計画しているみたい(深い部分で話ができると思う)

TOMOYO Linuxのメインラインマージおめでとうございます。

詳細は、ZDNetに経緯と記事がありますので読んでください

7月3日にTOMOYO ThankYouパーティ+勉強会を開催します!是非参加ください。

2バージョンある

特徴

  • パス名ベースのアクセス制御
    • ポリシーの記述内容が理解しやすい
  • 自動学習
    • システム起動から停止まで動かすだけでポリシーを解析して適用できる

導入メリット

  • 被害の局所化
  • 不正アクセスの検知
    • ポリシー違反の監視
  • 誤操作防止

・・・

組み込み機器とTOMOYO Linux

  • 自動学習
    • 初期設定が簡単、動作通りでポリシーが作れる
  • リンクの区別
  • ファイルシステム制限がない
    • 純粋なパス名ベースのアクセス制御が可能
  • 省メモリー
    • 4MBでも動作できた
  • Kernel-2.4でも動作
    • フル機能版のみ

TOMOYOで制御できること

・・・

使うまでの流れ

導入:インストール、ユーティリティも
学習:ポリシーを自動生成     ↑繰り返す
解析:ポリシーの確認を実施、修正 ↓
運用:TOMOYO Linuxの制御機能を有効にして運用を開始

TOMOYOのポリシー

デモ

  • TOMOYOの動き
    • tail /etc/passwdを学習
    • head /etc/passwdが動作しないことをデモ

メインラインマージ記念勉強会+懇親会

QandA

  • 学習を簡単にさせる方法はあるのか?
    • 今のところ良い案はないが、用途が決まっていれば、動作が決まってくる、製品試験の網羅のところで動作を決めて行くのがスタンダードだと思う
  • 一から手で打つのは大変
    • 必要なものはできないのでポリシーを自分で実行してやるしかない
  • POS向け設定一覧とかテンプレートとかインターフェースとかないのか?
    • いまのところない
  • テスト段階でポリシーを入れるのが良いのか、ポリシーを投入後にもテストが必要になると思うが、、、
    • 試験のやり方次第だが、普通のやり方ではそうなると思う。2度手間になるので、開発スタイルを変える必要があるので、アイデアを出してほしい
      ようやく使う人の事を考え始めたので、意見をいただきたい
  • 学習でハードが壊れかけたとかFailSafeとかの処理が漏れていたときに、大惨事になるとおもうが・・・どのような運用を想定しているか?
    • 2006年に商用システムで導入しているが、正副でのサーバを切り替えまでやったことがある
  • クラスタの切り替えをするだけで学習が働くと思うが・・・ハード壊れた系は学習ができないと思う
    • なにかが壊れた系は、ない
  • ポリシーは事前に配布できるのか?
    • ポリシーKnowHowがたまれば、配ることができる(半田)
    • ディストロ毎に動きが変わってくる、細かくするのはユーザがカスタマイズになる(原田)
  • ポリシーのKnowHowが配布できるということだが、ポリシーの受け口があればやるのか?
    • Wiki上にポリシーを教えてほしいと書いてある(半田)
  • バージョン管理サーバで精査してリリースとか考えているか?
    • 今のところ、特にシステムは考えていない、ポリシーはもらえるものならもらいたい

TOMOYO Linux on Android(Giuseppe La Tona)
イタリアからキタ━━━━━━( ゜∀゜)━━━━━━!!!!英語発表w

  • SecureOSグループでTOMOYO Linuxプロジェクトで働いている
  • TOMOYOLinuxでAndroidへのポーティングを研究している

Android

  • MobilePhoneとかFullStackで、アプリケーションフレームワークJavaを租泣いている
  • AndroidはKernel-2.6を使っているが修正されている

起動からのユーザモードまで

  • Kernel→Init→ BinderやMediaServerやDaemons、Zygote(Userアプリのボックス)

Dalvik and Zygote

  • Dalvik:VirtualMachine for mobile Device
  • Zygote:リソースやペイロードクラスをロードする
  • zygoteがプロセスをフォークする
Zygote→Dalvik→アプリ
システムサービスや、GUIやアプリを実行する

Androidのセキュリティモデル

  • 各々のアプリは自分のプロセスで動作する
  • 各々のプロセスがセキュアサンドボックスを備えている
  • アプリケーションがユニークなUIDを持っている
  • uid:100000から増えて行くIDを持っているApp_0 App_1なんかである
  • UIDでフォルダが分けられてUIDでしか使えない

TOMOYO LinuxAndroidへのポーティング

  • UIDでの制御では不十分なので、TOMOYOをポートした
  • Non-LSM(Version.1.6系)
  • Androidの実物がなかったのでエミュレータを使った
  • TOMOYO ToolsをEmbededシステムに適用する必要があった
  • リモートから接続できるようにする必要があった、Embededではそれが便利で簡単だった
  • 一部のコマンドしか必要なものがない、Cライブラリがないのですべてポートする必要無いと判断した
  • editpolicy-agent daemonを新しく作った
  • コンパイラが違うのでクロスコンパイラが必要だった(glibcななくて、Bionicだったので)
  • リンクが大変だった

AndroidのブートがTOMOYOによってどう変わったか

  • Kernelでポリシーローダを起動する
  • initでポリシーAgentを起動する
  • それ以降は同様

TOMOYOのPolicy

  • /data/cssに保存
  • Dataは読み書き可能だったりする、なので安全ではない
  • システムのものは、/system/cvssにおくことで読み込み専用とすることにした
  • アプリケーションのものは、/data/cssに分割した

UIDによってドメインが変わるので、問題が発生した

  • セキュリティドメインをシステムとアプリケーションを分けることで
  • /system/bin/app_processでわけた

ブラウザだと

  • ネットワークコネクションで、UIDが入ってくるので、それで制御
  • app_1=UID:100001になる
  • TOMOYOはコンディションで判断する、UIDでroot process(Zygote)をハイジャックすることで制御する
  • AndrondのDACはユーザIDやグループなどで管理する
  • TOMOYOはUIDが何でも制御できる
  • App_1=100002 とかをUIDのレンジでも制御可能

デモ

  • csspolicy-edit-Agentのポートに接続するとポリシーが確認可能
  • ネットワークコネクションで、UIDが入ってくるので、それで制御
    • Operaが接続できない
    • 標準ブラウザでは接続できる
  • psコマンドをネットワーク経由で止めたり、ローカルのターミナルから許可したりできる

システムへの影響

  • Kernel イメージサイズの変更点43キロバイト
  • KernelMemoryの84KB
  • ポリシ・・・

TOMOYOのシナリオ

  • MACAndroidで実装できる
  • ファンクションで制御可能

TOMOYOAndroidで動作

  • Androidの極小の修正だけですむ
  • これから
    • ベンチマークをしたり
    • コラボレーションをしたいので、フィードバック等いただけたらと思う

QandA

  • 開発者がポリシーごとに設定するのか?
    • ラージパーミッションを与えるが、Androidに導入されたら、開発者は自分たちでポリシーを作るだろうから、最大で掛けている
  • Androidの動きがわからないが、TOMOYO Linuxを入れて使うと、セキュリティなのか制限なのかわからなくなる
    • TOMOYOは、もともとStraceみたいな使い方ができる、アクセス解析SELinux用ポリシーを作ろうとしたが、うまくいかなかった
  • Androidを触った時にブラウザのページを開くときにこのアプリを呼びなさい(Intent)ってのがあるそうで、どんなアプリが起動されるかわからないが、どうやって制御するのか?
    • /dev/binderというデバイスファイルのIOがあるが、ソースコードをみたが複雑すぎてTOMOYOでおっかけるのは厳しいので、Intent文字列制御は難しいと思う、ただアプリを起動すればどんなアプリかわかるから問題ない

写真

会場

看板

配布物

会場