web-dev-qa-db-ja.com

疑わしいHTMLファイル(メールの添付ファイルなど)を開いても安全ですか?

safe-link.htmlのような添付ファイルが付いたメールを受け取った場合、このファイルを開いても安全ですか?

明らかに、HTMLファイルには、ブラウザーで開いたときに実行される可能性のある悪意のあるスクリプトが埋め込まれている可能性があります。しかし、ファイルをダウンロードし、それを Notepad /Webブラウザーではなく他の基本的なテキストエディターで開くと、違反が発生するのではないかと思いますか?

バックグラウンド

私が質問しているのは、私が働いている会社が時々「テスト」フィッシングメールを送信するのが好きで、最新のものにはHTML添付ファイルが付いていたからです。私はすぐにメールを疑いました(そのため、ブラウザーで添付ファイルを開くためにクリックしませんでした)が、それが実際に別のテストであるかどうかを確認することに興味をそそられました!

そこで、メモ帳でファイルを開くことを同僚に提案しました。私たちは皆、HTMLを読むのに十分な知識があるので、いつもの「これが単なるテストではない場合、コンピューターが危険にさらされるだろう!」ということにすぐに気づくでしょう。 。

Htmlファイル内の悪意のあるスクリプトが効果を発揮するには、Webブラウザーで開く必要があると私は合理的に確信しています。

私の同僚は用心深いですか、それとも私は熱心すぎていましたか?

私は「申し訳ありませんが安全です」を提唱しているので、彼らがそれを開かないのは間違っていないとは思いません。また、メモ帳のようなもので開くのが完全に安全であるとは信じていません。私はそれを知るのにとても興味があります!

私が知っている "Gotchas":

(実際にページをプレビューでレンダリングする)より複雑なWebサイト開発ツールで編集するのは危険だと思います。

また、ファイルをダブルクリックするだけで(デフォルトの[プログラムから開く]がテキストエディターに設定されている場合でも)危険である可能性があることも知っています。これは、readme.txtのようなものが実際にはreadme.txt.exeであり、Windowsファイルエクスプローラーのようなものでファイル拡張子が非表示になっているためです。

43
UPChoo

エディタ、およびエディタが使用する一般的なライブラリには、バッファオーバーフローなどの脆弱性がある可能性があります。攻撃者は、使用するエディターを知っている(または推測する)必要があり、そのエディター専用のエクスプロイトを作成します(共通のライブラリに脆弱性が存在しない限り、異なるエディターが同じ脆弱性を持つことはほとんどありません)。攻撃は、人気のある編集者を狙い、可能な限り多くの人々に送信し、本質的に「スプレーアンドスプレー」攻撃に変えます。


攻撃面

Microsoftのメモ帳のような非常にシンプルなエディターは、より高度なエディター(Visual Studio Codeなど)よりも攻撃対象が小さくなります。一般に、コードが多いほど、脆弱性の可能性が高くなります。


緩和

Address Space Layout Randomization(ASLR)Data Execution Prevention のような特定の緩和技術と、「エクスプロイトブロッカー」を備えたアンチウイルス(これらは一般的に基本的なオーバーフローを認識できます)攻撃など)は、特定の攻撃を無用にするのに役立つ場合があります。

ソフトウェアの更新

もちろん、これらすべての手法は、ソフトウェア([〜#〜] all [〜#〜]私が追加する可能性のあるソフトウェア)を維持することの代わりにはなりません-現在まで。ソフトウェアを最新の状態に保つことは、最善のセキュリティ戦略です。これは、フィードバックが不足しているため、見落とされたり、ささいなことになったりすることがあります。 「あなたは守られている!」と叫ぶアンチウイルスバックグラウンドで脆弱性にサイレントパッチを適用するソフトウェアアップデートよりもはるかに強力なシグナルを送信します。ウイルス対策プログラムを、水が流れないように堤防の穴に指を刺す人と比較する傾向があります。洪水を防ぐのが最善ですが、可能性としては、すべての穴を埋めるのに十分な指がありません(またはいくつかを完全に見逃してしまいます)。ソフトウェアパッチはそれらの穴を修正します。


ボトムライン

どんな種類のプログラムでどんな種類のファイルを開いても、あなたが悪い日を過ごすことがないかどうかは決してわかりません。ただし、一部のプログラム(エディターなど)は、フットプリントが小さいか安全な設計であるため、攻撃するのがはるかに難しいため、大規模な攻撃の対象になる可能性が低くなります(特に、攻撃者が悪質な.htmlファイルがエディタではなくブラウザで開きます)。

40
Thomas

ああ、これらの答えはwayで、状況に合わせて洗練されすぎています。あなたのIT部門が、あなたが使用しているエディターを知っていると想定して、いくつかの空想的な回避策を使用することはほとんどありません。彼らのポイントは、実際にシステムを台無しにすることではありません。メモ帳は、何があっても、画像や添付ファイルを使用して何かを行うことはありません。また、表示されたテキストは確かに、システムにわかりにくいことをしていません。編集者は非常に個人的なツールであり、検出可能な影響を与えるためにこのようなことをカバーしなければならないものはたくさんあるので、それが実際の攻撃であったとしても、そうなることはありませんでした。

同僚に背を向けて、自分自身により注意するように伝えます。あなたがこの穴に自分を掘り込み、意図したものとは逆のことを達成したことを指摘させてください…。見た目や見た目を発表していなければ、ITセキュリティについてはっきりと知らない人は、嫌がらせをしたり、それについて優越したりすることはないでしょう。代わりに、それらの一部は添付ファイルを開いてメッセージを表示し、少し自分を懲らしめました。つまり、ITのテストを混乱させ、 Dunning-Kruger効果 を強調して、これらのテストを送信する原因は間違いありません。やめて!

さて、だから、技術的に、あなたは決して100%安全ではありません。はい、テキストエディタ/ ASCIIビューアに対して攻撃が行われる可能性があります。はい、MS Notepadの読み込みの遅延を混乱させるために、誰かが魔法のように一時的にDLL=を一時ディレクトリに入れました。

しかし実際には、フィッシングメールでHTMLファイルを受信すると、そのファイルには悪意のあるJavaScriptが含まれるか、クレジットカードの詳細を渡そうとするオンラインWebサイトにリダイレクトされる可能性が高くなります。 /ログイン。

したがって、-実際には、Notepad ++でそのようなファイルを調べることは、何が送信されてきたかを確認するための完全に合理的な方法です。あなたが核サイロで働いていない限り、同僚の反応は不公平に思えます...そしてあなたの仕事が本当にthatミッション/安全が重要であるなら、なぜメールがまったくないのですか?なぜインターネットアクセスがあるのでしょうか?そして、もしなければ、なぜフィッシング監査/テスト/ハニーポットが必要なのでしょうか?どこかに誰かが過度に偏執的である。

リスクをゼロまで減らすことはできますが、それを達成する唯一の方法はコンピューターを使用しないことです。

とは言っても、愚かな人には常に対処しなければならないので、次回はこの活動を自分に任せてください。 ;)

疑わしいメールや予期しないメールを受け取った場合は、添付ファイルが何であれ、開かないようにする必要があるため、一般的に安全ではありません。これが最も安全な方法です。特にWindowsを使用している場合は、実行すべきでないときに実行することで悪名高く、攻撃者が最も標的とするOSであり、最も標的となるアプリケーションを実行します。

しかし、とにかくそれを開きたいのであれば、おそらくあなたがINFOSEC愛好家であるか、またはあなたが平均的なユーザーよりも賢い(またはなりたい)と思うので、ここにいくつかのアドバイスがあります:

  • メールを開くのではなく、ソースコードを読むことを検討してください。ウェブメールインターフェースから直接、またはサーバー上のテキストファイルを読み取るなどして、これを実行できる場合があります。
  • Base64表現をコピーして貼り付けることにより、ソースから添付ファイルをダウンロードすることを検討してください。これは、単純なASCIIテキストです。その後、いくつかのツールを使用して、バイナリに戻すことができます。
  • ファイルの名前を変更して、.htmlまたはファイルの名前と拡張子ではなく、潜在的に悪意のある.txtとして保存することを検討してください。
  • 非常に基本的なテキストエディター、16進エディター、またはコマンドラインでASCII文字のみを表示する非常に単純な基本ツールを使用して、txtファイルを開くことを検討してください。例はcat file.txt | less Linuxの場合。 (注:catの前にlessを使用する理由は?PDFからTXTへの変換など、lessがデフォルトで解析および変換することに気付いたためです。システムでコマンドがデフォルトで何を実行するかを確認してください)。
  • 仮想マシンでファイルを開くことを検討してください。このファイルは最新であり、ネットワークから切断されている必要があります。
  • これのほとんどを自宅で行うことを検討し、上司や同僚にそれについて決して伝えないでください。彼らはそれを危険な振る舞い、セキュリティポリシーの違反、またはとにかく問題を引き起こすかもしれない何かと見なすかもしれません。
7
reed

特定のオブジェクトのリスクが不明な量であるこのような状況は、Qubesのような強力な compartmentalized OS が優れています。 Qubesは、強化されたベアメタルハイパーバイザーを使用して、危険なものを機密領域(個人ファイルやコアOSなど)から隔離します。危険なデバイスも隔離します。この分離は、かなり使いやすい方法でGUIを介して表現および制御されます。

Disposable VM context menu

上記の例では、KDE ​​Dolphinでhtmlファイルを右クリックすると、 "Edit In DisposableVM" "DisposableVMで表示"。これらのいずれかをクリックすると、使い捨て仮想マシン(dispvm)が自動的にインスタンス化され、ファイルがdispvmに送信され、関連付けられたアプリにロードされます。これには数秒しかかかりません。編集アプリでの作業が完了すると、編集されたバージョンは呼び出し元のVMに返され、dispvmは即座に破棄されます。ただし、このプロセス自体は信頼できないものではないことに注意してください。ファイルを信頼できるファイルに保存します。

特定のファイルタイプ(現在はイメージ およびpdfs )の場合、ファイルを信頼できる状態に変換するためのメニューオプションもあります。つまり、dispvmを使用して、信頼できないPDFを処理し、サニタイズされたバージョンを作成します。が読み込まれ、通常作業している通常のVMにリスクを与えることなく使用できます。これは、元のサニタイズツールが、要求されたデータの最も予測可能な表現のみをdispvmから受け入れるためです。たとえば、予想されるピクセル数とバイト数の非圧縮ビットマップなどです。生のサニタイズされたバージョンが受信されると、期待される形式に再圧縮されます。

VirtualBoxやVMwareなどの使い慣れたツールを使用して、上記のセキュリティのtypeをエミュレートできることは注目に値しますが、分離の程度と品質はほとんどありませんQubesのような専用システムによって達成されるレベルに一致させるため。

6
tasket

他の人が欠陥を指摘している間、私はあなたが正しいことをしたと思います。

他の同僚が悪いことを想定するルートを取った一方で、スキルセットを使用して状況を分析し、悪意を検証しました。

ブラウザがファイルを開くことを許可するのではなく、受信者がファイルを開くことを意図していないものを使用することを理解しました。コードを分析し、悪意があることを確認できました(この場合は、ITチームからの警告のみ)。

ファイルを分析して正しい判断を下すのに十分なスキルがある場合は、悪意のあるユーザーから身を守り、スキルセットを使用して安全を確保することについて、十分に理解していることがわかります。

HTMLとJavaScriptのコードが悪意のあるものでないことを確認するスキルがない場合でも、メモ帳で開いても安全性を保証できないため、それを開かずに悪意があると考えるべきです。

分析するための適切なスキルが設定されている状況の分析のみを試み、電子メールを予期している場合、または既知のソースからのものである場合にのみ状況を分析してください。

3

はい、ファイルをダウンロードしてメモ帳/その他の基本的な広く使用されているテキストエディタで開くと、違反が発生する可能性があります。ペイロードは、メモ帳などのエディタと対話するように特別に作成されているためです。

例:Notepad.exeは、多くのWindowsプログラムと同様に、システムライブラリを使用しています。これらのシステムライブラリの1つは、shdocvw.dll(Internet Explorer関連のコンポーネント)をロードします。 shdocvw.dllには、「ieshims.dll」というライブラリへの遅延ロードの依存関係があります。

この.dllは現在のディレクトリで検索され、そこからロードされます。そのため、攻撃者が.txtファイルと一緒にそれを展開する場合、このセットアップを悪用して.dllをロードし、そこから移動する可能性があります。

これに対する解決策:Windowsコンポーネントに依存しない独自のテキストエディタ/ビューアを使用 /ライブラリ。鉱山は単にEdit.ExEと呼ばれ、外部リソースから100%独立しており、処理されたコンテンツに関して100%安全です(すべてをASCII /コンテンツ検出なしのテキストとして直接読み取ります)。 1つは、誰も利用しない非常に不明瞭なものを使用します。

1
Overmind