aws security jaws...
TRANSCRIPT
![Page 1: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/1.jpg)
Technology Innovation Group2017.11.13(Mon)
Masamitsu Maehara
経済的にハニーポットの
ログ分析をするためのベストプラクティス?
- SecurityJAWS -
![Page 2: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/2.jpg)
自己紹介l 前原 応光(まえはら まさみつ)
l Future Architect, Inc.
l Technology Innovation Group
l エンプラでAWSとかゴニョゴニョやってます
l ゆるふわエンジニア
@micci184
![Page 3: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/3.jpg)
1 登場人物のご紹介
2 やりたいこと
3 構成について
4 ログを取り込むには
5 どんな結果が出たのよ
6 まとめ
![Page 4: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/4.jpg)
X X
![Page 5: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/5.jpg)
HoneyPotl 高対話型ハニーポット
l 本物のOSやアプリケーションを利用するl 情報が得られやすいl リスク高い
l 低対話型ハニーポットl OSやアプリケーションをエミュレートして監視するl 機能制限があるl 攻撃者にバレる可能性があるl 高対話型より安全
![Page 6: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/6.jpg)
Dionaeal 低対話型ハニーポット
l マルウェア収集するよl SMB/HTTP/HTTPS/FTP/TFTP/MSSQL/SIPl それっぽくするために、フロントの画面はつくる
Cowriel 低対話型ハニーポット
l SSH特化l Kippoよりもよくできている
![Page 7: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/7.jpg)
Elastic Stackl Logstash: 取り込んで加工してストアl Beats: データシッパー(色々とよしなにやってくれる)l Elasticsearch: 検索や分析に使われてるl Kibana: ビジュアライズやダッシュボードが作れる
![Page 8: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/8.jpg)
Logstashl INPUT: 様々なデータソースを収集l Filter: PluginのGrokや地理情報を得るためのGeoIPなどを
使いフィルタをかけるl Output: フィルタしたデータを送る
Logstash
INPUT FILTER OUTPUT
![Page 9: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/9.jpg)
ここまで紹介したのをAWSで環境を構築しますー
![Page 10: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/10.jpg)
!AWSで構築するハニーポットは、
低対話型です!!
![Page 11: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/11.jpg)
やりたいことl いろんなリージョンにハニーポットを配置したいl 工夫することでマルウェアの収集に影響があるのかl リージョンごとで攻撃の傾向が違うのかみたいl いろんなログを収集し、可視化・分析したいl お金を節約したい
![Page 12: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/12.jpg)
AWSだしリージョンあるしいろんなところに配置しよう
![Page 13: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/13.jpg)
Ireland
Virginia
Saopaulo
Tokyo
Singapore
California
Canada
Cowrie
Elastic StackDionaea ×4
Cowrie
Cowrie
Cowrie
Cowrie
Cowrie
![Page 14: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/14.jpg)
Ireland
Virginia
Saopaulo
Tokyo
Singapore
California
Canada
110%
100%118%
160%
126%
131%
109%
バージニアを基準にした場合の料金比率
t2.microで比較
![Page 15: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/15.jpg)
Dionaea、Cowrieでどんなログ取得したい?
![Page 16: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/16.jpg)
Dionaeal マルウェアを収集し、スキャンかけたいl ドメイン、IPアドレスで変化するのかl ドメイン、IPアドレスをpastebin.comに書いたら変化するのか
Cowriel 対象ログをCowrie.jsonとするl パスワードやユーザ名の傾向を知るl どこの国から攻撃してきているかを知るl Cowrieの配置場所として良いところとは?
![Page 17: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/17.jpg)
どうやってログを収集する?
![Page 18: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/18.jpg)
どうやってログを収集する?l 各リージョンにあるcowrieのログをElasticStackに送るl Dionaeaで収集したログも送る
Cowrie
Cowrie
Cowrie
Cowrie
ElasticStack
dionaea
dionaea
dionaea
dionaea
![Page 19: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/19.jpg)
どうやってログを収集する?l 各リージョンにあるcowrieのログをElasticStackに送るl Dionaeaで収集したログも送る
Cowrie
Cowrie
Cowrie
Cowrie
ElasticStack
dionaea
dionaea
dionaea
dionaeaX
![Page 20: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/20.jpg)
l 常にElasticStackを起動したくないl できるだけログがロストしない仕組み
にしたいl いつでもログを取り出したい
![Page 21: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/21.jpg)
てことで、こんな構成l ログはAWSサービスに寄せるl S3やCloudWatch Logsに保管
Cloudwatch Logs
Bucket
Attack
Cowrie
Dionaea
ElasticStack
Attack
![Page 22: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/22.jpg)
てことで、こんな構成l ログはAWSサービスに寄せるl S3やCloudWatch Logsに保管
Attack
Cowrie
Dionaea
ElasticStack
Attack
ここにログを集める!
Cloudwatch Logs
Bucket
![Page 23: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/23.jpg)
Dionaea
![Page 24: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/24.jpg)
Dionaeaの準備1. Dionaeaを構築を4台構築する(リージョンは、バージニア)2. それっぽいトップページを作成する3. ドメインを取得する4. 取得したドメインとIPアドレスをpastebin.comに記載する5. Route53のロギングを有効にする6. 放置する7. 定期的に収集したマルウェアをスキャンし、スキャン結果の
ログをS3にアップロード8. Logstashでログを取得し、Elasticsearchにストア
![Page 25: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/25.jpg)
l dionae02: architect-tech.com →PASTEBIN
l dionae01: Global IP address
l dionae03: Global IP address
l dionae04: architect-tech.net
→PASTEBIN
PASTEBINに公開する・しない
![Page 26: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/26.jpg)
マルウェアのスキャンl マルウェアはbinariesディレクトリに格納されるl 複数のアンチウィルスソフトでスキャンしたいので、VirusTotal
を利用するl VirusTotalはAPIを提供している(1分間に4回まで)l AmazonLinuxは、Pythonの実行環境が整っているので
Pythonでスクリプト作成l スキャン結果のログをS3にアップロード
dionaea01
dionaea04 Bucket...
![Page 27: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/27.jpg)
Cowrie
![Page 28: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/28.jpg)
Cowrieの準備1. Cowrieを構築を各リージョンに構築する2. 取得したいログを対象にAWS Logsのconfファイルを作成
対象: cowrie.json3. VPC FlowLogsのログを可視化したいので、Cowrieにアタッチ
されているENIに対してVPC FlowLogs有効化#VPCレベルでやるとすべてのENIが対象になるので注意
4. 放置する5. Logstashでログを取得し、Elasticsearchにストア
![Page 29: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/29.jpg)
Cowrie
California
Cowrie Cowrie Cowrie Cowrie Cowrie
Cloudwatch Logs
Canada
Cloudwatch Logs
Ireland
Cloudwatch Logs
Saopaulo
Cloudwatch Logs
Singapore
Cloudwatch Logs
Tokyo
Cloudwatch Logs
Logstash
Virginia
ログ集約方法l CloudWatch LogsにCowrieのログをアップロードl LogstashからCloudWatch LogsのLog Groupからログを取得
![Page 30: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/30.jpg)
Logstash
![Page 31: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/31.jpg)
取得したいログl CloudWatch LogsにあるCowrie.jsonl CloudWatch LogsにあるVPCFlow Logsl CloudWatch LogsにあるRoute53のログl S3にあるMalwarescanLogs
Grok : VpcFlow Logs & Route53
JsonFilter : Cowrie.json & Scan Logs
Logstashのフィルタ対応
![Page 32: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/32.jpg)
input {cloudwatch_logs {
region => "us-east-1"log_group => [ "/aws/route53/architect-tech.com" ]sincedb_path => "/var/lib/logstash/sincedb_architect_tech_com"
}}filter {
grok{patterns_dir => [ "/etc/logstash/patterns/vpcflowlogs_patterns" ]match => { "message" => "%{VPCFLOWLOG}"}
}date {
match => ["start_time", "UNIX"]target => "@timestamp"
}geoip {
source => "src_ip"target => "src_geoip"
}}output {
elasticsearch {hosts => [ "localhost:9200" ]index => ”vpcflow-logs-%{+YYYYMMdd}"
}}
# VPC_Flow_LogsVPCFLOWLOG %{NUMBER:version} %{NUMBER:account_id} %{NOTSPACE:interface_id} %{IP:src_ip} %{IP:dst_ip} %{POSINT:src_port} %{POSINT:dst_port} %{NOTSPACE:protocol_id} %{NOTSPACE:packets} %{NOTSPACE:bytes} %{NUMBER:start_time} %{NUMBER:end_time} %{NOTSPACE:action} %{NOTSPACE:log_status}
★Pattern FIle
★Conf FIle
VpCFlow Logsl InputCloudWatch Logs
Pluginのインストールが必須l GrokPatternは外だしl GrokFillterから呼び出すl UNIXタイムなので、Date
フィルタで定義するl GeoIPで地理情報を取得l OutputでIndexを定義l あらかじめIndexTemplateを
つくっておくこと(作り方は割愛)
![Page 33: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/33.jpg)
input {cloudwatch_logs {
region => "us-west-1"log_group => [ "california_cowrie" ]sincedb_path => "/var/lib/logstash/sincedb_vpcflowlogs_california"
}}filter {
grok {patterns_dir => [ "/etc/logstash/patterns/route53_patterns" ]match => { "message" => "%{ROUTE53LOG}" }
}date {
match => [ "date", "ISO8601" ]target => "@timestamp"
}geoip {
source => "resolver_ip"target => "src_geoip"
}}output {
elasticsearch {hosts => [ "localhost:9200" ]index => ”Route53-logs-%{+YYYYMMdd}"
}}
# Route53ROUTE53LOG %{NOTSPACE:version}¥s%{TIMESTAMP_ISO8601:date} %{NOTSPACE:host_id}¥s%{URIPROTO:query_name}¥s%{WORD:query_type}¥s%{WORD:response_code}¥s%{WORD:protocol}¥s%{NOTSPACE:edge}¥s%{IP:resolver_ip}¥s(%{IP:edns_client_subnet}/%{POSINT:edns_cidr}|-)
★Pattern FIle
★Conf FIle
Route53l 先ほどのVPCFlow Logsと
要領は一緒l timestampは、今回ISO8601l GeoIPで地理情報を取得l OutputでIndexを定義
l ちなみにGrokPatternを作成したいそんな方はログフォーマットをちゃんと読むべしー
![Page 34: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/34.jpg)
input {s3 {
bucket => "cowrie-log"region => "us-east-1"prefix => "california/"interval => "30"sincedb_path => "/var/lib/logstash/sincedb_cowrie_json_california"codec => json
}}filter {
json {source => "message"}date {
match => [ "timestamp", "ISO8601" ]target => "@timestamp"
}geoip {
source => "src_ip"target => "src_geoip”
}geoip {
source => "dst_ip"target => "dst_geoip"
}}output {
elasticsearch {hosts => [ "localhost:9200" ]index => "cowrie-json-logs-%{+YYYYMMdd}"}
}
★Conf FIle
Cowrie.jsonl S3InputPluginのインストールが必須
l JsonなどでJson Filterで読み込む
l SourceIP & DistinaetionIP共に地理情報を取得
l インデックステンプレートを作成するときにGeoIPなどのマッピングすること
![Page 35: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/35.jpg)
input {s3 {
bucket => "cowrie-log"region => "us-east-1"prefix => "california/"interval => "30"sincedb_path => "/var/lib/logstash/sincedb_cowrie_json_california"codec => json
}}filter {
json {source => "message"}
}output {
elasticsearch {hosts => [ "localhost:9200" ]index => "vt-logs-%{+YYYYMMdd}"}
}
★Conf FIle
Viurus Totall Json Filterかけるだけ!l 以上!!
l Input CloudWatch logsl S3 Input Plugin
Install Plugin
★Install Input CloudWatch logs
$ cd /usr/share/logstash/$ bin/logstash-plugin install logstash-input-cloudwatch_logs
★Install S3 Input Plugin
$ cd /usr/share/logstash/$ bin/logstash-plugin install logstash-input-s3
![Page 36: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/36.jpg)
結果
![Page 37: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/37.jpg)
![Page 38: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/38.jpg)
VPcFlow Logs
国別マルウェア件数
ユーザ名アクセス件数
スキャン結果
Domain
Domain
IP
IP
![Page 39: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/39.jpg)
Best10 Username
Best10 Password
![Page 40: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/40.jpg)
Cowrieの結果よりl アクセス件数はアイルランド、サンパウロ、シンガポールが多いl 利用料金から考えるとアイルランドがコスパがよい
l アイルランド: 109%l サンパウロ: 160%l シンガポール: 126%
l そもそもt2.microで動くのでそこまで意識しなくていいかもちりつもはあるが。。
![Page 41: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/41.jpg)
Dionaeaの結果よりl グローバルIPではなく、ドメインを登録した方がマルウェアの取
得率が高いl さらにPASTEBINに登録することで取得率が更にあがるl やっぱりWannaCryが多いl ディスク要領使うのでデフォルト8GBだと2週間もたないl なので、何かしらの施しが必要l 実は、DionaeaをオンデマンドとSpotFleetで稼働してみた
l Region: Virginia
l InstanceType: m3.medium
l On-demand: 222h → $14.93l SpotFleet: 383h → $3.58
![Page 42: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/42.jpg)
まとめ
![Page 43: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/43.jpg)
まとめl ログをAWS側に寄せることで必要なときに取り出せるl 保管の料金も安くすむ!l リージョン毎に料金が違うので、東京にこだわる必要ないl PASTEBINは有効なサービスなので使うべしl VirusTotalのAPI上限数は気をつけて
l AWSのログは、親切!ログフォーマットの説明が丁寧
l LogstashのGrokは闇深いけど、楽しいよ!
![Page 44: AWS Security JAWS 経済的にハニーポットのログ分析をするためのベストプラクティス?](https://reader033.vdocuments.pub/reader033/viewer/2022052117/5a64795f7f8b9a6a568b4655/html5/thumbnails/44.jpg)
Thanks