マルウェア対策の基本
Webハッキング
Web技術に触れていると、以下のようなハッキング手法*1が思い浮かぶと思います。
- Webアプリケーションの脆弱性
- SQLインジェクション
- XSS ...etc
経験上、実際のWebサイト運営においても、被害原因が古いバージョンのフレームワークを使っていたことであったり、SQLインジェクション、XSS脆弱性を放置していたことであったりする場合が多いです*2。
Webハッキングとマルウェア
Webをやっていればマルウェアと関係ないと思われるかもしれません。しかし、実際にはWebサーバーへのプライベートキーをマルウェアに感染した社内端末から盗まれたり、Webサーバーにマルウェアを仕込まれていたりする場合があります。
最近の例では、コインチェックさんでは社内端末がマルウェアに感染したことが原因でウォレットのプライベートキーが盗難される被害が発生しました*3。
マルウェア対策
普段から簡単にできるマルウェア対策をいくつかご紹介します。
すぐにWindowsアップデートを適用する
今更ですが、アップデートの力は偉大です。大抵のマルウェアは既存の脆弱性を利用しています。
Windows 7を利用している場合は、可能であればWindows 10にアップグレードすることをお勧めします。
近年話題になったEternalBlueの脆弱性*4もWindows 10には存在しませんし、Petya、Locky Ransom、CerberといったランサムウェアにもWindows 7と比較して15%以上抵抗力があるとの報告もあります*5。
Windows Defender を利用する
Windows 10で標準搭載されているWindows Defenderのマルウェア検出率は有料のマルウェア対策ソフトよりも高い検出率を示すことがあります。
正直、個人レベルであればWindows Defenderで十分です。*6
監査ポリシーでPowershellを禁止する
業務でPowershellを利用することがなければ、監査ポリシーでPowershellを無効にしておくことはしばしば有効です。
Word、Excelファイルのマクロや、lnk形式のファイルなどはPowershellを実行することが可能です。悪意のあるWord、Excel、lnkファイルを実行すると、Powershellが意図せず実行されてしまいます。ファイルレスマルウェアとなるため、マルウェア対策ソフトウェアでは一部検出が難しいです。
Metasploit*7やEmpire*8といったツールを使ってみるとどのような攻撃被害が想定されるか理解しやすいと思います。
VirusTotalによるファイルの検査
機密情報を含むファイルでなければ、Webから拾ってきたファイルをVirusTotalで検査することは有用です。
VirusTotal
60近いマルウェア対策ソフトでファイルを検査し、マルウェアかどうかを判断してくれます。機密情報を含むファイルはアップロードしないように注意してください。
*2:本当は詳細に書きたいのですが、どの程度詳細に書いていいかよくわからない。マルウェア実行コードのサンプルを載せるのはちょっと怖い
*6:個人で調べた結果、それなりに有名なソフトよりも20%程度高かったことがありました。今はわかりません。
*7:ペネトレーションフレームワーク www.metasploit.com
*8:Powershell post-exploitation フレームワーク www.powershellempire.com