ランサムウェア
Ransomware
ユーザーのデータを勝手に暗号化して読み取れなくし、復旧と引き換えに金銭(身代金)を要求する悪質なマルウェアのこと。身代金を意味する「Ransom(ランサム)」と「Software」を組み合わせた言葉です。
🐾 猫で例えると?
写真では、スヤスヤ寝ていた無防備な茶トラ猫の上に、巨大なサメがガバッと覆いかぶさっています。猫ちゃんは自分の意志で動くことができず、場所を奪われてしまいました。これがまさに、「大切なファイルが勝手に暗号化され、人質に取られてしまう」ランサムウェアの被害イメージです。
その他の猫的たとえ(あるある現象)
- 椅子を占拠し「ちゅ〜る」を払うまで退かない: システムをロックし、金銭を支払うまで業務を妨害する状態。
- キーボードの上に乗り、撫でるまで作業をロックする: 操作系を封じ込め、ユーザーの自由を奪うアクセス制限の悪用。
- 大事な書類の上に座り、どいてほしければ遊べと要求: 重要な情報を隠し、代償として特定のアクションを強制する行為。
💻 IT現場における「ランサムウェア」とは?
IT現場においてランサムウェアは、事業継続を脅かす最大級のリスクです。一度感染すると、PC内のファイルだけでなく、共有サーバーや接続されているバックアップデータまで一気に暗号化が広がります。
最近の傾向としては、単にデータをロックするだけでなく、「金を払わなければ盗み出した機密データをネットに公開する」と脅す「二重脅迫」という手法が主流になっており、被害額が数億円にのぼるケースも珍しくありません。
⚠️ ランサムウェアの仕組みと絶望的な復旧
ランサムウェアは、非常に強固な暗号化アルゴリズムを使用します。攻撃者が持つ「秘密鍵」がない限り、現代のコンピュータで暗号を解読することは事実上不可能です。
// ランサムウェアの攻撃ロジック(イメージ)
async function executeRansomware(fileSystem) {
const publicKey = await getAttackerKey();
// 大切なファイルを一つずつ暗号化していく
for (const file of fileSystem.importantFiles) {
const lockedData = encrypt(file.data, publicKey);
await file.overwrite(lockedData);
await file.rename(file.name + ".locked");
}
// 身代金要求画面を表示
showRansomNote("復旧したければビットコインで身代金を払え。");
} このようにプログラムが一度走ってしまうと、元のデータは上書きされ、自力での復元は不可能な状態になります。身代金を支払ってもデータが返ってくる保証はなく、むしろ「払いやすいカモ」としてマークされるリスクもあります。
🛠️ ランサムウェアから身を守るためのポイント
「感染してからどうするか」ではなく、「感染させない」「感染しても戻せる」仕組みづくりが重要です。
- 3-2-1バックアップの徹底: 3つのコピーを持ち、2つの媒体に保存し、そのうち1つはネットワークから完全に切り離した「オフライン」で保存します。
- 脆弱性の放置をしない: OSやVPN機器などのアップデートを怠らず、セキュリティの穴(侵入口)を塞いでおくことが基本です。
- EDR(振る舞い検知)の導入: 従来のウイルス対策ソフトでは防げない「未知の攻撃」を、ファイルの異常な動きから検知して遮断します。
猫にキーボードを占拠されたら「撫でてあげる」ことで解決しますが、ランサムウェアには絶対に応じてはいけません。日頃からバックアップという名の「控えの場所」を確保して、万が一のサメの襲来に備えましょう。