こんにちは。
昨今、WEBセキュリティ関連の問題が浮上してきていますよね。
そこで今回は、Webアプリに対する攻撃手法と対策を紹介したいと思います。
まず始めに、Webアプリケーションとは、インターネットなどネットワークを介して使用するアプリケーションソフトウェアです。
銀行のインターネットバンキングやネット販売のショッピングカートなどで使用されています。
※Wikipedia参照
Webアプリケーションに対する代表的な攻撃手法
基本、Webサーバへのセキュリティ対策となると、ファイアウォールやウイルス対策が主流になります。
しかし、Webアプリケーションへの攻撃対策としては不十分なのです。
脆弱性について知ることで、設計や実装段階で対処すように意識できますので、是非Web担当者の方は知っておきましょう。
クロスサイトスクリプティング(XSS)
HTMLの文字列の中に、悪意のあるJSやタグを入れられるバグを利用し実行されてしまう攻撃です。
この脆弱性があると、ユーザーのCookie情報が漏洩し、セッションの乗っ取りやページ書き換え、強制的に遷移することが可能となります。
なので、フィッシング詐欺やなりすましの犯罪に利用される傾向があります。
対策としては、入力データチェック、出力エンコーディング形式の指定が有効です。
インジェクションの欠陥
SQLを操作するプログラムにSQL文の断片を渡すことで、データベースの改ざんやデータベースの情報入手が可能になる攻撃です。
この脆弱性によって、OSコマンドを悪用しシステムの乗っ取りが可能になります。
対策としては、入力データチェック、データベースを最小特権で利用することが有効です。
パラメータの改ざん
アプリケーションがURLパラメータやhidden、Cookieなどに入れた値を書き換えてサーバに送り返すことで価格改ざんや他人へのなりすましが可能な攻撃です。
対策としては、データはサーバ側の値を使用し、セッションIDによる状態遷移を行うことが有効です。
強制的ブラウズ
バックアップのファイルや隠れたファイルを予測し、直接アクセスする攻撃です。
リンクやボタンの遷移によらず特定のページに直接アクセスし、個人情報の漏洩や、サーバ攻撃の足掛かりとして利用されます。
対策としては、アクセスされて困るものはWebサーバに置かないことです。
データの保存場所が原因のセキュリティに対しても有効な対策になります。
エラーコード
不正な入力を行うことによりアプリケーションを誤動作させエラーメッセージを表示させる攻撃です。
エラーメッセージにはさまざまな種類がありますが、一番多いのはデータベースが返すSQL関係のエラーメッセージです。
対策としては、入力チェックとサニタイジングを行うことです。
セッション管理に関する脆弱性
セッション系の脆弱性には、「Session Hijack」「Session Replay」「Session Fixation」があります。この3つの脆弱性は基本的にセッション管理の不備が原因で発生します。
セッション管理に脆弱性があると個人情報が漏えいする可能性があります。
対策としては、セッションIDを長い文字列にしたり、セッションIDに有効期間を付けるなどがあります。
HTTPレスポンス分割
外部からの入力データを使用して動的にHTTPヘッダーを出力するWebアプリケーションの脆弱性を利用し、攻撃者の意のままにできる偽のページをユーザーに取得させる攻撃です。
対策としては、レスポンスヘッダの入力の改行文字をチェックしたりすることが有効的です。
Adobe Flash Playerの脆弱性
以前見つかった脆弱性です。
アドビシステムズ社のAdobe Flash Playerに、Webを閲覧することでDoS攻撃や任意のコードを実行される可能性がある脆弱性が見つかりました。
悪用された場合、アプリケーションプログラムの異常終了や、第三者によってパソコンが制御されたりと、様々な被害が発生する可能性があります。
対応策としては、7/14に修正プログラムを公表しましたので、修正プログラムの適用することです。
上記の脆弱性が見つかり、Mozillaは、AdobeのFlash Playerプラグインをブロックすると発表するなど大きなニュースとなった脆弱性です。
まとめ
今回ご紹介した攻撃手法はごく一部に過ぎません。
また、現在もWebアプリケーションの脆弱性を突く攻撃手法が増加しています。
少しでも攻撃手法を理解し、アプリケーションを開発する時は、セキュリティを意識し未然に防ぐ対策を常に心掛けなければなりません。
大規模、小規模に限らず、今一度セキュリティ対策について見直してみてはいかがでしょうか。
ホームページ制作でお困りの方はホームページ制作会社ティファナにご相談ください!
関連するサービス
“ホームページ制作”:https://www.tifana.com/service/production/homepage.html
“セキュリティ対策”:http://www.tifana.com/service/security.html