スクリプト

« Back to Glossary Index

( 1 ) スクリプトとは?

スクリプトとは、元々、原稿や台本、脚本などを意味する英単語のことです。IT分野では、簡易的なプログラムを指します。
通常、コンピュータへの命令を行う場合は、プログラミング言語で書かれたコード(※1)を、機械語にコンパイル(変換)する必要があります。スクリプトはコンパイルを行わずに命令を実行できる言語で、「スクリプト言語」とも呼ばれます。ほかの言語よりも理解しやすく、比較的容易にプログラムを作成することができます。

●スクリプトの特徴

スクリプトは先にも挙げた通り、コンパイルを必要としないため実行が容易にできます。開発やデバック(バグの修正)も行いやすいので、効率よく開発が可能です。ただし、実行できる機能に制限があるため、小規模なプログラムに用いられることがほとんどです。また、スクリプトは一行ごとに処理を行うため、実行速度が遅くなる傾向があります。

※1 コード:コンピュータに識別もしくは実行させるための命令を記述したデータ(ファイル)を指す。

( 2 ) スクリプトの種類

スクリプトは使用目的によって種類があり、使い分ける必要があります。代表的なものを4つ紹介します。

●JavaScript/ジャバスクリプト

Webサイトの作成に用いられます。Web上でプログラムを実行させ、アニメーションなどの動的な機能を実現します。

●Python/パイソン

コードの可読性と汎用性に優れています。数値計算ライブラリ(※2)が豊富で、近年はAI開発にも用いられています。

●PHP/ピーエイチピー

主にWebアプリケーションなどの開発に用いられます。オープンソース(※3)の汎用言語として世界中で利用されています。

●Ruby/ルビー

日本人によって開発されており、日本語で理解しやすい特徴があります。Webやスマホアプリなどの開発に利用されています。

※2 ライブラリ:利用頻度の高い機能をまとめたもので、用意された機能を呼び出して利用できるため、開発効率が向上する。
※3 オープンソース:ソフトウェアなどを構成するプログラムである「ソースコード」を無償で一般公開されたものを指す。誰もが変更や機能追加、再配布などが可能。

( 3 ) スクリプトを悪用した攻撃の例

Webサイトに悪意のあるスクリプトを埋め込むなどの手法を用いるサイバー攻撃の一つに「クロスサイトスクリプティング」があります。Webサイトの脆弱性を突いて罠を仕掛け、ユーザーの個人情報の窃取などを行います。
罠を仕掛けたサイトから別のサイトに誘導して(クロスして)攻撃することから、クロスサイトスクリプティングと呼ばれています。古くから使用されている手法で、現在でも多くの被害が報告されています。

例えば、ECサイトの個人情報入力画面、掲示板やアンケートサイトなどにスクリプトを埋め込んだ罠が仕掛けられることが多く、このWebサイトをユーザーが閲覧したり、リンクをクリックしたりすると、脆弱性のあるサイトに誘導されます。
ブラウザ上でのスクリプト実行によって、個人情報や保存されているCookie情報の窃取、SNSアカウントの乗っ取り、マルウェア感染など、さまざまな被害を受ける危険性があります。

( 4 ) スクリプトを悪用した攻撃への対策方法

スクリプトを悪用した攻撃の対策は、以下の5つがあります。

●スクリプトの無害化

「サニタイジング」と呼ばれる対策で、攻撃に使用される危険な文字を無害なものに置き換えます。これにより、スクリプトの意図しない動きを防ぎます。

●入力値の制限

不正なスクリプトの埋め込みを防ぐため、入力値に制限を設けます。パスワード入力欄は半角英数8文字まで、電話番号や郵便番号の入力欄は数字のみに制限するなどです。

●特定のURLのみを許可

不正なスクリプトを実行できないようにURLの出力を制限するよう設定します。「http」および「https」から始まるURLのみ出力を許可し、ほかのスクリプトは拒否します。

●動作環境を最新に保つ

動作環境を常に最新の状態にしておきます。ブラウザやサーバー、ソフトウェアなどを定期的にアップデートして最新の状態に保ち、脆弱性を解消しましょう。

●WAFの設置

Webアプリケーションのセキュリティを強化するWAF(Web Application Firewall)を導入することで、不正なアクセスや攻撃を検知・ブロックできます。

« Back to Glossary Index