狠狠撸

狠狠撸Share a Scribd company logo
? SIOS Technology, Inc. All rights Reserved.
ランサムウェアをサーバー侧から対策する
1
2016/06/15
OSS/Security Evangelist
面 和毅
? SIOS Technology, Inc. All rights Reserved.
Agenda
2
1. ランサムウェアのおさらい
2. ランサムウェアへの対策
1. やられないようにする
2. やられても良いようにする
3. まとめ
? SIOS Technology, Inc. All rights Reserved.
自己紹介
3
? Linux/OSS歴18年
? OSSのセキュリティにフォーカス
? アクセス制御(SELinux, LIDS)
? AntiVirus
? SIEM
? SIer, ベンダ, 顧客(管理者)の立場を経験
? SIOS Technology, Inc. All rights Reserved.
1.ランサムウェアのおさらい
4
? SIOS Technology, Inc. All rights Reserved.
ランサムウェアとは
5
ランサムウェア
別名:身代金ウィルス,身代金ウイルス,身代金型ウィルス,身代金要求ウイルス
【英】ransomware ランサムウェアとは、マルウェア(悪意のあるソフトウェ
ア)の一種で、ユーザーのデータを「人質」にとり、データの回復のために「身
代金」(ransom)を要求するソフトウェアのことである。
? SIOS Technology, Inc. All rights Reserved.
結局ランサムウェアって何をやるの?
ローカルHDDを
暗号化orファイル消去
繋がったUSBメモリを
暗号化orファイル消去
ネットワークマウントしている
フォルダの暗号化orファイル消去
繋がっているありとあらゆるデバイス内のファイルを
?暗号化 -> 複合化でお金を取る
?ランダムに消していく -> 「今すぐお金を振り込みなさい!!」
? SIOS Technology, Inc. All rights Reserved.
じゃあ、対処方法は??
まずは対処方法を整理してみましょう
動きだけ見ていると、やはり「ウィルス感染」->「暗号化」に置き換えた
だけで、今までのウィルス感染対策と基本姿勢は同じ。
ランサムウェアに
? やられないようにする
? やられても良いようにする
で考えてみましょう
? SIOS Technology, Inc. All rights Reserved.
2. ランサムウェアの対策
2-1. やられないようにする
8
? SIOS Technology, Inc. All rights Reserved.
まずはやられないようにする
1. AntiVirusソフトウェアを各端末にインストール
? 既存のランサムウェアは各社のAntiVirusソフトで検知可能
? 「AntiVirusじゃ防げない!」というショッキングなトークに
騙されない
2. USBなど外部デバイスの禁止。少なくとも常時挿しておかない
3. 外部アクセスのWebブラウザもプラグインは最小にする
4. メーラーも設定を確認して、添付ファイルを開くときに気を付ける
? SIOS Technology, Inc. All rights Reserved.
何か参考になるものは?
結局、標的型攻撃の対策と同じ
年金機構の再発防止策(一部)が参考になる
「プラグイン」などの
拡張機能の使用の制限
メールの
添付ファイル扱い
埋め込みコンテンツの
取り込み設定制限
年金機構事件の問題への対応
? SIOS Technology, Inc. All rights Reserved.
サーバ側で対策出来る?
? AntiVirusを統合して、防御に漏れがないようにする
? AntiVirus製品はヘテロな環境を(意図的に)作る
TrendMicro製品
Sophos製品
製品を選ぶときは対応OSで選びましょう
最近はどのAntiVirusも同じようなものです
? SIOS Technology, Inc. All rights Reserved.
2016年4月時点での各社の検知率
12
? SIOS Technology, Inc. All rights Reserved.
的確なスキャン設計?設定
13
スキャン対象?対象外を明確にする
? DBファイルとかISOファイルとかスキャン
してませんか?
? 圧縮ファイルのスキャンは注意が必要
? アーカイブファイルのスキャンは必要か?
? SIOS Technology, Inc. All rights Reserved.
とは言っても
? 結局、人間がやることには漏れはあり得る
? 最新のランサムウェアだとAntiVirus対応に時間がかかる
? 新しい攻撃方法が出てくるかもしれない
「やられても良いようにする」対策を考えておきましょう
? SIOS Technology, Inc. All rights Reserved.
2. ランサムウェアの対策
2-2. やられても良いようにする
15
? SIOS Technology, Inc. All rights Reserved.
サーバ側で考えること
「やられても良いようにする」とは(以下、サーバ側視点)
ファイルサーバ側
? ランサムウェアが変な行動を出来ないようにする
? ファイルを改変(暗号化)されても元に戻せるようにする
バックアップサーバ側
? 最悪の場合、バックアップから戻せるようにする
? SIOS Technology, Inc. All rights Reserved.
2. ランサムウェアの対策
2-2. やられても良いようにする
17
ファイルサーバ編
? SIOS Technology, Inc. All rights Reserved.
ファイルサーバ側で考えること
「やられても良いようにする」ためには。。。。
まず、ランサムウェアがどう動くかを詳しく考察しよう!
ただし、「サーバ側で対応する」のが大前提。
? SIOS Technology, Inc. All rights Reserved.
ファイルサーバ側
ランサムウェアとファイルサーバの動き
ファイルの
暗号化
暗号化ファイル
書き込み
元ファイルの
削除
端末
ファイル
サーバ
? 対象ファイルの
選択
? ファイルの
暗号化
? 暗号化ファイルの
書き込み
? smbdなどから
共有ボリュームへの
何らかのファイルの
書き込み(位置は
どこでも良い)
? smbdなどから
対象ファイルへの
sys_open/sys_read
? 対象ファイルへの
sys_close (律儀なら)
? 対象ファイルの
削除要求
? smbdなどからの要求
により共有ボリュームの
何らかのファイルの削除
ファイルサーバとしては当たり前の動作
? SIOS Technology, Inc. All rights Reserved.
ファイルサーバ側
じゃあどうするか?
ファイルの
暗号化
暗号化ファイル
書き込み
元ファイルの
削除
端末
ファイル
サーバ
? 対象ファイルの
選択
? ファイルの
暗号化
? 暗号化ファイルの
書き込み
? smbdなどから
共有ボリュームへの
何らかのファイルの
書き込み(位置は
どこでも良い)
? smbdなどから
対象ファイルへの
sys_open/sys_read
? 対象ファイルへの
sys_close (律儀なら)
? 対象ファイルの
削除要求
? smbdなどからの要求
により共有ボリュームの
何らかのファイルの削除
ここを何とかしてみよう
? SIOS Technology, Inc. All rights Reserved.
ファイルサーバ側
ファイルが消されても良いようにするには?
復活させる方法があればいい
ファイルサーバ側でゴミ箱(Recycle bin)を使う!!
? SIOS Technology, Inc. All rights Reserved.
Linux+Sambaの場合
Samba3/4ならRecycle binの設定ができる
ファイ共有セクションで「vfs objects = recycle」を
指定することで、ごみ箱機能を有効に。
[Share]
comment = Public Stuff
path = /Share/
browseable = yes
writable = yes
printable = no
vfs objects = recycle
guest ok = yes
read only = no
recycle:repository = .recycle
recycle:keeptree = yes
実際の動きはデモで!!
? SIOS Technology, Inc. All rights Reserved.
Windows Serverの場合
Windowsだと商用で「Undelete」がある
? SIOS Technology, Inc. All rights Reserved.
Windows Serverの場合
その他、VSS(Volume Shadow-copy Service)
を有効にしておくのがおすすめ
定期的なスナップショット
- パフォーマンス劣化は小さい
- ランサムウェアにやられても、
「直前にスナップショット取ってた
時点のファイル」に戻せる
? SIOS Technology, Inc. All rights Reserved.
ゴミ箱のメリット?デメリット
メリット
? 暗号化ランサムウェアだけでなくファイル削除型にも効く
? オペミスで削除したファイルでも復活できる
? 直前の状態が入っているので、そこから復活すれば感染直前の
状態に復活できる
? ゴミ箱もバックアップ対象にすれば直近まで戻せる
デメリット
? 容量が増える
-> ストレージのコストとリスクの兼ね合い
-> メンテナンスが必要になる(定期的にパージ)
? 戻すときにサーバ側で対応が必要
-> ランサムウェア感染とか、どっちみち管理者に報告でしょ?
一昔前のNetWareの時は。。。。
? SIOS Technology, Inc. All rights Reserved.
でもちょっと待った
削除じゃなくて「改変」されるとどうなる?
ファイルの
暗号化
暗号化ファイル
書き込み
元ファイルの
削除 改変
端末
ファイル
サーバ
? 対象ファイルの
選択
? ファイルの
暗号化
? 暗号化ファイルの
書き込み
? smbdなどから
共有ボリュームへの
何らかのファイルの
書き込み(位置は
どこでも良い)
? smbdなどから
対象ファイルへの
sys_open/sys_read
? 対象ファイルへの
sys_close (律儀なら)
? 対象ファイルの
削除 改変要求
? smbdなどからの要求
により共有ボリュームの
何らかのファイルの削除
改変(write)
こうなってくるとどうする?
? SIOS Technology, Inc. All rights Reserved.
サーバOS側から見ると
27
Kernel
PC/User
システムコール
fopen()
sys_open()
fread()
fwrite()
sys_read()
sys_write()
サーバ側から見ると全く区別がつかない
? SIOS Technology, Inc. All rights Reserved.
サーバOS側から見ると
28
Kernel
PC/User
システムコール
fopen()
sys_open()
fread()
fwrite()
sys_read()
sys_write()
Fanotify/inotifyを使って書き込み前に
バックアップを作成
FAN_MODIFY
FAN_CLOSE_WRITE
FAN_CLOSE_NOWRITE
書き込み完了時でしか
フック出来ない
->書き込み前のバックアップが
取れない
? SIOS Technology, Inc. All rights Reserved.
サーバOS側から見ると
29
Kernel
PC/User
システムコール
fopen()
sys_open()
fread()
fwrite()
sys_read()
sys_write()
Fanotify/inotifyを使って書き込み前に
バックアップを作成
FAN_OPEN
原理的に可能 枯れていない
やはり「こまめにバックアップ」併用が今は確実
? SIOS Technology, Inc. All rights Reserved.
2. ランサムウェアの対策
2-2. やられても良いようにする
30
バックアップサーバ編
? SIOS Technology, Inc. All rights Reserved.
バックアップサーバ側で考えること
バックアップ側で対応するには
1. 複数のバックアップ
2. 日時ごとのバックアップの保管
3. バックアップ時以外は切り離す
? SIOS Technology, Inc. All rights Reserved.
バックアップサーバ側で考えること
例えば商用のストレージ(EMCなど)だと
ストレージ
Shadow
ボリューム
Mirroring
backup
Monday
backup
Tuesday
backup
Wednesday
D2D
D2D
D2D
普段はRead-Only
? SIOS Technology, Inc. All rights Reserved.
一般的な環境なら
ストレージ
Backup 1
Backup 2
Backup 3
D2D
D2D
D2D
時間が許容範囲ならバックアップを3回走らせる
? SIOS Technology, Inc. All rights Reserved.
取得時間が手短
ストレージ
Backup 1
Backup 2
Backup 3
D2D
D2D
取得したバックアップを他のボリュームにコピー
D2D
? SIOS Technology, Inc. All rights Reserved.
容量は少なく限定的だが
ストレージ
Backup 1
Backup 2
D2D
D2D
ISOファイル作って焼いてしまう
D2D
容量が限られるので
重要ファイルだけDVD
? SIOS Technology, Inc. All rights Reserved.
RISK
ストレージ
Backup 1
Backup 2
Backup 3
D2D
D2D
バックアップの一つにMalwareが混入すると
D2D
バックアップのコピーで
拡散してしまう
? SIOS Technology, Inc. All rights Reserved.
バックアップ時以外は切り離す
37
意外と忘れがち
通常は(サーバからは)マウント対象から外す
マウントしなくてもバックアップ取れる方法を
1. rsync + ssh (お手軽+定番)
2. Bacula(製品版)、NetBackupなどの商用
? SIOS Technology, Inc. All rights Reserved.
3. まとめ
38
? SIOS Technology, Inc. All rights Reserved.
3. まとめ
ランサムウェアをサーバ側で対策するには
1. 各端末は統合管理環境でAntiVirusソフトを運用
2. サーバはネットワークごみ箱などを使用
3. 3つ以上の物理的にわかれたメディアでバックアップ
4. 必要な時以外はバックアップは接続しない
が基本!!
40

More Related Content

ランサムウェアをサーバー侧から対策する

  • 1. ? SIOS Technology, Inc. All rights Reserved. ランサムウェアをサーバー侧から対策する 1 2016/06/15 OSS/Security Evangelist 面 和毅
  • 2. ? SIOS Technology, Inc. All rights Reserved. Agenda 2 1. ランサムウェアのおさらい 2. ランサムウェアへの対策 1. やられないようにする 2. やられても良いようにする 3. まとめ
  • 3. ? SIOS Technology, Inc. All rights Reserved. 自己紹介 3 ? Linux/OSS歴18年 ? OSSのセキュリティにフォーカス ? アクセス制御(SELinux, LIDS) ? AntiVirus ? SIEM ? SIer, ベンダ, 顧客(管理者)の立場を経験
  • 4. ? SIOS Technology, Inc. All rights Reserved. 1.ランサムウェアのおさらい 4
  • 5. ? SIOS Technology, Inc. All rights Reserved. ランサムウェアとは 5 ランサムウェア 別名:身代金ウィルス,身代金ウイルス,身代金型ウィルス,身代金要求ウイルス 【英】ransomware ランサムウェアとは、マルウェア(悪意のあるソフトウェ ア)の一種で、ユーザーのデータを「人質」にとり、データの回復のために「身 代金」(ransom)を要求するソフトウェアのことである。
  • 6. ? SIOS Technology, Inc. All rights Reserved. 結局ランサムウェアって何をやるの? ローカルHDDを 暗号化orファイル消去 繋がったUSBメモリを 暗号化orファイル消去 ネットワークマウントしている フォルダの暗号化orファイル消去 繋がっているありとあらゆるデバイス内のファイルを ?暗号化 -> 複合化でお金を取る ?ランダムに消していく -> 「今すぐお金を振り込みなさい!!」
  • 7. ? SIOS Technology, Inc. All rights Reserved. じゃあ、対処方法は?? まずは対処方法を整理してみましょう 動きだけ見ていると、やはり「ウィルス感染」->「暗号化」に置き換えた だけで、今までのウィルス感染対策と基本姿勢は同じ。 ランサムウェアに ? やられないようにする ? やられても良いようにする で考えてみましょう
  • 8. ? SIOS Technology, Inc. All rights Reserved. 2. ランサムウェアの対策 2-1. やられないようにする 8
  • 9. ? SIOS Technology, Inc. All rights Reserved. まずはやられないようにする 1. AntiVirusソフトウェアを各端末にインストール ? 既存のランサムウェアは各社のAntiVirusソフトで検知可能 ? 「AntiVirusじゃ防げない!」というショッキングなトークに 騙されない 2. USBなど外部デバイスの禁止。少なくとも常時挿しておかない 3. 外部アクセスのWebブラウザもプラグインは最小にする 4. メーラーも設定を確認して、添付ファイルを開くときに気を付ける
  • 10. ? SIOS Technology, Inc. All rights Reserved. 何か参考になるものは? 結局、標的型攻撃の対策と同じ 年金機構の再発防止策(一部)が参考になる 「プラグイン」などの 拡張機能の使用の制限 メールの 添付ファイル扱い 埋め込みコンテンツの 取り込み設定制限 年金機構事件の問題への対応
  • 11. ? SIOS Technology, Inc. All rights Reserved. サーバ側で対策出来る? ? AntiVirusを統合して、防御に漏れがないようにする ? AntiVirus製品はヘテロな環境を(意図的に)作る TrendMicro製品 Sophos製品 製品を選ぶときは対応OSで選びましょう 最近はどのAntiVirusも同じようなものです
  • 12. ? SIOS Technology, Inc. All rights Reserved. 2016年4月時点での各社の検知率 12
  • 13. ? SIOS Technology, Inc. All rights Reserved. 的確なスキャン設計?設定 13 スキャン対象?対象外を明確にする ? DBファイルとかISOファイルとかスキャン してませんか? ? 圧縮ファイルのスキャンは注意が必要 ? アーカイブファイルのスキャンは必要か?
  • 14. ? SIOS Technology, Inc. All rights Reserved. とは言っても ? 結局、人間がやることには漏れはあり得る ? 最新のランサムウェアだとAntiVirus対応に時間がかかる ? 新しい攻撃方法が出てくるかもしれない 「やられても良いようにする」対策を考えておきましょう
  • 15. ? SIOS Technology, Inc. All rights Reserved. 2. ランサムウェアの対策 2-2. やられても良いようにする 15
  • 16. ? SIOS Technology, Inc. All rights Reserved. サーバ側で考えること 「やられても良いようにする」とは(以下、サーバ側視点) ファイルサーバ側 ? ランサムウェアが変な行動を出来ないようにする ? ファイルを改変(暗号化)されても元に戻せるようにする バックアップサーバ側 ? 最悪の場合、バックアップから戻せるようにする
  • 17. ? SIOS Technology, Inc. All rights Reserved. 2. ランサムウェアの対策 2-2. やられても良いようにする 17 ファイルサーバ編
  • 18. ? SIOS Technology, Inc. All rights Reserved. ファイルサーバ側で考えること 「やられても良いようにする」ためには。。。。 まず、ランサムウェアがどう動くかを詳しく考察しよう! ただし、「サーバ側で対応する」のが大前提。
  • 19. ? SIOS Technology, Inc. All rights Reserved. ファイルサーバ側 ランサムウェアとファイルサーバの動き ファイルの 暗号化 暗号化ファイル 書き込み 元ファイルの 削除 端末 ファイル サーバ ? 対象ファイルの 選択 ? ファイルの 暗号化 ? 暗号化ファイルの 書き込み ? smbdなどから 共有ボリュームへの 何らかのファイルの 書き込み(位置は どこでも良い) ? smbdなどから 対象ファイルへの sys_open/sys_read ? 対象ファイルへの sys_close (律儀なら) ? 対象ファイルの 削除要求 ? smbdなどからの要求 により共有ボリュームの 何らかのファイルの削除 ファイルサーバとしては当たり前の動作
  • 20. ? SIOS Technology, Inc. All rights Reserved. ファイルサーバ側 じゃあどうするか? ファイルの 暗号化 暗号化ファイル 書き込み 元ファイルの 削除 端末 ファイル サーバ ? 対象ファイルの 選択 ? ファイルの 暗号化 ? 暗号化ファイルの 書き込み ? smbdなどから 共有ボリュームへの 何らかのファイルの 書き込み(位置は どこでも良い) ? smbdなどから 対象ファイルへの sys_open/sys_read ? 対象ファイルへの sys_close (律儀なら) ? 対象ファイルの 削除要求 ? smbdなどからの要求 により共有ボリュームの 何らかのファイルの削除 ここを何とかしてみよう
  • 21. ? SIOS Technology, Inc. All rights Reserved. ファイルサーバ側 ファイルが消されても良いようにするには? 復活させる方法があればいい ファイルサーバ側でゴミ箱(Recycle bin)を使う!!
  • 22. ? SIOS Technology, Inc. All rights Reserved. Linux+Sambaの場合 Samba3/4ならRecycle binの設定ができる ファイ共有セクションで「vfs objects = recycle」を 指定することで、ごみ箱機能を有効に。 [Share] comment = Public Stuff path = /Share/ browseable = yes writable = yes printable = no vfs objects = recycle guest ok = yes read only = no recycle:repository = .recycle recycle:keeptree = yes 実際の動きはデモで!!
  • 23. ? SIOS Technology, Inc. All rights Reserved. Windows Serverの場合 Windowsだと商用で「Undelete」がある
  • 24. ? SIOS Technology, Inc. All rights Reserved. Windows Serverの場合 その他、VSS(Volume Shadow-copy Service) を有効にしておくのがおすすめ 定期的なスナップショット - パフォーマンス劣化は小さい - ランサムウェアにやられても、 「直前にスナップショット取ってた 時点のファイル」に戻せる
  • 25. ? SIOS Technology, Inc. All rights Reserved. ゴミ箱のメリット?デメリット メリット ? 暗号化ランサムウェアだけでなくファイル削除型にも効く ? オペミスで削除したファイルでも復活できる ? 直前の状態が入っているので、そこから復活すれば感染直前の 状態に復活できる ? ゴミ箱もバックアップ対象にすれば直近まで戻せる デメリット ? 容量が増える -> ストレージのコストとリスクの兼ね合い -> メンテナンスが必要になる(定期的にパージ) ? 戻すときにサーバ側で対応が必要 -> ランサムウェア感染とか、どっちみち管理者に報告でしょ? 一昔前のNetWareの時は。。。。
  • 26. ? SIOS Technology, Inc. All rights Reserved. でもちょっと待った 削除じゃなくて「改変」されるとどうなる? ファイルの 暗号化 暗号化ファイル 書き込み 元ファイルの 削除 改変 端末 ファイル サーバ ? 対象ファイルの 選択 ? ファイルの 暗号化 ? 暗号化ファイルの 書き込み ? smbdなどから 共有ボリュームへの 何らかのファイルの 書き込み(位置は どこでも良い) ? smbdなどから 対象ファイルへの sys_open/sys_read ? 対象ファイルへの sys_close (律儀なら) ? 対象ファイルの 削除 改変要求 ? smbdなどからの要求 により共有ボリュームの 何らかのファイルの削除 改変(write) こうなってくるとどうする?
  • 27. ? SIOS Technology, Inc. All rights Reserved. サーバOS側から見ると 27 Kernel PC/User システムコール fopen() sys_open() fread() fwrite() sys_read() sys_write() サーバ側から見ると全く区別がつかない
  • 28. ? SIOS Technology, Inc. All rights Reserved. サーバOS側から見ると 28 Kernel PC/User システムコール fopen() sys_open() fread() fwrite() sys_read() sys_write() Fanotify/inotifyを使って書き込み前に バックアップを作成 FAN_MODIFY FAN_CLOSE_WRITE FAN_CLOSE_NOWRITE 書き込み完了時でしか フック出来ない ->書き込み前のバックアップが 取れない
  • 29. ? SIOS Technology, Inc. All rights Reserved. サーバOS側から見ると 29 Kernel PC/User システムコール fopen() sys_open() fread() fwrite() sys_read() sys_write() Fanotify/inotifyを使って書き込み前に バックアップを作成 FAN_OPEN 原理的に可能 枯れていない やはり「こまめにバックアップ」併用が今は確実
  • 30. ? SIOS Technology, Inc. All rights Reserved. 2. ランサムウェアの対策 2-2. やられても良いようにする 30 バックアップサーバ編
  • 31. ? SIOS Technology, Inc. All rights Reserved. バックアップサーバ側で考えること バックアップ側で対応するには 1. 複数のバックアップ 2. 日時ごとのバックアップの保管 3. バックアップ時以外は切り離す
  • 32. ? SIOS Technology, Inc. All rights Reserved. バックアップサーバ側で考えること 例えば商用のストレージ(EMCなど)だと ストレージ Shadow ボリューム Mirroring backup Monday backup Tuesday backup Wednesday D2D D2D D2D 普段はRead-Only
  • 33. ? SIOS Technology, Inc. All rights Reserved. 一般的な環境なら ストレージ Backup 1 Backup 2 Backup 3 D2D D2D D2D 時間が許容範囲ならバックアップを3回走らせる
  • 34. ? SIOS Technology, Inc. All rights Reserved. 取得時間が手短 ストレージ Backup 1 Backup 2 Backup 3 D2D D2D 取得したバックアップを他のボリュームにコピー D2D
  • 35. ? SIOS Technology, Inc. All rights Reserved. 容量は少なく限定的だが ストレージ Backup 1 Backup 2 D2D D2D ISOファイル作って焼いてしまう D2D 容量が限られるので 重要ファイルだけDVD
  • 36. ? SIOS Technology, Inc. All rights Reserved. RISK ストレージ Backup 1 Backup 2 Backup 3 D2D D2D バックアップの一つにMalwareが混入すると D2D バックアップのコピーで 拡散してしまう
  • 37. ? SIOS Technology, Inc. All rights Reserved. バックアップ時以外は切り離す 37 意外と忘れがち 通常は(サーバからは)マウント対象から外す マウントしなくてもバックアップ取れる方法を 1. rsync + ssh (お手軽+定番) 2. Bacula(製品版)、NetBackupなどの商用
  • 38. ? SIOS Technology, Inc. All rights Reserved. 3. まとめ 38
  • 39. ? SIOS Technology, Inc. All rights Reserved. 3. まとめ ランサムウェアをサーバ側で対策するには 1. 各端末は統合管理環境でAntiVirusソフトを運用 2. サーバはネットワークごみ箱などを使用 3. 3つ以上の物理的にわかれたメディアでバックアップ 4. 必要な時以外はバックアップは接続しない が基本!!
  • 40. 40