NFLabs. エンジニアブログ

セキュリティやソフトウェア開発に関する情報を発信する技術者向けのブログです。

あなたの会社は大丈夫? ~メタデータの落とし穴~

はじめに

こんにちは。事業推進部で教育研修を担当する成田です。この記事は NFLabs. アドベントカレンダー8日目です。

セキュリティ研修でOSINT(Open Source Intelligence : 公開されている情報ソースから入手可能なデータを収集・分析する技術)を教えることが多いのですが、今日はOSINTのテクニックの一つであるメタデータの収集について書いていきたいと思います。このメタデータには様々な情報が含まれており、例えば会社の公式サイトに掲載しているファイルにも、メタデータがそのまま残っている場合が結構あります。中には会社の機密情報が残っていたりも・・・。

今回は自分の会社からそういった情報が漏れていないかを確認する方法や、それを防止する方法について紹介します。

メタデータとは

メタデータとは、そのデータに関する属性や関連する情報のことを指し、データの管理や検索など様々な目的に使われています。

ファイルに含まれるメタデータには例えば以下のような情報が含まれています。

  • 作成者名
  • 作成日
  • 写真を撮った時の位置情報

メタデータに潜む危険性

このメタデータは便利ではあるものの、例えばSNSやブログにアップロードした写真に位置情報が残っていて、そこから自宅の住所が分かってしまった、という意図せずに情報をリークしてしまうトラブルを耳にしたことがあるかと思います。しかし最近調べたところによると、Twitter等の大手SNSや、はてなブログ等のサービスではそういった位置情報に関するメタデータは自動で削除されるようになっています。

むしろ企業や官公庁の公式サイトにアップロードされるPDFファイル等は、あまりメタデータがチェックされずに掲載されてしまうことがあります。

実際のメタデータ関連の過去の事例を調べてみるとこのような事件がありました。
https://www.pref.niigata.lg.jp/sec/fukushihoken/saiketsusyo.html新潟県のサイト)
PDFの文書のプロパティに、個人情報を乗せたまま文書を総務省のサイトに公開、それによって審査請求を行った個人の姓名が公開されてしまったという話でした。個人情報の漏洩ですね。

自社がどのようなファイルを公開しているか

では自社がどのようなファイルと、その中に含まれるメタデータを公開しているか、調べてみたいと思います。とはいえ、会社が大きくなればなるほど、自社がどのようなファイルを公開しているのか、全てを把握するのが困難になると思います。

そこでOSINTのテクニックを使用して、ファイルを集めてみます。

OSINTでよく使われるKali Linuxには、metagoofilというファイルを収集するツールがデフォルトでインストールされているので、それを以下のコマンドで使用します。(※必ず会社の了承を得た上で実行してください)

metagoofil -d [サイト名] -t [探したいファイルの拡張子] -l [検索数の上限] -n [DLファイル数の上限]

具体的には以下のようなコマンドになります。pdfの他にもdocxやxlsxファイルも集めています。これで自社のサイトに公開しているpdf,docx,xlsxファイルがダウンロードできます。

metagoofil -d example.com -t pdf,docx,xlsx -l 50 -n 25

そしてmetagoofilを実行し、ここでは仮に「メタデータ.pdf」というファイルが得られたとします。このファイルからどのような情報が漏れる可能性があるのかを紹介します。

メタデータ.pdf」の中身はこのように大したことの無い内容になっています。
f:id:tnarita:20211115143704p:plain
一見何も無いファイルに見えますが、このPDFには意図的に様々なメタデータを含ませています。

そのメタデータを表示させる手法は色々ありますが、ツールとしてはKali Linuxにデフォルトでインストール済みのExiftoolが有名です。Exiftoolを用いて以下のコマンドでメタデータを表示できます。

exiftool [ファイル名]

f:id:tnarita:20211124141504p:plain
色々情報が出てきましたが、例えばこのような情報が取得・推察できます。

  • Author : 〇〇 △△

 ⇒ ファイルの作成者です。会社で作ったものであれば社員名が取得できます。

  • Creator Work Email :〇〇@△△mail.com

 ⇒ ファイル作成者の電子メールアドレスです。社員のメールアドレスが取得できます。

  • Creator Work Telephone:〇〇-xxxx-△△△△

 ⇒ ファイル作成者の電話番号です。社員の電話番号が取得できます。

 ⇒ この会社ではMicrosoft Word 2010が使用されており、そこからPDFに変換されて作られた、ということを示しています。

  • Credit:(株)〇〇社

 ⇒ 著作権に関するクレジット情報です。この資料を掲載している会社と別の名前の会社名であれば、関連会社・取引先といった情報の可能性があります。

そしてこのように得られた情報から社員情報が漏洩したり、更に社員のメールアドレス宛に取引先を装って、攻撃者が標的型メールを送って来る事があるかもしれません。
また、Microsoft Word等のOfficeからPDFに変換すると、そのソフトやバージョン情報がPDFに含まれることがあり、そのバージョンを攻撃者に知られると、もしかしたらまだセキュリティアップデートがされずに、脆弱性が残っているバージョンを使用しているのではないか?という会社の弱点になりそうな箇所が攻撃者に晒されることとなり、その情報をもとに、脆弱性を悪用する標的型メールを使った攻撃が行われ、更なる情報漏洩が引き起こされるといった事態に発展するかもしれません。

メタデータを削除する方法

必要のないメタデータは削除した上でファイルを使用・公開すべきです。

ここではPDFのメタデータ削除方法について説明します。

有料のAcrobat Proを使えば削除可能ですが、無料で実施したい場合は、上で使用したExiftoolの以下のコマンドでメタデータ削除が可能です。

exiftool -all:all= [ファイル名]

f:id:tnarita:20211115144237p:plain
しかし、Warningにもある通り、削除したはずのデータは下記のコマンドで復元されてしまいます。

exiftool -pdf-update:all= [ファイル名]

復元できないようにするためには、Kali Linuxであればqpdfを使って線形化(Web最適化)すれば大丈夫ですが、デフォルトではインストールされていないので下記コマンドでインストールします。

sudo apt-get install qpdf

qpdfでpdfを線形化するコマンドは以下の通りです。

qpdf --linearize [inputファイル名] [outputファイル名]

f:id:tnarita:20211115144300p:plain
これでもう一度ファイルに含まれているメタデータを確認してみます。
f:id:tnarita:20211115144324p:plain
不要なメタデータは全て削除されています。

おわりに

いかがでしたでしょうか。

本来ならファイルを公開する前にチェックし、不要なメタデータは削除した上で公開することが大事ですが、どうしてもチェックが漏れてしまうこともあるかもしれません。なので後からでもこのように自社で公開しているファイルをチェックすることで、不要な情報を公開していることに早めに気付いて対処できることもあるかと思います。ぜひ一度、自分の会社から不要な情報が漏洩していないかチェックしてみてください。