hiyoko-programingの日記

プログラミングを勉強したてのひよっ子。   エンジニア目指して勉強中。

情報セキュリティの概要

情報セキュリティとは

情報セキュリティとは、Webサービスにおいてのセキュリティ(安全保障)である。情報セキュリティにおける理想は、「不正なアクセスや情報の漏洩を防ぎつつ、権限がある人は便利に利用できる」状態を維持すること。これを分解し言い換え、「機密性」「完全性」「可用性」の3つの要素を維持することを目標にする。

  • 機密性 権限を持たない人が情報資産を見たり使用できないようにすること
  • 完全性 権限を持たない人が情報を書き換えたり消したりできないようにすること
  • 可用性 権限を持つ人がいつでも利用したいときに利用できるようにすること

security_01.png

脆弱性について

コンピュータやネットワーク、アプリケーション全体のセキュリティに弱点を作り出すコンピュータソフトウェアの欠陥や仕様上の問題点のことを脆弱性(ぜいじゃくせい)と言う。Webアプリケーションに脆弱性があると、様々な被害が生じる可能性がある。開発者側だけでなく、利用者側も被害を被る可能性があるので、脆弱性対策は必須。脆弱性は、バグや、開発者のセキュリティチェック不足により生まれる。

脆弱性とは

脆弱性とは、コンピュータやネットワーク、アプリケーション全体のセキュリティに弱点を作り出すコンピュータソフトウェアの欠陥や仕様上の問題点のこと。
つまり、アプリケーション上で悪意のある者に攻撃を仕掛けられる際の弱点と言い換えることができる。

脆弱性によってもたらされる被害

脆弱性がアプリケーション内に存在することによって、以下のような被害が想定される。

  • 個人情報を勝手に閲覧される(機密性侵害)
  • Webページの内容が改ざんされる(完全性侵害)
  • Webページ自体が利用不能になる(可用性侵害)

このような問題が起きてしまうと、利用者への金銭的損失の補填や補償、開発者の社会的信頼の失墜による売上の減少、Webサイト停止による機会損失など多くの被害を開発者だけではなく利用者も被ることになるため脆弱性対策は必須と言える。

脆弱性が生まれる理由

なぜ脆弱性が生まれてしまうのか。大きく分けて二つの理由がある。
一つは、バグによるもの
もう一つは、開発者側のセキュリティチェック不足によるもの

ここでいうバグとは、後に説明するクロスサイトスクリプティングのように投稿フォーム等にscriptタグでJavascriptのコードを記述・送信 することで、それがページに埋め込まれ、実行されてしまうといったようなプログラミング言語の仕様に起因するものようなことを言う。