常に偵察にさらされるWebアプリケーション、脆弱性が見つかるまで守りが薄いWebアプリケーション(2)(2/2 ページ)

» 2019年10月10日 05時00分 公開
[今井雅晴@IT]
前のページへ 1|2       

脆弱性調査:ハニーポットが捉えた攻撃者のふるまい

 ここで、実際に脆弱性を調査していると思われる(攻撃者の)通信を見てみよう。筆者の所有するハニーポット(※2)で観測したデータを解説に用いる。

※2 ハニーポットとは、攻撃に関するさまざまな情報を収集するために、あえて脆弱性を持たせたシステムをいう。



MySQLの管理者ツールへのアクセス

 1つ目の例は、MySQLの管理者ツールへアクセスを試みたものだ。図3では、アクセス試行の日時とアクセス先URIのリストを示している。注目したいのが”phpmyadmin”や”phpMyadmin”という文字を含んだURIである。このphpMyAdminとはPHPで作られたMySQLサーバをWebブラウザで管理するためのクライアントツールを示す。

 phpMyAdminのインストール後のデフォルト設定では“/phpmyadmin/index.php”がログイン用のURIとなる。つまり管理ツールへのアクセスを試みていることになる。

図3 MySQL管理ツールへのアクセス例

 さらに図3の、上3つのURIに注目すると、“/phpmyadmin2/”、“/phpmyadmin3/”、“/phpmyadmin4/”という3つのURIに対して立て続けにアクセスしている。“/phpmyadmin/index.php”というデフォルト設定のURLだけでなく、設定を変更したログインURIも探っていることが予想できる。

 多くの場合、このような管理者ツールへは、インターネットからアクセスできないよう設定されているはずだが、万が一インターネットに公開されていた場合、そこからデータベースに対する自由なアクセスを許すことになってしまう。

SQLインジェクションの脆弱性

 次に挙げる例はSQLインジェクションの脆弱性を調査するようなリクエストだ。

 図4の一番下のリクエストではクエリストリング(文字列)で、shopcdというパラメーターに文字列「’ 0=A」を指定している。その他のリクエストでもクエリストリングで指定されたsekceというパラメーターに格納された文字列に特徴がある。「UNION」や「SELECT」といった文字が含まれており、明らかにデータベースを意識したリクエストで、かつMySQLを意識したものだろう。

図4 SQLインジェクションの脆弱性を調査するリクエスト例

 これは偵察行為だ。エントリーポイントとしてクエリストリングから入力される値が適切に処理されているかどうかを確認している。このリクエストに対するアプリケーションの挙動を見て、脆弱性の有無を探っていると考えられる。

 今回は、攻撃者視点から見た、情報収集から攻撃前のアプリケーションの分析まで、実態を交えて解説した。ハニーポットのログデータを通じて、一連の攻撃試行の挙動を具体的に見るとさまざまなことが分かる。利用アプリケーションを特定し、結果に応じて脆弱性の有無を探っていく、という攻撃者のとる初期段階のプロセスを理解してもらえたのではないだろうか。

 次回は、これらを踏まえて効果的なWebアプリケーション攻撃への対策について解説していこう。

筆者紹介

今井雅晴(いまい まさはる)

アカマイ・テクノロジーズ合同会社 ソリューション・エンジニア。

国内で電気・電子工学専攻の修士課程を修了後、独立系SIerでセキュリティエンジニアとして従事。大規模インシデント後のセキュリティ対応などセキュリティ面で多くの企業を支援。その後、テクニカルコンサルタントとして大手金融機関向けのセキュリティ対策の支援、CEH(Certified Ethical Hacker)プログラムのインストラクターを経て2017年から現職。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。