第12回まっちゃ445勉強会に参加してきた

2010年5月29日に開催された第12回まっちゃ445勉強会に参加してきました。参加した感想とセッション内容のまとめを書きました。

なお、セッション内容のまとめについては、基本的には講師の表現をそのまま使用しています。一部意図を変えないように配慮した上で、異なる表現を使っている箇所もあります。あと各セッションの質疑応答については、参加者のみ得られる有益な情報だと考え、この日記では割愛します。セッション内容等に致命的な間違いがありましたら、ご指摘ください。

勉強会、懇親会に参加した感想

現役ペネトレーションテスター 辻さんの経験に基づく生の声を聞くことができて、とても興味深かったです。ペネトレーションテストに関する最低限の知識は持っているつもりですが、「どんな点に注意してペネトレすればよいか」とか、「実際にどんなトラブルを経験しやすいのか」等は経験してみなければ分かりません。辻さんのセッションを聞くことで、このあたりを少しは吸収できたかなーと感じます。また辻さんが講演されたためか、ペネトレ界隈の方々も参加されていたので、休憩中や懇親会等でお話できたのも楽しかった。セッションのみならず、色々な方々と話ができるのが勉強会の魅力なのかなと感じました。

totoro さんやOro さんのライトニングトークでは、知らなかった脆弱性や分野も聞くことができ、興味深かったです。特に Oro さんの LT の中心になっていた、Google Chromium OS については名前だけは知っていましたが、きちんとドキュメント等を読んだことがありませんでした。今回の勉強会で興味がでたので、ドキュメントを読んでみようと思います。

事務局の皆様、セッション講師の皆様、そして参加者の皆様、楽しい時間をありがとうございました!

最後に、改めてこの日記を書きながら、過去のまっちゃ445勉強会のテーマを見て気づいたのですが、まっちゃ445勉強会に参加したのは今回が初めてでした(汗)。参加していたと思っていたのは別の勉強会でした。。。失礼しましたm(__)m

Session1:『「願い」〜ペネトレーションテスターからセキュリティ担当者へ〜』

NTT データ・セキュリティ 辻さんによる、ペネトレーションテスト(penetration test)に関するセッションでした。

■0x01. ペネトレって?

  • penetration test
    • 貫通試験・侵入試験と呼ばれる
      • 2003 年、長野県の penetration test が「侵入試験」と呼ばれた事例(これかな?)
    • 「実際の攻撃手法を実践することで、テスト対象システムがどの程度のセキュリティレベルにあるかを評価するテスト」と定義する
      • × penetration test = 「外部から」サーバを診断する
      • (ネットワーク機器を含み)IP アドレスを持つ機器すべてがテスト対象とある
      • プリンタや空調制御装置も検査した実績がある

■0x02. どんなことをするの?

  • 次の 3 ステップを実践する
    • 1). 情報収集
      • 開放ポートを確認する
      • OS やアプリケーションのバージョンを確認する
      • 脆弱性が存在する可能性を確認する
    • 2). 攻撃手法の考察
      • 1). から得られたテスト対象に存在する(だろう)脆弱性の攻撃手法を考察する
    • 3). 攻撃
      • 2). で考察した攻撃手法を実践する

■0x03. 要であり穴であるもの

  • penetration test には脆弱性スキャナ*1を使用する
  • 脆弱性スキャナも得意・不得意がある
    • 設定内容や解釈などに特有の癖がある
      • 検査レポートにおける脆弱性の重み付け等
  • 脆弱性スキャナの検査では、誤検出と非検出がある
    • 誤検出(false positive):[嘘]
      • 脆弱性が「存在しない」が「存在する」という判定
      • 誤検出は報告される側にとって非常に厄介なもの
      • 脆弱性が存在しないので)修正しようがないものを修正しろと言われたら・・・
    • 非検出(false negative):[沈黙]
      • 脆弱性が「存在する」が「存在しない」という判定
      • 脆弱性の危険度に関係なく起きる
      • 理由(1): 検査パターンが間に合っていない
      • 理由(2): 検査パターンの精度が低い
      • 理由(3): 開放ポートを発見できていない*2
  • 脆弱性スキャナには「嘘と沈黙」というリスクが常にある
    • × 作業の完全自動化
    • ○ 作業の効率化・能率向上

■0x04. ペネトレって結局

  • 「実際の攻撃手法」を用いて検証する
    • 検査人は自分たちで [嘘] を見抜き、[沈黙] を破らなければならない
  • 健康診断に例えてみよう
    • 検査人→医者
    • テスト対象システム→患者
    • テスト結果→レントゲン

■0x05. 侵入ハイライト

  • 脆弱性スキャナではっきりと脆弱性と判定できなかった事例
    • Sun Solaris in.telnetd におけるログイン認証回避の脆弱性*3
    • 管理者パスワードが推測可能

■0x06. さいごに

  • 世の中に完全無欠のシステムというものはない
  • 目的を達成するには、自動と手動という方法がある
  • セキュリティ製品で 9 割自動化しても、残り 1 割が鎖の切れ目となる
    • その鎖の切れ目から全体が破綻する
    • システムの脆弱性に目がいき、システムで守ることを考えがち
  • 残りの 1 割(鎖の切れ目)を埋めるのは人間の手であり、その教育ではないか

Session2:ライトニングセッション

LT1:ペネトレーションテスターより愛を込めて part 2

Session 1 に引き続き辻さんによる、ペネトレ経験に基づく検出されやすい脆弱性の話でした。

■1. ぶっちりの一位

  • 推測可能なパスワード
    • SSH, telnet, SMB, snmp(コミュニティ名), VNC, DB
    • どんなパスワードか
      • NULL
      • joe アカウント
      • 組織名 or 人名(+ 数字、@西暦)
      • デフォルトパスワード

■2. SSL

  • 暗号スイートと強度について
    • SSLv2 が有効となっている
    • 128bit 未満の暗号キーが使用可能
  • お手軽に確認できるツール:ManySSL

■3. Apache

■4. さいごに

  • いわゆる、「うっかり」な脆弱性が多く検出されるのも事実
  • 脆弱性検査を受ける前にチェックできり脆弱性も多いという事実

なお、LT のタイトルは、Microsoft TechNet セキュリティで過去に辻さんが執筆した記事からきているそうです。

LT2:とあるシステムの脆弱性

totoro さんによる、とある脆弱性に関するセッションでした。非公開セッションですので、この日記では割愛します。iPad をプレゼンに使用していたのが印象的でした。iPad いいなー。

LT3:Google Chromium OS Forensics

Oro さんによる、Googleオープンソースで開発している Google Chromium OSフォレンジックに関するセッションでした。手元のメモ取りが追いつきませんでしたので、メモできたところのみまとめます。LT 時に(一部マスクした上で)公開いただけるとの話がありましたので、資料公開に期待します。

  • Google Chromium OS*4 におけるユーザデータのフォレンジック検証
    • 正直厳しい
  • Chromium ではユーザごとにデータを暗号化している
  • ディスクイメージ解析(電源OFF)時のユーザデータ保護
    • 小憎らしい暗号化技法
    • ユーザデータのワイプ
    • スワップアウトされたデータを保護
  • いつものチェック
    • fdisk
      • ユーザ領域だけが書き込み可
      • システム領域は書き込み不可
    • passwd, shadow
      • 誰でログインしても chrome となる
  • ユーザデータ
    • ディスクイメージ解析不可
    • ログインしていれば、Historycookie 等が確認できる
  • 今後の課題
    • メモリ保全&解析
      • ログオン状態で?Cold Boot?

*1:検査の自動化ソフトウェア。調査・攻撃パターンが収録されている(セッション内容における説明より)

*2:開放ポートがないと判定したため、その後攻撃パターンを試さない(セッション時の辻さんの補足説明より)

*3:CVE-2007-0882(この日記をまとめた時に確認)

*4:Google Chrome の仕組みをベースとした Web アプリケーションプラットホーム(セッション内容における説明より)