2007年10月16日 04時45分 公開
特集/連載

セキュリティテストには攻撃者の視点が肝心スーパーテスターの3つのスキル

攻撃者はバグを1つ見つければ済むが、セキュリティテスターは、リリース期限までに多くの重大なセキュリティバグをつぶさなければならない。

[Joe Basirico,TechTarget]

 ソフトウェアセキュリティエンジニアとトレーナー、両方の経験から言うと、物事を理解する早さは人によって大きく違うものだ。だが、本来優秀な人がなかなか実力を発揮しないことも多い。どんなバグでも突き止められるベテランのテスターが、セキュリティテストにはなかなか習熟できない、といったことがよくある。わたしはこの数年、世界最大級のソフトウェアベンダー数社で開発者チームのトレーニングに従事する中で、彼らの行動を調べ、優れたセキュリティテスターに必要なものを明らかにしようとしてきた。その結果分かったことを紹介しよう。

セキュリティテスターに必要な3つのスキル

 わたしは、セキュリティテスターは皆、以下の3つの専門スキルをベースとして持たなければならないという結論に達した。

優れた想像力

 多くの場合、セキュリティテスターとして欲しい情報は、すべて手に入るわけではない。例えば、SQLインジェクションの脆弱性をチェックする場合、セキュリティテスターが効果的なテストを作成するには、対象システムについて一定の仮定を置き、手持ちの知識に基づいて内部動作を推測しなければならない。

包括的なシステム知識

 優れたセキュリティテスターは、テストするシステムの各コンポーネントについて知っていなければならない。テスト対象がWebアプリケーションの場合、JavaScript、XML、サーバ側コード(ASP、JSP、Ruby、PHPなど)、データベース、Webサービスなどに関する深い知識が必要だ。また、テスターは、システムの作りに問題がある場合やコンポーネントの使い方が誤っている可能性がある場合、それを認識できなければならない。こうした包括的な知識は、時間をかけて専門的な経験を積むことで得られるが、セキュリティの観点からそれぞれのテーマについて集中的に調べることで、習得を促進することもできる。

攻撃者の視点に立つ能力

 理想的なセキュリティテストの実施を目指すためには、上の2つの専門スキルを駆使するだけではまだ足りない。決定的に重要なスキルは、攻撃者のように考える力だ。攻撃者がシステムをどのようにとらえるかを予測する能力は、システムのテストに不可欠な要素となっている。セキュリティテストでは、泥棒があなたの家に侵入するために使いそうな方法を洗い出すのと同じような思考プロセスにより、攻撃者があなたのアプリケーションに不正アクセスするために使いそうな巧妙な方法を、すべてカバーする必要がある。

 これらの専門スキルについてそれぞれ詳しく説明し、各スキルを実践するための幾つかのポイントを紹介する。

関連ホワイトペーパー

脆弱性 | スキル | 開発プロセス


ITmedia マーケティング新着記事

news060.jpg

「高齢者のデジタルシフト」「応援消費」他、コロナ禍が変えた消費行動と今後の「個客」との付き合い方
コロナ禍で起きた消費行動の変化とはどのようなものか。変化に対応するために企業が取る...

news024.jpg

なぜあのブランドは「離脱」されないのか?
「ITmedia マーケティング」では、気になるマーケティングトレンドをeBookにまとめて不定...

news056.jpg

急成長のデジタルライブエンターテインメント市場、2024年には約1000億円規模に――CyberZとOEN調査
音楽や演劇などライブコンテンツのデジタル化が急速に進んでいます。今後の見通しはどう...