Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

カジュアルにセキュリティテストはじめよう

1,617 views

Published on

2016-05-20 Xtone ピザ会

あくまでスモークテストのような簡易的なテスト手法なので、過信せず、
必要に応じてきちんと脆弱性診断なりは実施してください。

Published in: Technology
  • Be the first to comment

カジュアルにセキュリティテストはじめよう

  1. 1. カジュアルに セキュリティテスト はじめよう 2016-05-20 Aki@nekoruri Xtone ピザ会
  2. 2. とは言ったけど • まあ人として普通SQLインジェクション対策とかはしてるよね。 • 「ふつーPrepared Statementだし」 • 「ふつーORMだし」 • 「ふつーNoSQLだし」?
  3. 3. 動的クエリからは逃げられない • テーブル名 • 時系列データ • カラム名 • 検索条件 • ソート条件 • IN句 • 数が変わる • 複雑な複合クエリの高速化
  4. 4. 人はミスをする • どのORM/DBライブラリでも両方を用意している • パラメータ化される変数 • パラメータ化されず展開される変数
  5. 5. 人はミスをする • どのORM/DBライブラリでも両方を用意している • パラメータ化される変数 • パラメータ化されず展開される変数 • MyBatis3の場合 • #{absolutelySafeValue} ──── パラメータ化 • ${absolutelySafeValue} ──── 直接展開 • どっちがどっちかわかるかぼけー!(ノ`Д´)ノ彡┻━┻
  6. 6. それテストできるよ • まあ人として普通テスト書いてるよね。 • 自動テストしよう • 自動CIしよう
  7. 7. 「うっかり」から人類を守る4文字 • 以下の4文字をテストデータの末尾に入れるだけ!かんたん! '"¥; Special thanks to securitytesting slack #sqli members.
  8. 8. テストデータにこの4文字を入れる事で • 基本的に例外でこけます。 • 例外に落ちなくても結果が変わってテストがこけます。 • 手間はほとんど掛かりません。 ← 重要 どうせテストデータなんてコピペでしょ? • 考えることが減りストレスも減って健康になります。
  9. 9. 世の中SQLインジェクションだけじゃない • はい
  10. 10. セキュリティテストCI • サービスの力を借りる • VAddy http://vaddy.net/ja/ • Walti https://walti.io/ • 自前できちんとセキュリティテスト • Selenium等のエンドツーエンドテスト書いていれば、 OWASP ZAP等のProxyを挟んで脆弱性診断 • Selenium と OWASP ZAP を使った自動脆弱性検査への道 http://www.pupha.net/archives/2467/ ※今自分のところでできているとは言っていない
  11. 11. まとめ • テストデータの末尾に以下の4文字を入れよう • カジュアルに外部サービスや診断ツールも使おう '"¥;

×