بمب منطقی – Logic Bomb چیست؟
فرض کنید در یک شرکت کار میکنید. از عملکرد مدیریت شرکت ناراضی هستید و قصد ترک کار را دارید. شما یک چک ضمانت برای حسن انجام کار به مدیریت نیروی انسانی شرکت دادهاید. این چک ۳ ماه پس از پایان همکاری شما با شرکت به شما تحویل داده میشود (البته اگر مشکلی پیش نیاورده باشید). تصمیم میگیرید پس از ترک کار ضرری به شرکت بزنید (این کار را نکنید!) برای این کار مجبورید تا پس از دریافت چک ضمانت خود صبر کنید (چون اگر خیلی هم خوب عمل کنید ممکن است این کار شما ایجاد شک کند) یک بمب در جایی از شرکت که هیچکس عقلش به آنجا قد نمیدهد میگذارید و زمان عمل آنرا روی دو یا سه روز پس از دریافت چک (برای احتیاط میتوانید یک هفته هم صبر کنید) قرار میدهید. پس از ترک کار و چند روز پس از دریافت چک مشاهده میکنید صدای وحشتناکی از آن نقطه شهر که شرکت در آن قرار دارد شنیده میشود!
در دنیای کامپیوتر بمبهای منطقی شبیه سناریو بالا عمل میکنند. یک تابع در یک برنامه وجود دارد که علاقمندید در زمان معینی یا پس از رخداد یک رویداد، آن تابع اجرا شود. برای این کار از بمب منطقی، یعنی تکه کدی که به برنامه برای عملکرد تابع مورد نظر تزریق میکنید، استفاده میکنید. برای مثال میتوانید یک بدافزار بنویسید و تابع اصلی آن را با توجه به محیط صدا بزنید. مثلا شرایطی فراهم آورید تا برنامه پس از خروج از محیط جعبه شنی (Sandbox) اجرا شود. به تکه کدی که این عملیات را کنترل میکند بمب منطقی میگویند.
عموما در ویروسها و کرمها بمب منطقی وجود دارد تا در زمان خاص یا طبق شرایط خاص عمل کنند.
دقت کنید کاربر نرمافزار یا کسی که برنامه مورد نظر روی سیستم او نصب میشود اطلاعی از عملکرد گفته شده ندارد پس مثلا قفل شدن برنامه پس از دوره امتحانی (دورهای که میتوانید یک برنامه تجاری را بدون لایسنس استفاده کنید) یک بمب منطقی نیست (کاربر از چنین عملکردی اطلاع دارد!)
تونی شیاتونگ (Tony Xiatong) وقتی به عنوان برنامه نویس در بانک بریتانیایی کار میکرد یک بمب در سال ۱۹۹۶ ایجاد کرد و زمان عمل آن را ۲۰ جولای ۲۰۰۰ تعیین کرد. البته این بمب توسط برنامهنویسان دیگری کشف شدند و سیستم از آن پاکسازی شد.