任意アクセス制御による単一のサーバプロセスの権限分離モデルを考える

以前から、単一のサーバプロセスで複数のユーザの処理を担う場合に、プロセスやアクセス制御レベルで適切に各ユーザで権限分離するにはどういうモデルが考えられるのかを既存の手法を踏まえつつ思考実験していました。それらを今回は簡単にまとめてみようと思います。

まずは前提として、

  • 単一のサーバプロセスで複数のユーザを権限分離する
  • 任意アクセス制御(Discretionary Access Control:DAC)による権限分離を前提とする
  • 不特定多数のクライアントからサーバへのアクセスがある
  • クライアントはサーバに自身のユーザ権限で任意のプログラムを配置する事ができる
  • 設置プログラムを介してシステムを変更されないようにする
  • 他のクライアントのプログラムを変更できないようにする

であり、このような状況でプロセス(スレッド)やアクセス制御のレベルでいかに権限分離を行いセキュリティを担保できるかを考えてみました。この前提条件の意図は最後のまとめでも言及しますが、これを達成するためにはどういう権限分離のモデルが考えられるのでしょうか。ではいってみましょう。

この場合、性能を考慮した権限分離モデルとしては大きく以下の6つの方式に分けられるように思います。

続きを読む

Ruby東京プレゼンテーション2014でmrubyについてパネルディスカッションしてきました

先日、Ruby東京プレゼンテーション2014というイベントがあり、その中のテクニカルトークというパネルディスカッションで、mrubyとWebサーバのお話をしてきました。パネルディスカッションの登壇者は、Matzさん、トレタの増井さん、九工大の田中先生、Cloudius Systemsの浅田さん、みずほ情報総研の橋本さん、僕でした。

全体通して感想を書くと話が長くなってしまうので、自分のところだけ感想を書くとして、自分が担当した前半のプレゼンは「mrubyによるWebサーバ機能の拡張」、後半のプレゼンは「mrubyとこれからのWebサーバ技術」についてです。簡単に感想を書いておきます。

続きを読む

自分の研究・開発業績ページをWikiからGitHub Pagesに移行した

研究者にとって、自身の研究業績をWebページで公開する事は非常に重要だと思います。そういった内容のやり取りもtwitterで見かけますが、その賛否はおいておいて、今回はWikiで書いていた研究業績ページをGitHub Pageに移行しました。

やったことは非常に簡単で、GitHub上にmatsumotoryというレポジトリを作成し、そのレポジトリにREADME.mdを作成、その中にMarkdownで業績を記述して、それをそのままSettingsからGitHub Pagesにしただけです。

続きを読む

mrubyでSPDYやHTTP2通信

年末にSPDYやHTTP2の勉強がてら、mrubyでSPDYやHTTP2通信可能なmrbgemを作りました。

これで、mrubyを組み込んだアプリケーションやデバイスからSPDY・HTTP2通信ができるようになって未来が広がりますね。

現状はクライアントのGETのみができます。これで、例えばmod_mrubyやngx_mrubyに組み込んで、あるURLにアクセスした場合はバックエンドでSPDYやHTTP2な通信をすることもできますね。

続きを読む