Webエンジニア必修!アプリケーションの脆弱性への対策、あなたはどうやって防ぐ?

「運営しているサービスへの攻撃をどうやって防ぐか」このテーマに多くのエンジニアが頭を悩ませています。今回は代表的な攻撃手法とその防御策を知り、セキュリティに関する基礎を身につけていきましょう。

Webアプリケーションにおける脆弱性とは?

『インターネット上に公開されている全てのアプリケーションは攻撃者の標的になる可能性がある。』

これは、Webアプリケーションに携わる全てのエンジニアが肝に銘じておかなければいけない問題です。
不正アクセス被害に対応するために設立された情報提供機関、JPCERT/CC(ジェーピーサートシーシー)が公開している「JPCERT/CCセキュリティインシデント年表 (https://www.jpcert.or.jp/magazine/chronology/)」を見ると、1990年代から現在にかけて、セキュリティインシデントが増加傾向にあることがはっきりと見て取れます。

20151225_11

なぜWebアプリケーションはこれほどまでに攻撃を受けやすいのでしょうか?
それは、「ユーザからの入力を受け付け、その情報を元に応答内容を決定する」という特性をアプリが持っているためです。
入力値はいつでも正常な値ばかりとは限りません。アプリの誤動作を引き起こそうと、悪意のあるユーザが不正なデータやプログラムのソースコードなどを入力してくることもあります。そして、特別な対策を講じていない場合、アプリは容易にこの攻撃を受け付けてしまいます。この「ある攻撃に対して弱点を持っている」という状態が、Webアプリケーションにおける「脆弱性」と呼ばれるものです。

代表的な攻撃手法

それでは、具体的にはどのような攻撃手法があるのでしょうか?代表的なものとして、以下の表のようなものが挙げられます。

20151225_22

今回はこの中からXSS、SQLインジェクション、CSRFの3つをピックアップし、その攻撃手法と防御策を見ていくこととします。

次のページ:3つそれぞれの攻撃手法と防御策とは?

 

この記事を書いた人

ぞの

Webアプリケーションエンジニアとして様々な現場に参画し、多種多様な言語を習得。 エンジニアとしての強みは汎用性の高さと、メンバーとコミュニケーションを取り合いながら円滑に案件を進められること。 趣味は音楽と将棋。Ruby愛好家。

関連する記事

facebook

案件情報や最新記事をお届けします。
ぜひチェックしてみてください。

geechs

ChatBot

《1分で登録できる!》
Facebook Messengerを使って
最新記事を受け取れます。

利用する