owaspとproactive controls 2016のご紹介

25
OWASP Proactive Controls 2016 のの のの 2016/3/30 Gotanda.pm @mahoyaya

Upload: daiki-ichinose

Post on 19-Mar-2017

804 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: OWASPとProactive Controls 2016のご紹介

OWASPProactive Controls 2016 のご紹介 2016/3/30 Gotanda.pm@mahoyaya

Page 2: OWASPとProactive Controls 2016のご紹介

@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

Page 3: OWASPとProactive Controls 2016のご紹介

質問OWASP 知っていますか???

Page 4: OWASPとProactive Controls 2016のご紹介

What is OWASP?

OWASP は安全なソフトウェアの設計・開発・習 得・運用と維持に関する活動を支援する、非営利の団体。OWASP のツールやトキュメ ントなと、すへての成果物は無料て利用可能。

Page 5: OWASPとProactive Controls 2016のご紹介

国際的なコミュニティ

Page 6: OWASPとProactive Controls 2016のご紹介

日本ては? OWASP Japan 2012.3 OWASP Kansai 2014.3 OWASP Kyushu 2015.3 OWASP Sendai ⇐ NEW OWASP Fukushima ⇐ NEW OWASP Okinawa ⇐ NEWOWASP Night や OWASP DAY といった定期的な勉強会を実施しています。

Page 7: OWASPとProactive Controls 2016のご紹介

とんなプロジェクトがあるの?現時点で 100以上の成果物が公開されています

https://www.owasp.org/index.php/Category:OWASP_Project

Page 8: OWASPとProactive Controls 2016のご紹介

OWASP の成果物を利用しよう!

Page 9: OWASPとProactive Controls 2016のご紹介

日本独自の成果物

Page 10: OWASPとProactive Controls 2016のご紹介

プロモーションチーム松本さん主催の勉強会

https://security-testing.doorkeeper.jp

脆弱性診断ツール OWASP ZAP の使い方も教えてくれます

Page 11: OWASPとProactive Controls 2016のご紹介

直近の開催予定

https://security-testing.doorkeeper.jp

Page 12: OWASPとProactive Controls 2016のご紹介

OWASP Proactive Controls 2016 日本語版リリース!!

https://www.owasp.org/images/a/a8/OWASPTop10ProactiveControls2016-Japanese.pdf

Page 13: OWASPとProactive Controls 2016のご紹介

Proactive Controls 2016 の紹介

Page 14: OWASPとProactive Controls 2016のご紹介

PROACTIVE CONTROLS とは?

Proactive Controls 2016 て列挙しているセキュリティ概念は、すへてのソフトウェア開発プロジェクトて考慮しなけれはならないもの

Page 15: OWASPとProactive Controls 2016のご紹介

すへてのソフ トウェア開発プロジェクトて考慮しなけれはならないもの 1. 早期に、繰り返しセキュリティを検証する 2. クエリーのハラメータ化 3. テータのエンコーティンク 4. すへての入力値を検証する 5. アイテンティティと認証管理の実装 6. 適切なアクセス制御の実装 7. テータの保護 8. ロキンクと侵入検知の実装 9. セキュリティフレームワークやライフラリの活用 10. エラー処理と例外処理

今日はここ

Page 16: OWASPとProactive Controls 2016のご紹介

1. 早期に、繰り返しセキュリティを検証する

「早期に、繰り返しセキュリティを検証」とは、脆弱性の検査を開発プロセスの中て繰り返し行うへきてあるということ。

Page 17: OWASPとProactive Controls 2016のご紹介

2. クエリーのハラメータ化“ 静的”プレースホルダを使うへきてあるということ抜粋:SQL インジェクションを防ぐには、信頼てきない入力値が SQL コマントの一部として解釈されるのを避ける必要があります。最も良い方法は「クエリーのハラメータ化」と呼はれる実装方法てす。この方法ては、 SQL の問い合わせ構文とハラメータは、それぞれ別々にテータベースサーバーに送信され、テータベース上て解析されます。※ 構文とハラメータが別々に DB へ送信されるのは静的プレースホルダのみ

Page 18: OWASPとProactive Controls 2016のご紹介

なぜ静的てある必要があるのか?

動的プレースホルダ(俗にいうクライアントサイト・プリペアートステートメント)は、呼び出し側て SQL を構文解析するため、 API 仕様として構文解析が適切てなかった場合に問題が発生する可能性を秘めている。これに対して静的プレースホルダは、テータベースサーバ上て構文を「確定」させてからハラメータを挿入するため、理論上インジェクションの余地が無い。

Page 19: OWASPとProactive Controls 2016のご紹介

具体的にとうするの?抜粋:Rails 、 Django 、 Node.js といったフレームワークては、テータベースとのやりとりには OR モ テル (Object-Relational モテル ) が採用されています。 OR モテルを採用しているこれらのフ レームワークては、テータの参照や更新の際には自動的にクエリーのハラメータ化が行わ れています。しかし、 OQL や HQL といったオフジェクトクエリーにユーサーからの入力値を 用いる場合は注意が必要てす。これ以外にもフレームワークがサホートしている形式があ れは、同様に注意する必要があります。

Page 20: OWASPとProactive Controls 2016のご紹介

( ゚ д ゚ ) Perl は?

Page 21: OWASPとProactive Controls 2016のご紹介

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 );

Page 22: OWASPとProactive Controls 2016のご紹介

ても、 DBI をそのままて使わないよね

Page 23: OWASPとProactive Controls 2016のご紹介

俺達の 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"]);

Page 24: OWASPとProactive Controls 2016のご紹介

システム要件を加味した上て、可能な限り”静的”プレースホルダを使いましょう

Page 25: OWASPとProactive Controls 2016のご紹介

ありがとうございましたWEBをたしかなものに