マイライブラリ
マイライブラリ

+ マイライブラリに追加

電話

お問い合わせ履歴

電話(英語)

+7 (495) 789-45-86

Profile

ニュース一覧に戻る

コラム : 攻撃者が狙うシンボリックリンクって何?

2017年11月15日

株式会社Doctor Web Pacific


ウイルス感染により、Microsoft Security Clientディレクトリにシンボリックリンクが作成されました。この場合、シンボリックリンクと無効なディレクトリツリーの両方を削除する必要がありますが、 削除しようとするたびにエラーメッセージが表示されます。どのようにすればシンボリックリンクを削除できるのでしょうか?

引用に記載されているシンボリックリンクとは何でしょうか? ウイルス製作者はなぜシンボリックリンクに興味を持っているのでしょうか?

Linuxでは、リンクを日常的に使用しますが、Windowsではそうではありません。リンクは非常に便利に使用できますが、きちんとした説明が必要です。

notepad.exeというファイルを例にしましょう。 このファイルを検索すると、少なくとも2つのフォルダ(WindowsとSystem32)に存在することがわかります。

#drweb

Windowsは、あらゆる種類の奇怪なソリューションで確かに知られていますが、1つのシステムに複数のファイルを保持することは大変です。 誰がなぜ、一つのシステムに置くことにしたのでしょう?

実際、 Windows 3.0ではメモ帳はWindowsフォルダに格納され、 Windows NT 3.хではSystem32に格納されていました。両方のWindowsバージョンが歴代の旧式であるという事にもかかわらず、メモ帳は両方のフォルダでまだ見つけることができます。興味深いことに、一部のMicrosoftオペレーティングシステムでは、そうではありません。

たとえば、Windows XPおよびWindows Vistaでは、両方のフォルダに notepad.exe が存在します。しかし、Windows Server 2008以後の開発者は、Windowsフォルダからアプリケーションを削除することに決めました。彼らはWindowsサーバー版で実行されるアプリケーションの数が減少すると想定していました。従って、サードパーティアプリケーションとの互換性の問題は起こりにくいでしょう。

時代は変わり、特定のファイルの優先順位が変わりますが、同じファイルの複数のコピーをハードドライブに保存することは、少なくとも空きディスク容量に関する限り奇妙に見えます。 では私たちは何をすることができるでしょうか?

シンボリック(ソフト)リンク(シンボリックリンクまたはソフトリンクとも呼ばれます)は、ファイルやディレクトリへのパス以外のデータを含まない特別なファイルシステムエントリです。 したがって、あなたがリンクを開くと、それが参照するファイルはリンクではなく実際に開いているものです。ファイルまたはディレクトリへのシンボリックリンクの数は無制限です。

つまり、さまざまな場所から同じファイルにアクセスできます。 オペレーティングシステムはシンボリックリンクを認識し、対応するファイルを自動的に開きます。

Windowsでは、リンクはショートカットに置き換えられています。 ショートカットは、シンボリックリンクと似ています。 長いファイル名の代わりに、ショートカットを作成して好きな名前を付けることができるため非常に便利です。

Windows 10, 8.1, 8および7でシンボリックリンクを作成するのはとても簡単です。コマンドプロンプトを開くには 、 Win + Rキーを押します 。 cmdと入力してOKを押します 。 システムファイルを操作する場合は、管理者権限でコマンドプロンプトを開く必要があります。

#drweb

シンボリックリンクの作成に使用されるコマンドは次のようになります。

mklink /j "シンボリックリンクの場所" "ターゲットとなるファイルやフォルダの場所"

ここで、オプション /jはリンクがディレクトリに対して作成されることを示します。ファイルへのリンクを作成する場合は、このオプションを指定する必要はありません。

たとえば、ローカルのCドライブの mklink フォルダへのシンボリックリンクをCmkフォルダとして作成するには、次のコマンドを入力する必要があります(シンボリックリンクの名前とそれぞれのファイルの名前は同じである必要はありません)。
mklink /j "C:\mk" "C:\mklink"

#drweb

結果は次のようになります。

#drweb

Windowsでは、フォルダの代替をする方法が存在します。

1)シンボリックリンクを作成する必要があるフォルダをコピーします。

2)フォルダを開きます。

C:\Users\*username*\AppData\Roaming\Microsoft\Windows\Network Shortcuts

AppDataフォルダは非表示です。

3)ディレクトリウィンドウを右クリックし、 ショートカットの貼り付けを選択します。 シンボリックリンクがソースディレクトリに作成され、目的の場所に移動して名前を変更することができます。

ただし、シンボリックリンクとショートカットには、目的のファイルやディレクトリに接続されていないという欠点があります。

結果、

  • リンク(またはショートカット)が指すファイルを削除して同じ名前の別のファイルで置き換え、リンクを開くと新しいファイルも開きます。攻撃者に絶好の機会を与えることになります。
  • シンボリックリンク(またはショートカット)が存在するファイルを削除すると、そのリンクはどこにも向いていません。

2番目の問題を回避するために、ハードリンクが使用されます。ハードリンクは別のファイル名と見なすことができます。簡単に言えば、ファイルには元の名前とハードリンクを使用して作成されたすべての名前が含まれます。 したがって、名前をクリックしてファイルを削除する場合は、ファイル名のうちの1つだけを削除します。このファイルは引き続き他の名前でも使用でき、すべてのハードリンクが削除された場合にのみ削除されます。

シンボリックリンクは簡単に識別できます。ファイルマネージャでは、 特定のアイコンを使用して表示されます 。dirを入力すると、その横にSYMLINKが表示されます。 ハードリンクでは状況はそれほど明白ではありません。

システムのメモ帳にハードリンクが存在するかどうかを確認するには、管理者権限でコマンドプロンプトを起動する必要があります。ファイルへの既存のハードリンクを表示するには、 fsutilを使用します。

fsutil hardlink list %windir%\notepad. exe

#drweb

驚くことに、Windowsでは、メモ帳のインスタンスが2つだけではありません。winsxsフォルダには2つの追加ファイルがあります。64ビットWindows版では、6つ存在します。

#drweb

これは、System32のフォルダにメモ帳を含む64ビットバージョンのファイルが含まれているためです(これは過去の奇妙なWindowsの機能です)。 一方、 SysWOW64フォルダには、winsxsにハードリンクを持つ32ビットのnotepad. exeが格納されています。 あなた自身でこれをチェックすることができます。

#Windows #terminology

Tell us what you think

To ask Doctor Web’s site administration about a news item, enter @admin at the beginning of your comment. If your question is for the author of one of the comments, put @ before their names.


Other comments