بد افزار
بدافزار
بدافزار (به انگلیسی: Malware)، برنامه‌های رایانه‌ای هستند؛ به علت آنکه معمولاً کاربر را آزار می‌دهند یا خسارتی بوجود می‌آورند، به این نام مشهورند. برخی از آنان فقط کاربر را می‌آزارند. مثلاً وی را مجبور به انجام کاری تکراری می‌کنند. اما برخی دیگر سیستم رایانه‌ای و داده‌های آن را هدف قرار می‌دهند که ممکن است خساراتی به بار آورند. در عین حال ممکن است هدف آن سخت‌افزار سیستم کاربر باشد.






یک نرم‌افزار برپایهٔ نیت سازنده آن به عنوان یک بدافزار شناخته می‌شود. در قانون گاه بدافزار را به عنوان یک آلودگی رایانه‌ای می‌نامند. دستاوردهای مقدماتی که توسط سیمنتک در سال ۲۰۰۸ منتشر شد، بیان می‌کند که میزان کدهای آزاردهنده و دیگر برنامه‌های ناخواسته از شمار نرم‌افزارهای قانونی، ممکن است افزون باشد. همچنین گفته شده‌است: «که تعداد بدافزارهای تولید شده در سال ۲۰۰۷ به اندازه مجموع ۲۰ سال قبل بوده‌است.» مهمترین پل ارتباطی بدافزارها از تولیدکنندگان آنها به کاربران از طریق اینترنت است.
در ۲۹ مارس سال ۲۰۱۰ شرکت سیمنتک شهر شائوژینگ چین را به عنوان پایتخت بدافزار در دنیا معرفی کرد.

مایکروسافت در می ۲۰۱۱ گزارش داد که از هر ۱۴ دانلود در اینترنت یکی شامل بدافزار است. به ویژه شبکه‌های اجتماعی و فیس بوک در حال مشاهده افزایش تاکتیک‌های جدید برای ضربه زدن به رایانه‌ها هستند.

بدافزار با یک نرم‌افزار معیوب یعنی نرم‌افزاری قانونی ولی شامل اشکالات مضر، تفاوت دارد. گاه بدافزار به صورت یک نرم‌افزار سالم و صحیح طراحی می‌شود و حتی ممکن است از یک سایت رسمی بیاید. بنابراین برخی از برنامه‌های امنیتی مانند مکافی ممکن است بدافزار را یک برنامهٔ «به طور بالقوه ناخواسته (به انگلیسی: Potentially Unwanted Programs)» بنامد. اگرچه یک ویروس رایانه‌ای نیز بدافزاری است که خود را باز تولید می‌کند، اما غلب به اشتباه به همهٔ بدافزارها ویروس اطلاق می‌شود.

از انواع بدافزارها می‌توان به ویروس‌ها، کرم‌ها، اسب‌های تروآ، جاسوس‌افزارها، آگهی‌افزارها، روت‌کیت‌ها و هرزنامه‌ها اشاره کرد.






مقاصد

بسیاری از برنامه‌های آلوده کنندهٔ اولیه، از جمله اولین کرم اینترنتی و تعدادی از ویروس‌های سیستم عامل داس (به انگلیسی: DOS)، به قصد آزمایش یا سرگرمی نوشته شدند. آن‌ها عموماً به مقاصد بی‌ضرر یا فقط به قصد آزار بودند، تا اینکه بخواهند خسارات جدی به سیستم‌های رایانه وارد کنند. در برخی موارد سازنده نمی‌توانست تشخیص دهد که چقدر کارش می‌تواند مضر باشد.

برنامه‌نویسان جوان وقتی دربارهٔ ویروس‌ها و ترفندهایش می‌آموختند، تنها به منظور تمرین یا به این قصد که ببینند چقدر شیوع پیدا می‌کند، آنها را می‌نوشتند. در سال ۱۹۹۹ ویروس‌های شایعی مانند ویروس ملیسا (به انگلیسی: Melissa) و ویروس دیوید (به انگلیسی: David) تنها به قصد سرگرمی نوشته شده بودند. اولین ویروس تلفن همراه در سال ۲۰۰۴ با نام ویروس کابیر (به انگلیسی: Cabir) بر روی تلفن‌های همراه منتشر شد.

با این حال مقاصد سوء به منظور خرابکاری را می‌توان در برنامه‌هایی یافت که برای ایجاد آسیب به سیستم رایانه‌ای و یا از دست رفتن اطلاعات، طراحی شده‌اند. بسیاری از ویروس‌های سیستم عامل داس، با این هدف طراحی شدند تا فایل‌های موجود در یک دیسک سخت را نابود کنند یا فایل‌های سیستمی را با نوشتن اطلاعات نادرست بر روی آنها دچار اختلال کنند.

از زمان گسترش دسترسی به اینترنت پر سرعت، بدافزارهایی به منظور ایجاد سود طراحی شده‌اند. به عنوان مثال از سال ۲۰۰۳، اغلب ویروس‌ها و کرم‌های رایانه‌ای، طراحی شدند تا کنترل رایانه‌های کاربران را به منظور بهره‌گیری در بازار سیاه به کار گیرند.






بدافزارهای مسری: ویروس‌ها و کرم‌ها

انواع بدافزارها، ویروس‌ها و کرم‌ها هستند که به خاطر نحوهٔ شیوع‌شان شناخته می‌شوند. عبارت ویروس کامپیوتری به برنامه‌ای اطلاق می‌شود که نرم‌افزار قابل اجرایی را آلوده کرده باشد و هنگامی که اجرا می‌شود، سبب شود که ویروس به فایل‌های قابل اجرای دیگر نیز منتقل شود. ویروس‌ها ممکن است قابلیت حمل یک بار اضافی را نیز داشته باشند، که می‌تواند اعمال دیگر نیز انجام دهد. این اعمال اغلب خرابکارانه هستند. از سوی دیگر یک کرم برنامه‌ای است که به طور فعالانه خود را روی یک شبکه منتقل می‌کند تا رایانه‌های دیگر را نیز آلوده سازد. کرم‌ها نیز قابلیت حمل یک بار اضافی را دارند.

تعریف‌های بالا نشان می‌دهد که تفاوت ویروس و کرم در این است که یک ویروس برای شیوع نیاز به دخالت کاربر دارد، در حالی که یک کرم خود را به طور خودکار و از طریق شبکه گسترش پیدا می‌کند. در نتیجه آلودگی‌هایی که از طریق ایمیل یا فایل‌های مایکروسافت ورد (به انگلیسی: مایکروسافت ورد) منتقل می‌شوند، ویروس شناخته می‌شوند، زیرا باید دریافت‌کنندهٔ فایل یا ایمیل آن را باز کند تا سیستم آلوده شود. برخی نویسندگان در رسانه‌های محبوب نیز متوجه این تمایز نیستند و از این عبارت‌ها به اشتباه در جای یکدیگر استفاده می‌کنند.






مخفی کارها: اسبهای تروآ، روتکیتها و بکدُورها
اسبهای تروآ: (به انگلیسی: Trojan horses)

یک برنامه خرابکار برای اینکه بتواند به اهدافش برسد باید قادر باشد که اجرا شود بدون آنکه توسط کاربر یا مدیر سیستم رایانه خاموش یا پاکسازی شود. مخفی کاری همچنین این امکان را می‌دهد که بدافزار در اولین مکان نصب شود. وقتی یک برنامه خرابکار خود را به شکل چیز بی ضرر یا مطلوب در می‌آورد، کاربران ممکن است تشویق شوند تا آن را بدون آنکه بدانند چه می‌کند، نصب کنند. این، ترفندِ اسب تروآ است.

به بیان دیگر، یک اسب تروآ برنامه‌ای است که کاربر را ترغیب می‌کند تا اجرایش کند در حالی که قابلیت خرابکاریش را مخفی می‌کند. آثار منفی ممکن است بلافاصله آغاز شوند و حتی می‌توانند منجر به آثار نامطلوب فراوانی گردند. از جمله حذف کردن فایل‌های کاربر یا نصب نرم‌افزارهای خرابکار یا نا مطلوب بیشتر. اسب‌های تروآ برای آغازسازی شیوع یک کرم استفاده می‌شوند.

یکی از مرسوم ترین راه‌هایی که جاسوس افزارها توزیع می‌شوند، از طریق یک اسب تروآ که به عنوان یک قطعه از یک نرم‌افزار مطلوب که کاربر آن را از اینترنت دانلود می‌کند، است. وقتی که کاربر نرم‌افزار را نصب می‌کند جاسوس افزار نیز در کنارش نصب می‌شود. برای مثال اسب تراوا در غالب یک نرم‌افزار دانلودنصب می‌شود و به صورت مستقل از نرم‌افزار اصلی یا مرتبط با آن شروع به دانلود برنامه و مدیاها گاهی با مضامین مستهجن می‌کند. مثال اخیر تروجان فوق سری نرم‌افزارهایی با پسوند finder می‌باشد.

نویسندگان جاسوس افزار سعی می‌کنند به صورت قانونی عمل کنند، ممکن است رفتار جاسوس افزار را در عباراتی مبهم در توافق نامه با کاربر بیاورند و البته کاربران بعید است که این توافق نامه را بخوانند یا بفهمند. تروآها به صورت عمده به منظور کارهای تجاری استفاده می‌شوند.






رد گم کن:(به انگلیسی: Rootkits)

رد گم کن واژه مصوب فرهنگستان زبان و ادب فارسی برای (به انگلیسی: Rootkits) است. هنگامی که یک برنامهٔ خرابکار روی یک سیستم نصب می‌شود بسیار مهم است که مخفی باقی بماند تا از تشخیص و نابودی در امان باشد. همین وضعیت دربارهٔ یک مهاجم انسانی که بطور مستقیم وارد یک رایانه می‌شود برقرار است. ترفندهایی که به عنوان روتکیتها شناخته می‌شوند اجازه این مخفی کاری را می‌دهند. آن‌ها این کار را با اصلاح سیستم عامل میزبان انجام می‌دهند به نحوی که بدافزار از دید کاربر مخفی بماند. روتکیتها می‌توانند از این که یک پروسهٔ خرابکارانه در لیست پروسه‌های سیستم دیده شود ممانعت کنند، یا مانع خوانده شدن فایل‌های آن شوند. در ابتدا یک روتکیت مجموعه‌ای از ابزارها بود که توسط یک مهاجم انسانی بر روی یک سیستم یونیکس نصب می‌شد که به مهاجم اجازه می‌داد تا دسترسی مدیریتی داشته باشد. امروزه این عبارت بطور عمومی تر برای فرایندهای مخفی سازی در یک برنامهٔ خرابکار استفاده می‌شود.






بکدُرها:(به انگلیسی: Backdoors)

یک بکدُر روشی است برای خنثی سازی رویه‌های معمول تایید اعتبار. وقتی یک سیستم دارای چنین رویه‌هایی باشد یک یا چند بکدُر ممکن است نصب شوند تا دسترسی‌های آتی را آسان تر سازد. بکدُرها ممکن است حتی پیش از یک نرم‌افزار خرابکار نصب شوند تا به مهاجمان اجازهٔ ورود دهند.






دیگر بدافزارها
جاسوس‌افزارها

جاسوس‌افزارها (Spyware) بدافزارهایی هستند که بر روی رایانهٔ کاربر نصب می‌شوند و بدون اطلاع وی، اطلاعات مختلف در مورد او را جمع‌آوری می‌کنند. اکثر جاسوس‌افزارها از دید کاربرها مخفی می‌مانند و تشخیص و پیدا کردن آنها در اغلب موارد مشکل است. برخی از جاسوس‌افزارها مانند کی‌لاگرها ممکن است توسط مسئول یک سازمان و یا شرکت بر روی رایانه‌ها نصب شوند تا رفتار کاربران قابل ارزیابی و بررسی باشد.

جاسوس‌افزارها هر گونه اطلاعاتی را می‌توانند جمع‌آوری کنند. این اطلاعات می‌تواند اطلاعات شخصی یک کاربر مانند گشت و گذارهای وی بر روی اینترنت و یا مشخصات حساب‌های مختلف وی مانند رمز عبور پست الکترونیکی و... باشد. علاوه بر این، جاسوس‌افزارهای می‌توانند در کنترل رایانه توسط کاربر اختلال ایجاد کنند. به عنوان مثال، جاسوس‌افزارهای می‌توانند کاربر را به بازدید از یک صفحهٔ خاص اینترنتی مجبور کنند و یا اینکه با تغییر تنظیمات رایانهٔ وی، باعث کاهش سرعت اینترنت و دسترسی غیرمجاز به رایانهٔ وی شوند. وباید توجه داشت که نرم‌افزارِDjyjji.3درست راه‌اندازی شود.






آگهی‌افزار

آگهی‌افزار یا برنامه‌های تبلیغاتی (Adware): اینگونه برنامه‌ها همانند جاسوس‌افزارها دارای اثر تخریبی نمی‌باشند و وظیفه آنها بازکردن صفحات خاص اینترنتی جهت اهداف تجاری و تبلیغی است.






جک‌ها

جک‌ها (Joke) برنامه‌هایی هستند که ادعا می‌کنند در حال انجام عملیاتی تخریبی بر روی سیستم شما می‌باشند ولی در واقع اینگونه نبوده و کار آنها چیزی جز یک شوخی ساده نمی‌باشد. متأسفانه برخی کاربران به سادگی تحت تأثیر جک‌ها قرار گرفته و با تلاش برای از بین بردن چیزی که مخرب نیست باعث ایجاد تخریب بیشتری می‌شوند.






کلک

کلک (Hoax): این برنامه‌ها با سوء استفاده از کم بودن اطلاعات تخصصی کاربران، آنها را فریب داده و با دستورات و توصیه‌های اشتباه باعث می‌شوند که کاربر شخصاً کاری تخریبی بر روی سیستم خود انجام دهد. به عنوان مثال وانمود می‌کنند که فایلی خاص در مسیر سیستم‌عامل یک برنامه خطرناک است و باید توسط کاربر حذف شود. غافل از اینکه این فایل سیستمی بوده و برای عملکرد درست سیستم‌عامل، وجود آن لازم است.






شماره‌گیرها

شماره‌گیر (Dialer): اینگونه برنامه‌ها وظیفه‌شان ارتباط دادن کاربر از طریق خط تلفن به سرورهایی در دیگر کشورها برای دسترسی مستقیم به اطلاعات آنها می‌باشد. این سرورها معمولاً مربوط به سایت‌های غیراخلاقی بوده و برقراری ارتباط با آنها از طریق خط تلفن باعث هزینه بسیار زیاد مالی می‌گردد.






بارگیرها

بارگیر (Downloader): کار اینگونه برنامه‌ها Download کردن بد افزارها و اجرای آنها است






کلیک‌کننده‌ها

کلیک‌کننده (Adclicker): اینگونه برنامه‌ها لینک صفحات تبلیغاتی را دنبال نموده و به این طریق حالت کلیک شدن بر روی آن صفحه تبلیغاتی خاص را شبیه سازی می‌کنند و باعث بالا رفتن hit آن می‌شوند.






درهای پشتی

درهای پشتی (Backdoors) ابزاری برای نفوذگرها هستند که به وسیله آنها می‌توانند سیستم‌های دیگر را در کنترل خود درآورند. درهای پشتی درون شبکه، پورت‌های TCP یا UDP را باز می‌کنند و شروع به گوش کردن نموده تا دستورات نفوذگرها را اجرا کنند. درهای پشتی از جهت نداشتن قابلیت تکثیر شبیه ترویاها هستند.






گذرواژه‌دزدها

گذرواژه‌دزد (Password-Stealer): اینگونه برنامه‌ها که نوعی ترویا هستند کارشان دزدی پسورد از روی سیستم‌ها و ارسال آنها برای نفوذگرها است.






بهره‌کش‌ها

بهره‌کش‌ها (Exploits) کدهای مخربی هستند که با استفاده از آسیب پذیری‌های یک سیستم امکان دسترسی از راه دور به آن سیستم را فراهم می‌کنند.






کی‌لاگر

کلیدنگار یا کی‌لاگر (Keylogger) برنامه‌هایی هستند که با قرار گرفتن در حافظه از کلیدهای زده شده توسط کاربر گزارش گرفته و در قالب یک فایل برای نفوذگر می‌فرستند. البته باید بدانیم که کی‌لاگرها به صورت سخت‌افزاری نیز وجود دارند.






برنامه‌های ضد بدافزار

با افزایش حملات بدافزارها توجه‌ها از محافظت در برابر ویروس‌ها و جاسوس افزارها به سمت محافظت از بدافزارها جلب شده‌است. در نتیجه برنامه‌های مخصوصی برای مبارزه با آن‌ها توسعه یافته‌است. برنامه‌های ضد بدافزار از دو طریق با بدافزار نبرد می‌کند:

۱ - آن‌ها محافظت بی درنگ را در برابر نصب بدافزار روی یک رایانه می‌توانند تامین کنند، در این نوع از محافظت نرم‌افزار ضد بدافزارتمام اطلاعات ورودی از شبکه را اسکن می‌کند تا ازورود بدافزارها و تهدیدهایی که با آنها می‌آیند جلوگیری به عمل آورد. محافظت بی درنگ از بدافزار مشابه محافظت بی درنگ از ویروس عمل می‌کند. یعنی نرم‌افزار فایل‌ها را در زمان دانلود آن اسکن نموده و از فعالیت هر چیزی که بد افزار شناخته شود ممانعت به عمل می‌آورد.

۲-برنامه‌های ضد بدافزار می‌توانند تنها به منظور تشخیص و پاکسازی بدافزارهایی که قبلاً روی یک رایانه نصب شده‌اند، مورد استفاده قرار گیرند. این نوع از محافظت در برابر بدافزار عمدتاً ساده تر و محبوب تر است. این نوع از ضد بدافزارها محتوای رجیستری ویندوز، فایل‌های اجرایی سیستم و برنامه‌های نصب شده روی یک رایانه را اسکن می‌کنند و لیستی از تهدیدهای پیدا شده را تهیه می‌کنند، که به کاربر اجازه می‌دهد که چه فایل‌هایی را حذف یا نگاه دارد.





ضد ویروس (رایانه)

نرم‌افزار ضدویروس (به انگلیسی: Anti-Virus) که با نام‌های ویروس‌یاب و ویروس‌کش هم شناخته می‌شود، نرم‌افزاری است که با مشاهده و بررسی محتوای پرونده‌ها به دنبال الگوهای آشنای ویروس‌ها یا کرم‌های اینترنتی می‌گردند. در صورت مشاهده این الگوها که به آن امضای ویروس (Virus Signature) گفته می‌شود، از ورود آن به کامپیوتر شما و اجرا شدن‌اش جلوگیری می‌کنند و یا به شما هشدار لازم را می‌دهند و از شما دستور می‌گیرند که آیا فایل را حذف کنند و یا سعی نمایند آن را اصلاح و پاکسازی کنند.

نرم‌افزار آنتی‌ویروس سه وظیفه‌ی عمده را انجام می‌دهند: ١. بازرسی یا کشف،٢. تعیین هویت یا شناسایی، و ٣. آلودگی‌زدایی یا پاکسازی

شرکت‌های سازنده نرم‌افزارهای ضدویروس، با ساخته شدن ویروس‌های جدید، الگوهای نرم‌افزاری آنها را کشف و جمع آوری می‌کنند و به همین علت اغلب لازم است تا این نرم‌افزارها هر از چندگاهی به‌روزرسانی (Update) شوند تا الگوهای جدید ویروسها را دریافت کنند.

ویروس‌های رایانه‌ای برنامه‌هایی دارای درجه‌ای از هوشمندی هستند و روش‌های بسیاری وجود دارد که توسط آن‌ها اطلاعاتی از رایانهء شما به نویسندهء ویروس یا افراد سودجوی دیگر ارسال شود. به‌عنوان مثال، شما در حال نگاه کردن به یک فیلم روی اینترنت هستید، یا در حال خواندن یک نامه و بسیاری کارهای عادی دیگر... و بدون آنکه بدانید در همان زمان به ویروسی اجازه داده‌اید تا کامپیوتر شما را بررسی و تحلیل کند.

بسیاری از اوقات هنگامی که شما آنها را شناسایی می‌کنید و از بین می‌برید، خبر ندارید که ویروس برای ورود مجدد و فعال شدن در کامپیوتر شما قبلاً چارهٔ لازم را اندیشیده است و راه‌های دیگری (Backdoors) برای حمله مجدد به رایانه یا شبکه رایانه‌ای شما ایجاد کرده است.






ویروس‌ها چگونه وارد رایانه شما می‌شوند

راه‌های مختلفی برای ورود ویروس‌ها به رایانهٔ شما وجود دارد، مانند فلاپی‌دیسک‌ها، لوح‌های فشرده، مشاهدهٔ وب‌گاه، دریافت رایانامه (Email) آلوده، اجرای فایل‌های دریافت‌شده از اینترنت و غیره. بنابراین لازم است که تمامی این موارد به هنگام استفاده مورد کنترل یک نرم‌افزار ضدویروس قرار گیرد. به بیان دیگر هنگامی که می‌خواهید برنامه‌ای را از روی یک لوح فشرده اجرا کنید و یا نامه‌ای را باز کنید باید آنها را توسط یک نرم‌افزار ضدویروس وارسی کنید.

فراموش نکنید که شما همواره مراقب منزل خود هستید و دقت می‌کنید که در منزل و پنجره‌ها هنگام شب یا هنگامی که در منزل نیستید، باز نباشند. به همین ترتیب باید همواره وضعیت قسمت‌های مختلف کامپیوتر خود را کنترل کنید. اینکه اندازه فایلهای شما عادی باشد یا نه، اینکه مثلاً" فایل جدیدی به کامپیوتر شما اضافه نشده باشد و بسیاری موارد دیگر که بتدریج می‌توانید آنها را یاد بگیرید. اما یک نرم‌افزار ضدویروس بسادگی می‌تواند هر موقع که شما اراده کنید تمام سیستم شما را کنترل کند و شما را از عدم وجود ویروس در کامپیوتر مطمئن سازد.






ویژگی‌های یک نرم‌افزار ضدویروس مناسب

همانطور که برای هر محصولی (چه نرم‌افزاری و چه سخت‌افزاری) آزمون‌هایی وجود دارد که کیفیت و شایستگی آن را تعیین می‌کند، چنین سنجش‌هایی برای یک نرم‌افزار ضد ویروس هم وجود دارد. یکی از آزمون‌ها با نام آزمون DURCH شناخته می‌شود که نام آن سرواژه‌ای است که از حروف ابتدایی بخش‌های پنچگانهء این آزمون تشکیل شده‌اند. بنابر آزمون DURCH یک نرم‌افزار ضدویروس مناسب باید بتواند به نیازهای زیر پاسخ دهد :

آزمون درخواست (Demand): باید بتواند هنگامی که می‌خواهید به یک پرونده یا صفحهٔ اینترنتی یا یک رایانامه دسترسی یابید، آن را بررسی کند.
آزمون به‌روزرسانی (Update): به این معنی که نرم‌افزار باید بتواند در بازه‌های زمانی مشخص بانک اطلاعاتی خود که شامل امضای ویروس‌ها است را بروز کند.
آزمون واکنش (Respond): اینکه نرم‌افزار بتواند تمامی رفتارهای منطقی در برخورد با یک ویروس را از خود نشان دهد. پرونده‌ٔ آلوده را دوباره‌سازی و تمیز کند و یا آن را حذف نماید.
آزمون وارسی (Check): باید بتواند تمام فایلها از نوع مختلف که می‌توانند محلی برای پنهان شدن ویروس باشند را کنترل کند.
آزمون اکتشاف (Heuristics): به این معنی که نرم‌افزار باید با وجود نداشتن الگوی همهٔ ویروسها، بتواند خطر و احتمال وجود ویروس را تشخیص دهد. این رفتار نیازمند هوشمندی نسبی نرم‌افزار و استفادهٔ آن از روش‌های اکتشافی است.







ابزارهای مشابه

بعضی از سایر نرم‌افزارها نیز عملکردی مشابه نرم‌افزارهای ضد ویروس دارند. به طور مثال، یک نرم‌افزار می تواند با کنترل و تحلیل محتویات تمامی دیسک های یو اس بی که به رایانه متصل می شوند، با ویروس های خود اجرا شونده (Autorun) مقابله کند. این ابزارها معمولاً دارای بانک اطلاعاتی از امضای ویروس ها نبوده و نیازمند به روزرسانی نیستند. از این رو، به آن ها ضد ویروس برون خط (Offline anti-virus) نیز اطلاق می گردد.





جاسوس‌افزار
اینگونه برنامه‌ها مستقیماً دارای اثر تخریبی نیستند و وظیفهٔ آنها جمع‌آوری اطلاعات از روی رایانه کاربر و نیز تحت نظر قرار دادن اعمال وی هنگام کار با رایانه و اینترنت است. در نهایت این اطلاعات برای مقاصد خاص فرستاده می‌شود تا از آنها جهت اهداف تجاری و تبلیغی ونظامی و نظارتی و... استفاده گردد.






تعریف

جاسوس افزار مانند ویروس و کرم نوعی بدافزار است. بدافزار به برنامه‌هایی گفته می‌شود که توانایی آسیب رساندن به یک سیستم کامپیوتری یا شبکه‌ای از کامپیوترها را دارند. جاسوس افزار برنامه‌ای است که بدون اجازه کاربر روی سیستم کامپیوتری وی نصب شده، کنترل آن را از فرد می‌گیرد و اطلاعات شخصی وی را برای یک شخص ثالث می‌فرستد.






تاریخچه

واژه جاسوس افزار برای اولین بار در ۱۶ اکتبر سال ۱۹۹۵ در متنی درمورد مدل تجارتی ماکروسافت استفاده شد. در سال ۲۰۰۰ آقای گریگور فرند در توصیف دیوار آتش شخصی خود به نام زون آلارم از واژه جاسوس افزار استفاده کرد. اما استفاده رسمی از این کلمه بعد از سال ۲۰۰۱ بود زمانی که آقای استیو گیبسون رئیس مرکز تحقیقات گیبسون متوجه نصب یک نرم‌افزار تبلیغاتی روی سیستم کامپیوتری خود شد که اطلاعات شخصی او را برای فرد دیگری ارسال می‌کرد. به همین دلیل وی یک برنامه ضدجاسوسی طراحی کرد و آن را اوپت اوت نامید.






انواع

در یک تقسیم بندی کلی نرم‌افزارهای جاسوسی را می‌توان به دو دسته تقسیم کرد: ۳-۱- نرم‌افزارهای جاسوسی خانگی نرم‌افزاری که معمولاً توسط صاحبان کامپیوترها به منظورآگاهی یافتن از تاثیرات اینترنت بر شبکه‌های کامپیوتری خودشان خریداری و نصب می‌گردد. مدیران از این نرم‌افزار برای آگاهی از فعالیت‌های کارمندان استفاده می‌کنند. بعضی افراد هم برای اطلاع از فعالیت‌های سایر اعضای خانواده این روش را به کار می‌برند. مانند مشاهده محتویات اتاق‌های گفتگو توسط والدینی که فرزندانشان در آنها شرکت می‌کنند. همچنین این نوع جاسوس افزار می‌تواند توسط یک شخص ثالث بدون آگاهی صاحب کامپیوترروی سیستم وی نصب شود و اطلاعات شخصی وی را جمع آوری کند. ۳-۲- نرم‌افزارهای جاسوسی تجاری نرم‌افزاری است که شرکت‌ها برای تعقیب فعالیت‌های کاربران در اینترنت استفاده می‌کنند. این شرکت‌ها که وظیفه نصب جاسوس افزار روی سیستم‌های کامپیوتری را دارند اغلب اطلاعات حاصل را به بازاریابان می‌فروشند و آنها کاربر را با تبلیغات خاص که با علائق وی مطابقت دارد و برایش جذاب است مورد هدف قرارمی دهند.






راه‌های نفوذ

پنجره‌های پاپ آپ :

پنجره‌های کوچکی که به هنگام بازدید از سایت در برابر کاربر ظاهر می‌شوند و حاوی پیام‌های مختلفی برای فریب اشخاص می‌باشند. در این پنجره‌ها اغلب دکمه‌های مختلفی مانند قبول، لغو، بستن و... وجود دارد ولی هیچ کدام از آنها کار اصلی خود را انجام نمی‌دهند و با فشردن هر کدام از این دکمه‌ها جاسوس افزار روی سیستم نصب می‌شود.







نرم‌افزارهای ضد جاسوس افزار:

بعضی نرم‌افزارهای ضدجاسوسی به جای از بین بردن جاسوس افزار آن را روی سیستم نصب می‌کنند. از برنامه‌های مطمئن و معروف برای بالا بردن امنیت سیستم خود استفاده کنید.







برنامه‌های رایگان اینترنتی:

امروزه بسیاری از کاربران اینترنت بنا بر نیاز خود برنامه‌هایی را که به صورت رایگان روی اینترنت قرار گرفته دانلود و نصب می‌کنند. اغلب صاحبان این برنامه‌ها در ازای دریافت مبلغی یا بااهداف تجاری دیگر کد جاسوس افزار را در برنامه خود قرار می‌دهند و به هنگام نصب آن نرم‌افزار جاسوس افزار نیز روی سیستم کامپیوتری قرار گرفته و شروع به کار می‌کند







سی دی‌ها و فلش‌ها:

حافظه‌های جانبی قابل حمل مانند سی دی و فلش به این علت که بین سیستم‌های زیادی جا به جا می‌شوند حاوی برنامه‌های مخرب هستند. ۴-۵- سوء استفاده از ضعف امنیتی اینترنت اکسپلورر بعضی از طراحان برنامه‌های مخرب که با ضعف‌های امنیتی اینترنت اکسپلورر آشنا باشند می‌توانند در کد صفحه وب خود دستورهایی قرار دهند که به هنگام بازکردن آن صفحه با اینترنت اکسپلورر جاسوس افزار روی کامپیوتر نصب شود







ویروس‌ها:

برخی ویروس‌ها حاوی کدهایی برای نصب جاسوس افزارهستند. == تمامی نشانه های یک جاسوس افزار

تشخیص آلوده بودن یک کامپیوتر به جاسوس افزار کار سختی نیست. سیستم آلوده نشانه‌های ساده‌ای دارد از جمله: ۵-۱- تغییر ناگهانی صفحه خانگی مرورگر بعضی از جاسوس افزارها که برای اهداف تبلیغاتی طراحی می‌شوند بدون اجازه کاربر صفحه خانگی مرورگر اینترنتی را تغییر می‌دهند. بسیاری از افرادی که سیستم آنها آلوده شده به طور مکرر صفحه خانگی مرورگر را مطابق میل خود تنظیم نموده و با تغییر دوباره آن مواجه می‌شوند. ۵-۲- ایجاد نوار ابزارهای جدید از نشانه‌های دیگر وجود جاسوس افزار ظاهر شدن نوار ابزارهای جدید بدون خواست کاربر در پنجره مرورگر است.







ظاهر شدن مداوم پنجره‌های پاپ آپ :

اگر فرد به صورت مکرر و مداوم با پنجره‌های پاپ آپ مواجه شود امکان وجود جاسوس افزار در سیستم کامپیوتری وی زیاد است.







تغییر آدرس توسط مرورگر:

بعضی جاسوس افزارها طوری تنظیمات مرورگر را تغییر می‌دهند که برخلاف میل کاربر و بدون توجه به آدرس وارد شده در نوار آدرس و یا نوار جستجو صفحاتی را به وی نشان دهد که در جهت اهداف تبلیغاتی طراحان آن جاسوس افزار است.







ایجاد آیکون‌های جدید روی صفحه نمایش:

وجود آیکون‌های جدید و ناشناخته روی صفحه نمایش بدون خواست کاربر از نشانه‌های وجود جاسوس افزار است. عدم کارایی بعضی کلیدهای صفحه کلید: جاسوس افزارها کارایی کلیدهای صفحه کلید را تغییر می‌دهند به طوری که برای مثال کلید تب در پنجره مرورگر به جای جا به جایی روی پیوندها کار دیگری انجام دهد.







عملکرد کند کامپیوتر:

از آنجایی که جاسوس افزار یک برنامه‌است برای اجرا شدن به حافظه و پردازنده نیاز دارد و سرعت کامپیوتر را کاهش می‌دهد.







خاموش شدن دیوار آتش و ضدویروس:

جاسوس افزار برای این که به راحتی اطلاعات کاربر را برای شخص ثالث ارسال کند و همچنین تنظیمات سیستم کامیوتری را تغییر دهد اغلب بدون اطلاع کاربر دیوار آتش و ضدویروس را غیر فعال می‌کند تا به اهداف خود دست یابد.






مشکلات

سرقت اطلاعات شخصی:

جاسوس افزارها می‌توانند با دست یابی به کوکی‌ها عادت‌های اینترنتی، اطلاعات کارت‌های اعتباری و بسیاری اطلاعات دیگر شما را جمع آوری کند همچنین با ثبت کردن کلیدهای فشرده شده توسط شما روی صفحه کلیدرمزهای عبور شما را به دست آورده و در اختیار افراد دیگر قرار دهند.







تاثیر منفی روی عملکرد کاربر:

ظاهر شدن مداوم پنجره‌های پاپ آپ، ایجاد نوار ابزارها و آیکون‌های جدید و ناشناخته، کاهش سرعت کامپیوتر، کاهش امنیت افراد در استفاده از اینترنت و سایر مشکلاتی که جاسوس افزار ایجاد می‌کند بر عملکرد کاربران تاثیر می‌گذارد.







کاهش کارایی سیستم:

همانطور که گفته شد چون جاسوس افزار نوعی برنامه‌است حافظه و پردازنده کامپیوتر را مصرف می‌کند و کارایی سیستم را کاهش می‌دهد.







استفاده از پهنای باند:

جاسوس افزار برای ارسال اطلاعات نیاز به برقراری ارتباط از طریق اینترنت دارد و باید از پهنای باند استفاده کند.





سخت‌افزار رایانه
سخت‌افزار رایانه مجموعه‌ای از اجزای فیزیکی است که می‌توان آنها را لمس کرد (مشاهده کرد) و یک رایانه را تشکیل می‌دهند مانند صفحه نمایش، صفحه کلید، حافظه‌های رایانه، دیسک سخت، ماوس، چاپگرها، سی‌پی‌یو، کارت گرافیک، کارت صدا، حافظه، مادربورد و چیپ‌ها. در مقابل آن نرم‌افزار قابل لمس نیست. نرم‌افزار مجموعه‌ای از ایده‌ها، مفاهیم و نمادها است. ترکیب سخت‌افزار و نرم‌افزار یک سیستم محاسباتی قابل استفاده را تشکیل می‌دهند.






تعریف صنعتی

سخت‌افزار بخش مادی، قابل لمس و ابزاری هر مجموعه یا سیستم است. سخت‌افزار معمولاً به قطعات و یراق‌آلات فلزی و پلاستیکی تشکیل دهنده مجموعه گفته می‌شود. لازم به توضیح است که برق نیز جزو سخت‌افزار حساب می‌شود.






تعریف رایانه

در دانش رایانه به مجموع مدارهای الکترونیکی، اجزای فیزیکی و مکانیکی قابل لمس و مشاهده در یک رایانه سخت‌افزار می‌گوییم. همچنین به بخش غیرقابل لمس مانند سیستم‌عامل و برنامه‌های رایانه‌ای، نرم‌افزار اطلاق می‌گردد.






فهرست سخت‌افزارها

بُردِ مادر یا برد اصلی (مادربورد)
نمایشگر (مانیتور)
جعبه رایانه (کیس)
صفحه‌کلید (کیبورد)
موشواره (ماوس)
چاپگر (پرینتِر)
پویشگر (اسکنر)
واحد پردازش مرکزی (سی‌پی‌یو یا پردازنده)
فلاپی‌دیسک
دیسک سخت
مودم
دیسک‌گردان نوری (درایو نوری) (CD و DVD)
بلندگو
یو اس‌ بی
کارت صدا
کارت گرافیک
قلم نوری
هدفون (دوگوشی)
کارت تلویزیون و رادیو
دوربین (وب‌کم)
میکروفون
هدست
page1 - page2 - page3 - page4 - page5 - page7 - page8 - | 12:43 pm
جاوااسکریپت (به انگلیسی: JavaScript) زبان برنامه نویسی اسکریپت مبتی بر اشیاء است که توسط NetScape تولید شده‌است. این زبان، یک زبان شی‌گرااست که بر اساس استاندارد ECMA-262 Edition 3 نوشته شده‌است.
علیرغم اشتباه عمومی، زبان جاوا اسکریت با زبان جاوا ارتباطی ندارد، اگر چه ساختار این زبان به سی پلاس پلاس(++C) و جاوا شباهت دارد؛ که این امر برای یادگیری آسان در نظر گرفته شده‌است. از همینرو دستورهای متداول مانند if, for, try..catch ,"while" و... در این زبان هم یافت می‌گردند.
این زبان می‌تواند هم به صورت ساخت یافته و هم به صورت شی گرا مورد استفاده قرار گیرد. در این زبان اشیاء با اضافه شدن متدها و خصوصیات پویا به اشیاء خالی ساخته می‌شوند، بر خلاف جاوا. بعد از ساخته شدن یک شی به روش فوق، این شی می‌تواند به عنوان نمونه‌ای برای ساخته شدن اشیاء مشابه مورد استفاده قرار گیرد.
به علت این قابلیت زبان جاوااسکریپت برای ساختن نمونه از سیستم مناسب می‌باشد.
کاربرد گسترده این زبان در سایتها و صفحات اینترنی می‌باشد و به کمک این زبان می‌توان به اشیاء داخل صفحات HTML دسترسی پیدا کرد و آنها را تغییر داد. به همین علت برای پویا نمایی در سمت کاربر، از این زبان استفاده می‌شود.





جاوا اسکریپت را در ابتدا شخصی به نام برندان ایچ در شرکت Netscape با نام Mocha طراحی نمود. این نام بعدا به LiveScript و نهایتا به جاوا اسکریپت تغییر یافت.این تغییر نام تقریبا با افزوده شدن پشتیبانی از جاوا در مرورگر وب Netscape Navigator همزمانی دارد. اولین نسخهٔ جاوا اسکریپت در نسخه 2.0B3 این مرورگر در دسامبر ۱۹۹۵ معرفی و عرضه شد. این نام گذاری منجر به سردرگمی‌های زیادی شده و این ابهام را ایجاد می‌کند که جاوا اسکریپت با جاوا مرتبط است در حالی که این طور نیست. عدهٔ زیادی این کار را یک ترفند تجاری برای به دست آوردن بخشی از بازار جاوا که در آن موقع زبان جدید مطرح برای برنامه نویسی تحت وب بود می‌دانند.

به دلیل موفقیت عمدهٔ جاوا اسکریپت در نقش زبان نویسه‌ای سمت کارخواه (client side scripting language) برای صفحات وب، مایکروسافت یک نسخه سازگار از این زبان را ایجاد کرد و به علت مشکلات حقوقی آن را Jscript نامید. این زبان در نسخه ۳٫۰ از مرورگر اینترنت اکسپلورر و در آگوست ۱۹۹۶ داده شد. تفاوت‌های این دو زبان به حدی جزیی است که اغلب Jscript و جاوا اسکریپت به جای هم به کار می‌روند. هرچند که مایکروسافت در اینجا چند ده دلیل برای تفاوت Jscript با استاندارد ECMA مطرح می‌کند.

Netscape جاوا اسکریپت را به سازمان Ecma International برای استاندارد سازی ارسال کرده‌است و نتیجه نسخهٔ استاندارد شده‌ای به نام ECMA Script است.
جاوا اسکریپت به یکی از زبان‌های برنامه نویسی پر طرفدار در وب تبدیل شده‌است. هر چند ابتدا بسیاری از برنامه نویسان حرفه‌ای زبان را کم ارزش تلقی می‌کردند چون مخاطبین آن نویسندگان صفحات وب و آماتورهای این چنینی بودند. ظهور ای‌جکس بار دیگر جاوا اسکریپت را در معرض توجه قرار داد و برنامه نویسان حرفه‌ای بیشتری را به خود جذب نمود. نتیجه ازدیاد فریمورک و کتابخانه‌های جامعی در این زمینه، بهبود شیوه‌های رایج برنامه نویسی در جاوا اسکریپت و افزایش کاربرد جاوا اسکریپت خارج از وب است.


زبان امری و ساخت یافته
جاوا اسکریپت از تمامی نحو ساختاری زبان C پشتیبانی می‌کند. مانند گزاره (if و switch و حلقه‌های while و...) یک مورد استثنا تعیین حوزهٔ متغیرهاست: تعریف حوزه در حد block در جاوا اسکریپت وجود ندارد. هر چند جاوا اسکریپت ۱٫۷ با کلمهٔ کلیدی let این نوع حوزه دهی را امکان پذیر می‌سازد. مانند c در جاوا اسکریپت بین عبارت و گزاره تفاوت وجود دارد.

پویایی
؛ تایپ دهی پویا: مانند اکثر زبان‌های نویسه‌ای تایپ به مقدارها منسوب می‌گردد و نه به متغیرها. برای مثال متغیر x ممکن است به یک عدد وابسته سازی شود، و بعداً به یک رشته. جاوا اسکریپت برای تعیین تایپ شی راه‌های مختلفی از جمله تایپ دهی اردکی (duck typing) را دارد.

؛ تایپ دهی ضعیف: زبان جاوا اسکریپت از نظر تایپ دهی ضعیف به شمار می‌آید و در آن نتیجهٔ عملیاتی مانند ۵ + “۳۷”، عبارت “۵۳۷” خواهد بود. (عدد را با رشته جمع کرده‌است)

؛ اشیا به دید آرایه‌های انتسابی: جاوا اسکیرپت تقریبا تماما بر اساس اشیا است. اشیا، آرایه‌های انتسابی به همراه یک «ساختار شماتیک» هستند. نام ویژگی اشیا، کلیدهای آرایه انتسابی هستند و درواقع obj.x = ۱۰ با obj[“x”] = ۱۰ هم ارز هستند و شیوه نگارش با نقطه صرفا یک سهولت نحوی است. ویژگی‌ها و مقدارهایشان در زمان اجرا قابلیت تغییر اضافه و حذف دارند. همچنین می‌توان روی ویژگیهای یک شی با ساختار for … in پیمایش کرد.

؛ ارزیابی در زمان اجرا: جاوااسکریپا یک تابع eval دارد که قادر است گزاره‌های تولید شده در یک رشته در زمان اجرا را، اجرا کند.

تابعی بودن: توابع موجوداتی «درجه اول» محسوب می‌شوند، یعنی خود یک شی هستند. بنابراین می‌توانند ویژگی داشته باشند، در آرگومان‌های تابع‌ها داده شوند و مانند هر شی دیگری با آن‌ها رفتار شود

؛ توابع داخلی و بستارها: توابع داخلی (توابع تعریف شده داخل یک تابع دیگر) هر بار که تابع بیرونی فرا خوانده شود، ایجاد می‌شوند و متغیرهای توابع بیرونی تا زمانی که تابع داخلی وجود داشته باشد، وجود خواهند داشت، حتی پس از اتمام آن فراخوانی از تابع بیرونی. (مثال: اگر تابع داخلی به عنوان مقدار برگشتی تابع باشد، هنوز به متغیرهای تابع بیرونی دسترسی دارد) – این مکانیزم بستار گرفتن در جاوا اسکریپت است.


ساختار شماتیک» محوری
ساختار شماتیک: جاوا اسکریپت به جای رده‌ها برای تعریف ویژگی‌های اشیا، که شامل متدها و وراثت است از «ساختار شماتیک» استفاده می‌کند (پیش‌نمونه). امکان شبیه سازی بسیاری از امکانات رده-محور با ساختارهای شماتیک جاوا اسکریپت امکان پذیر است.


توابع در نقش سازندهٔ اشیا
برای توابع علاوه بر نقش عادی، به عنوان سازنده ی اشیا هم عمل می‌کنند. آوردن یک new قبل فراخوانی تابع، آن را با کلمهٔ کلیدی this وابسته سازی شده به شی جدید اجرا می‌کند. ویژگی prototype از تابع مورد نظر، ساختار شماتیک شی جدید را مشخص می‌کند.

؛ توابع در نقش متد: بر خلاف بیشتر زبان‌های شی گرا تفاوتی میان تعریف تابع و متد وجود ندارد. بلکه تفاوت در زمان فراخوانی تابع است، زمانی که یک تابع به عنوان متد یک شی فراخوانده می‌شود کلمهٔ کلیدی this محلی آن تابع به شی مورد نظر وابسته سازی می‌شود.


جاوا اسکریپت برای تامین اشیا و متدها که با آن‌ها تعامل کند به یک محیط اجرایی (مانند مرورگر وب) نیاز دارد تا بتواند به این ترتیب با دنیای خارج ارتباط برقرار کند. همچنین برای دسترسی به سایر نویسه‌ها (include) هم به این محیط نیازمند است (مانند تگ <script>در HTML). (البته این یک ویژگی زبانی نیست اما در عمل اغلب این طور پیاده سازی شده‌است)

؛ تعداد متغیر پارامتر (variadic): تعداد نامعینی پارامتر را می‌توان به یک تابع ارسال نمود. تابع می‌تواند هم از طریق پارامترهای رسمی و هم از طریق شی محلی arguments به آن‌ها دسترسی داشته باشد.

Literalهای آرایه و شی

مانند بسیاری از زبان‌های نویسه‌ای آرایه‌ها و اشیا (که در زبان‌های دیگر همان آرایه‌های انتسابی هستند) را می‌توان با یک نحو موجز ایجاد و توصیف نمود. در واقع این شیوهٔ نگارش پایهٔ قالب داده‌ای جی‌سون هم هست.

عبارات منظم

جاوا اسکریپت به شیوه‌ای مشابه زبان پرل از عبارات منظم پشتیبانی می‌کند که نحوی قدرتمند و موجز را به شکلی فراتر از توابع پیش ساخته برای کار با رشته‌ها، فراهم می‌کند.


انواع زیر جزو انواع داده‌های قابل دسترس در زبان جاوا اسکریپت است. در استاندارد ECMA انواع دیگری هم تعریف شده که صرفا داخلی است و برای پیاده سازی است.

تعریف نشده: این تایپ فقط یک مقدار با نام undefined دارد و متعلق به تمام متغییرهای مقدار دهی نشده‌است

نوع تهی: نوع تهی هم فقط یک مقدار دارد با نام null

نوع دودویی: نمایندهٔ یک مقدار منطقی است و دو مقدار true و false را می‌پذیرد.

نوع رشته: در بر گیرندهٔ تمام رشته‌های متناهی از ۰ یا بیشتر عنصر ۱۶ بیتی بدون علامت است. این عناصر با اندیس‌های نامنفی قابل دسترسی هستند. طول رشته تعداد عناصر داخل آن و طول رشتهٔ تهی برابر ۰ است.

زمانی که رشته حاوی متن واقعی باشد هر عنصر به عنوان یک واحد UTF-16 در نظر گرفته می‌شود (مستقل از این که شیوهٔ واقعی نگه داری رشته چه باشد). تمام عملیات بر روی رشته‌ها آن‌ها را به عنوان اعداد صحیح بدون علامت در نظر می‌گیرند و تضمین کنندهٔ تولید رشته به حالت normalize شده نیست و تضمین‌های خاص زمانی هم ندارد. علت این تصمیم گیری سادگی در پیاده سازی ذکر شده‌است.

نوع عدد: نوع عدد در جاوا اسکریپت مطابق با استادارد IEEE برای اعداد شناور دودویی است (با اندکی تفاوت).

نوع شی: شی در جاوا اسکریپت یک مجموعه بدون ترتیب از ویژگی‌ها است. هر ویژگی می‌تواند داخلی، فقط-خواندنی، غیر قابل حذف، و غیر قابل پیمایش باشد (یا ترکیبی از این‌ها یا هیچ کدام)


تبدیلات خودکار

این زبان دارای تبدیلات خود کار بین این انواع داده‌ای است.

زمانی که بخواهد یک if را ارزیابی کند یا از عملگرهای منطقی ! و && و || استفاده شود، تبدیل به نوع دودویی را انجام می‌دهد. مقادیر ۰ و ۰- و NaN به false و سایر مقادیر عددی به true نگاشت می‌گردد. همچنین رشتهٔ تهی false و سایر رشته‌ها true در نظر گرفته می‌شود. انواع شی و تابع true و undefined و null هم false در نظر گرفته می‌شود.

زمانی که یکی از عملوندهای عملگر + رشته باشد، تبدیل به رشته صورت می‌گیرد، مانند ۵ + “۳۷” که می‌شود “۵۳۷”

عملگرهای دیگری عددی (جز جمع) منجر به تبدیل به عدد می‌گردد مانند ۳ – “۵۷” که مقدار عددی ۳۴- را به دست می‌دهد.
ساعت : 12:43 pm | نویسنده : admin | جاوا | مطلب قبلی
جاوا | next page | next page