テーマパークを運営する企業が2021年6月、Webサーバーに対する不正アクセスによりファンクラブ会員などのメールアドレス4万件超が流出したと発表した。原因は、Webサーバーにあった「SQLインジェクションの脆弱性」とした。

 Webサーバーのように外部に公開したサーバーに脆弱性が見つかれば、攻撃者の標的になりやすい。外部からアクセスできるシステムは脆弱性がなるべく生じないように開発し、見つかれば迅速に解消する必要がある。

 では、どのようにシステムを開発すれば脆弱性は生じにくいのか。ポイントはなるべく早い段階からセキュリティーを意識することだ。

作り込んだ部分に生じるケースが多い

 システムの脆弱性は、システムで利用するツールやアプリケーション、ライブラリーなどの既存のソフトウエア、もしくはシステムの開発者がオリジナルで制作したソフトウエアに生じる。特に新規で開発したシステムでは、「オリジナルで作り込んだ部分が多ければ多いほど、脆弱性が生じやすくなる」と指摘するセキュリティーの専門家が多い。

 既存のソフトウエアはすでに利用者がいるため、脆弱性が見つかりやすい状態にあり、見つかればすぐに修正される。このため、新たな脆弱性が見つからない限り、脆弱性はほぼなくなった状態で利用できる。

 一方、オリジナルのソフトウエアは開発者のスキル不足や設計上のミスなどによって、完成した時点ですでに脆弱性が生じる場合がある。このため、なるべく既存のソフトウエアを利用し、オリジナルの部分は最小限にとどめたほうがよいという声がある。

開発の早い段階からセキュリティーを確保する

 オリジナルで開発するソフトウエアに脆弱性を生じにくくするためにはどうすればよいのか。三井物産セキュアディレクションのセキュリティーサービスの担当者は「開発のなるべく早い段階からセキュリティーが確保されるようにすることが肝要だ」と話す。

 システムを開発したときは利用前に脆弱性診断を行い、脆弱性がないかどうかを確認する。このときに見つかった脆弱性の解消に設計レベルからの見直しが必要だったとしても、設計レベルからの修正が難しいため、場あたり的な対策で済まさざるを得ないこともある。開発のなるべく早い段階で問題に気付いていれば、修正しやすい。

 では、セキュリティーの知識が乏しいシステム発注者が、脆弱性の少ないシステムを開発してもらうためにはどうしたらよいか。三井物産セキュアディレクションのセキュリティーサービスの担当者は「発注時に公的機関などが公開しているガイドラインを活用するとよい」と話す。

 Webサイトのガイドラインとしては、情報処理推進機構(IPA)が公開する「安全なウェブサイトの作り方」がある。このガイドラインには、SQLインジェクションやクロスサイトスクリプティング(XSS)といった脆弱性に対する攻撃手法や開発時の対策方法、攻撃の影響を低減する対策を示している。システムを発注するときのセキュリティー要件にこのガイドラインが示す対策方法を含めておけば、脆弱性は生じにくくなるだろう。

「安全なウェブサイトの作り方」の脆弱性対策のチェックリスト。システムを発注する際に、このチェックリストを満たすよう要件に入れるだけで脆弱性は生じにくくなる
「安全なウェブサイトの作り方」の脆弱性対策のチェックリスト。システムを発注する際に、このチェックリストを満たすよう要件に入れるだけで脆弱性は生じにくくなる
(出所:情報処理推進機構)
[画像のクリックで拡大表示]

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。