Hussa
Download
1 / 16

Hussa: ??????????????????????? ?????????????????????? - PowerPoint PPT Presentation


  • 103 Views
  • Updated On :

Hussa: スケーラブルかつセキュアなサーバアーキテクチャ ~低コストなサーバプロセス実行権限変更機構~. 電気通信大学 情報工学科 原 大輔 中山 泰一. アジェンダ. 背景 個人でウェブサイトを公開するユーザの増加 ウェブサーバ共有の危険性 実行権限に関する既存技術 POSIX ACL, セキュア OS, コンテナ /VM, Harache/Hi-sap 設計 実行権限変更 ユーザスクリプトによる実行権限変更制限 基礎性能評価実験 まとめ. 背景. 個人でウェブサイトを公開するユーザの増加 Weblog サービス 手軽、無料

Related searches for Hussa: ??????????????????????? ??????????????????????

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Hussa: ??????????????????????? ??????????????????????' - reina


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Hussa l.jpg

Hussa: スケーラブルかつセキュアなサーバアーキテクチャ~低コストなサーバプロセス実行権限変更機構~

電気通信大学 情報工学科

原大輔中山泰一

FIT2009@仙台


Slide2 l.jpg
アジェンダ

  • 背景

    • 個人でウェブサイトを公開するユーザの増加

    • ウェブサーバ共有の危険性

  • 実行権限に関する既存技術

    • POSIX ACL, セキュアOS, コンテナ/VM, Harache/Hi-sap

  • 設計

    • 実行権限変更

    • ユーザスクリプトによる実行権限変更制限

  • 基礎性能評価実験

  • まとめ


Slide3 l.jpg
背景

  • 個人でウェブサイトを公開するユーザの増加

    • Weblogサービス

      • 手軽、無料

      • 例:Blogger, はてなダイアリー、ココログ

    • ホスティングサービス

      • 自由度が高い/好みのツールをインストール、有料(月額数百円~)

      • サービス例:XREA, さくらインターネット、OCN

      • ツール例:

        • Weblog: Movable Type, WordPress, tDiary

        • Wiki: PukiWiki, Hiki, MediaWiki, MoinMoin

        • CMS: XOOPS, Plone, Zope, 島根県CMS


Slide4 l.jpg
ホスティングサービス

  • 専有型と共有型

ウェブサーバプログラム

サイト

・・・

計算機

基礎

基礎

基礎

  • 個人の利用に適している

  • 本研究のターゲット


Slide5 l.jpg
ウェブサーバ共用の弊害(1/2)

  • ウェブサーバプログラムのプロセス構成(例:Apache)

    • 親プロセス(1個):80番ポートのバインド等⇒ root権限で動作

    • サーバプロセス(複数個):リクエスト処理⇒ 専用の一般ユーザ(専用ユーザ)の権限で動作(例:apache, www-data, www等)

  • 各サイトのコンテンツファイルのパーミッション

    • 専用ユーザがアクセス可能である必要有⇒ UNIXのパーミッションモデル”owner/group/other”のotherにread/write/executeパーミッションを付与


Slide6 l.jpg

(1) HTTPリクエスト受信

ウェブサーバ共用の弊害(2/2)

  • 計算機を共用する他のユーザからファイルを盗視・改竄される危険性有

  • (0) ファイルパーミッション

  • rw-/---/r--(静的コンテンツ(例:HTML、画像))

  • rw-/---/rw-(ログ、wikiのデータファイル等)

  • rwx/---/r-x(CGIスクリプト)

ウェブサーバ

ウェブブラウザ

www

A

www

www

Malicioususer

B

(3) レスポンス送信

www

C

(2) リクエスト処理

www: 実行権限

HTTP

ユーザアカウント

コンテンツファイル

サーバプロセス

コマンドラインツール


1 4 posix acl l.jpg
実行権限に関する既存技術(1/4)~POSIX ACL~

  • ユーザ単位でのアクセス制御を提供

    • UNIXのパーミッションモデルを拡張

  • コマンド攻撃(cp, rm, etc.) ⇒ 盗視・改竄を防止

    • コンテンツファイルのread/write権限を専用ユーザに付与

  • スクリプト攻撃(CGI) ⇒ 盗視・改竄を防止

    • suEXECを併用し、CGIをサイト毎に異なるユーザ権限(≠専用ユーザ)で実行

  • 問題点:低性能(動的コンテンツ)

    • suEXECはプロセス生成/プログラム実行を各2回必要

    • 動的コンテンツ高速配信手法である組込みインタプリタ(mod_ruby, etc.)利用⇒ 盗視・改竄を防止できない

www

fork(), execve()

setuid(),setgid()

root⇒A

fork(), execve()

A

To be terminated


2 4 os l.jpg
実行権限に関する既存技術(2/4)~セキュアOS~

  • 強制アクセス制御

    • 全てのユーザとプロセスに例外なくアクセス制御を実施

  • 最小特権

    • ユーザとプロセスに動作上必要最小限の権限を付与

  • root権限の制限が可能

    ⇔ 従来のUNIX系OSはroot権限によりOSの全ての操作が可能

    • サーバソフトウェアのセキュリティホールや設定誤り等によりroot権限が奪取された場合の被害を最小化

  • コマンド攻撃(cp, rm, etc.) ⇒ 盗視・改竄を防止

  • スクリプト攻撃(CGI, 組込みスクリプト)⇒ 盗視・改竄を防止できない


3 4 vm l.jpg
実行権限に関する既存技術(3/4)~コンテナ/VM~

  • コンテナ:OSレベルの仮想化技術

    • サーバソフトウェアを実行するコンテナを同一OS上で複数同時に動作⇒ サイト毎にコンテナを割り当てることで擬似的な専用サーバを構築可能

    • 問題点:仮想化のオーバヘッド・カーネル修正

      • OS当たりに収容可能なコンテナ数は数百程度に限定

  • 仮想計算機(VM)

    • 同一計算機上で複数のOSを同時に動作

    • 問題点:仮想化のオーバヘッド・カーネル修正


4 4 harache hi sap l.jpg
実行権限に関する既存技術(4/4)~Harache/Hi-sap~

root

  • 我々がこれまでに提案したシステム

  • Harache

    • suEXECのCGI実行性能を改善:最大1.7倍

      • プロセス生成/プログラム実行を各1回に削減

    • 問題点:組込みインタプリタの実行性能

      • HTTPセッション毎にサーバプロセス終了

  • Hi-sap

    • 組込みスクリプトの実行性能改善

      • Apacheと比較して、平均2.0%の低下

      • リバースプロキシ型の構成を取り、サーバプロセスを再利用

    • 問題点:遅延時間

      • Apacheと比較して、平均1.24倍

setuid(),setgid()

A

To be terminated

Dispatcher

forward

A

B

C

workers

Reusable


Slide11 l.jpg
設計~実行権限変更~

  • サーバのプロセスをroot権限で起動(=Harache)

  • リクエストされたサイトを所有するユーザの実行権限に遷移

    • seteuid(), setegid()システムコール(≠Harache)

  • リクエスト処理&ブラウザにレスポンス送信

  • root権限に遷移

    • seteuid(), setegid()システムコール

  • ファイルパーミッションをownerのみに付与した状態でのサービス提供が可能(=Harache/Hi-sap)⇒ セキュリティ確保

  • seteuid(), setegid()システムコール利用(≠Harache)⇒ 性能・遅延面で有利


Slide12 l.jpg
設計~ユーザスクリプトによる実行権限変更制限~

  • CGI/組込みスクリプト

    • setuid(), setgid()系のシステムコールを実行可能⇒ 悪意のあるユーザにroot権限を奪取される危険性有

  • 解決策

    • スクリプトが実行するsetuid(), setgid() 系のシステムコールをフックして無効化⇒ setuid(), setgid()系のシステムコール実行を 本システムのみに制限


Slide13 l.jpg
基礎性能評価実験~条件~

  • 環境

  • 対象システム

    • 本システム

      Apache HTTP Server 2.2.10のモジュールとして実装

    • Apache HTTP Server 2.2.10

  • 対象コンテンツ

    • phpinfo()関数を呼び出すPHPスクリプト(データ転送量:約40KB/req)

      • サーバ計算機にインストールされているPHP処理系の各種情報を出力

  • ベンチマークツール

    • httperfベンチマーク0.9.0


Slide14 l.jpg
基礎性能評価実験~結果~

  • Apacheと比較して平均0.5%、最大4.7%の性能低下⇒ 非常に小さなオーバヘッドであり、実用に耐え得る


Slide15 l.jpg
まとめ

  • UNIX系OSの実行権限に関する問題点を明確化

  • 問題を解決するための実行権限変更機構を提案

  • 基礎性能評価の結果、実用に耐え得る性能を達成

  • 今後の課題

    • セキュアOSの適用(JSSST第26回大会にて発表予定)

    • 実アプリケーションを用いた性能評価

    • 他のサーバプログラムへの適用の検討



ad