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

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

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

[Joe Basirico,TechTarget]

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

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

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

優れた想像力

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

包括的なシステム知識

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

攻撃者の視点に立つ能力

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

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

関連ホワイトペーパー

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


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

news059.jpg

世界のCMOの62%が今後1年間マーケティング予算は削減か横ばいと回答――電通インターナショナル調査
電通インターナショナルが世界規模で実施した「CMO調査2020」の結果です。

news017.jpg

HubSpotとWeWork 世界の成長企業が新しい日常で実践するスマートな働き方
ニューノーマル時代に企業が成長し続けるためのヒント。

news022.jpg

中国向けマーケティング インバウンド“蒸発”をどう乗り越える?(無料eBook)
「ITmedia マーケティング」では、気になるマーケティングトレンドをeBookにまとめて不定...