セキュリティー対策!!XSS,DOS,DDoS,EDOS攻撃などのハッキング攻撃について解説
プログラミングの世界には無限の可能性が広がる一方で、悪質なハッカーによる脅威も常に存在します。
アプリケーション開発に携わるプログラマーにとって、セキュリティの知識は不可欠です。
本記事では、クロスサイトスクリプティング(XSS)やDOS,DDoS,EDOS攻撃など、代表的なハッキング手法を簡潔に解説します。
これらの脅威を理解し、適切な対策を講じることで、より安全で信頼性の高いアプリケーションの制作が可能になるでしょう。
クロスサイトスクリプティング(XSS)
クロスサイトスクリプティング(XSS)攻撃は、Webアプリケーションの脆弱性を悪用する危険な手法です。
攻撃者は悪意のあるスクリプトをサイトに挿入し、他のユーザーのブラウザ上でそれを実行させます。
これにより、個人情報の窃取やマルウェア感染などの被害が生じる可能性があります。
対策としては、ユーザー入力の厳格なバリデーション、特殊文字のエスケープ処理、HttpOnly属性の使用などが挙げられます。
開発者は常にXSS脆弱性に注意を払い、適切なセキュリティ対策を実装することが重要です。
- XSS
- 解説
- クロスサイトスクリプティング/CrossSiteScripting
- クロスサイトスクリプティング攻撃とは、
Webサイトやアプリケーションの脆弱性を利用して、悪意のあるユーザーが不正なスクリプトを挿入することで、
他のユーザーのブラウザ上でスクリプトを実行させる攻撃手法。
これにより、ユーザーの個人情報が盗まれたり、不正な操作が行われたりします。 - 攻撃の流れ
-
- 攻撃者が、サイト内のフォームなどから悪質なスクリプトを埋め込み罠を設置
- サイト訪問者が、Webページを閲覧した際、悪質なスクリプトが実行される
- 外部サイトへ飛ばさる
その際、認証情報を含むCookieやセッションなどのデータも一緒に飛ばされる、盗まれる。
あるいは、マルウェア感染などを引き起こします。
- 対策
- 攻撃の流れ「①,②」:
ユーザーがフォームから入力した値を適切にバリデーションして無害化。
「<script>」などの危険性がある単語を入力させない。 - 攻撃の流れ「③」:
認証情報をcookieに保存する際、httpOnly属性をtrueとする。
こうすることで、クライアント側からcookieを扱えなくなる。
これだけでは、対策としては不十分な場合も。別途、CSRFの対策が必要。
DoS攻撃,DDoS攻撃
DoS攻撃とDDoS攻撃は、ともにサービス拒否攻撃の一種です。
DoS攻撃は単一の攻撃元から標的に大量のリクエストを送り、システムを過負荷にします。
一方、DDoS攻撃はその進化形で、複数の感染したコンピューター(ボットネット)を使用して攻撃を行います。
DDoS攻撃は、攻撃元が分散しているため、より大規模で検出・防御が困難です。
攻撃者はボットウイルスを使って多数のPCを感染させ、一斉に標的へ攻撃を仕掛けます。これにより、DoS攻撃よりも遥かに大量のデータが送られ、標的のサービスを効果的に妨害します。
- DoS攻撃,DDoS攻撃
- DoS攻撃:解説
- 分散型サービス拒否攻撃/Denial of Service
- 攻撃は、ターゲットとなるシステムやネットワークに大量のリクエストを送り、過負荷を起こすことで正常なサービス提供を妨害する攻撃手法。
- 攻撃者は、サーバーリソースを枯渇させたり、ネットワーク帯域を占有したりすることで、正規ユーザーのアクセスを困難にします。
これにより、ウェブサイトの停止や遅延が発生し、企業や組織に大きな損害を与えることがあります。 - DDoS攻撃:解説
- 分散型サービス拒否攻撃/Distributed Denial of Service Attack
- DDoS攻撃は、DoS攻撃を進化形のような攻撃手法です。
DoS攻撃は1台のコンピューターから攻撃をしてくるサイバー攻撃ですが、DDoS攻撃は複数のコンピューターから一斉にサイバー攻撃をしてくるので、DoS攻撃よりもさらに膨大なデータが送られてきます。
攻撃者は、マルウェアを使って多くのデバイスをボットネットとして操り、ターゲットに対して一斉に攻撃を仕掛けます。
これにより、サービスが停止したり、著しく遅延したりします。 - DoS,DDoS攻撃:対策
- レートリミット(Rate Limiting):
特定の時間内に許可されるリクエストの数を制限する技術です。
これにより、サービスへの過剰なアクセスを防ぎ、システムの安定性とパフォーマンスを維持します。レートリミットは、IPアドレスなどでアクセス源を判別し、リクエストを1分間に100回までにといった具合で制限を設けます。
ですので攻撃元が1つのDoSには有効な一方、複数個所から一斉に攻撃を仕掛けてくるDDosに対しては、緩和にはなるがこれだけでは対策としては不十分。
- CDNの利用:
AWSのCloudFrontなどのCDNサービスを利用することで、DDoS攻撃を緩和することができます。CDN(コンテンツデリバリーネットワーク)とは、ウェブコンテンツを地理的に分散したサーバー群にキャッシュし、ユーザーに最も近いサーバーからコンテンツを配信する仕組みです。
これにより、ウェブサイトの速度アップだけでなく、アクセス負荷の分散にもつながります。
残念なことに、現在のところ、DDoS攻撃に対して完全に防ぐ方法は存在しません。
レートリミットやCDNを組み合わせて緩和に務めるのが有効な手段です。
それでは不安という方のために、一歩踏み込んだ対策についてもお話ししておきます。
AWSでアプリケーションを公開した場合は、AWS Shield Standardというもので自動かつ無料でアプリケーションを保護してくれます。
AWS Shield Standardは、インフラストラクチャ(レイヤー3およびレイヤー4)にたいしての攻撃を防御してくれます。
さらに、AWS WAFというサービスを用いることでセキュリティーを強化することもできます。
(*AWS WAFは、有料かつ、自分で設定する必要がある)
AWS WAFでは、悪質なボットのブロックや、特定の国からのアクセスを遮断する、などなど様々なセキュリティーを施すことができます。
さらに高度な保護が必要な場合、AWS Shield Advancedを検討することができます。このサービスは以下の特徴を持っています:
- 専門家による24時間365日のサポート:DDoS対策の専門家チームが常時監視し、攻撃時には迅速に対応します。
- DDoS攻撃による異常課金の払い戻し:攻撃によって発生した予期せぬ費用を保護します。
- 高度なDDoS緩和技術:より洗練された攻撃に対しても効果的な防御を提供します。
AWS Shield Advancedは最強のDDoS対策と言えますが、その分料金がかなり高額になります。そのため、セキュリティ要件と予算を慎重に検討した上で導入を決定する必要があります。
EDoS攻撃
EDoS攻撃は、DoSやDDoS攻撃と手法は同じですが、目的が異なります。
サービスをダウンさせることが目的のDoSやDDoS攻撃とは異なり、経済的損失を与えることを目的としています。
従量課金型(使った分だけ料金が発生する)のクラウドサービスを用いて運用しているサービスを狙い、大量のリクエストを送信。
良くも悪くもクラウドサービスでは大量のアクセスが来てもサーバーがダウンしないように、大抵の場合オートスケール(負荷に応じてサーバーを自動増減)を採用しています。そのため、簡単にはサーバーがダウンすることはなく、大量のリクエストに比例したコストが発生し続けます。
これにより、クラウド破産と呼ばれる深刻な被害を引き起こすことがあります。
- EDoS攻撃
- 解説
- 経済的なサービス妨害攻撃/Economic Denial of Sustainability
- クラウドサービス利用者に金銭的負担をかけさせるサイバー攻撃。
脆弱性のあるシステムのリソースが大量消費されることによって、
経済的にサービスを停止せざるを得ない状況に追い込む。=クラウド破産。 - 対策
- DoS,DDoSと同じ
体験談
目的が定かでないのでEDoSなのかDDoSなのか分かりませんが、私も、これらの攻撃の被害を受けたことがあります。

この時、私は、コストをケチって、低スペックなサーバーでオートスケール数2で、サービスを運用していたのですが、このことが功を奏します。
攻撃を受け、大量のリクエストが送信されると、2時間も断たない内にコストは18$を突破。
しかしここで、オートスケールにより起動していたサーバーが2つともダウン。
これにより、一時的にサービスは停止したものの、大した金銭的な被害を受けずに済みました。
この後すぐに、WAFを導入し、レートリミット,ボットのブロック,特定の国からのアクセス遮断,などなどの対策を施しました。
以後、大した被害は受けていません。
皆さんも、従量課金型のクラウドサービスを用いる際は、十分に気負付けて下さいね。


