Webハッキングライブセミナー

全体的には「Webアプリケーションに対する攻撃はこういうものがあり、このようなことが起きます。対応するためには、Webアプリケーションをセキュアなものにするというのが根本的な解決策ですが、コストがかかります。なので、NetContinuum社の製品を導入することで対応しましょう」という主旨です。


◆挨拶

  • 今回のセミナーでは、バーチャルサイトを準備して攻撃方法と防御方法を紹介する
  • 住商エレクトロニクスの紹介


◆Webハッキングライブ 「敵を知る」

  • Webアプリケーションのセキュリティの概要
    • 被害例
    • IPAへの脆弱性届出制度
      • IPAへの届出状況
      • ここ三ヶ月で70件程度(Webアプリケーションに関する届出)
    • Webアプリケーションのセキュリティ
      • IDS/IPS等の防御範囲外となる
      • アプリケーションに対しては、IDS/IPSにシグネチャがない
      • 重要なデータはDatabase上にあり、Webアプリケーションからデータを渡している
  • Webアプリを狙う代表的な攻撃とは
    • SQL Injection
    • XSS
    • Force Browsing
    • Buffer Overflow
    • Hiddenフィールドの改ざん
    • Meta-character Injection
    • Unicode及びURLの符号化
  • デモサイトを使ったハッキングデモンストレーション
    • 攻撃の手順
      • サイトの予備調査
      • 侵入を試みる
      • データの盗難、改ざん
      • バックドアの設置
      • ログの改ざん
    • Webサーバ/アプリケーションの調査
      • nikto, nessus, netcatなど
      • telnetを使って、HTTP HEADのリクエストを送信
      • niktoを使ってWebをチェック
      • 既知の脆弱性を攻撃
      • robots.txtにアクセスする
    • デモ
      • XSS
      • SQL Injection
        • SQL文をアプリケーションに対して送信
        • ログイン時のユーザアカウント情報入力を回避可能
      • Cookieの改ざん
        • 多くのWebアプリケーションがCookieを使用している
        • paros
        • Cookieを使用して価格の情報をやりとしているケースもある


◆Webアプリケーションの脆弱性を見つけるには 「己を知る」

  • Webアプリケーションの脆弱性のサマリ
    • Webアプリケーションの脆弱性の種類
    • 何が問題?
      • 一番の問題は、コードを書く人がセキュリティに関する知識が少ない
    • Webアプリケーションの脆弱性を発見する
      • Crawing
        • Crawingにより結果を予想
        • 特に認証周り
      • Write Map
        • 画面遷移を図にする
        • パラメータの一覧
      • 脆弱性の発見
        • 小さな脆弱性が1つ見つかれば、新しい脆弱性がその先に見つけられる可能性がある。
    • 脆弱性発見の第一歩
      • 調査対象のWebサイトを理解する
      • 脆弱性がありそうな箇所を推測
      • wget -m
      • JavaScriptFlash、動的コンテンツが問題になることが多い
    • 認証、アクセス制御
      • 認証を突破することを考える
      • Basic認証、NTLM認証
      • 一番多いのはCookie、規則性
      • 規則性があれば、ユーザのセッションはハイジャックできる
      • 管理用のもの
      • SQL Injectionによる認証の突破
      • JavaScriptをクライアントサイドで行なわれているケースもある→クライアント側ではずせる


◆Webアプリケーションの防御 「敵を知り己を知れば百戦危うからず」

  • Webアプリケーションのセキュリティの確保
    • セキュアコーディング→Best!
      • セキュアコーディングをマスターしたプログラマが少ない
      • 非常に時間がかかる
      • コストがかかる
    • アプライアス製品(NetContinuum)を使用する
      • Webサーバの前におき、簡単な設定でWebアプリケーションを保護
      • Webアプリケーションを改変する必要がないため、時間がかからない
      • 時間がかからないため、コストもかからない
  • Webアプリケーションファイアウォールで守る(NetContinuum(FANが12個))
    • 機能
      • Web Cloaking
        • Webサーバ/アプリケーションの情報を外部に対して隠匿
      • Web ACL(ブロックすると、エラー画面(404)を表示する)
        • XSSのブロック
        • SQL Injectionのブロック
      • Cookie Security
        • Cookieを暗号化してBrowserに渡す
      • Dynamic Application Profiling(DAP)
        • Hiddenパラメータを学習する
      • Data Theft Protection
        • もし、SQL Injectionが成功してもテーブルのフィールドを隠す
      • Application Vulnerability Description Language(AVDL)
        • Web Inspect(アプリケーションの脆弱性をスキャンする)との連携
      • ASIC搭載(48個のプロセッサを搭載)
        • 10000HTTPリクセスト/秒(メーカー公称値)
        • 最大4000SSLセッション
      • ロードバランシング機能
    • 価格
      • 1台465万円(定価)
      • ライセンス製品ではない。
    • 保守
      • 時差を利用して24時間サポート対応(インドにもラボがある)