Your SlideShare is downloading. ×
Web担当者が知っておくべきPHPとセキュリティ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Web担当者が知っておくべきPHPとセキュリティ

718
views

Published on

BOSS CONのWebノウハウシェア2013の講演資料です。SSRFやPHP5.5の新機能などを紹介しています。

BOSS CONのWebノウハウシェア2013の講演資料です。SSRFやPHP5.5の新機能などを紹介しています。

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
718
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Web担当者が知っておく べきPHPとセキュリティ Electronic Service Initiative, Ltd. 1
  • 2. 自己紹介 • 大垣 靖男 (Yasuo Ohgaki) • Twitter/Facebook/LinkedIn/Google: yohgaki • エレクトロニック・サービス・イニシアチブ • 岡山大学 大学院 非常勤講師 • PHP技術者認定機構 顧問 • BOSS-CON JAPAN PHP SA CTO Electronic Service Initiative, Ltd. 2
  • 3. 2012年を振り返る • 注目すべき攻撃手法TOP10 1. CRIME (SSL暗号解読) 攻撃手法は年々 2. SSRF攻撃 複雑化&高度化 3. Chromeアドオンハック 4. PHPSESSIDブルートフォース 5. 脅威とJavaScriptのブレンド 6. クロスサイトポート攻撃 7. HTML5クライアントアプリの恒久的バックドア 8. CAPTCHAリライディング攻撃 9. XSS: httponlyクッキーの取得 2012年版 10.HTTP VerbトンネリングなどによりOData攻撃 TOP TEN WEB HACKING TECHNIQUES OF 2012 WhiteHat Security Electronic Service Initiative, Ltd. 3
  • 4. セキュリティ研究者の傾向 • Webクライアントの攻撃から、 攻撃対象のWebクライアントのネットワークへ • 企業ネットワーク内部のファイアーウォール回避 • 複数の脆弱性を組み合わせた複合型攻撃 Electronic Service Initiative, Ltd. 4
  • 5. SSRF攻撃 • SSRFにXXE、SQL・OSコマンド・スクリプトインジェク ションなどを利用し企業内ネットワークの奥深くまで 攻撃 ※XXE – XML External Entityを利用した攻撃 SSRFは内部ネットワークから攻撃する クラシックな攻撃パターンだが研究者は インターネットから攻撃する手法を考案 Electronic Service Initiative, Ltd. 5
  • 6. SSRF攻撃とは • SSRF = Server Side Request Forgery • リクエストAをサービスAに送信 • サービスAはリクエストBをサービスBに送信 • リクエストBの幾つかフィールドをリクエストAで操作可能 リクエストA サービスA リクエストB B1 A1 A3 A1 A2 A3 サービスB 攻撃 B2 Electronic Service Initiative, Ltd. 6
  • 7. SSRF攻撃の手法 単純なリクエスト /ui/BufferOverview?server=172.16.1.1&port=31337&dispatcher=&target= XXE <!ENTITY xxe SYSTEM “http://172.16.1.1:80/someservice”> SQLインジェクション SELECT * FROM OPENQUERY(HostB, ‘SELECT * FROM @@version’) (MS SQL) SELECT * FROM myTable@HostB (Oracle) SELECT dblink_send_query('host=127.0.0.1 dbname=HostB user=¥'attacker¥' ','select version();') (PostgreSQL) OSコマンド system(‘wget http://172.16.1.1/someservie’) 攻撃 Electronic Service Initiative, Ltd. 7
  • 8. SSRF攻撃 • XXEで可能と紹介されている例 • • • • ファイルとディレクトリへのアクセス リモートポートスキャン 他のシステムをHTTPで攻撃 HTTP以外のプロトコルで他のシステムを攻撃 • PHPのXXE修正 • SOAP - Disabled external entities loading (CVE2013-1643, CVE-2013-1824) 2013年3月 PHP5.4.13/5.3.23 Electronic Service Initiative, Ltd. 8
  • 9. SSRF攻撃 • SSRFはコマンドやリクエストを実行できる脆弱性が ある場合、実行可能 • XXE、SQLインジェクション、OSコマンドインジェク ション、スクリプト実行 • PHPは埋め込み型言語であるため、スクリプト実行 に脆弱になりやすい • PHP5.3.4以降 • Paths with NULL in them (foo¥0bar.txt) are now considered as invalid Electronic Service Initiative, Ltd. 9
  • 10. 脅威とJavaScriptのブレンド • SSRFと同類の攻撃手法 JavaScriptによる内部ネットワークスキャン JSScan、JS-Recon、jslanscanner HTML5 Cross Origin Resource Sharing, File API, XHR2, Blobs リモートからルータなどの乗っ取りが可能 不正ログインからファームウェア書き換えまで Electronic Service Initiative, Ltd. 10
  • 11. クロスサイトポートスキャン • SSRFを補助する攻撃として利用可能 • 他のサイトにリクエストを送信するアプリ • ネットワークスキャナー、フィンガープリンティングに利用 • http://172.16.1.1:5432/path/file 攻 撃 スキャン 攻 撃 Electronic Service Initiative, Ltd. 11
  • 12. 内部ネットワーク攻撃の脅威 • 企業内部ネットワークのアプリ・システムが攻撃対 象となる脅威が増加中 • 企業内のWebアプリにも公開アプリ同様に十分な セキュリティ対策が必要 Electronic Service Initiative, Ltd. 12
  • 13. PHPSESSIDブルートフォース • PHPのセッション管理機構がデフォルトでは擬似乱 数発生器によってセッションIDを生成する • 古いPHPセッションの乱数はメルセンヌ・ツイスター • 擬似乱数発生器の脆弱性を利用してセッションID の推測 • 元々ベストプラクティスは • session.entropy_file = /dev/urandom • PHP5.4以降は • UNIX:/dev/{urandom,arandom}がデフォルト • Windows: session.entropy_lengthを設定→CryptAPI Electronic Service Initiative, Ltd. 13
  • 14. Next PHP • 新しいパスワードハッシュ関数 • password_hash() • crypt関数のラッパー関数 • 自動的に最新・最強のパスワードハッシュを生成 • ラッパー関数で古いPHPでも可能 • PBKDF2 - hash_pbkdf2()も追加 Electronic Service Initiative, Ltd. 14
  • 15. Next PHP • finallyサポート • 異常終了時のリソースクリーンナップ • PCRE – e修飾子廃止 • preg_replace_callback() • ロゴ表示の廃止 • フィンガープリンティング対策 • PgSQL – リテラル、識別子エスケープAPI • pg_escape_literal()、pg_escape_identifier() • セッションアダプション脆弱性修正(?) • session.strict_mode=true Electronic Service Initiative, Ltd. 15
  • 16. Future PHP • 未サポートのHTTPメソッドサポート? • GET,POST + DELETE、PUT • $_SERVER[‘REQUEST_METHOD’]と parse_str(file_get_contents(‘php://input’),$var)で 現在も対応可能 • 入力バリデーションの強化? • 単機能からフレームワーク • スクリプトオンリー読み込み? • 埋め込み言語特有の脆弱性除去 • 他の言語から見ると最大の弱点 Electronic Service Initiative, Ltd. 16
  • 17. セキュリティ維持に何をすべきか? セキュリティ維持には全てのフェーズでの セキュリティ対策が必要不可欠 企画 運用 設計 全フェーズに セキュリティ対策 が必要 テスト 実装 全フェーズにセキュリティ対策の レビューが効果的 Electronic Service Initiative, Ltd. 17
  • 18. セキュリティ維持に何をすべきか? • セキュリティ対策に最も重要な事とは? • セキュリティ対策の本質を知る • セキュリティ対策=学習・トレーニング・実践・レビュー 知る 確認 企画 運用 訓練 実践 全てのフェーズへ 適用 テスト Electronic Service Initiative, Ltd. 設計 実装 18
  • 19. What We Planned? 知る 確認 企画 訓練 実践 意識改革 運用 設計 テスト 実装 実践 Electronic Service Initiative, Ltd. セキュリティ確立 19
  • 20. • ご清聴ありがとうございました。 お問い合わせ BOSS CON JAPAN http://www.boss-con.jp/contact/ または エレクトロニック・サービス・イニシアチブ info@es-i.jp Electronic Service Initiative, Ltd. 20