Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
Slideshare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
日本では情報セキュリティに係る人材が不足している。私は人材不足を解消する一つの方法として、人工知能(AI)技術に着目し、自らの意志でWebアプリケーションの脆弱性を見つけ出すAI「SAIVS(Spider Artificial Intelligence Vulnerability Scanner)」の研究開発を進めている。SAIVSの最終目標は、人間の脆弱性診断員と同等以上の診断能力を獲得することである。現在のSAIVSはプロトタイプだが、以下に示す人間のような行動を取りながらWebアプリの脆弱性を見つけ出すことが可能である。
1. Webアプリのクローリング
SAIVSはログインや会員登録ページなどの動的ページを、人間と同じようにクローリングすることができる。例えばログインが必要なWebアプリの場合、先に会員登録ページでアカウントを作成し、その後にログインを行う。また、アカウント作成時は、入力フォームの意味(名前、E-mail、パスワードなど)を解釈し、フォームに最適な文字列を入力する。仮に入力値の不備によりエラーが発生した場合、エラーの意味を解釈し、エラーを回避する別の文字列を入力する。
2. 脆弱性の検出
SAIVSはWebアプリの挙動を観察した上で、少ない手数で効率的に脆弱性を見つけ出すことができる。例えば反射型XSSの場合、入力値がエコーバックされる箇所を認識し、HTMLやJavaScriptの文脈に応じて悪用可能なタグやスクリプトを挿入する。また、入力値がサニタイズされた場合は、これを回避する検査パターンを自ら判断して再度検査を行う。
これらの行動は、複数の機械学習アルゴリズムを使用し、脆弱性診断員が脆弱性を見つけ出す際の思考パターンをシミュレートすることで実現している。
本プレゼンでは、SAIVSを実現する手法の解説と、検証サイトをクローリングしながら脆弱性(反射型XSS)を見つけ出すデモンストレーションを披露する。
---
高江洲 勲 Isao Takaesu
三井物産セキュアディレクション株式会社に所属するWebセキュリティエンジニア。CISSP。
約7年間、Webアプリケーションの脆弱性を見つける業務(Webアプリ診断)に携わっており、これまでに多くの脆弱性を見つけてきた。最近、より多くの脆弱性を見つけたいと考えているが、人間によるWebアプリ診断では、リソースに限りがあると感じている。そこで、近年産業利用が加速している機械学習に着目し、本技術を用いて人間の代わりにWebアプリ診断を行うことを目指したAI「SAIVS」の研究開発を進めている。近い将来、SAIVSが私の代わりにWebアプリ診
Login to see the comments