攻撃者はバグを1つ見つければ済むが、セキュリティテスターは、リリース期限までに多くの重大なセキュリティバグをつぶさなければならない。
ソフトウェアセキュリティエンジニアとトレーナー、両方の経験から言うと、物事を理解する早さは人によって大きく違うものだ。だが、本来優秀な人がなかなか実力を発揮しないことも多い。どんなバグでも突き止められるベテランのテスターが、セキュリティテストにはなかなか習熟できない、といったことがよくある。わたしはこの数年、世界最大級のソフトウェアベンダー数社で開発者チームのトレーニングに従事する中で、彼らの行動を調べ、優れたセキュリティテスターに必要なものを明らかにしようとしてきた。その結果分かったことを紹介しよう。
わたしは、セキュリティテスターは皆、以下の3つの専門スキルをベースとして持たなければならないという結論に達した。
多くの場合、セキュリティテスターとして欲しい情報は、すべて手に入るわけではない。例えば、SQLインジェクションの脆弱性をチェックする場合、セキュリティテスターが効果的なテストを作成するには、対象システムについて一定の仮定を置き、手持ちの知識に基づいて内部動作を推測しなければならない。
優れたセキュリティテスターは、テストするシステムの各コンポーネントについて知っていなければならない。テスト対象がWebアプリケーションの場合、JavaScript、XML、サーバ側コード(ASP、JSP、Ruby、PHPなど)、データベース、Webサービスなどに関する深い知識が必要だ。また、テスターは、システムの作りに問題がある場合やコンポーネントの使い方が誤っている可能性がある場合、それを認識できなければならない。こうした包括的な知識は、時間をかけて専門的な経験を積むことで得られるが、セキュリティの観点からそれぞれのテーマについて集中的に調べることで、習得を促進することもできる。
理想的なセキュリティテストの実施を目指すためには、上の2つの専門スキルを駆使するだけではまだ足りない。決定的に重要なスキルは、攻撃者のように考える力だ。攻撃者がシステムをどのようにとらえるかを予測する能力は、システムのテストに不可欠な要素となっている。セキュリティテストでは、泥棒があなたの家に侵入するために使いそうな方法を洗い出すのと同じような思考プロセスにより、攻撃者があなたのアプリケーションに不正アクセスするために使いそうな巧妙な方法を、すべてカバーする必要がある。
これらの専門スキルについてそれぞれ詳しく説明し、各スキルを実践するための幾つかのポイントを紹介する。
Copyright © ITmedia, Inc. All Rights Reserved.
「TikTok禁止」は結局、誰得? どうするトランプ氏――2025年のSNS大予測(TikTok編)
米国での存続を巡る議論が続く一方で、アプリ内ショッピングやAI機能の拡大など、TikTok...
ネットの口コミを参考に8割超が商品を購入 最も参考にした口コミの掲載先は?
ホットリンクは、口コミ投稿の経験や購買への影響を調査した結果を発表した。
「生成AIの普及でSEOはオワコン」説は本当か?
生成AIの普及によりSEOが「オワコン」化するという言説を頻繁に耳にするようになりました...