Soumettre la recherche
Mettre en ligne
脆弱性診断データの活用例 - Webアプリケーション診断編 -
•
4 j'aime
•
4,459 vues
Isao Takaesu
Suivre
遺伝的アルゴリズムを使って脆弱性を検出するための「検査値」を自動生成するお話し。
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 34
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
GAとGANによる検査値の自動生成
GAとGANによる検査値の自動生成
Isao Takaesu
RECOMMENDER for Web security engineers - 初級編 -
RECOMMENDER for Web security engineers - 初級編 -
Isao Takaesu
RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -
Isao Takaesu
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
Isao Takaesu
機械学習関連情報の収集方法
機械学習関連情報の収集方法
Isao Takaesu
機械学習を使ったハッキング手法
機械学習を使ったハッキング手法
Isao Takaesu
サイバーセキュリティ錬金術
サイバーセキュリティ錬金術
Isao Takaesu
AISECjp SAIVS(Spider Artificial Intelligence Vulnerability Scanner)
AISECjp SAIVS(Spider Artificial Intelligence Vulnerability Scanner)
Isao Takaesu
Recommandé
GAとGANによる検査値の自動生成
GAとGANによる検査値の自動生成
Isao Takaesu
RECOMMENDER for Web security engineers - 初級編 -
RECOMMENDER for Web security engineers - 初級編 -
Isao Takaesu
RECOMMENDER for Web security engineers - 中級編 -
RECOMMENDER for Web security engineers - 中級編 -
Isao Takaesu
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
Isao Takaesu
機械学習関連情報の収集方法
機械学習関連情報の収集方法
Isao Takaesu
機械学習を使ったハッキング手法
機械学習を使ったハッキング手法
Isao Takaesu
サイバーセキュリティ錬金術
サイバーセキュリティ錬金術
Isao Takaesu
AISECjp SAIVS(Spider Artificial Intelligence Vulnerability Scanner)
AISECjp SAIVS(Spider Artificial Intelligence Vulnerability Scanner)
Isao Takaesu
introduce "Stealing Machine Learning Models via Prediction APIs"
introduce "Stealing Machine Learning Models via Prediction APIs"
Isao Takaesu
Owasp top10 HandsOn
Owasp top10 HandsOn
masafumi masutani
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
Masato Kinugawa
130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ
Minoru Sakai
OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)
Sen Ueno
Aiにwebアプリ診断をやらせてみる
Aiにwebアプリ診断をやらせてみる
Isao Takaesu
Proxy War EPISODEⅡ
Proxy War EPISODEⅡ
zaki4649
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
Muneaki Nishimura
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
Masahiro NAKAYAMA
これからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccamp
Kyo Ago
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのか
Sen Ueno
新入社員のための大規模ゲーム開発入門 サーバサイド編 2015
新入社員のための大規模ゲーム開発入門 サーバサイド編 2015
infinite_loop
owasp_evening_okinawa_7_owasp_top_10-2017_injection
owasp_evening_okinawa_7_owasp_top_10-2017_injection
tobaru_yuta
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
JustSystems Corporation
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp
sonickun
防御から謝罪まで・・・WordPressにヤマを張るっ!
防御から謝罪まで・・・WordPressにヤマを張るっ!
yoshinori matsumoto
Vue.js で XSS
Vue.js で XSS
tobaru_yuta
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
Minoru Sakai
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
CODE BLUE
Vuls祭りvol3
Vuls祭りvol3
hogehuga
Vuls祭り#3 ラクスル発表資料
Vuls祭り#3 ラクスル発表資料
Kyohei Watanabe
Contenu connexe
Tendances
introduce "Stealing Machine Learning Models via Prediction APIs"
introduce "Stealing Machine Learning Models via Prediction APIs"
Isao Takaesu
Owasp top10 HandsOn
Owasp top10 HandsOn
masafumi masutani
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
Masato Kinugawa
130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ
Minoru Sakai
OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)
Sen Ueno
Aiにwebアプリ診断をやらせてみる
Aiにwebアプリ診断をやらせてみる
Isao Takaesu
Proxy War EPISODEⅡ
Proxy War EPISODEⅡ
zaki4649
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
Muneaki Nishimura
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
Masahiro NAKAYAMA
これからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccamp
Kyo Ago
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのか
Sen Ueno
新入社員のための大規模ゲーム開発入門 サーバサイド編 2015
新入社員のための大規模ゲーム開発入門 サーバサイド編 2015
infinite_loop
owasp_evening_okinawa_7_owasp_top_10-2017_injection
owasp_evening_okinawa_7_owasp_top_10-2017_injection
tobaru_yuta
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
JustSystems Corporation
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp
sonickun
防御から謝罪まで・・・WordPressにヤマを張るっ!
防御から謝罪まで・・・WordPressにヤマを張るっ!
yoshinori matsumoto
Vue.js で XSS
Vue.js で XSS
tobaru_yuta
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
Minoru Sakai
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
CODE BLUE
Tendances
(20)
introduce "Stealing Machine Learning Models via Prediction APIs"
introduce "Stealing Machine Learning Models via Prediction APIs"
Owasp top10 HandsOn
Owasp top10 HandsOn
SecurityCamp2015「バグハンティング入門」
SecurityCamp2015「バグハンティング入門」
130821 owasp zed attack proxyをぶん回せ
130821 owasp zed attack proxyをぶん回せ
OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)
Aiにwebアプリ診断をやらせてみる
Aiにwebアプリ診断をやらせてみる
Proxy War EPISODEⅡ
Proxy War EPISODEⅡ
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
OWASP Testing Guide からはじめよう - セキュリティ診断技術の共有、そして横展開
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
これからのWebセキュリティ フロントエンド編 #seccamp
これからのWebセキュリティ フロントエンド編 #seccamp
なぜ自社で脆弱性診断を行うべきなのか
なぜ自社で脆弱性診断を行うべきなのか
新入社員のための大規模ゲーム開発入門 サーバサイド編 2015
新入社員のための大規模ゲーム開発入門 サーバサイド編 2015
owasp_evening_okinawa_7_owasp_top_10-2017_injection
owasp_evening_okinawa_7_owasp_top_10-2017_injection
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
メンバーのスキルアップ、どうしてる? − Java 100本ノックで新加入メンバーを鍛えてみた −
進化するWebトラッキングの話 #ssmjp
進化するWebトラッキングの話 #ssmjp
防御から謝罪まで・・・WordPressにヤマを張るっ!
防御から謝罪まで・・・WordPressにヤマを張るっ!
Vue.js で XSS
Vue.js で XSS
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
[CB16] 機械学習でWebアプリケーションの脆弱性を見つける方法 by 高江須 勲
En vedette
Vuls祭りvol3
Vuls祭りvol3
hogehuga
Vuls祭り#3 ラクスル発表資料
Vuls祭り#3 ラクスル発表資料
Kyohei Watanabe
20170731 Arukikata! -IT Exhibition walking project-
20170731 Arukikata! -IT Exhibition walking project-
Typhon 666
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
Rie Watanabe
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
abend_cve_9999_0001
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada
En vedette
(6)
Vuls祭りvol3
Vuls祭りvol3
Vuls祭り#3 ラクスル発表資料
Vuls祭り#3 ラクスル発表資料
20170731 Arukikata! -IT Exhibition walking project-
20170731 Arukikata! -IT Exhibition walking project-
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
3000台のサーバーを毎日vulsでスキャンしてRedmineでチケット管理した話
標的型攻撃からどのように身を守るのか
標的型攻撃からどのように身を守るのか
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Similaire à 脆弱性診断データの活用例 - Webアプリケーション診断編 -
とある診断員とAWS
とある診断員とAWS
zaki4649
クラウドセキュリティの価値と機会
クラウドセキュリティの価値と機会
Hayato Kiriyama
セキュア開発の<s>3つの</s>敵
セキュア開発の<s>3つの</s>敵
Riotaro OKADA
Amazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみた
cluclu_land
新しいジョブに挑戦してみませんか?
新しいジョブに挑戦してみませんか?
Masato Nakamura
Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!
Takayuki Ushida
Aws summits2014 エンタープライズ向けawsbcpdr編
Aws summits2014 エンタープライズ向けawsbcpdr編
Boss4434
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
樽八 仲川
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
Typhon 666
~2018年Webセキュリティ最前線セミナー~ 今や従来通りの対策ではWebセキュリティが万全ではないこれだけの理由
~2018年Webセキュリティ最前線セミナー~ 今や従来通りの対策ではWebセキュリティが万全ではないこれだけの理由
グローバルセキュリティエキスパート株式会社(GSX)
The Shift Left Path and OWASP
The Shift Left Path and OWASP
Riotaro OKADA
20160717 csc sec_bd
20160717 csc sec_bd
寛人 種市
Signature & Model Hybrid Platform
Signature & Model Hybrid Platform
YOJI WATANABE
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
Sen Ueno
JAWSUG Nagoya 20130715
JAWSUG Nagoya 20130715
陽平 山口
実践 bashによるサイバーセキュリティ対策を読んでみた(公開版)
実践 bashによるサイバーセキュリティ対策を読んでみた(公開版)
cluclu_land
20180224 azure securitycenter
20180224 azure securitycenter
Masakazu Kishima
20160209 power cms_cloud_public
20160209 power cms_cloud_public
Six Apart
20160208 power cms_cloud_public
20160208 power cms_cloud_public
Six Apart
2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare
Shinichiro Kawano
Similaire à 脆弱性診断データの活用例 - Webアプリケーション診断編 -
(20)
とある診断員とAWS
とある診断員とAWS
クラウドセキュリティの価値と機会
クラウドセキュリティの価値と機会
セキュア開発の<s>3つの</s>敵
セキュア開発の<s>3つの</s>敵
Amazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみた
新しいジョブに挑戦してみませんか?
新しいジョブに挑戦してみませんか?
Vulsで始めよう!DevSecOps!
Vulsで始めよう!DevSecOps!
Aws summits2014 エンタープライズ向けawsbcpdr編
Aws summits2014 エンタープライズ向けawsbcpdr編
失敗事例で学ぶ負荷試験
失敗事例で学ぶ負荷試験
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
20180426 不正指令電磁的記録に関する罪とオンプレおよびクラウドにおけるWebネット型インシデントレスポンスについて
~2018年Webセキュリティ最前線セミナー~ 今や従来通りの対策ではWebセキュリティが万全ではないこれだけの理由
~2018年Webセキュリティ最前線セミナー~ 今や従来通りの対策ではWebセキュリティが万全ではないこれだけの理由
The Shift Left Path and OWASP
The Shift Left Path and OWASP
20160717 csc sec_bd
20160717 csc sec_bd
Signature & Model Hybrid Platform
Signature & Model Hybrid Platform
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
今夜わかるWebアプリケーション脆弱性診断 (OWASP Day 758 / 2018)
JAWSUG Nagoya 20130715
JAWSUG Nagoya 20130715
実践 bashによるサイバーセキュリティ対策を読んでみた(公開版)
実践 bashによるサイバーセキュリティ対策を読んでみた(公開版)
20180224 azure securitycenter
20180224 azure securitycenter
20160209 power cms_cloud_public
20160209 power cms_cloud_public
20160208 power cms_cloud_public
20160208 power cms_cloud_public
2019 1117 security_jaws_toal_5min_slideshare
2019 1117 security_jaws_toal_5min_slideshare
Plus de Isao Takaesu
Deep Exploit@Black Hat Europe 2018 Arsenal
Deep Exploit@Black Hat Europe 2018 Arsenal
Isao Takaesu
OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツール
Isao Takaesu
サイバーセキュリティ錬金術 - ノイズから価値あるデータを生成する技術 -
サイバーセキュリティ錬金術 - ノイズから価値あるデータを生成する技術 -
Isao Takaesu
ハニーポッター技術交流会
ハニーポッター技術交流会
Isao Takaesu
Pythonと機械学習によるWebセキュリティの自動化
Pythonと機械学習によるWebセキュリティの自動化
Isao Takaesu
Convolutional Neural Networkに対する攻撃手法
Convolutional Neural Networkに対する攻撃手法
Isao Takaesu
Discussion AIの脆弱性について
Discussion AIの脆弱性について
Isao Takaesu
ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章
Isao Takaesu
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
Isao Takaesu
CODE BLUE 2016 - 機械学習でWebアプリケーションの脆弱性を見つける方法
CODE BLUE 2016 - 機械学習でWebアプリケーションの脆弱性を見つける方法
Isao Takaesu
Plus de Isao Takaesu
(10)
Deep Exploit@Black Hat Europe 2018 Arsenal
Deep Exploit@Black Hat Europe 2018 Arsenal
OSSで作る機械学習を用いたペネトレーションテストツール
OSSで作る機械学習を用いたペネトレーションテストツール
サイバーセキュリティ錬金術 - ノイズから価値あるデータを生成する技術 -
サイバーセキュリティ錬金術 - ノイズから価値あるデータを生成する技術 -
ハニーポッター技術交流会
ハニーポッター技術交流会
Pythonと機械学習によるWebセキュリティの自動化
Pythonと機械学習によるWebセキュリティの自動化
Convolutional Neural Networkに対する攻撃手法
Convolutional Neural Networkに対する攻撃手法
Discussion AIの脆弱性について
Discussion AIの脆弱性について
ITエンジニアのための機械学習理論入門 第5章
ITエンジニアのための機械学習理論入門 第5章
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - Method of Detecting Vulnerability in Web Apps
CODE BLUE 2016 - 機械学習でWebアプリケーションの脆弱性を見つける方法
CODE BLUE 2016 - 機械学習でWebアプリケーションの脆弱性を見つける方法
脆弱性診断データの活用例 - Webアプリケーション診断編 -
1.
2017.07.31 ssmjp Presented by Isao
Takaesu 脆弱性診断データの活用例 - Webアプリケーション診断編 -
2.
About the speaker •
職業 : セキュリティエンジニア • 所属 : 三井物産セキュアディレクション • 趣味 : 脆弱性スキャナ作り、機械学習 • ブログ: http://www.mbsd.jp/blog/ • AISECjp共同管理者 高江洲 勲 Takaesu Isao (@bbr_bbq) ssmjp
3.
お話する内容 ssmjp ノウハウが詰まった脆弱性診断結果を基に、 新たな価値を生み出す試み。
4.
Webアプリケーション診断とは? 診断員 Web Server Web Apps 診断ベンダ
顧客 疑似攻撃 レスポンスの分析 ssmjp Webアプリをクローリングしながら疑似攻撃 レスポンスを分析して脆弱性を判定
5.
診断データの一例(XSS) <script>alert();</script> <img[Sp]src=x[Sp]onerror=alert();> </textarea><script>alert();</script> "><script>alert();</script> '--><script>prompt();</script> "><frame[Sp]src="javascript:prompt()"> ';[Sp]alert();// '[CrLf][Sp]MsgBox[Sp]'3122 [CrLf][Sp]MsgBox[Sp]Document.Domain javascript:alert``; "[Sp]&[Sp]msgbox("exploit")[Sp]&[Sp]"aa */[CrLf]alert``;// ・・・ 様々な脆弱性の検査値が蓄積される ssmjp
6.
診断データの活用事例 ssmjp 学習教材として活用 熟練診断員の診断データを新人教育に活用 脆弱性検出の自動化 診断データをベクトル化し、機械学習モデルに落とし込む https://www.slideshare.net/babaroa/recommender-for-web-security-engineers https://www.slideshare.net/babaroa/recommender-for-web-security-engineers-77999699
検査値の自動生成 過去使用の検知値を基に、新たな検査値を自動生成
7.
診断データの活用事例 ssmjp 学習教材として活用 熟練診断員の診断データを新人教育に活用 脆弱性検出の自動化 診断データをベクトル化し、機械学習モデルに落とし込む https://www.slideshare.net/babaroa/recommender-for-web-security-engineers https://www.slideshare.net/babaroa/recommender-for-web-security-engineers-77999699
検査値の自動生成 過去使用の検知値を基に、新たな検査値を自動生成
8.
検査値の自動生成 ssmjp 頑張って手動でやる Generative
Adversarial Network:GANを使う 遺伝的アルゴリズム(Genetic Algorithm:GA)を使う
9.
検査値の自動生成 ssmjp 頑張って手動でやる Generative
Adversarial Network:GANを使う 遺伝的アルゴリズム(Genetic Algorithm:GA)を使う
10.
遺伝的アルゴリズム(GA)とは? ssmjp 生物進化における遺伝と適者生存による 自然淘汰の仕組みをシミュレートすることで 複雑な問題に対する最適解を探索する手法
11.
進化計算の流れ ssmjp 初期集団の生成 適応度評価・選択 交叉突然変異 個体 世代交代
12.
進化計算の流れ ssmjp 初期集団の生成 適応度評価・選択 交叉突然変異 個体 ● ▲
■ × ★遺伝子 世代交代
13.
進化計算の流れ ssmjp 初期集団の生成 適応度評価・選択 交叉突然変異 個体 ● ▲
■ × ★遺伝子 世代交代
14.
進化計算の流れ ssmjp 初期集団の生成 適応度評価・選択 交叉突然変異 個体 ● ▲
■ × ★遺伝子 世代交代
15.
進化計算の流れ ssmjp 初期集団の生成 適応度評価・選択 交叉突然変異 個体 ● ▲
■ × ★遺伝子 世代交代
16.
利用例 ssmjp 新幹線N700系 空気抵抗の少ないエアロ・ダブルウィング形状の計算 http://trendy.nikkeibp.co.jp/article/column/20070705/1001439/ Super
Mario World 全自動クリアが可能なMarioの行動パターンを計算 http://gigazine.net/news/20150616-mari-o/ American Fuzzy Lop (Fuzzer) カバレッジが高くなるFuzzを計算 http://lcamtuf.coredump.cx/afl/
17.
今回のタスク ssmjp
18.
ssmjp 今回のタスク タスク:Cross-Site Scriptingの検査値生成 目標 :・過去未使用の検査値の生成 ・WAFを回避する検査値の生成
19.
ssmjp 言葉の定義 遺伝子(gene) HTML・JSの最小構成要素 例)<img/, src=,
x, onerror=, alert();, /> 個体(individual) 遺伝子の組み合わせ 例)<img/src=x onerror=alert(); /> 適応度(fitness)・評価(evaluation) 個体がWAFを回避する可能性 HTML構文の妥当性やスクリプト実行可能性を評価
20.
ssmjp 言葉の定義 選択(selection) スクリプト実行可能性が高い個体(の遺伝子)を次世代に引き継ぐ ぜんぜんダメな個体は淘汰 交叉(crossover) 選択された二つの個体の遺伝子を掛け合わせて子孫を作る よりスクリプト実行の可能性が高い子孫が誕生する
突然変異(mutation) 個体の遺伝子をランダムに入れ替える 局所解に陥るのを防ぐ
21.
やり方 ssmjp
22.
ssmjp 事前準備 1. 過去に使用した検査値を収集 2. タグや属性等の最小要素に分割 3.
最小要素を遺伝子と定義+過去未使用の要素も遺伝子に追加 遺伝子リスト(約200種類)
23.
ssmjp 初期集団の生成 ランダムに遺伝子を選択して個体を生成 初期集団の生成 適応度評価 選択 交叉 突然変異 終了 {85, 158, 96,
32, 85} {179, 62, 33, 130, 133} 遺伝子リスト {98, 82, 25, 41, 198} {55, 9, 94, 194, 55} ・・・ {76, 6, 114, 149, 70} {107, 140, 172, 150, 38} {102, 169, 76, 90, 208} {21, 168, 111, 15, 159} 初期集団 個体例 </blockquote>content= <basefont/<form </blockquote> <iframe/language= <keygen/</img>coords=
24.
ssmjp 適応度評価 初期集団の生成 適応度評価 選択 交叉 突然変異 終了 評価ポイント 1. HTML構文としての正しさ 2.
スクリプトの実行可否 ⇒イベント系もハンドリング 3. WAFの突破可否 個体の適応度を評価し、スコアを計算
25.
ssmjp 選択 初期集団の生成 適応度評価 選択 交叉 突然変異 終了 スコアの高い個体を選択 onerror=¥u0061lert();<body/list=<iframe/<progress <hr <thead </td>rowspan=accept= src=/
<a/</col><td </area> 選択 淘汰 onerror=alert();><body onerror=al¥u0065rt();<output </applet><isindex/alert();<progress/script:alert(); <iframe/language= <keygen/</img>coords= <hr ><video>onmouseover=confirm();><a <body><img/<source/onerror=prompt();> ・・・ ・・・
26.
ssmjp 交叉 初期集団の生成 適応度評価 選択 交叉 突然変異 終了 選択された個体の遺伝子を掛け合わせ 優秀な子孫を次世代に残す src=/ <a/</col><td </area> 親(現世代) onerror=alert();><body
onerror=al¥u0065rt();<output <hr ><video>onmouseover=confirm();><a <body><img/<source/onerror=prompt();> × × ・・・ 子孫(offspring) </col><td><body onerror=al¥u0065rt();<output <hr><video><source/onerror=prompt();> ・・・
27.
ssmjp 突然変異 初期集団の生成 適応度評価 選択 交叉 突然変異 終了 一定割合の個体・遺伝子をランダムに 入れ替える(局所解の脱出) src=/ <a/</col><td </area> 変異前 変異後 <hr
><video>onmouseover=confirm();><a <body><img/<source/onerror=prompt();> ・・・ onerror=alert();><body onerror=al¥u0065rt();<output src=/ onerror=alert();<td </area> <video><source/onmouseover=confirm();><a <body><img/src= onerror=prompt();> ・・・ onerror=alert();><body onerror=al¥u0065rt();/>
28.
ssmjp 終了 初期集団の生成 適応度評価 選択 交叉 突然変異 終了 条件 ・ 最大10,000世代 ・
スコア3.0以上 終了条件を満たしたら進化計算を停止
29.
検証結果 ssmjp
30.
検証条件 ssmjp 遺伝子 約220種類 個体 100個 ⇒5個の遺伝子で構成 適応度評価 HTML構文チェック:tidy
5.4.0 ⇒警告とエラー数でスコアリング スクリプト実行判定:selenium 3.4.3 ⇒Chromeの仮想ドライバを使用 WAF回避判定:ModSecurity CRS 2.2.9 ⇒onerrorのチェックを除外 選択 エリート選択 ⇒上位30個を選択 交叉 2点交叉 突然変異 変異率:0.1
31.
検証結果:検査値の自動生成 ssmjp No 検査値 新旧 1
<body onmouseover=alert(); <script <label <canvas </basefont> 新 2 <body onload=alert(); list=</a><canvas </progress> 旧 3 <svg/onload=alert(); </del></label>border=<embed/ 旧 4 <img </caption><script>al¥u0065rt();</script> 新 5 java"<object data=saivs.html </label> 新 6 confirm(1);><video><source/onerror=javascript:alert();> 新 7 <body ><video><source onerror=alert();> 新 8 <body ><video><source onerror=confirm(1);> 新 9 ¥u0061lert();</colgroup><video><source/onerror=al¥u0065rt();> 新 10 <iframe onload=alert();></basefont></caption> 新 ・・・ ・・・ ・・・ 約30種類の新たな検査値を生成
32.
検証結果:WAFの回避 ssmjp 世代 検査値 WAF 1
-(スクリプト実行不可) - 100 -(スクリプト実行不可) - 349 <th</colgroup><video><source/onerror=al¥u0065rt();> block 1641 <hr><video><source/onerror=javascript:window.onerror=alert();> block 2743 <object/><video><source onerror=javascript:alert();> block 4568 confirm(1);><video><source onerror=javascript:alert();> block ・・・ ・・・ ・・・ 5047 <body ><video><source onerror=alert();> block 6067 <img/><video><source onerror=alert();> block 6192 confirm(1);/><video><source onerror=alert();> block 6307 <body ><video><source onerror=confirm(1);> break 6307世代目でWAFを回避する検査文字列を生成(所要時間:約5h)
33.
まとめ ・(GAは)組み合わせ最適解の探索に有効 ・評価関数の設計がキモ ・ブラウザを変更することで、ブラウザ依存の検査値を生成可能 ・出力箇所を考慮することで検査値のバリエーションを増やせる ・設定次第では、あらゆるタスクに応用可能か? ⇒但し、遺伝子の組み合わせ数が多くなると収束しない可能性あり ssmjp
34.
Download “.PDF” version
of this document: ≫ https://www.slideshare.net/babaroa
Télécharger maintenant