こんばんは!
ゆうです!
2017年2月にWordPressに重大なエラーが
あることが発表されました。
その際、すぐにWordPressの
バージョンアップをしたサイトは
無事でしたが、そうでないサイトは
容赦無くサイバー攻撃をされたことを
知っていますか?
日本の WordPressサイトも
ものすごい勢いで攻撃されていました。
そんなことがあったので
新卒や今までプログラミングをやっていなかった
かた向けに『サイバー攻撃の種類』について
まとめようと思います。
脆弱性
おそらく、よく聞く言葉かと思います。
コンピュータのOSやソフトウェアの
情報セキュリティ上の欠陥のことです。
プログラムの不具合や設計ミスにより発生します。
また、セキュリティホールは
脆弱性についての俗表現となっています。
SQLインジェクション
アプリケーションが想定しない
SQL文を実行させることにより、
DBを不正に操作することです。
例えば下記のようなselect文
SELECT * FROM user WHERE uid='ueno' AND pwd='' OR 'A'='A'
ORの後は常にtrueになるので、
パスワードが異なっていても認証されてしまいます。
対策
- SQLを埋め込むところで特殊文字をエスケープ
*特殊文字をエスケープについては別記事で今度かきます。
XSS(クロスサイトスクリプティング)
フォームに悪意のあるスクリプトを
埋め込むことです。
例えば、クッキー情報を抜き取るスクリプトを
埋め込むことでセッションIDを抜き取ることを
セッションハイジャックといいます。
対策
- 特殊文字をエスケープする
- PHPならhtmlspecialcharsを使用
- <>“&の文字をエスケープすると
<は<に、>は>に、&は&に、”は
"e;に、’は'に変換されるようにします。
CSRF(クロスサイトリクエストフォージュリ)
リクエスト強要とも呼ばれる。
意図しないリクエストを
webサーバーへ送信させ、
処理を実行させることです。
例えば別サイトに用意した罠のリンクを
踏ませることによって、
決済や大会などの処理を
呼び出すように誘導させます。
対策
- 重要な処理を行うページでは、
トークンを利用して正しい
リクエストかチェックします。
Dos攻撃(ドス攻撃)
サービス停止攻撃などとも呼ばれます。
サーバーなどに対して過剰なパケットを
送りつけることで負荷をかけ、
サービスの正常な動作を侵害する攻撃のことです。
pingコマンドで使われるパケットの送信元を偽装し、
相手のコンピュータに大量の偽パケットを
送りつけるsmurf攻撃やターゲットの
メールアドレスに大量のメールを送信し
メールサーバを機能不全にするメールボム
などの攻撃手法が存在します。
対策
- 監視システムを導入しDoS攻撃を仕掛けてくるIPアドレスを特定、遮断
- 国内向けのサービスであれば、海外からのアクセスを遮断
- 同一IPからのリクエスト(アクセス)回数を制限する
DDos攻撃(ディードス攻撃)
分散型サービス妨害攻撃などとも呼ばれます。
複数のIPアドレスから放たれるDos攻撃のことです。
複数のコンピュータを攻撃側に巻き込んで、一斉攻撃しています。
対策
- Dos攻撃と同じ
総当たり攻撃
ブルートフォースアタックとも呼ばれる。
1つのIDに対する暗証番号を解読するため、
全ての暗証番号のパターンを入力して
解読しようとする攻撃のことです。
対策
- ログインの試行回数を制限する
- 5回間違えたらロックをかけるなど
- 一定速度以上の入力を制限する
- 何秒間に1回しか入力を許容しないなど
- 単純なパスワードを許容しない
- 半角英数字で大文字小文字を含めた8文字以上のパスワードなど
- LIGさんの記事によると、8文字の大小英数字を含むパスワードをすべて解析するには、高性能パーソナルコンピューターで253日間かかるそう
逆総当たり攻撃
リバースブルートフォースとも呼ばれる。
総当たり攻撃の逆で、一つの暗証番号に対して、
IDを複数試す攻撃のこと。
対策
- 総当たり攻撃と同じ
いかがでしたか?
もし自分が今作っているサイトで
フォームなどのセキュリティを意識していなかった場合
その辺りをもう一度見直してみましょう。
そのままアップロードしてしまうと
とんでもないことになってしまうかもしれません。
それでは今回はこの辺で終わりにします。
最後まで読んでいただきありがとうございました!