18
7 神戸情報セキュリティ勉強会 ( セキュメロ ) まとめ 2009 01 10

Kobe sec#7 summary

Embed Size (px)

Citation preview

Page 1: Kobe sec#7 summary

第 7 回 神戸情報セキュリティ勉強会 (セキュメロ) まとめ

2009年01月10日

Page 2: Kobe sec#7 summary

スケジュール

1. 自己紹介

「今年のセキュリティの抱負」は?

今回のテーマ「Web アプリケーションの脆弱性」への興味。

2. Web AP 脆弱性の実践

簡単なレッスン (キーワード紹介)

ステージ 1 : Web 掲示板の改ざん

ステージ 2 : 設定されていないユーザでログイン

3. グループディスカッション

1. 発注・管理の側から、どのように行動すればよいか?

2. 開発者としてどうすればよいか?

3. その他、主にユーザサイドとして気にかけるところは?

4. 運用・保守サイドで、どう行動すべきか?

Page 3: Kobe sec#7 summary

自己紹介#1

初参加 7 名です。ありがとうございます!!

今年のセキュリティ抱負

「セキュリティ」もマンネリ化だねぇ。

デモも反応薄いし、ドラマ (ブラックマンデーw) と違うし。

今年は「セキュリティとエンターテイメント」をテーマに!!

「セキュリティいろはカルタ スクリーンセイバー」を!

セキュリティの普及

分からない人に旨く説明できるようになりたい。

子どもが生まれたよ!危険にさらしたくないね。

「閉じたネットワークのセキュリティ弱点」を指摘したい。

地方からの情報発信を!! 自分も「情報発信する側」に回りたい。

「Firewall 監視端末の私的利用」という事件から、「“なぜ” ポリシーを守らなければならないのか」について考える。

制約だけじゃなく、メリットも提供しないと。

Page 4: Kobe sec#7 summary

自己紹介#2

今年のセキュリティ抱負

レベルアップ

詳しいところを知りたい。体験 (攻撃) してみたい!

P マーク取得を生暖かい目で見つつ、本質を見極めたい。資格も。

セキュリティの勉強を続けたい。

開発ルールを作ってるけど、自分は AP 開発してない。

知識の無い状態で運用する不安。

Web AP は一通りやったので、低層 (NW) レイヤに。

秋のアナリスト試験を合格するために、業務経験を積みたい。

福岡から来ました。西日本は制覇したので、さらにいろんな勉強会に。

その他

スパムメールを撲滅したい!!

インシデントを起こさないよう。

Office 系 AP もセキュリティは?

Page 5: Kobe sec#7 summary

自己紹介#3

Web アプリケーションセキュリティへの興味

知らない : 9%

体験なし : 82% (キーワード程度は知ってる)

防御できる : 3%

デモできる : 6%

期待するところ #1

勉強会スタッフでも手を動かしたこと無い。ぜんぜんわかってないし。

楽に、Secure AP を作りたい。

擬似環境を作って職場で体験させてみたい。-> これは OK。

診断受けたら、ボロボロと。。。

AP 作ってるけど、祈りながら生活する日々。。攻撃の検知もしたい。

自作 AP に「外部にさらしたとき、安全なの?」という不安が。。。

Page 6: Kobe sec#7 summary

自己紹介 #4

Web アプリケーションセキュリティへの興味

期待するところ #2

PHP 開発して、「XSS ある」と言われたけど、実際どうすれば?

職場でシステム管理。体験型の教育の手本としたい。

Web トレードへの侵入をどうやって検知するの?

某国の会員サイトで委託業者の AP の診断してもらったが、やはり不安がある。

防御の知識を身につけたい。

「安全なウェブサイトの作り方 (IPA)」は見た。

「攻撃する人」を見ることが無い。初体験!!

AP 開発の一部をしたものの。。。

その他

指紋認証が破られた(テープ)地方空港のセキュリティが甘い理由?

"WordPress (PHP&MySQL のブログツール)" を普及させたい!

Page 7: Kobe sec#7 summary

Web AP 脆弱性の実践 : 簡単なレッスン

本日は 110 番の日ですw 絶対悪用禁止!!

簡単な用語説明

だいたい、以下のキーワードは皆さんご存知でした。

SQL インジェクチョン

注入(injection) が語源。SQL に限ったキーワードではない。

XSS (Cross Site Scripting)

動作原理 : 入力データがエスケープされないまま HTML 中に出力され、タグ文字などが HTML と解釈されスクリプトとして起動される。

OS コマンドインジェクション

OS のコマンドが注入される 。

やられサーバ

LAMP Appliance Linux をベースに。

Apache + Perl + MySQL の掲示板サイト

Page 8: Kobe sec#7 summary

Web AP 脆弱性の実践 : ステージ 1

Web 掲示板の改ざんに挑戦

http://hostname.domain/~user/board/board.cgi

ユーザとパスワードを提示

やられ環境は Packet Black Hole で監視w

OS コマンドインジェクション

開始 20 分でヒントを出す。

メールアドレス欄

入力値「’| echo」

初の改ざんはヒント提示後 5 分で。

1 番の人より、解説。

「Linux 環境」「OS コマンド」が鍵

「user@domain;echo abc > index.html」

sendmail コマンドの入力値チェックが甘い。

OSインジェクションが可能 -> cgi のソースが見えてしまう。

Page 9: Kobe sec#7 summary

Web AP 脆弱性の実践 : ステージ 2

環境準備してる最中にも、ステージ 1 の攻撃が続々w

ステージ 1 で使ったものと違う、ID とパスワードでログインしてみよう!

ステージ 1 でゲットした、board.cgi にヒントが。

開始 10 分でヒント提示。

パスワード欄に SQL インジェクション。

「’ (シングルコーテーション)」がポイント。

「abc ‘ or 1=‘1」。

リアルタイムで、SQL が表示されるw

実際に手を動かして体験するイベントもあります

Capture The Flag (CTF) 東京で勉強会やってます!!

次回セキュメロもこれでいきましょう?

Page 10: Kobe sec#7 summary

グループディスカッション発表 #1 発注・管理

「受入検査されてない」「管理できてない」のが一番問題

発注側の問題

「見た目重視」で、その他は後回し、という意識。

スキル面で、具体的な技術は抑えていない。

管理面で、納期の厳しさがセキュリティに気を配る余裕を奪う。

受注側の問題

意識やスキルがピンからキリまでいろいろ。

社会環境的には?

運用方針

「リニューアル」などのイベントを契機として、検査をやるとか。

「チェックポイント」を如何に設けるか。

その他

「サービス寿命」の視点で考える。「建築になぞらえる」

「良い Web AP 検査ツール」があれば売れる!!

Page 11: Kobe sec#7 summary

グループディスカッション発表 #1 発注・管理

発表で使われたマインドマップ

Page 12: Kobe sec#7 summary

グループディスカッション発表 #2 開発

コーディングルールで決まる!

規約のセキュリティレベルはどう決める?

専門の部署で判断。メジャーなアイテムは反映する方針で。

検査について

相互チェックができれば良いよね。一人だと余裕が無い

検査ツールを使い、大まかラインを満たせるようにすればよい?

実装

特殊文字をはじく、専用のタグを使う。

正規化に使うモジュールでは、必要 (要件) に応じて穴を開ける。

まとめ?

フレームワーク採用で、ルールに沿えば、(だいたい) 問題はおきないのでは?

アプリケーションのパッチ間隔が短いけど、がんばって適用する!

Page 13: Kobe sec#7 summary

グループディスカッション発表 #2 開発

QA

Q1. 開発時に見えない問題点はどうフォローする?

A1. 保守メニューに、アプリケーション改版だけでなく、インフラ面でのフォローも加える!

Q2. パッチ適用に伴うコストはどう考える?

A2. 影響範囲とコスト見合いで、適用可否を決める?

Page 14: Kobe sec#7 summary

グループディスカッション発表 #3 その他

テーマ自体が定まっていない。

メンバーは IT 系、中学生(しかも発表者!)、農業の方!

発表内容は大変しっかりとしたものでした。

ユーザとして信頼できるサイトの決め方

技術レベル、組織の信頼性?

学校で教えてくれない。具体例をだしてみたら?

J-SOX は企業しか対応してない。

人 (スキルレベル) 依存のセキュリティ。

普通 (小規模) の環境では。。。

セキュリティに興味や関心がある。

でも、実態がついてこない。

「普通の人」の意識を上げるには?

Page 15: Kobe sec#7 summary

グループディスカッション発表 #4 運用

メンバの困ったこと

ユーザ (知らない人) に安全に使ってもらう必要がある。

運用と開発が分かれるチーム構成に問題。

中国からきたメンバーは、情報をすべて持ち帰りたがる。

攻撃を知る

「攻撃されたか」判断するには、既存の攻撃を知るしかない。

ログベースでは、事象を後から追うことしかできない。

防ぐには

攻撃が無いから被害 (見える効果) がない。

卵が先か、鶏が先か。

費用対効果が説明できない。

パッチ (更新プログラム) を当てる (適用する) 頻度

「出たら当てる」「当ててから考える」の方針とすべきでは?

パッチの要否をどう判断するの?

Page 16: Kobe sec#7 summary

グループディスカッション発表 #4 運用

システムのバージョンアップ

運用している以上、上げる必要はあるが。

離れたバージョンのアップグレードに悩む

例えば、Windows 2000 Server から Windows Server 2008

情報の収集

情報の樹海から、どう信頼に足るものを選び出すのか。

「セキュリティホール memo」が著名だけど、盲信するものではない。

製品の更新情報は?

Windows は情報提供されているが、OSS の場合は?

有償サポートを提供する企業はあるけど、小規模のところでは契約し辛い。

結局、サイバーノーガード戦法?

Page 17: Kobe sec#7 summary

グループディスカッション発表 #4 運用

まとめ

言語の壁は辛い。英語や中国語。

情報収集を行おう、情報を共有しよう。

仮想環境を有効に (テストに) 使おう!!

VMware ESXi Server や Hyper-V など、無償で提供されているし。

QA

Windows Update, Linux の yum にある自動アップデートは?

実際にサーバ環境を自動アップデートにしているところがあるが、これまで問題が起きたことがない!!!

Page 18: Kobe sec#7 summary

最後に

会場をご用意いただいた、ひょうご情報教育機構(CMU 日本校) の皆さん、いつも感謝しています。

スピーカのまっちゃだいふくさん、本当にありがとうございます。

そして、参加された皆さんありがとうございます!!