Daemon هو نوع من برامج الكمبيوتر، إما مستقل أو يتم تشغيله من برنامج آخر، ويعمل في الخلفية على جهاز الكمبيوتر. يقوم بتنفيذ التعليمات لإكمال المهام التي لا تتعلق بشكل مباشر بشاشة عرض المستخدم ولكنها أجزاء مهمة من العمليات اليومية للنظام. بهذه الطريقة، توفر البرامج الشيطانية طبقة من الخدمات المستمرة لنظام التشغيل دون أن يحتاج المستخدم أو البرنامج إلى الاعتناء بها باستمرار.
تم العثور على البرامج الخبيثة بشكل حصري تقريبًا على أنظمة التشغيل المشابهة لـ Unix، بما في ذلك FreeBSD وLinux وSolaris وmacOS وIBM AIX. وهي موجودة أيضًا، بمستويات مختلفة من التوافق، على الأنظمة غير المشابهة لنظام Unix مثل Windows وDOS وOS/2. تم استخدام مصطلح البرنامج الخفي لأول مرة في أوائل السبعينيات لوصف نصوص الخلفية غير التفاعلية.
عادةً ما تعمل البرامج الشيطانية بشكل مستمر ودون تدخل المستخدم. عادةً ما تتعامل البرامج الخفية مع المهام المتعلقة بالنظام مثل إدارة قوائم انتظار الطابعة، أو الاحتفاظ بسجلات النظام، أو توجيه حركة مرور الشبكة، أو جمع إحصائيات الاستخدام. يمكنهم أيضًا إدارة التطبيقات والخدمات، مثل خوادم الويب وخوادم FTP وخوادم البريد وقواعد البيانات وما إلى ذلك.
قد توفر البرامج الشيطانية أيضًا خدمات متقدمة مثل المصادقة والتشفير وإدارة الحصص والوصول إلى الشبكة. يتم تشغيلها عمومًا بواسطة المستخدم الجذر، ولكن يمكن تكوين بعضها للتشغيل بامتيازات منخفضة. في نظام التشغيل Linux، عادةً ما يتم تشغيل البرامج الخفية في الخلفية بواسطة البرنامج الخفي init. في نظام التشغيل macOS، يتم تشغيلها عادةً بواسطة Launchd.
يمكن أيضًا بدء تشغيل الشياطين يدويًا. على سبيل المثال، يمكن تشغيل Java Virtual Machine (JVM) يدويًا باستخدام الأمر java. يمكن استخدام نفس العملية لبدء أي برنامج خفي متاح للمستخدم.
هناك مجموعة متنوعة من الطرق التي تعمل بها البرامج الشيطانية، مما يؤدي إلى تغيير طبيعة المهام التي تقوم بها ديناميكيًا بناءً على نشاط النظام أو مدخلات المستخدم. في بعض الحالات، يمكن إيقاف البرامج الشيطانية أو إعادة تشغيلها عند الطلب، مما يسمح للمستخدم بترقية المكونات أو إعادة تكوين البرنامج الخفي حسب الرغبة. علاوة على ذلك، يمكن برمجة الشياطين للتحكم في موارد النظام، وفي بعض الحالات، حتى اتخاذ قرارات بشأن المهام التي يجب التعامل معها ومتى.