SE-PostgreSQL VS Oracle Label Security

セキュアOS-4に参加してきました。ひじょ〜に簡単に内容を書いておきます。実際のお話はもっと深いのですが、ノートPC持っていってなくて全然メモれなかったんです。

これがワシの本気って訳やないんやで!そこんとこわかってや!頼むでほんま。

資料はその内公式なページでアップされるかと思われます。

間違いがあっても知りません。責任取りません。何も判りません。難しい事言うんだったらむしろ僕に教えてよ!

前段

アクセス制御の本質
  • 誰に対して
  • 何のリソースについて
  • どのような行為を許可するか

を制御する事。どんな堅牢なシステムであってもバグや脆弱性はあるため、出来る限り低レイヤで保護すべき。

アクセス制御を行う段階
何故このような話が問題に挙がるの?
  • 一旦認証されたデータ一式は、アプリケーションにその扱いを一任される事がほとんど。
  • 攻撃の90%はアプリサーバで、APサーバが落ちると実質全てのデータがクラックされたり。
  • DBAだったらどんなデータにでもアクセスできたり
  • 情報の神様なんて存在させません。皆一様に統一されたポリシーに従って、管理者であっても情報のアクセスは制限されるべきと言う考えが出てくる
アクセス制御の区分
  • 任意アクセス制御
  • 強制アクセス制御
    • ファイルの持ち主よりも下位のレイヤでアクセス制御を行う方式。SELinuxが一例。
    • MLS/MCS Multi Label Security/Multi Category Security
      • 機密度Xカテゴリでアクセスできるゾーンが決まる。
      • より上位の機密度を有していれば、下位の機密度のデータにアクセスできる。
      • 但しデータにはカテゴリがあり、そのカテゴリに対するアクセス権限が無いと駄目。
    • TE Type Enforcement
      • MLS/MCSより柔軟。SELinuxがこれ。
      • より細かいレベルでのアクセス制御を記述できる

SE-PostgreSQLの思想

  • OSにおけるシステムコール部分同様に、RDBMSにもアクセス制御がある。
  • それはSQLクエリ解析部分に当たる。
  • DBファイルは通常「OSの管理外」。最初にファイルのアクセス権限さえ認証されれば、その後の扱いはRDBMSに一任される。
  • でもそれじゃー、データベース管理者神じゃん!無敵じゃん!なんかむかつくじゃん!
  • そうだSELinuxに認証させよう。つまり、DBのデータアクセス制御に対して、SELinuxのポリシーを適用させる。DBAだったとしても、SELinux上で許可されていないデータへのアクセスは出来ない。

Oracle Label Security (OLS)

  • 前身は Trusted Oracle
  • Trusted Solarisと併せて、当時は「OSとDBで組んでMLSMLS♪な感じで出張ってた。」
  • でも何か無くなった。TCSECへの対応で認証基準が4つとか強制アクセス制御がB1とか難しい事を仰っていましたが僕には関係ありません。
  • Oracle Label Securityは9iから。実はOLSは単体ではDBAの透過性を打破できない。DBAまで管理下に置こうとするとDatabase Vaultが必要。
  • OLSはVPDと言うOracle EEの基本的なアーキテクチャの上で動作するLBAC→もう単語が多過ぎて僕にはついていけません
  • VPDはFGAC+なんたらとか言うてたが聞き逃した。もう無理。
  • 簡単に言うとOLSはVPDにラベルによる制御を付加した物
    • LABELはレコード毎に列として記録される
    • LABELは レベル、区分、グループ
      • レベル:重要。設定必須。機密度に当たる。
      • 区分:オプション。MLS/MCSのカテゴリに当たる。営業部とかコンサルとか財務部とか言う区分。男とか女とかでもOK
      • グループ:オプション。ロケーション情報。Worldwideの下にJapan、USがあってその下にtokyo、osakaがあって、みたいな階層構造。

今後のセキュリティ

ウェブサーバ、アプリケーションサーバ、DBサーバそれぞれがシステムコールと連携するようなセキュリティクラスが出てくる。であろう。

講演の中では、制約の扱いとか監査の扱い、Viewの脆弱性に関する話なんかもあったのだけれど、骨になる部分はアプリケーションによるACLシステムコールレベルでのACLに関する話題なので、そこだけ抜き出しました。

講演者の方、貴重なお話有難う御座いました。間違ってたら正して下さい。