SlideShare a Scribd company logo
1 of 23
Download to read offline
web技術(セキュリティ編)
目次(その1)
■ web周りの代表的な攻撃手法
● パスワードクラッキング
● DoS攻撃
● セッションハイジャック
● ディレクトリトラバーサル
● クロスサイトスクリプティング
● クロスサイトリクエストフォージェリ
● SQLインジェクション
● セキュリティーホール
● ゼロデイ攻撃
目次(その2) → 次回勉強会にて説明予定
■ セキュリティ強化のためのシステム
● ファイアーウォール
● IDS・IPS
● WAF
● 暗号化
● 公開鍵証明書
● 認証
● 認可
● CAPTCHA
web周りの代表的な攻撃手法
パスワードクラッキング
会員制webサイトのユーザーのパスワードを抜き出そうとする攻撃
主には下記の2種類の攻撃方法が使用される。
● 辞書攻撃
→ よくパスワードに使用される言葉をまとめたファイルを用意して、その中身を使ってログインを試
みる手法
● ブルートフォース
→ パスワードに使用される全部の文字の組み合わせを試して当てる方法
対策
● パスワードの文字数を長くしたり、記号の入力を必須にするようにアプリケーション側で設定する。
● 何回かログインに失敗したらそのユーザーの利用を停止する。
DoS攻撃
短時間にサーバー処理できないような大量のアクセスを行って、サービスを停止させる手法。
主に以下の2種類の攻撃方法がある。
● SYN Flood攻撃 → SYNパケットのみを送り、ACKパケットを送らずサーバーを接続待ちにする。
(通常はクライアントがSYNパケットを送る。サーバーが
SYN/ACKパケットを送る。クライアントが
ACKパケットを送る。これでクライアントとサーバーの接続が確立される。)
● F5攻撃 → ひたすらF5を押して、リクエストを送り続けてサーバーに負荷をかける。
対策
● 不自然なアクセスの増加を検知して、アクセスを送った
IPアドレスのアクセスを制限する。
セッションハイジャック
Cookieの中身やセッションIDを盗聴して個人情報を抜き出す攻撃
対策
● 盗聴されても情報を見られないように通信を暗号化
● ログインユーザーが急に別のIPアドレスから接続してきた場合、強制的にログアウ
トするような仕組みにする。
ディレクトリトラバーサル
webサーバー内の公開されていないディレクトリにアクセスしてパスワードなどの個人情
報を抜き出して、不正ログインを行う手法
対策
● リクエストURLを確認して、公開していないファイルが指定されていないかどうかを
確認。
● webサーバーの設定ファイルで公開したくないファイルはアクセスを拒否するように
設定する。
クロスサイトスクリプティング(XSS)
攻撃者が用意した悪意のあるサイトにユーザーがアクセスし、リンクをクリックする。その
リンク内に個人情報を盗むスクリプトや、偽の情報が記載されたwebページを表示する
スクリプトが実行される。
対策
● webページに表示される全ての要素をエスケープ処理しておく。
● HTTPレスポンスヘッダーに文字コードを設定する。(エスケープ処理を有効にする
ため)
● cookieにHTTPonly属性を加えて、TRACEメソッドを無効化する。etc…
ref: https://www.ipa.go.jp/security/vuln/websecurity-HTML-1_5.html
クロスサイトリクエストフォージェリ(CSRF)
攻撃者がSNSなどの操作を行うスクリプトを準備して、そのページにユーザーを誘導す
る。ユーザーがそのサイトにアクセスしたことで、SNSの操作を行うスクリプトが実行され
る。もし事前にそのSNSにアクセスしていたら実際にSNSが操作されてしまう。。というも
の。
対策
● webアプリケーション内でサイト外からのリクエストを受信・処理しないようにする。
(railsではデフォルトで設定されている。なので、フロントエンドとバックエンドを分け
て開発する場合には、フロントエンド側のリクエストだけは許可するように設定を変
更する必要がある。間違っても全てのアクセスを許可。なんてことはしないよう
に!!)
SQLインジェクション
DBと連携を行っているであろう画面で、本来発行されるSQL文の他に、DBが解釈でき
る内容を注入することでDBに意図しない動作をさせる手法。(データ改竄 or 個人情報
の流出)
対策
● バリデーションでSQL文として使用される特殊文字の入力を防ぐ
● SQL文の特殊文字をエスケープ処理する。
セキュリティホール
情報セキュリティを脅かす、システムのバグ。
脆弱性情報データベースというデータベースで管理されているため、システムの管理者
は自社で使用しているシステムのセキュリティホールは確認しておく必要がある。
以下、リンク
https://jvndb.jvn.jp/
ゼロデイ攻撃
セキュリティホールに対する修正プログラムが開発される前にセキュリティホールに攻撃
を行うこと
対策
● セキュリティホールの少ない or 修正プログラムの配布スピードの早い製品を使用
する
目次(その2) → 今回説明
■ セキュリティ強化のためのシステム
● ファイアーウォール
● IDS・IPS
● WAF
● 暗号化
● 公開鍵証明書
● 認証
● 認可
● CAPTCHA
ファイアーウォール
サービスに必要な通信のみを許可し、それ以外の通信を拒否する。
■ 主な種類と特徴
1.パケットフィルタリング型
・通信されるデータを「パケット」と呼ばれる小さな単位ごとに分析する方式。
・パケットのヘッダー情報に含まれているIPアドレスをチェックして、通信の許可 or 拒否を行う。
・検査するのみで処理が単純なため、通信速度を確保できるというメリットがありますが、仕組み上、パケットの中身までは検査しないため偽装されたパケットの検知や、アプリ
ケーションの脆弱性を狙った攻撃を防ぐことはできません。一般的なセキュリティ対策法として知られています。
2.アプリケーションゲートウェイ型
・HTTP、FTPなどのアプリケーションプロトコルごとに制限ルールを設定できるので、高機能。反面、データの中身まで解析するため処理に時間がかかり通信速度が低下すると
いうデメリットがあります。
3.サーキットレベルゲートウェイ型


・パケットフィルタリング型の機能に加え、ポートを指定することによって通信の可否を設定できる。また、アプリケーションごとの設定が可能なため、特定のシステムやソフトウェ
アの通信制御を行う際にも有効です。(このアプリケーションからの通信は80番しか許可しないなど。) 

IDS・IPS
ネットワークの不正アクセスを検知するシステム
IDS:不正侵入の検知
IPS:不正侵入の防御 → こっちの方が強固だけど、誤検知が発生した場合にはIPSだと通信が遮断されるので可用性が落ちる。セキュリティ
よりも可用性を重視したい場合にはIDSを使用するという選択肢も生まれる。
■ 検知方法
シグネチャ型:ブラックリスト方式 → 未知の攻撃に対しては弱いが、一度受けた攻撃に関しては防御できるし、アノマリー型と比べて管理す
る手間は少ない。
アノマリー型:ホワイトリスト方式 → 都度ホワイトリストを管理する手間がかかる。
■ 監視方法
ネットワーク型:ネットワーク内を通る、データの中身を検知。導入台数はホスト型と比べて少なくなる。ただ、サーバーの検知はできない。
ホスト型:検知対象のサーバーに設置、不正侵入検知のほかに、ファイルの改竄やサーバー内の不審な動きも検知できる。
WAF(ウェブアプリケーションファイアウォール)
IDSやIPSを使うと、DoS攻撃(例:f5連打攻撃)など、明らかに不審な通信が発生する場合には対応でき
るが、クロスサイトスクリプティングや
SQLインジェクションのような、一見正常に見えるが、送信されてくる
データが不正なものに対しては対応できない。
WAFはパケットの中身を見て、悪意のあるデータが含まれ
ていないかチェックしてくれる。
■ 通信の検知方式
・ブラックリスト型:未知の攻撃には弱いが、既知の攻撃には強い。
・ホワイトリスト型:許可する通信のみ通すので、セキュリティ効果は高いが、許可するルールが厳しく、本
来通さないといけない通信まで通せなくなったりする。正確なホワイトリストを作るのは専門的な知識が必
要なようで、運用コストがかかる。
暗号化
通信の盗聴や不正侵入への対策
・通信の盗聴対策
→ HTTPS通信で、通信を暗号化する
・不正侵入への対策
→ DB保存時に、暗号化して保存して、アプリケーション側で使用する際には復号する。
または、ハッシュ化して複合できないようにする。
公開鍵証明書
別の回で説明したので割愛
認証
以前は認証は各サイトごとに用意されていたが、こうすると複数のサイトでアカウントを
作ることになるので管理が面倒。加えて管理者側は利用者の個人情報管理の負担が発
生する。 → 認証のアウトソーシング化が進んできている。
・認証API:各社ごとにAPIの仕様が統一されてないため、webアプリケーションを複数の
認証APIに対応させるのは一苦労。また、認証APIを提供するサイトにアカウントが存在
する必要あり。
・OpenID:認証処理を標準化したプロトコル。このプロトコルに対応したサービス間で
は、他サービスの発行したIDを用いてログインなどが行える。
例:食べログで会員登録したら、そのidで、amazonにも入れる。(あくまで例え話です。)
認可
認証結果によって、ユーザーごとの権限に従って利用できるサービスの許可を行うこと。
例:食べログでkumaというユーザーアカウント(無料会員)が認証された時、kumaは無
料会員の与えられた権限を実行できるようになるということ
最近ではサイトやアプリを跨いだ利用シーンも増えてきており、このような利用を実現す
るためにさまざまな方法が開発されている。
OAuth:https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be
OpenID Connect:OpenIDと併用でき、認証と認可の両方が行えるためOpenIDを利用
していた多くのサイトが移行を始めてるらしい。
CAPTCHA
コンピューターやプログラミング技術が発展したことで、文字入力やクリックもスクリプト
を組んでできるようになっている。ただ、そうすると投票時に自動的に大量の投票を送り
付け、票数を操作(例:NewYorkTimesの田代砲)などが可能になってしまう。
こうしたスクリプトによるwebサービスの悪用を防ぐために考案されたのがCAPTCHA
人間は容易に実施できるが、機械には難しい処理(画像を見て信号機が写っている写
真を選択など)を行わせる。

More Related Content

Similar to web技術 〜セキュリティ編〜.pdf

[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...
[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...
[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...Insight Technology, Inc.
 
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎Takahisa Kishiya
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~Minoru Sakai
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達zaki4649
 
サーバを作ってみた (4)
サーバを作ってみた (4)サーバを作ってみた (4)
サーバを作ってみた (4)SeungYong Yoon
 
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)Shinobu Yasuda
 
データベースセキュリティ
データベースセキュリティデータベースセキュリティ
データベースセキュリティYasuo Ohgaki
 
MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018gomafu04
 
MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018Tomoya Takezaki
 
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)Masaya Tahara
 
Webアプリのセキュリティ対策入門(仮)
Webアプリのセキュリティ対策入門(仮)Webアプリのセキュリティ対策入門(仮)
Webアプリのセキュリティ対策入門(仮)pinenet
 
セキュアプログラミング講座
セキュアプログラミング講座セキュアプログラミング講座
セキュアプログラミング講座minoru-ito
 
OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)Sen Ueno
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
 
Amazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみたAmazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみたcluclu_land
 

Similar to web技術 〜セキュリティ編〜.pdf (20)

[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...
[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...
[data security showcase Sapporo 2015] D22:今求められるセキュリティレベルとFireEye適応型防御 by ファイ...
 
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
社内勉強会 20120518
社内勉強会 20120518社内勉強会 20120518
社内勉強会 20120518
 
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
20131205 大阪 web制作者向け セキュリティセミナー~最近のWebサイト攻撃事例とキホン対策~
 
M04_失敗しないための Azure Virtual Desktop 設計ガイド
M04_失敗しないための Azure Virtual Desktop 設計ガイドM04_失敗しないための Azure Virtual Desktop 設計ガイド
M04_失敗しないための Azure Virtual Desktop 設計ガイド
 
とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達とある診断員と色々厄介な脆弱性達
とある診断員と色々厄介な脆弱性達
 
サーバを作ってみた (4)
サーバを作ってみた (4)サーバを作ってみた (4)
サーバを作ってみた (4)
 
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
”もと”中の人が語り尽くすSoftLayerセキュリティー(2016/10/13更新版)
 
データベースセキュリティ
データベースセキュリティデータベースセキュリティ
データベースセキュリティ
 
MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018
 
MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018MBSD Cybersecurity Challenges 2018
MBSD Cybersecurity Challenges 2018
 
Internet Week 2018:D2-3 丸ごと分かるペネトレーションテストの今
Internet Week 2018:D2-3 丸ごと分かるペネトレーションテストの今Internet Week 2018:D2-3 丸ごと分かるペネトレーションテストの今
Internet Week 2018:D2-3 丸ごと分かるペネトレーションテストの今
 
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
 
Webアプリのセキュリティ対策入門(仮)
Webアプリのセキュリティ対策入門(仮)Webアプリのセキュリティ対策入門(仮)
Webアプリのセキュリティ対策入門(仮)
 
セキュアプログラミング講座
セキュアプログラミング講座セキュアプログラミング講座
セキュアプログラミング講座
 
Microsoft 365 Day Session 5
Microsoft 365 Day Session 5Microsoft 365 Day Session 5
Microsoft 365 Day Session 5
 
OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)OWASPの歩き方(How to walk_the_owasp)
OWASPの歩き方(How to walk_the_owasp)
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
Amazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみたAmazon Inspector v2で脆弱性管理を始めてみた
Amazon Inspector v2で脆弱性管理を始めてみた
 

web技術 〜セキュリティ編〜.pdf