SlideShare a Scribd company logo
1 of 25
OWASP
Proactive Controls 2016のご紹介
2016/3/30 Gotanda.pm
@mahoyaya
@mahoyaya
 Name: Daiki Ichinose
 Work : NWインフラ(?)
 Favorite: DIY
 Twitter: @mahoyaya
 blog: http://mahoyaya.hateblo.jp
 GitHub: https://github.com/mahoyaya
 Other:
OWASP Japan プロモーションチーム JOIN ⇐ NEW
質問
OWASP知っていますか???
What is OWASP?
OWASPは安全なソフトウェアの設計・開発・習 得・運用と維持
に関する活動を支援する、非営利の団体。
OWASPのツールやドキュメ ントなど、すべての成果物は無料で
利用可能。
国際的なコミュニティ
日本では?
OWASP Japan 2012.3
OWASP Kansai 2014.3
OWASP Kyushu 2015.3
OWASP Sendai ⇐ NEW
OWASP Fukushima ⇐ NEW
OWASP Okinawa ⇐ NEW
OWASP NightやOWASP DAYといった定期的な勉強会を実施し
ています。
どんなプロジェクトがあるの?
現時点で100以上の成果物が公開されています
https://www.owasp.org/index.php/Category:OWASP_Project
OWASPの成果物を利用しよう!
日本独自の成果物
プロモーションチーム松本さん主催の勉強会
https://security-testing.doorkeeper.jp
脆弱性診断ツール OWASP ZAPの使い方も教えてくれます
直近の開催予定
https://security-testing.doorkeeper.jp
OWASP Proactive Controls 2016日本語版リリース!!
https://www.owasp.org/images/a/a8/OWASPTop10ProactiveControls2016-Japanese.pdf
Proactive Controls 2016の紹介
PROACTIVE CONTROLSとは?
Proactive Controls 2016で列挙しているセキュリティ概念は、
すべてのソフトウェア開発プロジェクトで考慮しなければな
らないもの
すべてのソフ トウェア開発プロジェク
トで考慮しなければならないもの
 1.早期に、繰り返しセキュリティを検証する
 2.クエリーのパラメータ化
 3.データのエンコーディング
 4.すべての入力値を検証する
 5.アイデンティティと認証管理の実装
 6.適切なアクセス制御の実装
 7.データの保護
 8.ロギングと侵入検知の実装
 9.セキュリティフレームワークやライブラリの活用
 10.エラー処理と例外処理
今日はここ
1.早期に、繰り返しセキュリティを検証する
「早期に、繰り返しセキュリティを検証」とは、脆弱性の検
査を開発プロセスの中で繰り返し行うべきであるということ。
2.クエリーのパラメータ化
“静的”プレースホルダを使うべきであるということ
抜粋:
SQLインジェクションを防ぐには、信頼できない入力値がSQLコマンド
の一部として解釈されるのを避ける必要があります。最も良い方法は
「クエリーのパラメータ化」と呼ばれる実装方法です。この方法では、
SQLの問い合わせ構文とパラメータは、それぞれ別々にデータベース
サーバーに送信され、データベース上で解析されます。
※構文とパラメータが別々にDBへ送信されるのは静的プレースホルダのみ
なぜ静的である必要があるのか?
動的プレースホルダ(俗にいうクライアントサイド・プリペアードス
テートメント)は、呼び出し側でSQLを構文解析するため、API仕様と
して構文解析が適切でなかった場合に問題が発生する可能性を秘めてい
る。
これに対して静的プレースホルダは、データベースサーバ上で構文を
「確定」させてからパラメータを挿入するため、理論上インジェクショ
ンの余地が無い。
具体的にどうするの?
抜粋:
Rails、Django、Node.jsといったフレームワークでは、データベースと
のやりとりにはORモ デル(Object-Relationalモデル)が採用されています。
ORモデルを採用しているこれらのフ レームワークでは、データの参照
や更新の際には自動的にクエリーのパラメータ化が行わ れています。
しかし、OQLやHQLといったオブジェクトクエリーにユーザーからの入
力値を 用いる場合は注意が必要です。これ以外にもフレームワークが
サポートしている形式があ れば、同様に注意する必要があります。
(゚д゚ ) Perlは?
Perl+MySQLをゆるふわに静的にしてみた
my $dbh = DBI->connect( 'DBI:mysql:database=xxx;host=xxx;mysql_server_prepare=1;mysql_enable_utf8=1',
'xxxx', 'xxxx');
if (! $dbh) { is_error(); }
my $sql = "INSERT INTO foo (bar, baz) VALUES ( ?, ? )";
my $sth = $dbh->prepare( $sql );
$sth->execute( $bar, $baz );
でも、DBIをそのままで使わないよね
俺達のAniki
my $db = MyProj::DB->new(connect_info =>
["dbi:mysql:dbname=mydb;host=$dbhost;port=$dbport:mysql_server_prepare=1;mysql_use_utf8=1;", “user",
“pass"]);
システム要件を加味した上で、
可能な限り”静的”プレースホルダを使いましょう
ありがとうございました
WEBをたしかなものに

More Related Content

Viewers also liked

Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
Shinya Okano
 
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジmixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
Shinya Okano
 
Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406
Shinya Okano
 
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
Sen Ueno
 

Viewers also liked (18)

Python札幌 2012/06/17
Python札幌 2012/06/17Python札幌 2012/06/17
Python札幌 2012/06/17
 
Biblnk
BiblnkBiblnk
Biblnk
 
Python勉強会資料(MessageBoard作成)
Python勉強会資料(MessageBoard作成)Python勉強会資料(MessageBoard作成)
Python勉強会資料(MessageBoard作成)
 
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジmixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
mixiアプリ『the Actress』運用にあたっての課題へのチャレンジ
 
Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013Django最速デバッグ指南 PyConAPAC 2013
Django最速デバッグ指南 PyConAPAC 2013
 
hello waf, hello phoenix
hello waf, hello phoenixhello waf, hello phoenix
hello waf, hello phoenix
 
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング  - kawasaki.rb #15 2014/8/27Pythonではじめる野球プログラミング  - kawasaki.rb #15 2014/8/27
Pythonではじめる野球プログラミング - kawasaki.rb #15 2014/8/27
 
Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道Djangoフレームワークの紹介 OSC2015北海道
Djangoフレームワークの紹介 OSC2015北海道
 
Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012Webフレームワークパネル(Django) at PyConJP 2012
Webフレームワークパネル(Django) at PyConJP 2012
 
Python札幌201406
Python札幌201406Python札幌201406
Python札幌201406
 
Gunma.web #24 MySQL HA
Gunma.web #24 MySQL HAGunma.web #24 MySQL HA
Gunma.web #24 MySQL HA
 
素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い素振りのススメ at Python入門者の集い
素振りのススメ at Python入門者の集い
 
Django learning Part2
Django learning Part2Django learning Part2
Django learning Part2
 
価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96価値を届ける技術 #bpstudy 96
価値を届ける技術 #bpstudy 96
 
ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!ゲームインフラとGoogle Cloud Platformと酒!
ゲームインフラとGoogle Cloud Platformと酒!
 
Pycon2014 django performance
Pycon2014 django performancePycon2014 django performance
Pycon2014 django performance
 
サイバー考古学@ささみ 2017.2.20
サイバー考古学@ささみ 2017.2.20サイバー考古学@ささみ 2017.2.20
サイバー考古学@ささみ 2017.2.20
 
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
 

Recently uploaded

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
 

Recently uploaded (16)

Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdfネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
ネットワーク可視化 振る舞い検知(NDR)ご紹介_キンドリル202405.pdf
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
2024年5月17日 先駆的科学計算フォーラム2024 機械学習を用いた新たなゲーム体験の創出の応用
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイルLoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
LoRaWAN無位置ロープ型水漏れセンサー WL03A-LB/LSカタログ ファイル
 
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 

OWASPとProactive Controls 2016のご紹介

Editor's Notes

  1. 僕のことは忘れてもOWASPだけは覚えて帰ってください
  2. 2、3ヶ月に1回のミーティングや勉強会を行っています
  3. 2年に1回更新
  4. この項目が2番目にあるということは、バリデーションが最適ではないということ
  5. いわゆる信頼境界を越えて入ってくるデータは注意が必要
  6. デフォルトが動的