Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
国内金融機関に激震!!
仮想通貨、要求されたらあなたはどうしますか?
2017/11/29(Wed)
Future Architect, Inc
Hisashi Hibino
2
自己紹介
名前:日比野 恒 (ひびの ひさし)
所属:フューチャーアーキテクト株式会社
Technology Innovation Group
セキュリティアーキテクト (CISA、登録セキスぺ)
領域:
サーバ基盤
OS
データベース
ア...
3
さて、本題!!
4
5
9月に発生したFX会社を狙ったランサムDDoS攻撃
https://www.shadan-kun.com/blog/securitynews/291.html
詳
し
く
は
こ
ち
ら
を
見
て
ね
6
一般的な対応フロー
こんな流れで対応することになるはず...
1. SyslogサーバからFirewallログ取得
2. 国情報から国外アクセスを検索
3. 国外IP一覧をIPアドレスごとに集計
4. IPアドレスをWhoisでホスト名検索...
7
でも、これって地味ぃにキツイ...
・
8 ですが、今回は遮断くんではなく...笑
9
ElasticStack使ってみたよ!
テキストベースのログデータをリアルタイムに収集、攻撃を素早く分析出来るように可視化
ログ収集、転送 保存、分析 可視化、調査
10
ElasticStackとは
全文検索エンジンであるElasticsearchを中心としたElastic社のオープンソースプロダクト群
Kibana
Elasticsearch
Logstash Beats
Elastic Cloud
ア...
11
今回のシステム構成
・外部公開しているWebサーバおよびその手前に配置しているFirewallのログを分析に活用
Firewall
Internet
LB
Webサーバ
Appサーバ
DDoS攻撃者
DMZ環境
運用者(ログ分析)
Ela...
12
金融庁の定義でいうところの
・「検知」のカテゴリに対して、ElasticStackによるサイバー攻撃の分析機能を適用
特定 防御 検知 対応/復旧
 保護すべき対象の把握
 経営陣によるサイバーセ
キュリティ管理の重要性の
認識
 ...
13
こんな分析画面作ってみた ( ゚Д゚)/
14
どんな分析を実施したのか
1. ログイン用URL宛のWebアクセスログに絞り込む。
2. 日本国外の送信元IPアドレスに絞り込む。
3. 送信元IPアドレスからDNS逆引きでFQDN化して取り込む。
日本国内以外でFXログイン用ページに対...
15
これだけ嬉しいことになる (^^)
1. SyslogサーバからFirewallログ取得
2. 国情報から国外アクセスを検索
3. 国外IP一覧をIPアドレスごとに集計
4. IPアドレスをWhoisでホスト名検索
5. 不審なIPアドレ...
16
GeoipとDNS filter
Logstashのfilter-pluginであるGeoipとDNSを使い、データを利用したい形式に加工
Webアクセスログ
file csv geoip dns
Elastic
search
 geo...
17
まとめ
 対応スピードが求められる状況において、システムによる自動化は必須要件
 ログは溜めているだけでは高度なサイバー攻撃に備えることは出来ない時代
 オープンソースプロダクトでも金融領域に対して有効活用が可能
18
19
Appendix
20
logstash.confの解説(1/6)
input {
file {
path => "/var/log/web/*.log"
start_position => "beginning“
}
}
【説明】
 input句にファイルを...
21
logstash.confの解説(2/6)
filter {
csv
{
columns =>
[
"c-ip",
"date",
"time",
"time-taken",
"cs-method",
"cs-uri",
"sc-stat...
22
logstash.confの解説(3/6)
geoip{
source => "c-ip"
}
【説明】
 geoip filterで利用したカラムを「source」で指定
 今回はWebサーバへアクセスしてくる送信元国名情報が欲しか...
23
logstash.confの解説(4/6)
mutate {
add_field => {
"c-host" => "%{c-ip}"
"timestamp" => "%{date} %{time}"
}
}
dns {
reverse ...
24
logstash.confの解説(5/6)
date{
match => [ "timestamp", "yyyy-MM-dd HH:mm:ss" ]
remove_field => [ "message", "host", "times...
25
logstash.confの解説(6/6)
output {
elasticsearch {
hosts => [ "192.168.1.10:9200" ]
}
}
【説明】
 output句で加工済みログデータの出力先として「ela...
26
Kibanaグラフの作り方(1/15)
① ②
27
Kibanaグラフの作り方(2/15)
③
28
Kibanaグラフの作り方(3/15)
④
29
Kibanaグラフの作り方(4/15)
⑤
30
Kibanaグラフの作り方(5/15)
⑥
31
Kibanaグラフの作り方(6/15)
⑦
32
Kibanaグラフの作り方(7/15)
⑧
⑨
33
Kibanaグラフの作り方(8/15)
⑩
34
Kibanaグラフの作り方(9/15)
⑪
⑫
⑬
35
Kibanaグラフの作り方(10/15)
⑭
⑮
36
Kibanaグラフの作り方(11/15)
⑯
37
Kibanaグラフの作り方(12/15)
38
Kibanaグラフの作り方(13/15)
⑰
39
Kibanaグラフの作り方(14/15)
⑱
40
Kibanaグラフの作り方(15/15)
⑲
Upcoming SlideShare
Loading in …5
×

【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?

1,099 views

Published on

Security Learning vol.4 #サイバーセキュリティLT大会

Published in: Technology
  • Be the first to comment

【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか?

  1. 1. 1 国内金融機関に激震!! 仮想通貨、要求されたらあなたはどうしますか? 2017/11/29(Wed) Future Architect, Inc Hisashi Hibino
  2. 2. 2 自己紹介 名前:日比野 恒 (ひびの ひさし) 所属:フューチャーアーキテクト株式会社 Technology Innovation Group セキュリティアーキテクト (CISA、登録セキスぺ) 領域: サーバ基盤 OS データベース アプリケーション ネットワーク データセンター セ キ ュ リ テ ィ ※資料は終了後公開します
  3. 3. 3 さて、本題!!
  4. 4. 4
  5. 5. 5 9月に発生したFX会社を狙ったランサムDDoS攻撃 https://www.shadan-kun.com/blog/securitynews/291.html 詳 し く は こ ち ら を 見 て ね
  6. 6. 6 一般的な対応フロー こんな流れで対応することになるはず... 1. SyslogサーバからFirewallログ取得 2. 国情報から国外アクセスを検索 3. 国外IP一覧をIPアドレスごとに集計 4. IPアドレスをWhoisでホスト名検索 5. 不審なIPアドレスをFirewallでブロック 繰り返す
  7. 7. 7 でも、これって地味ぃにキツイ... ・
  8. 8. 8 ですが、今回は遮断くんではなく...笑
  9. 9. 9 ElasticStack使ってみたよ! テキストベースのログデータをリアルタイムに収集、攻撃を素早く分析出来るように可視化 ログ収集、転送 保存、分析 可視化、調査
  10. 10. 10 ElasticStackとは 全文検索エンジンであるElasticsearchを中心としたElastic社のオープンソースプロダクト群 Kibana Elasticsearch Logstash Beats Elastic Cloud アラート 性能監視 グラフ セキュリティ X-Pack Elastic Stack (オープンソース) 有償サブスクリプション 機械学習 レポート 正規化 保存/蓄積 可視化 認証/暗号化 通知 相関分析 異常検知 取り込み
  11. 11. 11 今回のシステム構成 ・外部公開しているWebサーバおよびその手前に配置しているFirewallのログを分析に活用 Firewall Internet LB Webサーバ Appサーバ DDoS攻撃者 DMZ環境 運用者(ログ分析) ElasticStack 通信経路 ログ取得 【凡例】 【ポリシーログ】 【アクセスログ】 FX利用者
  12. 12. 12 金融庁の定義でいうところの ・「検知」のカテゴリに対して、ElasticStackによるサイバー攻撃の分析機能を適用 特定 防御 検知 対応/復旧  保護すべき対象の把握  経営陣によるサイバーセ キュリティ管理の重要性の 認識  セキュリティ水準の定期的 評価  システム開発におけるセ キュリティ管理の視点の導 入  組織内の緊急時対応/早 期警戒体制の整備  情報共有機関等を通じた 情報収集/共有体制の整 備  多層防御(入口対策/内 部対策/出口対策)  システムの脆弱性について の適時の対応  CPの策定  業界横断的演習への参 加  通信記録(ログ)等の取得 /分析を含むサイバー攻撃 に対する監視  CPに沿った適切な対応 出典:金融庁公表資料 特定 防御 検知 対応 【イメージ図】
  13. 13. 13 こんな分析画面作ってみた ( ゚Д゚)/
  14. 14. 14 どんな分析を実施したのか 1. ログイン用URL宛のWebアクセスログに絞り込む。 2. 日本国外の送信元IPアドレスに絞り込む。 3. 送信元IPアドレスからDNS逆引きでFQDN化して取り込む。 日本国内以外でFXログイン用ページに対する httpsアクセスのホスト名をDNS逆引きで ランサムDDoS攻撃の兆候をリアルタイムに分析
  15. 15. 15 これだけ嬉しいことになる (^^) 1. SyslogサーバからFirewallログ取得 2. 国情報から国外アクセスを検索 3. 国外IP一覧をIPアドレスごとに集計 4. IPアドレスをWhoisでホスト名検索 5. 不審なIPアドレスをFirewallでブロック 繰り返す 1. SyslogサーバからFirewallログ取得 2. 国情報から国外アクセスを検索 3. 国外IP一覧をIPアドレスごとに集計 4. IPアドレスをWhoisでホスト名検索 5. 不審なIPアドレスをFirewallでブロック ElasticStack に よ る 自 動 化
  16. 16. 16 GeoipとDNS filter Logstashのfilter-pluginであるGeoipとDNSを使い、データを利用したい形式に加工 Webアクセスログ file csv geoip dns Elastic search  geoip: IPアドレス情報から国名や緯度経度情報を付加する  dns: IPアドレスからホスト名を逆引きする 【参考URL】 https://www.elastic.co/guide/en/logstash/current/plugins-filters-dns.html https://www.elastic.co/guide/en/logstash/current/plugins-filters-geoip.html
  17. 17. 17 まとめ  対応スピードが求められる状況において、システムによる自動化は必須要件  ログは溜めているだけでは高度なサイバー攻撃に備えることは出来ない時代  オープンソースプロダクトでも金融領域に対して有効活用が可能
  18. 18. 18
  19. 19. 19 Appendix
  20. 20. 20 logstash.confの解説(1/6) input { file { path => "/var/log/web/*.log" start_position => "beginning“ } } 【説明】  input句にファイルを取り込むため、「file」を指定  取り込みたいファイルが置かれているパスを指定  取り込みたいファイルを先頭から読み込みたいため「beginning」を指定  デフォルトでどこまでファイルが読み込まれたか記憶するsincedbファイルでオフセット値を管理
  21. 21. 21 logstash.confの解説(2/6) filter { csv { columns => [ "c-ip", "date", "time", "time-taken", "cs-method", "cs-uri", "sc-status", "byte" ] separator => " " } 【説明】  Webサーバのログ形式がtab区切りのCSV形式のため、filter句で「csv」を指定  「columns」でログのカラム名を先頭から明示的に指定  Tab区切りの場合、「separator」でスペースを指定
  22. 22. 22 logstash.confの解説(3/6) geoip{ source => "c-ip" } 【説明】  geoip filterで利用したカラムを「source」で指定  今回はWebサーバへアクセスしてくる送信元国名情報が欲しかったため、アクセス元IPの「c-ip」を指定
  23. 23. 23 logstash.confの解説(4/6) mutate { add_field => { "c-host" => "%{c-ip}" "timestamp" => "%{date} %{time}" } } dns { reverse => ["c-host"] action => "replace" nameserver => [ "8.8.8.8"] hit_cache_size => 500000 } } 【説明】  mutate filterでdns filterで逆引きに利用するカラム「c-host」を「c-ip」から複製  date filterで利用するtimestampを「date」と「time」を結合してカラム追加  dns filterでGoogleの8.8.8.8を利用して、「c-host」を逆引き「reverse」に利用  DNSキャッシュサイズとして、50万件の成功したリクエストをキャッシュ
  24. 24. 24 logstash.confの解説(5/6) date{ match => [ "timestamp", "yyyy-MM-dd HH:mm:ss" ] remove_field => [ "message", "host", "timestamp","date","time" ] } 【説明】  date filterで「timestamp」に含まれる「yyyy-MM-dd HH:mm:ss」形式の日付を@timestampに利用  remove_fieldで不要なカラムをログデータから削除
  25. 25. 25 logstash.confの解説(6/6) output { elasticsearch { hosts => [ "192.168.1.10:9200" ] } } 【説明】  output句で加工済みログデータの出力先として「elasticsearch」を指定  ElasticsearchのURLを「hosts」で指定  デフォルトのポート番号はTCP9200  IPアドレスの「192.168.1.10」はサンプル
  26. 26. 26 Kibanaグラフの作り方(1/15) ① ②
  27. 27. 27 Kibanaグラフの作り方(2/15) ③
  28. 28. 28 Kibanaグラフの作り方(3/15) ④
  29. 29. 29 Kibanaグラフの作り方(4/15) ⑤
  30. 30. 30 Kibanaグラフの作り方(5/15) ⑥
  31. 31. 31 Kibanaグラフの作り方(6/15) ⑦
  32. 32. 32 Kibanaグラフの作り方(7/15) ⑧ ⑨
  33. 33. 33 Kibanaグラフの作り方(8/15) ⑩
  34. 34. 34 Kibanaグラフの作り方(9/15) ⑪ ⑫ ⑬
  35. 35. 35 Kibanaグラフの作り方(10/15) ⑭ ⑮
  36. 36. 36 Kibanaグラフの作り方(11/15) ⑯
  37. 37. 37 Kibanaグラフの作り方(12/15)
  38. 38. 38 Kibanaグラフの作り方(13/15) ⑰
  39. 39. 39 Kibanaグラフの作り方(14/15) ⑱
  40. 40. 40 Kibanaグラフの作り方(15/15) ⑲

×