サイバーセキュリティのプロになるための3箇条とは――熱気あふれた「セキュリティ合宿」:セキュリティ・キャンプ九州 in 福岡 2016レポート(後編)(2/4 ページ)
2016年9月16日から19日にかけて開催された「セキュリティ・キャンプ九州 in 福岡2016」から、専門講座のレポートをお届けする。
攻撃者の視点でWebの脆弱性を探り、報告者の流儀を学ぶ
専門講座2日目の午前中は、はせがわようすけ氏による「Webプログラミング基礎講座(前篇)」が行われた。
「できてはいけないはずのことができる」。はせがわ氏はWebセキュリティの第一人者である徳丸浩氏の言葉を借りて「脆弱(ぜいじゃく)性」の定義を紹介した。あらゆる情報がWebを通じて配信される現在、情報漏えいやシステム停止などの深刻な事態を招く脆弱性があれば、早急に対応する必要がある。
では、「脆弱性のある状態」とはどのようなものなのだろうか。それを理解するために、参加者ははせがわ氏が作り込んだ脆弱なSNSサイトを検証し、XSSやSQLインジェクション、ディレクトリトラバーサルなどの攻撃手法を試行しながらそのリスクを学ぶ。「正しい挙動と正しくない挙動の差に気付くこと、設計した人の思考を読み取って裏をかく方法を考えることが脆弱性を見つけるヒントだ」(はせがわ氏)。
現実のソフトウェアやWebアプリケーションなどで脆弱性を発見した場合、IPA(情報処理推進機構)の窓口から報告するのが賢明だ。また、最近はサイボウズやLINE、Googleなど、Webサービスの脆弱性報告制度を設置している企業も増えている。
「ただし、修正のための工数やコストから報告への対処に難色を示す企業も少なくない。また、脆弱性調査の行為を攻撃と見なされ、プロバイダーに通報されてインターネットを止められた報告者の例もある。エンジニア視点では良き行いであっても、一般の感覚とは違う場合がある」と、自らもバグ(脆弱性)ハンティングを行うはせがわ氏は注意を促した。
「結局はケースバイケースだが、影響範囲や相手の事情を考慮し、世の中がどうすれば良くなるのかを考えながら行動してほしい」(はせがわ氏)
脆弱性の自動診断プログラムを作ろう!
「Webプログラミング基礎講座(後篇)」では北九州情報セキュリティ勉強会「セキュ鉄」代表、服部祐一氏を講師に迎え、「脆弱性の自動診断プログラム作成」講座が行われた。
服部氏は始めに、脆弱なアプリケーションを仮想マシンで提供するプロジェクト「OWASP BWA」(OWASP Broken Web Applications)を紹介。その中から画像の共有や売買、ゲストブック機能を提供する脆弱性だらけのWebサイト「WackoPicko」をピックアップし、CSRF(クロスサイトリクエストフォージェリ)対策がなされているログインフォームとCSRF対策が行われていないログインフォームそれぞれへの自動ログインやその後の情報取得、掲示板への自動書き込みによるXSS脆弱性診断の実行スクリプトを作成する演習を行った。
参加者は、自身のノートPCに仮想マシン(VirtualBox)環境を構築し、Spyder(PythonのIDE環境)からPythonで自動脆弱性診断ツールをプログラミングした。4時間という長時間ながらも、休憩の間を惜しみ手を動かす参加者たちは、セキュリティ・キャンプ卒業生のOBやOG、講師に質問しながら、着々とプログラムの完成を目指した。
プログラミングのヒントやコツを解説した服部氏は、最後に「くれぐれもインターネット上のWebサーバで実行しないように」と、節度と倫理観を持ったふるまいの大切さを強調し、講義を終えた。
Copyright © ITmedia, Inc. All Rights Reserved.