気ままに気ままのエンジニアブログ

定期的に得た知見を気ままに発信中

サイバー攻撃から身を守るWebアプリケーションのセキュリティーとは?

こんにちは。

最近やることが多く、サボりぎみでした...お久しぶりです。

どうもハチマキです。

はじめに

一定レベルの開発を早く出来るようにならねば...と突っ走っていたエンジニア当初。
だいぶ開発慣れしてきて、そろそろセキュリティーの勉強をしよう!と思い立った現在。

というわけで、今まで全然触れてこなかったセキュリティーに関して、これを機に色々調べながら知識習得を行っていこうというわけです。

今回は、サイバー攻撃の動向や種類、そして具体的な攻撃の影響や対策などについて、まとめていこうと思います。

目次

サイバー攻撃の動向

IPAが発表している「情報セキュリティ10大脅威」サイバー攻撃の被害数ランキングをみていきます。

2013年は、クライアントソフトウェアの脆弱性を突いた攻撃がランキング第1位、2014年には標的型メールを用いた組織へのスパイ・諜報(ちょうほう)活動、2015年にはインターネットバンキングやクレジットカード情報の不正利用が第1位でした。

2020年はというと、以下順位となっております。

・個人

1位:スマホ決済の不正利用
2位:フィッシングによる個人情報の詐取
3位:クレジットカード情報の不正利用

・法人

1位:標的型攻撃による機密情報の窃取
2位:内部不正による情報漏えい
3位:ビジネスメール詐欺による金銭被害

似たり寄ったりな気もしますが、上記のようにサイバー攻撃の順位は年々変動していることがわかります。これはサイバー攻撃の目的や攻撃手法の巧妙化が進むことが背景にあり、さらにセキュリティー上の脅威は、年々増大傾向にあります。

増大する背景には、テクノロジーの普及が関係し、テクノロジーの普及と相まって、サイバー攻撃は増大していくわけです。数あるサイバー攻撃を防ぐためには、セキュリティー脅威は知り、攻撃に適した対策を行うことが現代は必要不可欠であるということです。

情報セキュリティ10大脅威 2020:IPA 独立行政法人 情報処理推進機構

Webアプリケーションは何を守るべきなのか?

ここからが今回の本題とも言える「Webアプリケーションが守るべきセキュリティーとは何か」についてです。

私が購読した「プロになるためのWeb技術入門」には、Webアプリケーションを含む情報システムにおいて守るべき情報セキュリティは、以下3つであると述べられておりました。

1. 第三者への情報の流出を防ぐこと(機密性)

クレジットカード情報や顧客情報が第三者へ流出し悪用される(*最も問題になりやすいセキュリティリスク)

何が問題なのか?

  • 流出した情報の持ち主である顧客への被害
  • そのシステムを運用する企業にとっての信頼失墜
  • 会社の経営に大きな影響を与える可能性がある
2. 第三者による情報の改ざんを防ぐこと(完全性)

銀行口座残高やショッピングポイントの不正変更
三者の改ざんによって意図しない情報を発信させる
ウイルスなどを感染させる不正サイトに誘導させる

何が問題なのか?

  • 情報改ざんにより、本来の利用者やシステム運用する企業に不利益を与える
3. 適切な権限を持った人間が適切な情報を利用できること(可用性)

情報改ざんにより、サーバが不正に操作され、本来提供すべき情報やサービスを利用できなくなる

何が問題なのか?

  • 提供先が顧客であれば、社会的信頼の喪失や賠償問題
  • 自社システムであれば、システム利用ができず業務遂行が困難になる
見解

私自身が考えるWebアプリケーションは何を守るべきなのか?については、資産を守ることだと考えました。
情報セキュリティーリスクは、「脅威」が「脆弱性」を利用して資産を脅かすことから、やはり守るべきものは資産であると色々調べて至りました。

また別問題として挙げられていたことは、「何を守る必要があるのか = 資産」をそもそもわかっていないことが根本としてあるみたいです。ですので、まず「何を守るべきか」を洗い出し、資産とは何か?を定義することから始める必要があるなと感じました。

そして次のステップで、定義した資産を守るためにセキュリティー対策を考え、実際に投じていく必要がありますね。

サイバー攻撃とセキュリティー対策

セキュリティー対策には、「Webアプリケーションのセキュリティ対策」、「Webサーバのセキュリティ対策」、「ネットワークのセキュリティ対策」など、様々な問題に対する各種対策が存在しています。

その中で、いくつかサイバー攻撃をピックアップし、特徴や影響、対策などを、下記にまとめていきたいと思います。

■標的型攻撃

大枠の特徴は、「明確な目的を持って特定のターゲット(個人や組織)」を狙うサイバー攻撃です。攻撃対象への嫌がらせ、機密情報の盗み取り、金銭的利益などを目的としており、大きく3つの攻撃に分類されます。

1. 標的型攻撃メール

メールに「不正プログラムが組み込まれた添付ファイル」や「不正サイトへアクセスするためのリンク」を展開させ、対象端末を不正プログラムに感染させるサイバー攻撃です。

標的型攻撃と気づかず添付ファイルを実行してしまったり、リンクをクリックしてしまうと、端末がマルウェアに感染し、そこから被害が急速に広がります。

2. 水飲み場攻撃

ターゲットが日常的に閲覧するWebサイトを改ざんし、不正プログラムを仕掛けるサイバー攻撃です。

ターゲットにとっては、日常閲覧しているWebサイトのため、信頼性が高くあります。そのWebサイトを利用し、「組み込んだ不正プログラムにアクセスさせる」ことで、ユーザー端末にマルウェア感染や内部ネットワーク通信をされることにより、被害が広がっていきます。

3. 潜伏型と速攻型

標的型攻撃における内部攻撃です。
潜伏型は企業内のネットワークに長期間潜伏し、機密情報を搾取することを目的としたタイプの標的型攻撃で、一方速攻型は、数時間から一日程度で、情報を盗み出す攻撃を指します。

標的型攻撃の対策

万事未然に防ぐことは不可能に近いことを理解する必要があり、侵入を前提とした対策(侵入の早期発見・迅速な対応)が有効な対策となります。

入口対策


出口対策

  • ウイルス感染による外部への不審な通信を見つけて遮断する
  • ログを日常的に取得し、異常な通信を見つけるために定期的にチェックする
  • 万が一データが流出してしまっても、情報にアクセスできないようデータを暗号化しておく


内部対策

  • メールを受信する社員・従業員への教育
  • LANシステム側でヘッダや本文に注意を促す文言を挿入してから配送する

標的型攻撃への対策|情報管理担当者の情報セキュリティ対策|企業・組織の対策|国民のための情報セキュリティサイト
標的型攻撃とは?基本的な仕組みと対策方法 | DAiKO+PLUS(プラス)

脆弱性を突く攻撃

プログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の欠陥を狙ったサイバー攻撃です。修正プログラムを提供するまでの間に、その脆弱性を狙ってきます。

バッファオーバーフロー

攻撃対象のコンピュータに許容量以上のデータを送りつけ、誤作動を起こさせるサイバー攻撃です。

原因

  • OSやアプリケーションの脆弱性(メモリ領域に本来想定している情報量以上の値が入力された結果、リターンアドレスなどの致命的な部分を上書きしてしまう)

影響

  • 本来想定している値よりもずっと大きな値を変数部分に入力することで、処理しきれなくなった情報を溢れさせ(オーバーフロー)、他のサイバー攻撃の踏台にされたり、乗っ取りが行ったりする

対策

  • ユーザ側
    • セキュリティソフトを最新にする
    • 修正パッチの導入
  • 開発者側 *ポイント:脆弱性を担保し、未然にオーバーフローを防ぐことが重要
    • コード記述時の対策
    • コードの静的検査
    • デバッグ

バッファオーバーフローとは?攻撃・対策方法とDoS攻撃との違いを解説|サイバーセキュリティ.com

クロスサイトスクリプティング

Webアプリケーションの脆弱性を利用して、悪意のあるデータを埋め込み、スクリプトを実行させるサイバー攻撃です。
動的サイト(例:TwitterなどのSNS掲示板等)に対して、自身が制作した不正なスクリプトを挿入することにより起こります。

原因

影響

対策

  • ユーザ側
    • 最新のブラウザにアップデートする
    • スクリプトの実行設定を無効化する
    • セキュリティソフトを導入し、不正なスクリプトをブロックする
  • 開発者側
    • エンドポイントへの総合的なセキュリティソフトの導入
    • 不正なサイトへの誘導と思われるメールをブロックする
    • ネットワーク内部から不正サイトへのアクセスをブロックする

クロスサイトスクリプティングとは?仕組みと事例から考える対策|サイバーセキュリティ.com

SQLインジェクション

アプリケーションの脆弱性を突き、本来意図しない不当なSQL文が実行(不正なプログラムが注入)されることで、データベースのデータを不正に操作するサイバー攻撃

原因

  • WEBアプリケーションが不正アクセスの意図があると知らず、外部から送信されたSQL文章を誤解してしまう

影響

  • データーベースに記録されている情報の流出(情報漏えい)
  • WEBサイトの改ざんによる多種多様な被害
  • システムへ不正ログインや乗っ取り

対策 *ポイント:脆弱性の原因を作らない実装

SQLインジェクションとは?種類・感染原因と対策を徹底解説|サイバーセキュリティ.com

不正アクセス

IDとパスワードの使いまわしが狙われるサイバー攻撃

パスワードリスト攻撃

あらかじめ入手し、リスト化したID・パスワードを利用して、正規ルート(利用者のアカウント)から不正アクセスを試みるサイバー攻撃

利用者は同じID・パスワードの組み合わせを複数のサイトで使用する傾向が強いため、パスワードリスト攻撃の成功率は高くなっている状況がある。

原因

  • 複数のサイトで同じパスワードを利用している
  • ユーザーのセキュリティリテラシーの低さ

影響

  • 該当アカウントを乗っ取り(本人になりかわって様々な行動が可能になる)

対策 *ポイント:ユーザー側の対策

  • 他社ログインパスワードを使いまわさない
  • 紙のメモを利用する
  • 電子ファイル(パスワード付き)
  • パスワード管理ソフトを利用する

パスワードリスト攻撃とは?被害の原因と対策方法|サイバーセキュリティ.com

ブルートフォース攻撃

ユーザのアカウント・パスワードを解読するため、考えられる全てのパターンを試す方法で、文字通り総当たりのサイバー攻撃

原因

  • 特にない

影響

  • 金銭的な被害
  • 個人情報などの情報が漏洩
  • Webサイト改ざん、SNSの不正利用

対策 *ポイント:解読不可能に近いパスワードを作成する

  • 8桁以上のパスワードを設定する
  • ログインロックを設定する
  • 2要素認証を設定する

ブルートフォースアタック(総当たり攻撃)とは?そのやり方・実際にかかる時間・対策方法は?|サイバーセキュリティ.com

DoS攻撃 / DDoS攻撃

複数に分散した攻撃用マシンから公開サーバーに一斉かつ意図的に負荷をかけ、サーバをダウンさせるサイバー攻撃
DoS攻撃:一つのパソコンから攻撃
DDoS攻撃:複数のコンピューターから一斉に攻撃

原因

  • 複数コンピューターから一斉に、公開サーバーへ意図的に負荷をかけられること

影響

  • ウェブサイトへのアクセスができない、ネットワークの遅延が起こる(サーバーやネットワーク機器などに対して大きな負荷がかかるため)
  • 対象とされた企業や組織では、金銭面だけでなく信用面でも大きなダメージを被る

対策

  • 攻撃元のIPアドレスを特定して、そのIPアドレスからのアクセスを遮断すること(*Dosに限る)
  • 海外からのアクセスを遮断する(アクセスを国内だけに絞る)
  • DDoS攻撃対策ツールの導入
  • 被害の拡大を防ぐネットワーク監視システムの導入

DDoS攻撃とは? 意味と読み方、対策方法 | NTTコミュニケーションズ 法人のお客さま

以上

最後に

今回は、サイバー攻撃についてまとめてみました。
私自身、直接サイバー攻撃に出くわしたことがありませんが、ふと短な所にサイバー攻撃は潜んでいることを今回知ることができました。

それとやはり世にアプリケーションを出している身からすると、セキュリティー面もしっかり考えられるエンジニアにならんといけないなと思った次第です。

まずは書籍から目を通して、知識習得を行なっていこうと思います。