SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

エンジニアが生き残るためのテクノロジーの授業

開発者はハッカーに勝てるか? 脆弱性とセキュリティの話

エンジニアが生き残るためのテクノロジーの授業 第5回


  • X ポスト
  • このエントリーをはてなブックマークに追加

脆弱性の半数はWebアプリケーションにあり

 IPAによる「ソフトウェア等の脆弱性関連情報の取扱いに関する届出状況」では、大きく「ソフトウェア製品」と「Webサイト」に分けて脆弱性の件数を集計しています。

 この資料によると、ソフトウェア製品の脆弱性の原因として、図3のグラフのような内容が上位になっています。これを見ると、Webアプリケーションの脆弱性が非常に多く、それだけ攻撃も成立しやすいといえます。また、「その他実装上の不備」に分類されているものが意外と多く、ソフトウェアの開発が複雑で、簡単には脆弱性を見つけられないことが分かります。

図3 ソフトウェア製品の脆弱性の原因別の届出状況(IPAの資料をもとに作成)

図3 ソフトウェア製品の脆弱性の原因別の届出状況(IPAの資料をもとに作成)

 また、Webサイトの脆弱性の原因は、図4のグラフのようになっています。いずれも古くから指摘されている脆弱性ではありますが、なかなかゼロにはならないのが現実です。

図4 「Webサイトの脆弱性の種類別の届出状況」(IPAの資料をもとに作成)

図4 「Webサイトの脆弱性の種類別の届出状況」(IPAの資料をもとに作成)

脆弱性を狙った攻撃を防ぐには

開発者は脆弱性診断を

 ソフトウェアやサービスを提供する企業は、提供を開始する前に「脆弱性診断」を実施します。攻撃者の視点から、さまざまな攻撃を疑似的に実施して脆弱性を発見する方法で、専門的なスキルが必要です。

 しかし、脆弱性診断ツールも登場しており、一般的な脆弱性については手軽に調べることもできます。開発者自身でも本来のテストで行う動作確認とあわせて脆弱性が存在しないかチェックしてみることも大切でしょう。

 ただし、これですべての脆弱性を見つけられるわけではありません。診断する人のスキルに依存するだけでなく、ツールで処理しても発見できないものはあります。普段からセキュリティを意識した開発を行うだけでなく、WAF(Web Application Firewall)を併用するなど、多重防御を考えておきましょう。

 なおWebアプリケーションで脆弱性が見つかった場合は、対応が終わるまでシステムの公開を停止するのが一般的です。脆弱性の内容に応じて対応は変わりますが、常に安全側に倒すことを意識しておきます。

脆弱性に気づいた場合は報告を

 自分で開発したプログラムや自社の製品でなくとも、脆弱性に気づくことがあります。例えば、入力フォームに顔文字を入力したところ、入力した内容が正しく表示されなかった。確認してみると、顔文字に含まれる「<」という記号がタグとして認識されていた。調べてみるとクロスサイトスクリプティングの脆弱性が存在した、といった事例はよく見かけました。

 このような場合、放置するのではなく、必ず報告するようにしましょう。例えば、IPAには「脆弱性関連情報の届出受付」があります。

 また、ソフトウェアの開発会社の中には、Webサイト上で自社製品に対する脆弱性の報告を受け付けている企業もあります。ほかの利用者の被害を防ぐためにも、速やかに報告し、修正してもらいましょう。

単行本化のお知らせ

 2016年12月17日に、この連載をベースにした新刊『エンジニアが生き残るためのテクノロジーの授業』が発売されました!

 ITとビジネスの関係、コンピュータ、ネットワーク、プログラミング、データベース、セキュリティ、人工知能など、本連載で解説した内容も含め、エンジニアなら誰もが知っておくべきテーマを一冊で学ぶことができます。

 IT業界でずっと活躍するために、本物の力を身につけよう。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
エンジニアが生き残るためのテクノロジーの授業連載記事一覧

もっと読む

この記事の著者

増井 敏克(マスイ トシカツ)

増井技術士事務所 代表。技術士(情報工学部門)、テクニカルエンジニア(ネットワーク、情報セキュリティ)、その他情報処理技術者試験に多数合格。 ITエンジニアのための実務スキル評価サービス「CodeIQ」にて、情報セキュリティやアルゴリズムに関する問題を多数出題している。 また、ビジネス数学検定1級に合格し、...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9823 2016/12/20 15:52

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング