そのホームページ大丈夫? クロスサイト・スクリプティングって何? それは「FacebookやTwitterのようなWebサイトの投稿などを利用して他人に悪さをすること」です!
こんにちは!
IT・プログラミング関連講師の荒川栄一郎です。
本日は「ディレクトリ・トラバーサル」について記述します。
★「セキュリティ」って何?
まず「ディレクトリ・トラバーサル」についてお伝えする前に
情報セキュリティについて知る必要がありますので
「セキュリティ」の概要についてお伝えします。
インターネットには、様々なユーザが接続しています。
その中には、インターネットを利用して
虎視眈々と悪さをしようと企んでいるユーザもいます。
インターネットに接続するコンピュータを安全に利用するためには
どのような脅威があり、その対策方法などを知っておく必要があります。
セキュリティは
「安全」「防護」「保障」などの意味を持つ英単語で
ITの分野では、「情報セキュリティ」のことを指し
コンピュータを安全に利用できるようにすることです。
現在はインターネットを利用して
HP(ホームページ)を閲覧したり
FacebookやTwitterなどのSNS(Social Networking Service)で
情報のやり取りを行うことができますよね。
このようなWebシステムを利用して
●クレジットカード情報
●個人情報
●メールの内容
●ログイン情報
のような情報を簡単に取得することも可能になっていますので
Webシステムの利用者は
いろいろな脅威があることを知っておいたほうがいいと考えます。
また、Webシステムを作成する側は
利用者が安心して利用できるように考慮しなければいけません。
しかし、情報セキュリティ対策は万全だと思っていても
日々いろいろな脅威が発生し、その対策方法が講じられていることも事実です。
★ディレクトリ・トラバーサルって何?
インターネットには、様々なユーザが接続しています。
その中には、インターネットを利用して
虎視眈々と悪さをしようと企んでいるユーザもいます。
現在では
●SNS
●オンライン・ショッピング
●オンライン予約
などのWebシステムがよく利用されています。
もし、このようなWebシステムを利用して
Webサーバで利用されているファイルの内容を見ることができたら
情報漏洩やデータ流出の被害が発生するかもしれませんね。
そうすることができれば
そのWebサイトを利用している人の
●個人情報
●クレジットカード情報
などファイルに登録されている情報を取得したり
攻撃の踏み台にすることができ
いろいろ悪用することが可能になるかもしれませんね。
ディレクトリ・トラバーサルは
ファイルの中身をのぞく攻撃方法です。
ディレクトリとは
フォルダのことでファイルを収納する入れ物です。
トラバーサルとは
横断、縦走、走査、横切りなどの意味があります。
ディレクトリ・トラバーサルは
ファイルの参照の仕組みを悪用し
Webサーバの非公開ファイルにアクセスを行う攻撃手法です。
通常ファイルの内容を見たりする場合は
ファイルが収納されているフォルダ内に入ったり
ファイルが収納されているフォルダを指定して
ファイルをオープンして閲覧します。
この方法がWebブラウザから行うことができれば
Webサーバに収納されているファイルの中身をのぞくことが可能になります。
それではどのような手法を用いて
ディレクトリ・トラバーサルという攻撃を仕掛けてくるのでしょうか?
Webシステムには
●Webブラウザからファイルを添付して送信するシステム
●Webブラウザからファイル名を入力してファイルの内容を表示するシステム
のような類のものがあります。
Webブラウザのファイル名を入力する部分から
ファイル名を入力して該当ファイルがあれば
そのファイルの内容が表示できれるWebシステムで
もし適当なファイル名を入力して、仮にそのファイルが存在した場合
そのファイルの内容が表示されたらどうでしょうか?
そのファイルが重症機密ファイルだったとしたらどうでしょうか?
ディレクトリ・トラバーサルは
非常に大変なことが起こる可能性を秘めています。
ディレクトリ・トラバーサルにより発生する可能性がある脅威は
●Webサーバ内のファイルの閲覧、改ざん、削除
●個人情報の漏洩
●企業情報の漏洩
●システムを乗っ取る
などがあります。
このようにファイルの参照の仕組みを悪用し
Webサーバの非公開ファイルにアクセスを行う攻撃手法を
「ディレクトリ・トラバーサル」と呼びます。
システム開発側はこのようなシステムを作ると
利用者からクレームがくるでしょうし
多額な賠償請求を迫られる可能性もあるかもしれません。
システム開発側は
必ずディレクトリ・トラバーサル対策を施さなければ
利用者が安心して利用できません。
ディレクトリ・トラバーサル対策は
(1)Webブラウザでファイル名を直接入力させない。
(2)オープンするファイルは固定のフォルダに入れておく。
(3)第三者にアクセスできない設定にしておく。
(4)攻撃を検知できる仕組みを導入する。
(5)WAFを利用する。
などの方法があります。
(1)Webブラウザでファイル名を直接入力させない。
ディレクトリ・トラバーサルの原因の多くは
ファイル名を直接入力させることです。
もし入力したファイルが存在した場合
そのファイルの内容をWebブラウザの画面に表示することが可能になってしまいます。
もしファイルを開くプログラムを作成する場合
オープンするファイルをラジオボタンなどで選択させるようにすることで
防ぐことができます。
このような機能のWebシステムを構築することにより
ディレクトリ・トラバーサルを回避することができます。
(2)オープンするファイルは固定のフォルダに入れておく。
ファイル名だけでオープンできてしまうことに問題があります。
オープン対象となるファイルは
ある固定のフォルダに入れておくことで
フォルダ名とファイル名が一致しないとオープンできないようにし
ファイルがオープンできる可能性を減らせることができ
ディレクトリ・トラバーサルを回避することができます。
(3)第三者にアクセスできない設定にしておく。
誰にでもファイルにアクセスさせることに問題があります。
ファイルには下記に対してアクセス権を設定できます。
●所有ユーザ
●所有グループ
●第三者
第三者にはアクセスできない設定にすることにより
ディレクトリ・トラバーサルを回避することができます。
(4)攻撃を検知できる仕組みを導入する。
ディレクトリトラバーサルの被害を未然に防ぐため
各種攻撃に対する検知システムを導入する方法もあります。
そのような検知システムには
●IDS
●IPS
があります。
IDSとは
「Intrusion Detection System」の略語で
「侵入検知システム」という意味です。
もう少し簡単に言うと
コンピュータ世界の防犯カメラのようなものです。
IPSとは
「Intrusion Prevention System」の略語で
「侵入防止システム」という意味です。
もう少し簡単に言うと
コンピュータ世界の警備員のようなものです。
このようなシステムにより
サーバや外部ネットワークとの通信の監視・検知を行うことで
ディレクトリ・トラバーサルを回避することができます。
(5)WAFを利用する。
「WAF」とは
「Web Application Firewall」の略語で
Webシステムの脆弱性を突いた攻撃へ対するセキュリティ対策のひとつです。
WAFはWebシステムに対する外部からの攻撃を防御します。
この攻撃の中にはディレクトリ・トラバーサルなどの
不正ファイル名攻撃も対象として含んでおり
画面への入力値などをWAFによってチェックすることができます。
不正な入力が発見された場合には
Webシステムへ入力を渡さずに処理を遮断するなど
未然に被害を防ぐことが可能です。
WAFを導入することにより
ディレクトリ・トラバーサルを回避することができます。
Webサイトには様々な脅威が潜んでいますので
常に最悪の事態も想定したりして
対策方法を考慮することが大切だと考えます。
Webサイトを構築する側の人は
Webサイトの利用者が安心して利用できるシステムを作成するように
心掛けなければいけません。
Webサイトを利用する側も
インターネットを利用するシステムには
様々な脅威が潜んでいることを頭に入れておかなければいけません。
ネット社会では
企業だけでなく個人にとっても脅威が潜んでいます。
セキュリティ対策は
しっかりと行う必要がありますね。
★ディレクトリ・トラバーサルのまとめ
ディレクトリ・トラバーサルって
難しいと思われている方も多々いると思いますが
ファイルの中身をのぞく攻撃方法です。
セキュリティ対策という言葉を聞いたことがある方は非常に多いと思いますし
セキュリティを意識している人も非常に多いと思います。
ディレクトリ・トラバーサルは
今やPCやスマートフォンでインターネットを利用する上で
潜んでいる脅威だと考えますが
明確に内容や仕組みを理解している人は少ないと思います。
ただディレクトリ・トラバーサルというものは
●ファイルの中身をのぞく攻撃方法
●Webサイトの作る側も利用する側も考えなければいけないこと
ということだけでも
このコラムを通じて理解していただけましたら幸いに思います。
ディレクトリ・トラバーサルは
ファイルの中身をのぞく攻撃方法です。
もしディレクトリ・トラバーサルに興味を持たれたら
少しずつ勉強してみてはいかがでしょうか?
ユーザとしては知る必要がありませんが
少しずつ覚えていくことで、点が線で繋がることも多々あります。
そうなると結構楽しくなるかもしれません。
これからIT業界を目指している人には
知っておいてほしい知識だと思いますが
少しずつ勉強していってほしいと思います。
★ディレクトリ・トラバーサルについて学ぶ方法は
ディレクトリ・トラバーサルについては
新入社員研修やIT・プログラミング関連の研修で
学ぶことができるようになっています。
【IT・プログラミング研修】
●「Java(Webアプリ開発)」の詳細情報
https://itlaboj.com/courses/java_training/java_web/
●「Java(Webアプリ開発 - Spring Framework -)」の詳細情報
https://itlaboj.com/courses/java_training/java_spring/
●「Python(Webアプリ開発)」の詳細情報
https://itlaboj.com/courses/python_training/python_web/
●「PHP(Webアプリ開発)」の詳細情報
https://itlaboj.com/courses/php_training/php_web/
●「C#(Webアプリ開発)」の詳細情報
https://itlaboj.com/courses/cs_training/cs_web/
●「ネットワーク基礎」の詳細情報
https://itlaboj.com/courses/it_training/network_kiso/
★「ディレクトリ・トラバーサル」習得に必要なもの
ディレクトリ・トラバーサルの内容は基本的に座学になりますが
Webアプリケーションの知識や構築方法を学んだ後に行う内容ですので
それぞれのプログラミング言語のセットアップなどが必要になります。
また、このコースは
リアルでもオンラインでも受講することが可能です。
オンラインで受講される人は
「Zoom」が利用できる環境があればいいと考えます。
このコースはシステム開発に直結する話ではあり
SEやプログラマになるための必要な内容になります。
みんなが楽しみながらWebサイトの脅威・対策方法の知識を習得してほしいと思いますし
将来のIT技術者を研修や動画コンテンツを通じて
育成していきたいと考えています。
私は日本全国に多くのIT技術者を育成できる研修を目指していきたいです。
そして一人でも多くの受講者に受講してもらい理解してもらえる研修を行いたいと思っています。