SlideShare uma empresa Scribd logo
1 de 31
Baixar para ler offline
マルウェアに学ぶ 
Apache + PHP セキュリティ 
(公開版)
自己紹介 
• @yugo_tak 
• KLab株式会社 
• KLabの前はWeb開発 
• 好きな言語はPHPとJavaです。 
• 最近はPHPの独自フレームワーク作ったり 
jMeterのプラグインを作ったり、Arduinoなん 
かで遊んでます
セキュリティの話をします
SQLインジェクション、XSS、CSRF対策などなど‥ 
     〃∩ ∧__∧ 
     ⊂⌒ (・ω・ )  色々たいへんだおー 
       `ヽ_つ_~つ
今回はそういった教科書的なお話ではなく
マルウェア、つまり攻撃者側から 
の視点でセキュリティを学んでみ 
ましょう
今回はApacheとPHPで動いているWeb 
アプリケーションをターゲットとした 
実際にあるマルウェアをご紹介します
早速、マルウェアが動いている 
画面をみてみましょう
実際のマルウェアの画面 
攻撃する際には、脆弱性のあるファイルアップロード機能等を経由して 
不正にこのマルウェアファイル(数行のPHP1ファイルのみ)をアップロードします
実際のマルウェアの画面 
ファイル閲覧&編集
実際のマルウェアの画面 
サーバー情報閲覧
実際のマルウェアの画面 
SQL実行 
その他、コマンド実行やネットワーク情報取得などなど‥
(́・ω・)ω・`)ヒー 
/⌒ つ⊂⌒ ヽ怖いよー
こうなる前に 
Apache + PHPなWEBアプリケーションの 
セキュリティ再入門!
設定ファイルを見直すだけでも 
セキュアにできる
PHP編
PHP 
register_globals 
問答無用でOff! 
(PHP 4.2.0からはデフォルトでOff)
PHP 
allow_url_fopen 
外部ファイルの読み込みを禁止 
open_basedir 
内部ファイルのアクセスを制限
PHP 
session.referer_check 
なりすまし防止 
※ただし、リファラーは改変できることをお忘れなく 
session_save_path 
セッションのファイル保存場所の変更 
デフォルトでは/tmpに保存される
PHP 
disable_functions 
危険な関数を使えないようにしておく 
apache_*のapache統合関数系 
execなどのコマンド実行系など 
enable_dl 
拡張モジュールを使用できなくする
PHP 
コレ! 
さきほどのマルウェア
Apache編
Apache 
mod_proxy 
アクセス制御の統一 
アプリサーバーの分離 
ネットワークトポロジの隠蔽 
ログの統一
Apache 
mod_security 
WAF(Webアプリケーションファイアウォール)
Apache 
mod_evasive 
Timeout値を短くする 
DoS/DDoS対策
Apache 
chrootでjail環境 
万が一侵入されても被害を限定する
Apache 
不必要なモジュールを読み込まない 
パフォーマンスも向上!
Apache 
ServerSignatureをOff 
ServerTokensをProduct Only 
サーバー情報を最小限に 
でも完全にサーバー情報を隠蔽することは難しい(httprint) 
気休めにすぎない‥?
最後にもうひとつの事例を紹介 
• Apache Slapper Worm 
OpenSSLの脆弱性をついてApacheが動いているサーバーに侵入 
http://www.cert.org/historical/advisories/CA-2002-27.cfm 
Apache Slapper WormはhttpレスポンスのServerヘッダーフィールド 
からサーバーの種類、バージョン番号を取得して脆弱なサーバーに攻撃 
をしかけていた
ささいなこと、気休めと思えることでも 
出来ることはやっておこう!
ありがとうございました

Mais conteúdo relacionado

Destaque

Webサーバ勉強会03
Webサーバ勉強会03Webサーバ勉強会03
Webサーバ勉強会03
oranie Narut
 
続マスタN対スレーブ1レプリケーションの作り方
続マスタN対スレーブ1レプリケーションの作り方続マスタN対スレーブ1レプリケーションの作り方
続マスタN対スレーブ1レプリケーションの作り方
do_aki
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
 
1 Linux入門 第6章 Webサーバーの概要
1 Linux入門 第6章 Webサーバーの概要1 Linux入門 第6章 Webサーバーの概要
1 Linux入門 第6章 Webサーバーの概要
Enpel
 
10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーション10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーション
Takashi Hoshino
 

Destaque (20)

Webサーバ勉強会03
Webサーバ勉強会03Webサーバ勉強会03
Webサーバ勉強会03
 
続マスタN対スレーブ1レプリケーションの作り方
続マスタN対スレーブ1レプリケーションの作り方続マスタN対スレーブ1レプリケーションの作り方
続マスタN対スレーブ1レプリケーションの作り方
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
1 Linux入門 第6章 Webサーバーの概要
1 Linux入門 第6章 Webサーバーの概要1 Linux入門 第6章 Webサーバーの概要
1 Linux入門 第6章 Webサーバーの概要
 
技術ドキュメント改善作戦 TDI-#1 Apache 設定ファイル(1)
技術ドキュメント改善作戦 TDI-#1 Apache 設定ファイル(1)技術ドキュメント改善作戦 TDI-#1 Apache 設定ファイル(1)
技術ドキュメント改善作戦 TDI-#1 Apache 設定ファイル(1)
 
恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡恐るべきApache, Web勉強会@福岡
恐るべきApache, Web勉強会@福岡
 
awsを学ぶ上で必要となる前提知識(DB)
awsを学ぶ上で必要となる前提知識(DB)awsを学ぶ上で必要となる前提知識(DB)
awsを学ぶ上で必要となる前提知識(DB)
 
AWSを学ぶ上で必要となる前提知識(SSL)
AWSを学ぶ上で必要となる前提知識(SSL)AWSを学ぶ上で必要となる前提知識(SSL)
AWSを学ぶ上で必要となる前提知識(SSL)
 
10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーション10分で分かるバックアップとレプリケーション
10分で分かるバックアップとレプリケーション
 
Awsを学ぶ上で必要となる前提知識(DNS/LB)
Awsを学ぶ上で必要となる前提知識(DNS/LB)Awsを学ぶ上で必要となる前提知識(DNS/LB)
Awsを学ぶ上で必要となる前提知識(DNS/LB)
 
AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング
AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニングAWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング
AWS入門編 EC2/ELBを使った、ブログシステム構築ハンズオントレーニング
 
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加するAwsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
 
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したいAwsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
 
MongoDB日本語紹介資料
MongoDB日本語紹介資料MongoDB日本語紹介資料
MongoDB日本語紹介資料
 
Apache Hive 紹介
Apache Hive 紹介Apache Hive 紹介
Apache Hive 紹介
 
分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介分散仮想ストレージシステム紹介
分散仮想ストレージシステム紹介
 
APACHE HTTP SERVER
APACHE HTTP SERVERAPACHE HTTP SERVER
APACHE HTTP SERVER
 
20150207 amazon elasticache
20150207 amazon elasticache20150207 amazon elasticache
20150207 amazon elasticache
 
中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング中小規模サービスのApacheチューニング
中小規模サービスのApacheチューニング
 
AWSのEC2の複数インスタンスからファイルを共有する方法
AWSのEC2の複数インスタンスからファイルを共有する方法AWSのEC2の複数インスタンスからファイルを共有する方法
AWSのEC2の複数インスタンスからファイルを共有する方法
 

Semelhante a マルウェアに学ぶ Apache+phpセキュリティ(ネット公開版)

ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)
FFRI, Inc.
 
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
学 松崎
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
Kazuho Oku
 
徳丸本ができるまで
徳丸本ができるまで徳丸本ができるまで
徳丸本ができるまで
Hiroshi Tokumaru
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
Hiroshi Tokumaru
 

Semelhante a マルウェアに学ぶ Apache+phpセキュリティ(ネット公開版) (20)

ランサムウェア対策 ”最後の砦” データ保護からみる感染対策セミナー
ランサムウェア対策 ”最後の砦” データ保護からみる感染対策セミナーランサムウェア対策 ”最後の砦” データ保護からみる感染対策セミナー
ランサムウェア対策 ”最後の砦” データ保護からみる感染対策セミナー
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
 
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 
Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)Fighting advanced malware using machine learning (Japanese)
Fighting advanced malware using machine learning (Japanese)
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
PHP With Windows binary
PHP With Windows binaryPHP With Windows binary
PHP With Windows binary
 
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る.pdf
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る.pdf20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る.pdf
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る.pdf
 
OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208OSC福岡2012 LT 20121208
OSC福岡2012 LT 20121208
 
[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見[デブサミ2012]趣味と実益の脆弱性発見
[デブサミ2012]趣味と実益の脆弱性発見
 
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということコミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
 
Web applicationpenetrationtest その2
Web applicationpenetrationtest その2Web applicationpenetrationtest その2
Web applicationpenetrationtest その2
 
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
 
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
 
徳丸本ができるまで
徳丸本ができるまで徳丸本ができるまで
徳丸本ができるまで
 
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2011
 
FFR EXCALOC
FFR EXCALOCFFR EXCALOC
FFR EXCALOC
 
簡単便利!Laravel Homestead
簡単便利!Laravel Homestead簡単便利!Laravel Homestead
簡単便利!Laravel Homestead
 
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
 

マルウェアに学ぶ Apache+phpセキュリティ(ネット公開版)