検索
連載

狙われるWebアプリケーション、何が起こるのか守りが薄いWebアプリケーション(1)(1/2 ページ)

当連載ではWebアプリケーションのセキュリティがどのような状況にあり、どのような攻撃や防御策があるのかを紹介していく。第1回はWebアプリケーションがどのように狙われているのか、概要を紹介する。Webアプリケーションに向けた攻撃は数多く、規模も大きい。主に4つの部分が攻撃にさらされており、被害の内容は異なる。

Share
Tweet
LINE
Hatena
「守りが薄いWebアプリケーション」のインデックス

連載:守りが薄いWebアプリケーション

Webベースのアプリケーションの広がりが被害の数に表れている

 Webのサイバーセキュリティ対策と聞くと何を思い浮かべるだろうか?

 企業のWebサイトからの個人情報の漏えいや、DDoS(Distributed Denial of Service Attack)によるサービス停止をイメージされる方も多いだろう。だが今日、Webをベースとするシステムはオンラインショップや金融取引、企業間の受発注などのブラウザベースのWebアプリケーションにはとどまらない。

 例えばスマートフォンのアプリやIoTデバイスでも、HTTP/HTTPSなどのWebのプロトコル(通信手順)を利用してサービスを提供している。これらを支えるWebサーバが停止したり、サービスから情報が漏えいしたりしたケースを考えれば、いかに現代社会に大きなインパクトをもたらすか、想像できると思う。

 実際、国内でも日々Webからの情報漏えいのニュースが報じられている。JPCERTコーディネーションセンター(JPCERT/CC)が発表した「インシデント報告対応レポート 2018年7月1日〜9月30日」によると、期間中のWebサイト改ざんの報告は226件だった。対策が進んだ標的型マルウェアによる攻撃(7件)と比べ30倍以上の件数である。Webセキュリティが重要だという認識が遅れているために、今やあたかも薄氷の上でさまざまなインターネット上のシステムが動いている状態になってはいないだろうか?

 本連載では、変化を続ける最新のWebへの攻撃手法と対策を踏まえた上で、いま一度、Webセキュリティについて基本から見直していきたい。

ハニーポットが捉えた月間1000万件の攻撃

 具体的な話に入る前に、インターネット上のWebサービスにどんなサイバー攻撃が実際に来ているのか、筆者が所有するハニーポットが捉えたデータをまず見てもらいたい(※1)。

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



図1 ハニーポットによって可視化されたサイバー攻撃

 このハニーポットは個人的に所有、運用しているもので、IPアドレスをどこかに公開したり、ドメイン名を持たせたりしているものではない。にもかかわらず、世界中から攻撃や、攻撃を行うための事前の情報収集を意図したトラフィックを大量に観測している。1カ月間で捉えたこれらのアクセスの件数は1000万件以上(1分間当たり230件以上)に上る。

 ハニーポットを構築してインターネットに接続した瞬間に大量の攻撃トラフィックを検知したことは今でも鮮明に覚えている。企業が運用するWebサーバや、企業の委託を受けて運用されているWebサーバに対して、何が起こっているのかは想像に難くない。

 このようにインターネット上のサーバは常に危険にさらされている。DNSなどで存在を告知しておらず、IPアドレスを付けただけのサーバに対してさえ、この状態である。企業サイトなど公開されたサーバやアプリケーションに対しては、この何倍もの攻撃トラフィックが来ているといってよいだろう。インターネットにはクリーンではないトラフィックが常にまん延していることを、まずは認識していただきたい。

Webアプリケーション実行時、「4つの部分」が幅広い攻撃にさらされる

 歴史を振り返ると、Webは1台のWebサーバ上に静的なHTMLページのコンテンツを置いただけの時代から始まっている。だが、今やWebサーバを構成する複数のソフトウェアコンポーネントが複雑に絡み合って、動的なWebページを生成しているサイトが主流を占めている。新しい技術を投入して、リッチなUI/UXが提供できるようになると、副作用も生じた。攻撃の対象となり得る領域(アタックサーフェス)が増えるのだ。攻撃者の付け入る隙が多くなるほど、脅威やリスクが増加する。

 このことを、「Webサーバの背後にあるデータベースから情報を引き出してページに表示する」という一般的なWebアプリケーションの一連の動きを追って説明してみよう。

  1. まずクライアント(Webブラウザ)が「Apache HTTP Server」などのWebサーバにリクエストを送信する
  2. Webサーバがそのリクエストを受け付ける
  3. Webサーバと連動して動く「Apache Tomcat」「Apache Struts 2」などのアプリケーションサーバがWebサーバの受けたリクエストを読み込み、アプリケーションロジックを実行する(リクエストの内容に応じてデータベースを読み出し、書き込む)
  4. アプリケーションサーバがレスポンスを生成し、Webサーバを経由させてクライアント(Webブラウザ)へレスポンスを返す
  5. クライアント(Webブラウザ)がコンテンツを受信し、HTML/CSSを読み込み、ページをレンダリングする
  6. JavaScript(JS)を実行し、追加のページレンダリングを行う
  7. ユーザーがレンダリングされたページを閲覧する

図2 Webアプリケーション実行の流れと攻撃対象となり得る領域

 実行される処理は、クライアントサイド(Webブラウザ側)とサーバサイドに大きく二分できる。Webアプリケーションに対する攻撃も、クライアント側を狙うものとサーバ側を狙うものに分類でき、攻撃の目的や被害も異なる。

 このWebアプリケーションを実行するコンポーネントの中で、攻撃の対象になり得るのは、「Webサーバ」「アプリケーションのロジック」「データベース」「Webブラウザ(クライアント)」の全てである。特にアプリケーションのロジックは、Webサイトやアプリケーションに合わせて、作成するサービスやプログラムの内容が異なるため、それぞれの脆弱性は固有のものになる場合が多い。これもWebアプリケーションのセキュリティ対策を難しくしている要因の一つである。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ

Security & Trust 記事ランキング

  1. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
  2. 日本人の約半数が「1年前より危険」と考えるオンライン詐欺とは マカフィーがホリデーショッピング詐欺に関して調査
  3. Google Cloudがサイバーフィジカルシステムのレジリエンスを高める10の指標を解説 最初にすべきことは?
  4. ランサムウェア攻撃を受けた企業、約6割が「サプライチェーンのパートナー経由で影響を受けた」 OpenText調査
  5. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  6. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  7. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  8. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  9. 長続きする高度セキュリティ人材育成の秘訣を「第19回情報危機管理コンテスト」から探る
  10. MicrosoftがAD認証情報を盗むサイバー攻撃「Kerberoasting」を警告 検知/防御方法は?
ページトップに戻る