WAS Forum Conference 2008に参加する
貴重な休みである土曜日に、朝から「WAS Forum Conference 2008」に参加してきた。私はCIOでもCTOでもないので「Developers DAY」のみ参加してきたが、前日の「CIO/CTO DAY」にも大変おもしろいプログラムがあったらしい。
それはそれとして、Developers DAY。
- Morning Session:今どきのWebセキュリティ
チェア: 独立行政法人産業技術総合研究所 高木浩光EV SSLの意義と課題
(有限責任中間法人 日本電子認証協議会 代表理事 秋山 卓司)EV(Extended Validation) SSLとは
ちゃんとした認証局(いろいろ基準がある)が実在証明の取れたwebサイト所有者のみに発行する
対応ブラウザ(IE7,FF3,Opera9.5など)ではアドレスバーが緑になる(など、EV SSLであることが明示される)
通信経路が暗号化されていること、webサイトが信頼のおける所有者によって運営されていることの判断基準となる
課題(特に日本において)
暗号アルゴリズムの世代交代の時期に重なってしまった
マルチバイト言語の扱いが確立していない
企業におけるドメイン管理がいい加減で、所有者と運用者が違うことが多々ある
費用対効果が受け入れられるか(取得費用は2桁ほどアップする場合もある)
対応する携帯端末が少ない(今年のモデルから)>移行に時間がかかる
問題はまだいろいろあるが、こっちに移行していくのは間違いない流れになるだろう
SQLインジェクション対策再考
(HASHコンサルティング株式会社 代表取締役 徳丸 浩)正しくない対策の今昔
大手IT系サイトや政府機関の記事にすら間違った解説が堂々と載せられている
プログラマが正しい理解をして、記事を鵜呑みにしないのが重要
そもそもSQLインジェクションとは
リテラル(文字列/数値)がリテラルから「はみだして」SQL文として解釈されてしまう
危険度は関係なく「SQLとして解釈された」時点でアウト
対策の実際
プリペアドステートメントへのバインドを利用するのが一番安全
古いコードを作り直すのが難しい場合のみエスケープ処理を行う
RDBMSの種類によってエスケープする必要のある文字が違うのでちゃんと予習しよう
DBアクセスライブラリのquote命令を信用しすぎないよう注意
>RDBMSのAPIを使ってない場合がある数値を想定している値は数字チェックを行う
>特に変数に型がない言語は要注意アプリケーション側では制御文字のチェックも行う
>ミドルウェア側でやってくれるといいんだけど…参考リンク
携帯電話向けWebのセキュリティ
(グリー株式会社 取締役CTO 藤本 真樹)Refererの問題
ケータイwebではSessionIDをURLに乗せることが多い
外部サイトへのリンクでRefererが漏れてしまうとセッションハイジャックの危険
GREEでは書き込み内容をチェックして、外部サイトへはaタグによるリンクをしないようにしてる
同様にGREE内部へのリンクはSession IDをパースして閲覧者のものと差し替えている
>すげーな(同業者として尊敬と羨望)端末のセキュリティの問題
ソースコードはスマートフォンなどで読めてしまう場合もある
>読まれること前提で設計 / 実装しよう位置情報は偽装することが可能
IP制限(キャリアが発表しているゲートウェイのIPによるアクセス制限)大事
>キャリア判別はUser Agentとリモートホスト双方から取ることが必要固体識別IDは偽装できないっぽい
ユーザリテラシーの問題
ケータイユーザのリテラシーはPCの常識と大きく違うので注意
>パスワードは単純、端末の貸し借りも平然とするなどソーシャルハックにはとても脆弱一方で執念深いユーザも多く、8桁程度のチェックサムは総当りで破ってしまったりする
>うちにもいたわそんなユーザその他
エンジニア募集中
>私程度の腕で通用するのかな?挑戦してみたくなった。転職は面倒だけどな。OpenIDのセキュリティ
(サイボウズ・ラボ株式会社 山口 徹)OpenIDはよくわかってないので申し訳ない感じだった
脆弱性の部分は、まずTLS/SSLで通信するのが前提
…勉強して出直してきます
Afternoon Session:セキュリティ デベロップメント “ライフサイクル”:裏側と表側
チェア:マイクロソフト 高橋正和セキュリティの作り込みはどのように行われているのか?
(マイクロソフト 加治佐 俊一 CTO, ソニー 松並勝)MS:SDL(Security Development Lifecycle)
SONY:LWSSA(Light Weight Software Security Assurance)
どっちもソフトウェアのセキュリティを高めるための開発プロセス
どっちも「脆弱性対策の専門チーム」から「脆弱なコードを書かないようプログラマを教育するチーム」に変貌
結局プログラマの質を一定水準以上に保つのは大変だ、といういつもの問題に行き当たるといえば行き当たる
とはいえこの2社のプログラマは世間の水準からすると優秀すぎて笑っちゃうんだろうな
おっと話がそれた
脆弱性対策はとにかく大変だがやらないわけにもいかないのでちゃんとやろう
>SONYの場合「できる範囲でやる」というスモールスタートチーム内部にノウハウがない場合、外部から専門家を招聘してスキトラしてもらうのもいいんじゃないか
Security Wars Episode III:
(高橋郁夫弁護士)インターネット犯罪の変化について
タイトルどおりSTAR WARSに引っ掛けて話を構築
>ベイダー卿に扮して出てきたのは愉快だったがやりすぎ感も攻撃者はより悪質に、一般ユーザはより「いつまでも初心者」にシフトしている
今のところ私の仕事に法律は関係してこないが、一般ユーザのリテラシー低下は意識しないとダメだろうな
Webセキュリティのマルプラクティス ? 思い込みによるソフトウェアエラーをなんとかしろ
(門林雄基、岡田良太郎)マルプラクティス:よくない習慣や知恵。バッドノウハウ。
webアプリ開発現場にはこんなバッドノウハウがあるよ、というのをギャグベースで面白おかしく紹介
>笑いながらも「ああわれわれの現場もこんなだ」と自戒するリアルタイム投票システムを用意してのインタラクティブなプログラム
聴衆もみんな開発者だから苦労がにじみ出てて面白かった
内容は濃くて面白かったが、土曜の朝から夕方まで、というのはちょっとヘヴィだった。いろいろと再認識したりするところもあったので、有意義な時間だったんだけどね。 仕事の量は減らないので時間を捻出するのは大変だが、その見返りは十分あるように思う。カンファレンスや勉強会にはこれからもなるべく紛れ込むようにしよう。