セキュリティ用語集 ~初心者の方向け~

IT、特にセキュリティと関わりのある用語を解説しています。解説の内容は、厳密なものではありません。

「IT用語がよくわからない」という初心者の方向けに、イメージを掴んでもらいやすいよう、たとえ話を多く織り交ぜています。

質の良い用語集を目指し、日夜改善してまいります。

用語一覧

あ~お

か~こ

さ~そ

た~と

な~の

は~ほ

ら~ろ

や~よ

用語解説

あ~お

alert

「JavaScript」というプログラミング言語です。文字通り、アラートを出すことができます。アラートに文字を書きたいときは、表示させたい文字を'シングルクォート'で囲んでください。

例としては、“ alert(' 文字 '); ”と記載すると、文字列を表示することが可能です。JavaScriptで命令を書く場合、文尾に「;(セミコロン)」を付けます。

Webアプリケーション

例外はありますが、“インターネットを介して使うアプリ”と捉えておくとよいでしょう。

Webサーバー

Webサーバーとは、ホームページやWebサービスを置くサーバーのことです。「Web関連のサービスを提供しているコンピューター」と捉えておくとよいでしょう。

Webブラウザー

ホームページを見るときに使うアプリケーションのことです。あなたが今、このWebページを閲覧しているアプリを「Webブラウザー」と呼びます。

ユーザーがホームページを見るとき、WebブラウザーからWebサーバーに、「このページがほしい」とリクエストをします。

それに対してWebサーバーは、レスポンスとして、指定されたホームページのファイルをWebブラウザーに渡します。

Webブラウザーは、Webサーバーから受け取ったホームページのファイルを、画面に表示します。

「Internet Explorer」や、「Google Chrome」など、Webブラウザーに分類されるソフトはさまざまあります。

HTTP

「HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル)」の略です。

「HyperText」は「ホームページのファイル」と捉えておくとよいでしょう。

「Transfer」は「移動」、「Protocol」は「通信を行う上での決まりごと」です。WebブラウザーとWebサーバーがホームページのファイルなどを受け渡すとき、HTTPという通信プロトコルを使用します。

HTML

ホームページを作るとき、必ずソースコードを書きます。この書き方にはルールがあって、そのルールの名称が「HTML」と解釈しておくとよいでしょう。

SQL

データベースを検索・追加・更新・削除したいときに使う言語です。「リレーショナルデータベース」という、表形式のデータを格納しています。

SQL文

「SQL」という言語を使った命令文のことです。リレーショナルデータベースという、表形式のデータを格納しているSQLでは、SQL文を使います。

API

“プログラムや機能に対する窓口、および窓口を使うための説明書”と捉えておくとよいでしょう。外部からプログラムや機能を使いたい場合、APIを通します。

OS

「オペレーティング・システム」を省略して、「OS」という言い方になります。パソコンを人間の体に例えると、OSは「心」に相当する部分です。OSが入っていなければ、パソコンは機能しません。

パソコンのOSといえば、「Windows」「Mac」「Linux」が有名かと思います。スマートフォンのOSは、「iOS」「Android」がメインです。

onmouseover

「○○にマウスカーソルが重なったとき、○○が起きますよ」というイベント属性です。「イベント属性」とは、“動きの情報”のことです。

か~こ

関数

処理をまとめたプログラムのパーツのことです。何度もおなじ命令を書くことは手間ですし、修正がしにくいという場合があります。

ひとつの命令をくりかえし使いたいとき、関数に命令を書いておいて、必要なときに呼び出す、という書き方があります。

関数を使ってプログラムを書くと、内容が整理され、修正も楽になります。

クロスサイトスクリプティング(XSS)

クロスサイトスクリプティング(XSS)とは、攻撃者が作った不正なスクリプトを、被害者のWebブラウザーで実行する攻撃です。

「ホームページにセキュリティ対策を施したい」とあなたが思ったとき、もちろんその方法について調べると思います。

その際、おそらく度々目にするのが、「クロスサイトスクリプティング(以下:XSS)の脆弱性」という言葉でしょう。

これが一体どういったものなのかを知っておくと、セキュリティ対策がしやすいかと思います。

XSSの概要について、わかりやすく詳細をまとめましたので、ぜひご覧ください。

権限

「管理の権限がある」という言い方をすることがありますが、それはすなわち、「管理を行うことができる」という意味です。

反対に、「管理の権限がない」は、「管理を行うことができない」と言い換えることができます。

互換性

「置き換えて使うことができる」という意味です。たとえば、「ソフトウェアAはハードウェアA専用のものだが、ハードウェアBと互換性がある」という言い方をしたとします。

その場合、「ソフトウェアAはハードウェアA専用のものだが、ハードウェアBでも使うことができる」という意味です。

コマンド

コンピューターに対する命令のことです。「OSコマンド」は、「OSが理解できる命令のこと」と捉えておくとわかりやすいかもしれません。

コメントアウト

ソースコードに書いてある処理を「コメント」にすることを言います。「コメント」は、メモ書きのようなものです。

自分のほかの誰かにソースコードを見せる場合、「この処理はどういったものか」を説明したいところです。

その際、「コメント」をつけておくと、ソースコードの引き継ぎが楽になります。また、「この処理は現段階ではコメントアウトしてあるが、一応取っておいている」という場合のメモ書きにも役立ちます。

「コメント」は、コンパイルしてもコンピューターからは見えません。あくまで人間感のやりとりで必要になるものです。

cols

フレームを横に並べて分割するとき、どんな割合で分けていくかを設定するためのものです。たとえば、

cols="30%, 70%"

と書くと、「フレームをウィンドウ全体の30%、70%に分ける」という意味です。

Cookie

「Cookie」は、Webブラウザーに保存されるデータの置き場所です。ホームページ(Webサーバー)側が指定したデータを保存しておくことができます。

Webサーバーは、毎日さまざまなユーザーを相手にしているので、ひとりひとりを覚えることができません。

たとえば、ホームページに訪問したユーザーAが、Webブラウザーを閉じたとします。Cookieを使わない場合、ユーザーAが再度ホームページを訪問したとしても、「以前訪問したことのあるユーザー」と識別されません。

「以前訪問したことのあるユーザー」を識別する際に、Cookieを使う場合があります。Webサーバーは、Webブラウザーに対してCookieのIDを送り、WebブラウザーからはCookieの情報をもらいます。

さ~そ

サニタイズ処理

プログラムにおける、文字を置き換える処理のことです。悪用されるおそれがある文字は、置き換えることで無害化します。

たとえば、HTMLのWebページを作る処理の場合、外部から「<」「>」「"」「'」などが入力できてしまうと、簡単に攻撃スクリプトを埋め込まれてしまいます。

悪用されるおそれがある文字を置き換えることで、セキュリティ対策を行うことが重要です。

「<」「>」「"」「'」をサニタイズ処理すると、「&lt;」「&gt;」「&quot;」「&#039;」といった風に置き換えられます。

スクリプト

スクリプトとは、「書かれたもの」という意味です。インタープリターという方式で実行されるプログラムのことを言います。

インタープリターは、コンパイル(翻訳)という処理を、プログラムの実行と同時に行う方式です。ちなみに、人間の言葉に近いソースコードを、コンピューターが認識できるプログラムに翻訳することを、「コンパイル」と言います。

また、プログラムを実行する前にコンパイルしておく方式を、コンパイル方式と言います。

ソースコード

人間とコンピューターは、使用する言語が異なります。大まかに言うと、「ソースコード」は人間が使う言語、プログラムはコンピューターが使う言語です。

人間がソースコードを書き、コンパイル(コンピューター語に翻訳)することで、プログラムができあがります。

た~と

タグ

ホームページは、「HTML」という記述ルールで、Webページの元となる文書を作ります。HTMLは、「< 」と「>」で囲まれた標識を埋め込みます。

Webブラウザーで表示する文書の構造や書式、文字の飾りの指示、画像、他の文書へのリンクを埋め込むことができます。この「< 」と「>」で囲まれた標識のことを、「タグ」と呼びます。

通信プロトコル

「通信」は「情報を伝えること」、「プロトコル」は「決まりごと」と捉えておくとよいでしょう。

例えば、日本語で書かれている記事の場合、「ライターと読者は日本人なので、日本語を使う」という暗黙の了解があります。

唐突に英語を使いだしたら、肝心の情報が伝わりにくくなってしまいます。通信も同様に、相手と認識を合わせておかなくてはなりません。

データベース

データを集めて整理したものです。「Oracle」「MySQL」のような、データを入れておくシステムのことを指します。

デバイス

コンピューターにくっつける機器のことです。モニター、マウス、キーボードなどが該当します。スマートフォンに関しては、端末そのものがデバイスです。

動的ページ

ユーザーの入力や操作などにより、内容が変わるWebページのことです。簡単な例で言うと、訪問メッセージが表示されているWebページは、動的ページということです。

「ようこそ、あなたは1回目の訪問です」というメッセージの「1」の部分が、Webページへ訪れる度に数が増えていきます。

ユーザーのリクエストをプログラムが受け、プログラムがホームページのファイルを作ります。それをレスポンスとしてユーザーに渡すと、動的ページがWebブラウザーに表示されるという仕組みです。

ドメイン

ホームページのアドレスが「http://www.example.com/」の場合、「www.example.com」の部分をドメインと呼びます。

な~の

認証

文字通り、「認められていると証明する」作業のことです。一般的なやり方は、IDとパスワードを使った認証方法かと思います。

「認証を回避したログイン」は、「認証作業をかいくぐり、ログインすること」を言います。

は~ほ

パラメータ

外から渡す、結果に影響を与える値のことです。しかし、どこからを「外」とするのかは人によって捉え方が違います。

ら~ろ

ライブラリ

プログラムのパーツを集めたファイルのことです。ライブラリと処理を指名することで、簡単にプログラムを書くことができます。

ランサムウェア

「ランサムウェア」とは、データなどを引き換えに身代金を要求するプログラムのことです。

HTTPリクエスト

HTTPに関する要求のことです。「リクエスト」と呼ぶこともあります。たとえば、WebブラウザーでWebページを見たいとき、Webサーバーに「ホームページのURL」をリクエストします。

HTTPレスポンス

HTTPに関する応答のことです。「レスポンス」と呼ぶこともあります。Webブラウザーから「ホームページのURL」を受け取ったWebサーバーは、URLに当てはまるWebページを探し出し、Webブラウザーに返してあげます。

ログイン

ログインしなければ見られないホームページの場合、「認証」をして、ホームページを使える状態にします。

location.href

「JavaScript」というプログラミング言語です。指定したURLにアクセスするためのものです。

リテラル

ソースコードに書いた、文字や数字の値を表す書式のことです。たとえば、「name = “名前”」「age = 18」といった処理の場合、「名前」は文字列なので、「ダブルクォーテーション(”)」で囲みます。

「18」は数字として認識させたいので、値を囲むことはせずに、そのまま表記します。このように、値の表記は書式が決まっています。

や~よ

URLパラメータ

Webサーバーに情報を送るためのパラメータです。
【例】http://www.example.com/test_result.php?name=test&name=test001

パラメータは、URLの末尾に「?」をつけ、「パラメータ=値」の形でWebサーバーに情報を送信します。

複数のパラメータを送信したい場合は、「&」のあとに、「パラメータ=値」をつけます。