インターネット上のすべてのWebサイトは、セキュリティ攻撃に対していくらか脆弱性があります。 その脅威は、人為的なミスから、組織的なサイバー犯罪者による巧妙な攻撃まで、さまざまです。
Verizon による Data Breach Investigations Report によると、サイバー攻撃者の主な動機は金銭的なものです。 e コマース プロジェクトを運営していても、シンプルな中小企業の Web サイトを運営していても、潜在的な攻撃のリスクは存在します。
自分が直面していることを知ることは、これまで以上に重要です。 Web サイトに対する悪意のある攻撃にはそれぞれ特徴があり、さまざまな種類の攻撃が出回っているため、そのすべてから身を守るのは不可能に思えるかもしれません。 それでも、これらの攻撃から Web サイトを保護し、悪意のあるハッカーがあなたの Web サイトを狙うリスクを軽減するために、多くのことを行うことができます。
ここでは、インターネット上で最も頻繁に起こっている 10 のサイバー攻撃について詳しく見て、それらからあなたの Web サイトを保護する方法について説明します。
The 10 Most Common Website Security Attacks
Cross-Site Scripting (XSS)
Precise Security の最近の調査では、XSS 攻撃は最も一般的なサイバー攻撃で、すべての攻撃の約 40% を占めていることが判明しています。 最も頻度が高いとはいえ、これらの攻撃のほとんどはあまり洗練されておらず、素人のサイバー犯罪者が他人が作成したスクリプトを使って実行しています。
クロスサイトスクリプティングは、Web アプリケーション自体ではなく、サイトのユーザーを標的としています。 悪意のあるハッカーは、脆弱なウェブサイトにコードの一部を挿入し、それをウェブサイトの訪問者が実行します。 このコードは、ユーザーのアカウントを侵害したり、トロイの木馬を起動したり、Web サイトのコンテンツを変更してユーザーを騙して個人情報を提供させたりします。
Webアプリケーションファイアウォール (WAF) を設定すると、XSS攻撃からWebサイトを保護することができます。 WAF は、Web サイトへの悪意のあるリクエストを識別してブロックするフィルタとして機能します。
インジェクション攻撃
The Open Web Application Security Project (OWASP) は、最新のトップ 10 リサーチで、Web サイトに対する最も高いリスク要因としてインジェクションの欠陥を挙げました。 このカテゴリでは、SQL インジェクション手法がサイバー犯罪者に最もよく使用されています。
インジェクション攻撃手法は、Web サイトとサーバーのデータベースを直接ターゲットにします。 実行されると、攻撃者は、隠されたデータやユーザー入力を明らかにし、データの修正を可能にし、一般にアプリケーションを危険にさらすコードの一部を挿入します。
インジェクションベースの攻撃から Web サイトを保護するには、主にコードベースをどれだけうまく構築したかにかかっています。 たとえば、SQL インジェクションのリスクを軽減する第一の方法は、他の方法と同様、利用可能な場合は常にパラメータ化されたステートメントを使用することです。 さらに、サードパーティの認証ワークフローを使用して、データベース保護をアウトソースすることも検討できます。
Fuzzing (or Fuzz Testing)
開発者は、ソフトウェア、オペレーティング システムまたはネットワークにおけるコーディング エラーやセキュリティの抜け穴を見つけるために、ファズ テストを使用します。 しかし、攻撃者は同じ手法でサイトやサーバーの脆弱性を見つけることができます。
これは、最初にアプリケーションに大量のランダム データ(ファズ)を入力し、クラッシュさせることで機能します。 次のステップでは、ファザーソフトウェアツールを使用して弱点を特定します。 ターゲットのセキュリティに抜け穴があれば、攻撃者はさらにそれを突くことができます。
ファジング攻撃に対抗する最善の方法は、セキュリティやその他のアプリケーションを常に更新しておくことです。 特に、アップデートをまだ行っていない場合に、犯人が悪用できるようなセキュリティ パッチが出た場合はそうです。
ゼロデイ攻撃
ゼロデイ攻撃はファジング攻撃の延長ですが、弱点の特定そのものは必要ではありません。 このタイプの攻撃の最も最近のケースは、Google の研究によって特定されたもので、Windows および Chrome ソフトウェアにおける潜在的なゼロデイ エクスプロイトを特定しました。
悪意のあるハッカーがゼロデイ攻撃からどのように利益を得ることができるかについては、2 つのシナリオがあります。 最初のケースは、攻撃者が今後のセキュリティ アップデートに関する情報を得ることができれば、アップデートが公開される前に抜け穴がどこにあるのかを知ることができることです。 2つ目のシナリオは、サイバー犯罪者がパッチ情報を入手し、まだシステムを更新していないユーザーをターゲットにする場合です。 どちらの場合も、セキュリティは侵害され、その後の被害は犯人のスキルに依存します。
ゼロデイ攻撃から自分とサイトを守る最も簡単な方法は、出版社が新しいバージョンの公開を促したら、すぐにソフトウェアを更新することです。
パス (またはディレクトリ) トラバーサル
パス トラバーサル攻撃は、前述のハッキング手法ほど一般的ではありませんが、あらゆる Web アプリケーションに対するかなりの脅威であることに変わりありません。 攻撃者は、サーバーディレクトリ内の移動パターンを注入して、階層を上に移動しようとします。 パストラバーサルに成功すると、サイトのアクセス、設定ファイル、データベース、および同じ物理サーバー上の他の Web サイトやファイルを危険にさらすことができます。
パストラバーサル攻撃からサイトを保護するには、入力サニタイズに起因しています。 これは、ユーザーの入力を安全に保ち、サーバーから回復できないようにすることを意味します。 ここで最も簡単な提案は、ユーザーからのあらゆる情報がファイルシステムの API に渡されないようにコードベースを構築することです。 しかし、それが不可能な場合、他の技術的な解決策があります。
Distributed Denial-of-Service (DDoS)
DDoS 攻撃だけでは、悪意のあるハッカーはセキュリティを突破できませんが、サイトを一時的または永久にオフラインにすることは可能です。 Kaspersky Labが2017年に行ったITセキュリティリスク調査では、1回のDDoS攻撃で中小企業は平均123Kドル、大企業は230万ドルかかると結論付けています
DDoS攻撃は、ターゲットのWebサーバーを要求で圧倒して、他の訪問者がサイトを利用できないようにすることを目的としています。 ボットネットは通常、膨大な数のリクエストを作成し、以前に感染したコンピュータの間で分散されます。 また、DDoS 攻撃は他の手法と併用されることも多く、前者の目的は、脆弱性を悪用しながらセキュリティ システムの注意をそらすことです。
DDoS 攻撃からサイトを保護することは、一般に多面的です。 まず、コンテンツ配信ネットワーク (CDN)、ロード バランサー、およびスケーラブルなリソースを使用して、ピーク時のトラフィックを緩和する必要があります。
中間者攻撃
中間者攻撃は、ユーザーからサーバーに移動するデータを暗号化していないサイトでよく発生します。 ユーザーとしては、Web サイトの URL が HTTPS で始まっているかどうかを調べることで、潜在的なリスクを特定することができます。 HT3707】攻撃者は、(多くの場合、機密情報を)収集するために、中間者攻撃を使用します。犯人は、2者間で転送されているデータを傍受します。 データが暗号化されていない場合、攻撃者はインターネット上の 2 つの場所間を移動する個人情報、ログイン情報、その他の機密情報を簡単に読み取ることができます。
中間者攻撃を緩和する簡単な方法は、サイトに Secure Sockets Layer (SSL) 証明書をインストールすることです。 この証明書は、当事者間でやり取りされるすべての情報を暗号化するので、攻撃者が簡単に意味を理解することはありません。 通常、最新のホスティング プロバイダーは、ホスティング パッケージに SSL 証明書をすでに備えています。
Brute Force Attack
Brute Force Attack は、Web アプリケーションのログイン情報にアクセスするための非常に簡単な方法です。 また、特にユーザー側からは、最も簡単に軽減できる方法の 1 つです。
加害者は、ユーザー名とパスワードの組み合わせを推測して、ユーザーのアカウントにアクセスしようとします。 もちろん、複数のコンピューターがあっても、パスワードが非常に単純で明白でない限り、これには何年もかかります。
ログイン情報を保護する最善の方法は、強力なパスワードを作成するか、2 要素認証 (2FA) を使用することです。 サイト所有者として、サイバー犯罪者がパスワードを推測するリスクを軽減するために、ユーザーに両方の設定を要求できます。
不明または第三者のコードの使用
サイトへの直接的な攻撃ではありませんが、第三者が作成した検証されていないコードを使用すると、深刻なセキュリティ侵害につながることがあります。 そして、「感染した」コードをサイトに組み込むと、それが実行されるか、バックドアが悪用されます。
潜在的な侵害にまつわるリスクを回避するために、開発者は常にコードの有効性を調査し、監査するようにしてください。 また、使用しているプラグイン (特に WordPress) が最新のもので、定期的にセキュリティ パッチを受信していることを確認します。調査によると、17,000 以上の WordPress プラグイン (調査時の WordPress プラグインの約 47%) が 2 年間更新されていませんでした。
フィッシング
フィッシングも直接ウェブサイトを狙う攻撃方法ではありませんが、システムの整合性を損なう可能性もあるのでリストからは外せないものでした。 FBI のインターネット犯罪報告書によると、フィッシングは、最も一般的なソーシャル エンジニアリングによるサイバー犯罪であるためです。 加害者は通常、自分ではない誰かを装い、被害者に機密情報を共有させたり、銀行振込をさせようとします。 この種の攻撃は、419詐欺のように突飛なものから、偽装された電子メールアドレス、一見本物のように見えるウェブサイト、説得力のある言葉などを含むより巧妙なものまであります。 後者はスピアフィッシングとしてより広く知られています。
フィッシング詐欺のリスクを軽減する最も効果的な方法は、そのような試みを識別するために、スタッフと自分自身を訓練することです。 送信者の電子メールアドレスが正当なものかどうか、メッセージが奇妙でないかどうか、要求が奇妙でないかどうかを常にチェックしましょう。
おわりに
Webサイトへの攻撃はさまざまな形で行われ、その背後にいる攻撃者は素人であったり、組織的なプロフェッショナルであったりします。
重要なことは、悲惨な結果を招く可能性があるので、サイトを作成または運営する際にセキュリティ機能を省略しないことです。
Webサイトの攻撃のリスクを完全に排除することは不可能ですが、少なくとも可能性と結果の重大性を軽減することはできます。
著者について Gert Svaikoは、米国とEUのサイバーセキュリティ企業で働くプロのコピーライターです。
編集部注:このゲスト執筆者の記事で述べられている意見は、あくまでも執筆者の意見であり、必ずしもTripwire, Inc.の意見を反映したものではありません。