قصد داریم طی دو شماره بطور خلاصه به معمولترین روشهایی که مورد استفاده خرابکاران برای ورود به کامپیوتر یا از کارانداختن آن قرارمیگیرد، اشاره کنیم. گروه امداد امنیت کامپیوتری ایران به بعضی از این روشها بطور مفصل پرداخته است و در آینده به بقیه آنها نیز خواهد پرداخت.
۱- برنامههای اسب تروا
۲- درهای پشتی و برنامههای مدیریت از راه دور
۳-عدم پذیرش سرویس
۴- وساطت برای یک حمله دیگر
۵- اشتراکهای ویندوزی حفاظتنشده
۶- کدهای قابل انتقال (Java ، JavaScript و ActiveX)
۷- اسکریپتهای Cross-Site
۸- ایمیلهای جعلی
۹- ویروسهای داخل ایمیل
۱۰- پسوندهای مخفی فایل
۱۱- سرویسگیرندگان چت
۱۲- شنود بستههای اطلاعات
۱- برنامههای اسب تروا
برنامههای اسب تروا روشی معمول برای گول زدن شما هستند (گاهی مهندسی اجتماعی نیز گفته میشود) تا برنامههای “درپشتی” را روی کامپیوتر شما نصب کنند. و به این ترتیب اجازه دسترسی آسان کامپیوترتان را بدون اطلاعتان به مزاحمین میدهند، پیکربندی سیستم شما را تغییر میدهند، یا کامپیوترتان را با یک ویروس آلوده میکنند.
۲- درهای پشتی و برنامههای مدیریت از راه دور
روی کامپیوترهای ویندوزی، معمولا سه ابزار توسط مزاحمین برای دسترسی از راه دور به کامپیوترتان استفاده میشود. BackOrifice ، Netbus و SubSeven. این برنامههای درپشتی یا مدیریت از راهدور وقتی نصب میشوند، به افراد دیگر اجازه دسترسی و کنترل کامپیوترتان را میدهند. به شما توصیه میکنیم که شکافهای امنیتی را بخصوص در مورد BackOrifice از CERT مطالعه کنید.
۳- عدم پذیرش سرویس
نوعی دیگر از حمله، Denial-of-Service یا عدمپذیرشسرویس نام دارد. این نوع حمله باعث از کارافتادن یا مشغول شدن بیش از حد کامپیوتر تا حد غیرقابلاستفاده شدن میشود. در بیشتر موارد، آخرین وصلههای امنیتی از حمله جلوگیری خواهند کرد. شایان گفتن است که علاوه بر اینکه کامپیوتر شما هدف یک حمله DoS قرار میگیرد، ممکن است که در حمله DoS علیه یک سیستم دیگر نیز شرکت داده شود.
۴- وساطت برای یک حمله دیگر
مزاحمین بهکرات از کامپیوترهای مورد حمله قرارگرفته برای پایگاهی برای حمله به سیستمهای دیگر استفاده میکنند. یک مثال آن چگونگی استفاده از آنها بعنوان ابزار حملات DoS توزیعشده است. مزاحمین یک “عامل” را (معمولا از طریق یک اسب تروا) نصب میکنند که روی کامپیوتر مورد حمله قرارگرفته اجرا میشود و منتظر دستورهای بعدی میماند. سپس، هنگامی که تعدادی از عاملها روی کامپیوترهای مختلف در حال اجرا هستند، به تمام آنها دستور داده میشود که یک حمله denial-of-service را روی یک سیستم پیاده کنند. بنابراین، هدف نهایی حمله، کامپیوتر شما نیست، بلکه سیستم شخص دیگری است – کامپیوتر شما فقط یک ابزار مناسب برای یک حمله بزرگتر است.
۵- اشتراکهای ویندوزی حفاظتنشده
اشتراکهای شبکه ویندوزی محافظتنشده میتوانند توسط مزاحمین تحت یک روش خودکار برای قراردادن ابزارها روی تعداد زیادی از کامپیوترهای ویندوزی متصل به اینترنت مورد سوءاستفاده قرار گیرند. از آنجا که برای امنیت سایت روی اینترنت وابستگی بین سیستمها وجود دارد، یک کامپیوتر مورد حمله قرارگرفته نه تنها مشکلاتی برای صاحبش فراهم میکند، بلکه تهدیدی برای سایتهای دیگر روی اینترنت محسوب میشود. عامل بالقوه بزرگی در گستره وسیع برای ظهور ناگهانی سایر ابزارهای مزاحمت وجود دارد که از اشتراکهای شبکه ویندوزی محافظتنشده استفاده میکند.
۶- کدهای قابل انتقال (Java ، JavaScript و ActiveX)
گزارشهایی در مورد مشکلات با ” کدهای سیار” ( مانند Java، JavaScript و ActiveX) وجود داشته است. اینها زبانهای برنامهسازی هستند که به توسعهدهندگان وب اجازه نوشتن کدهای قابل اجرا در مرورگر شما را میدهند. اگرچه کد عموما مفید است، اما میةواند توسط مزاحمان برای جمعآوری اطلاعات (مثلا وبسایتهایی که سر میزنید) یا اجرای کدهای آسیبرسان روی کامپیوتر شما مورد استفاده قرار گیرد. امکان از کار انداختن Java، JavaScript و ActiveX در مرورگر شما وجود دارد. توصیه میشود که اگر در حال مرور وبسایتهایی هستید که با آنها آشنا نیستید یا اطمینان ندارید، این کار را انجام دهید، اگرچه از خطرات احتمالی در استفاده از کدهای سیار در برنامههای ایمیل آگاه باشید. بسیاری از برنامههای ایمیل از همان کد بعنوان مرورگرهای وب برای نمایش HTML استفاده میکنند. بنابراین، شکافهای امنیتی که بر Java، JavaScript و ActiveX اثرگذارند، اغلب علاوه بر صفحات وب در ایمیلها هم قابل اجرا هستند.
Keylogger ابزاری برای جاسوسی
Keylogger ابزاری است که دنباله کلیدهایی که کاربر بر روی صفحهکلید کامپیوتر میفشارد، را ثبت میکند. این ابزار که به صورتهای سختافزاری و نرمافزاری تولید شده و در دسترس است در موارد متنوع و با کاربردهای مختلف به کار میرود. نمونههای مختلف Keylogger مقدار کمی از منابع سیستم شامل حافظه و پردازنده را مورد استفاده قرار میدهند. علاوه بر این در Task manager و لیست فرایندهای سیستم هم ظاهر نمیشوند، بنابراین تشخیص آنها بر روی دستگاه به سادگی امکانپذیر نیست. علی رغم اهمیت زیادی که این ابزار در از بین رفتن حریم شخصی افراد و سرقت اطلاعات آنها دارد، توجه زیادی به این ابزار و تهدیدات ناشی از آن نمیشود. شاید دلیل این امر شهرت بیشتر ویروسها، اسبهای تروا و کرمها و شناخت بیشتر نسبت به آنهاست. گروه امداد امنیت کامپیوتری ایران با توجه به سادگی انتشار این ابزار و تهدیدات ناشی از آن در این مقاله به معرفی keylogger و روشهای مقابله با آن پرداخته است.
قابلیتهای Keylogger ها قابلیت Keylogger ها در این است که هر کلیدی که فشرده شود را ذخیره نموده، لیستی از حروف تایپ شده بر روی کامپیوتر را تولید میکنند. این لیست سپس در اختیار فردی که برنامه را بر روی دستگاه نصب کرده قرار میگیرد. بعضی از Keylogger ها این امکان را دارند که گزارش حروف تایپ شده را به کامپیوتری دیگر بر روی شبکه ارسال کنند. امکان ارسال اطلاعات ذخیره شده از طریق e-mail هم وجود دارد.
علاوه بر ذخیره حروف تایپ شده، بعضی از Keylogger ها اطلاعات خاصی را به صورت جدای از سایرین ثبت و گزارش آنها را تولید میکنند. لیست URLهایی که توسط کاربر دستگاه مشاهده شده و یا پیامهایی که در جریان Chat بین کاربر و دیگران رد و بدل میشود، جزء این گروه از اطلاعات میباشند. قابلیت جالبی که تعدادی از Keylogger ها دارند گرفتن عکس از صفحه کامپیوتر در فواصل زمانی قابل تنظیم است. به این ترتیب مشخص میشود که چه برنامههایی بر روی کامپیوتر نصب و در حال اجرا میباشند، چه فایلهایی بر روی DeskTop دستگاه قرار دارد و چه فعالیتهایی بر روی دستگاه انجام میشود.
انواع Keylogger ها شرکتهای مختلف تولید کننده Keylogger محصولات خود را به دو صورت سختافزاری و نرمافزاری ارائه مینمایند. نرمافزارهای Keylogger به صورت بستههای نرمافزاری توسط شرکتهای مختلفی توسعه داده شده، با قابلیتهای مختلف به صورتهای تجاری و یا مجانی عرضه میگردند. با یک جستجوی ساده بر روی کلمه KeyLogger در یکی از موتورهای جستجو نمونههای زیادی از این ابزار یافته میشود که بعضی از آنها به صورت مجانی قابل دریافت میباشد. نکتهای که در همه نرمافزارهای Keylogger وجود دارد این است که هیچ یک از آنها در Task Manager و لیست فرایندهای دستگاه ظاهر نمیشوند. علاوه بر این فایلی که نرمافزار برای ثبت اطلاعات از آن بهره میگیرد نیز مخفی بوده و به سادگی قابل تشخیص نیست. برای استفاده از قابلیتهای keylogger باید یک نمونه از نرمافزار بر روی دستگاه مورد نظر نصب شود. این کار با داشتن مجوزهای مدیر سیستم امکانپذیر است. در این صورت حتی از راه دور هم میتوان برنامه را نصب نمود. انتقال Keylogger از طریق e-mail هم ممکن است. در این روش نرمافزار به همراه با یک فایل پیوست برای قربانی ارسال میگردد. باز کردن نامه و گرفتن پیوست آن منجر به نصب و فعال شدن keylogger بر روی دستگاه میشود. نمونههای سختافزاری این ابزار که بین صفحهکلید و درگاه کامپیوتر وصل میشوند معمولا مشابه کابل اتصال میباشند. با توجه به اینکه اتصال این ابزار از پشت دستگاه انجام میشود لذا در معرض دید نبوده و احتمال اینکه کاربر به سرعت وجود آن را کشف کند پایین است. علاوه بر این نمونههایی از Keylogger ها داخل خود صفحه کلید قرار میگیرند و امکان شناسایی شدن آن به سادگی وجود ندارد.
نمونهای از Keylogger سختافزاری
کاربردهای Keylogger پس از آشنایی با مشخصات و قابلیتهای Keylogger اولین چیزی که به ذهن هر کسی میرسد استفاده از آن برای یافتن کلمات عبور دیگران میباشد. با استفاده از این ابزار امکان دزدیدن شناسههای کاربری، کلمات عبور، شماره کارت اعتباری و ... بوجود میآید. از جمله مواردی که Keylogger ها در کاربردهای منفی مورد استفاده قرار گرفتهاند میتوان به دو مورد زیر اشاره نمود: در فوریه ۲۰۰۳ دیوید بودرو که دانشجوی دانشگاه بوستون بود اقدام به نصب Keylogger بر روی بیش از ۱۰۰ دستگاه کامپیوتر دانشگاه نمود. او با استفاده از اطلاعاتی که به این ترتیب در مورد اساتید، دانشجویان و کارکنان دانشگاه به دست آورد، توانست بیش از۲۰۰۰ دلار به دست آورد. مورد دیگر مربوط به جولای ۲۰۰۳ است که در آن جوجو جیانگ اعتراف نمود بر روی کامپیوترهای بیست فروشگاه در نیویورک Keylogger نصب نموده و به مدت دو سال شناسههای کاربری و کلمات عبور کاربران را از این طریق سرقت میکرده است. در کنار این کاربردها که همگی منفی بوده و به نوعی سوء استفاده از قابلیتهای یک ابزار محسوب میشوند کاربردهای دیگری نیز برای این ابزار وجود دارد. بسیاری از والدین همواره نگران نحوه استفاده فرزندان خود از اینترنت هستند. با توجه به وجود انواع سایتها و مراکز اطلاع رسانی، این والدین دوست دارند که کنترل بیشتری بر استفاده از اینترنت داشته باشند. حداقل خواسته آنها این است که بدانند فرزندانشان چه سایتهایی را مشاهده مینمایند و یا با چه کسانی چت میکنند. در چنین مواردی استفاده از این ابزار میتواند کمکی باشد برای والدینی که نگران سلامت روانی فرزندان خود بوده و نسبت به تربیت آنها دغدغههای خاص خود را دارند.
Anti- Keylogger این نرمافزارها با هدف شناسایی و ردیابی Keylogger ها تولید میشوند. با توجه به اینکه Keylogger ها روشهای مختلفی برای کار و مخفی کردن خود دارند شناسایی آنها به سادگی امکان پذیر نیست. نمونههایی از این نرمافزارها از طریق جستجو در اینترنت قابل دریافت میباشند. ولی واقعیتی که در رابطه با همه این نرمافزارها وجود دارد عدم کارآیی آنها در مواجه با Keylogger های متنوع است. تولیدکنندگان Keylogger، عموما ابزارهایی هم برای ردیابی Keyloggerهای خود به مشتریان عرضه میکنند. این ابزارها جامع نیستند و با توجه به اینکه روشهای مختلفی برای ثبت کلیدهای فشرده شده وجود دارد، نمیتوانند همه Keylogger ها را شناسایی نمایند.
روشهای مقابله متاسفانه ردیابی Keylogger ها بر روی دستگاه بسیار دشوار بوده و anti Keylogger ها هم کارایی مطلوبی ندارند. تنها راهی که برای مقابله با این ابزارها و جلوگیری از دزدی اطلاعات و نقض حریم شخصی میتوان پیشنهاد داد بهره گرفتن از روشهای پیشگیرانه است. موارد زیر به کاربران کامپیوترهای متصل به شبکه و مدیران سیستم توصیه میشود: 1. کاربران عادی کامپیوتر باید با اختیارات عادی به کامپیوتر وصل شده و مجوز نصب برنامه نداشته باشند. 2. تعداد اعضای گروه مدیران سیستم باید محدود بوده و سیاستهای دقیقی بر فرایند انتخاب و محافظت از کلمات عبور حاکم باشد. 3. هیچگاه نباید با شناسه کاربری مدیر سیستم به اینترنت (و حتی شبکه محلی) وصل شد. ممکن است در همین زمان هکرها به سیستم نفوذ کرده و با استفاده از اختیارات مدیران سیستم اقدام به نصب نرمافزار keylogger بر روی دستگاه نمایند. 4. پورت صفحهکلید کامپیوتر باید هر چند وقت یکبار مورد بازرسی قرار گیرد و سختافزارهای مشکوک بررسی شوند. یکی از روشهای انتقال keyloggerها از طریق e-mail است. لذا باید نکات امنیتی لازم رعایت شده، از باز کردن نامههای مشکوک اجتناب شود. |
۷- اسکریپتهای Cross-Site
یک برنامه نویس وب با افکار بدخواهانه ممکن است اسکریپتی به آنچه که به یک وب سایت فرستاده می شود، مانند یک URL ، یک عنصر در شکلی خاص، یا درخواست از یک پایگاه داده، بچسباند. بعدا، وقتی وب سایت به شما پاسخ می دهد، اسکریپت زیان رسان به مرورگر شما منتقل می شود.
شما می توانید مرورگر وب تان را توسط روشهای زیر در اختیار اسکریپتهای زیان رسان قرار دهید:
* تعقیب لینک ها در صفحات وب، ایمیلها یا پیام های گروه های خبری بدون دانستن به آنچه لینک داده شده است.
* استفاده از فرم های محاوره ای روی یک سایت غیرقابل اطمینان
* دیدن گروه های بحث آنلاین، مجمع ها یا دیگر صفحاتی که بصورت پویا تولید می شوند در جایی که کاربران می توانند متنهای شامل تگ های HTML ارسال کنند.
۸- ایمیلهای جعلی
این حالت زمانی اتفاق می افتد که یک ایمیل به ظاهر متعلق به منبعی می باشد درحالیکه در حقیقت از منبعی دیگر ارسال شده است. Email Spoofing اغلب برای گول زدن کاربر بمنظوراین که اطلاعات حساس (مانند کلمات عبور) را افشاء کند بکار می رود.
ایمیل جعل شده می تواند گستره ای از شوخی های بی ضرر تا اقدامات مربوط به مهندسی اجتماعی داشته باشد. مثالهایی از مورد دوم اینها هستند:
* ایمیل ادعا می کند که از مدیر یک سیستم است و از کاربران تقاضای تغییر کلمات عبورشان را به یک رشته مشخص دارد و آنها را در صورت عدم تابعیت به تعلیق اکانتهایشان تهدید می کند.
* ایمیل ادعا می کند از یک شخص با اختیارات لازم است و از کاربران تقاضا می کند که یک کپی از فایل کلمات عبور یا سایر اطلاعات حساس را برایش ارسال کنند.
توجه کنید وقتی سرویس دهندگان گهگاهی تقاضا می کنند که کلمه عبورتان را تغییر دهید، معمولا مشخص نمی کنند که به چه کلمه ای تغییر کند. همچنین، بیشتر سرویس دهندگان قانونی از شما هرگز تقاضای ارسال کلمات عبورتان را از طریق ایمیل نمی کنند. اگر شک دارید که یک ایمیل جعلی از شخصی با تمایلات بدخواهانه دریافت کرده اید، باید با پرسنل پشتیبانی سرویس دهنده خود سریعا تماس بگیرید.
۹- ویروسهای داخل ایمیل
ویروس ها و سایر کدهای آسیب رسان اغلب بعنوان پیوست ایمیلها گسترش می یابند. قبل از بازکردن هر پیوستی، از شناخته شده بودن منبع آن اطمینان حاصل کنید. اینکه ایمیل از آدرسی باشد که شما می شناسید، کافی نیست. ویروس ملیسا دقیقا به این علت گسترش یافت که آدرس فرستنده آن آشنا بود. همچنین، کدهای آسیب رسان ممکن است در برنامه های سرگرم کننده یا فریبنده گسترش پیدا کنند.
هرگز برنامه ای را اجرا نکنید، مگر اینکه توسط شخص یا شرکتی نوشته شده باشد که به آن اعتماد دارید. بعلاوه، برنامه هایی را که از منابع ناشناخته دریافت می کنید، صرفا بخاطر اینکه سرگرم کننده هستند، برای دوستان یا همکاران خود ارسال نکنید.
۱۰- پسوندهای مخفی فایل
سیستم عاملهای ویندوز انتخابی را در اختیار شما قرار می دهند که “ پسوند فایلهایی که نوع آنها شناخته شده است را پنهان می کند”. این انتخاب بصورت پیش فرض فعال است، اما ممکن است یک کاربر این قابلیت را بمنظور به نمایش درآمدن پسوند تمام فایلها توسط ویندوزغیرفعال کند. ویروسهای داخل ایمیل از پنهان ماندن پسوند فایلهای شناخته شده بهره برداری می کنند. اولین حمله عمده که از این قابلیت بهره گرفت کرم VBS/LoveLetter بود که حاوی یک پیوست به نام “LOVE-LETTER-FOR-YOU.TXT.vbx” بود. سایر برنامه های آسیب رسان چنین طرحهای نامگذاری مشابهی دارند. چندین مثال اینها هستند:
*Downloader (MySis.avi.exe or QuickFlicking.mpg.exe)
*VBS/Timofonica (TIMOFONICA.TXT.vbs)
*VBS/CoolNote (COOL_NOTEPAD_DEMO.TXT.vbs)
*VBS/OnTheFly (AnnaKournikova.jpg.vbs)
فایلهای پیوسته به ایمیلها که توسط این ویروسها فرستاده می شوند، ممکن است بی ضرر بنظر برسند، فایلهای متنی (.txt)، فایلهای تصویری (.mpg یا .avi) یا دیگر انواع فایل در حالیکه در حقیقت این فایل یک اسکریپت یا فایل اجرایی آسیب رسان است (برای مثال .vbs یا .exe)
۱۱- سرویس گیرندگان چت
برنامه های چت اینترنتی، مانند برنامه های پیام رسانی سریع و شبکه های IRC، مکانیسمی را فراهم می کنند تا اطلاعات بصورت دوطرفه بین کامپیوترهای متصل به اینترنت منتقل شود. برنامه های چت برای گروههایی از افراد، امکان مکالمه، تبادل URL و در بسیاری موارد انتقال انواع فایلها را فراهم می کنند.
چون بسیاری از برنامه های چت اجازه تبادل کدهای قابل اجرا را می دهند، خطراتی مشابه برنامه های انتقال ایمیل را ایجاد می کنند. مانند برنامه های ایمیل، باید دقت کافی برای محدودکردن توانایی برنامه های چت برای اجرای فایلهای دانلود شده، بکار گرفته شود. مثل همیشه، باید مواظب تبادل فایل با طرفهای ناشناس باشید.
۱۲- شنود بسته های اطلاعات
یک برنامه شنود بسته های اطلاعاتی، برنامه ای است که دیتا را از اطلاعاتی که در حال انتقال در روی شبکه هستند، در اختیار می گیرد. این دیتا ممکن است شامل نام کاربران، کلمات عبور و هر اطلاعات اختصاصی دیگری باشد که روی شبکه و بدون اینکه رمز شده باشند، حرکت می کنند. با شاید صدها یا هزاران کلمات عبور گرفته شده توسط این برنامه، مزاحمین می توانند حملات گسترده ای را روی سیستمها پیاده کنند. نصب چنین برنامه ای لزوما به سطح دسترسی مدیر احتیاج ندارد.
نسبت به کاربران DSL و خطوط تلفن سنتی، کاربران مودمهای کابلی در معرض خطر بیشتری برای شنود قرار دارند، زیرا که تمام کاربران مودمهای کابلی همسایه بخشی از یک LAN هستند. یک برنامه شنود نصب شده روی کامپیوتر هر کاربر مودم کابلی ممکن است بتواند دیتا ارسال شده توسط هر مودم کابلی دیگر را در همان همسایگی دریافت کند.
عناصر فعال شبکههای محلی بیسیم
در شبکههای محلی بیسیم معمولاً دو نوع عنصر فعال وجود دارد :
- ایستگاه بی سیم
ایستگاه یا مخدوم بیسیم به طور معمول یک کامپیوتر کیفی یا یک ایستگاه کاری ثابت است که توسط یک کارت شبکهی بیسیم به شبکهی محلی متصل میشود. این ایستگاه میتواند از سوی دیگر یک کامپیوتر جیبی یا حتی یک پویش گر بارکد نیز باشد. در برخی از کاربردها برای اینکه استفاده از سیم در پایانههای رایانهیی برای طراح و مجری دردسرساز است، برای این پایانهها که معمولاً در داخل کیوسکهایی بههمین منظور تعبیه میشود، از امکان اتصال بیسیم به شبکهی محلی استفاده میکنند. در حال حاضر اکثر کامپیوترهای کیفی موجود در بازار به این امکان بهصورت سرخود مجهز هستند و نیازی به اضافهکردن یک کارت شبکهی بیسیم نیست.
کارتهای شبکهی بیسیم عموماً برای استفاده در چاکهای PCMCIA است. در صورت نیاز به استفاده از این کارتها برای کامپیوترهای رومیزی و شخصی، با استفاده از رابطی این کارتها را بر روی چاکهای گسترش PCI نصب میکنند.
- نقطه ی دسترسی
نقاط دسترسی در شبکههای بیسیم، همانگونه که در قسمتهای پیش نیز در مورد آن صحبت شد، سخت افزارهای فعالی هستند که عملاً نقش سوییچ در شبکههای بیسیم را بازیکرده، امکان اتصال به شبکه های سیمی را نیز دارند. در عمل ساختار بستر اصلی شبکه عموماً سیمی است و توسط این نقاط دسترسی، مخدومها و ایستگاههای بیسیم به شبکهی سیمی اصلی متصل میگردد.
برد و سطح پوشش
شعاع پوشش شبکهی بیسیم بر اساس استاندارد 802.11 به فاکتورهای بسیاری بستهگی دارد که برخی از آنها به شرح زیر هستند :
- پهنای باند مورد استفاده
- منابع امواج ارسالی و محل قرارگیری فرستندهها و گیرندهها
- مشخصات فضای قرارگیری و نصب تجهیزات شبکهی بیسیم
- قدرت امواج
- نوع و مدل آنتن
شعاع پوشش از نظر تئوری بین ۲۹متر (برای فضاهای بستهی داخلی) و ۴۸۵متر (برای فضاهای باز) در استاندارد 802.11b متغیر است. با اینوجود این مقادیر، مقادیری متوسط هستند و در حال حاضر با توجه به گیرندهها و فرستندههای نسبتاً قدرتمندی که مورد استفاده قرار میگیرند، امکان استفاده از این پروتکل و گیرندهها و فرستندههای آن، تا چند کیلومتر هم وجود دارد که نمونههای عملی آن فراواناند.
با این وجود شعاع کلییی که برای استفاده از این پروتکل (802.11b) ذکر میشود چیزی میان ۵۰ تا ۱۰۰متر است. این شعاع عملکرد مقداریست که برای محلهای بسته و ساختمانهای چند طبقه نیز معتبر بوده و میتواند مورد استناد قرار گیرد.
شکل زیر مقایسهیی میان بردهای نمونه در کاربردهای مختلف شبکههای بیسیم مبتنی بر پروتکل 802.11b را نشان میدهد :
یکی از عملکردهای نقاط دسترسی به عنوان سوییچهای بیسیم، عمل اتصال میان حوزههای بیسیم است. بهعبارت دیگر با استفاده از چند سوییچ بیسیم میتوان عملکردی مشابه Bridge برای شبکههای بیسیم را بهدست آورد.
اتصال میان نقاط دسترسی میتواند به صورت نقطهبهنقطه، برای ایجاد اتصال میان دو زیرشبکه به یکدیگر، یا به صورت نقطهیی به چند نقطه یا بالعکس برای ایجاد اتصال میان زیرشبکههای مختلف به یکدیگر بهصورت همزمان صورت گیرد.
نقاط دسترسییی که به عنوان پل ارتباطی میان شبکههای محلی با یکدیگر استفاده میشوند از قدرت بالاتری برای ارسال داده استفاده میکنند و این بهمعنای شعاع پوشش بالاتر است. این سختافزارها معمولاً برای ایجاد اتصال میان نقاط و ساختمانهایی بهکار میروند که فاصلهی آنها از یکدیگر بین ۱ تا ۵ کیلومتر است. البته باید توجه داشت که این فاصله، فاصلهیی متوسط بر اساس پروتکل 802.11b است. برای پروتکلهای دیگری چون 802.11a میتوان فواصل بیشتری را نیز بهدست آورد.
شکل زیر نمونهیی از ارتباط نقطه به نقطه با استفاده از نقاط دسترسی مناسب را نشان میدهد :
از دیگر استفادههای نقاط دسترسی با برد بالا میتوان به امکان توسعهی شعاع پوشش شبکه های بیسیم اشاره کرد. به عبارت دیگر برای بالابردن سطح تحت پوشش یک شبکهی بیسیم، میتوان از چند نقطهی دسترسی بیسیم بهصورت همزمان و پشت به پشت یکدیگر استفاده کرد. به عنوان نمونه در مثال بالا میتوان با استفاده از یک فرستندهی دیگر در بالای هریک از ساختمانها، سطح پوشش شبکه را تا ساختمانهای دیگر گسترش داد.
در قسمت بعد به مزایای معمول استفاده از شبکههای محلی بیسیم و ذکر مقدماتی در مورد روشهای امن سازی این شبکهها میپردازیم.
نوشتن keylogger نرمافزاری
در مقاله keylogger ابزاری برای جاسوسی قابلیتها و نحوه کار این ابزار مورد بررسی قرار گرفته، انواع موجود این ابزار معرفی شدند. در این مقاله به معرفی ساختار keyloggerهای نرمافزاری و روش نوشتن برنامههای keylogger پرداخته میشود.
Windows hook هسته بسیاری از keyloggerها با استفاده از مکانیزم Windows hook بنا شده است. Hook نقطهای در مکانیزم مدیریت پیامهای سیستم ویندوز است که برنامههای مختلف میتوانند با نصب یک زیربرنامه ترافیک پیامها را قبل از رسیدن به برنامه مقصد شنود نمایند. Hook پانزده نوع دارد که هر یک از آنها به رویدادی خاصی از سیستم مرتبط هستند. پروتوتایپ hook به صورت زیر است:
زنجیره hook لیستی از اشارهگرها به زیربرنامههای hook است. همزمان با ایجاد پیام جدیدی از یک نوع hook خاص، سیستم پیام را یک به یک به همه زیربرنامههایی که در زنجیره hook به آنها اشاره شده است ارسال مینماید. یک زیربرنامه hook میتواند بر ارسال پیام در زنجیره hook نظارت داشته و یا آن را تغییر دهد. علاوه بر این امکان ممانعت از رسیدن پیام به زیربرنامه بعدی در لیست و یا به برنامه مقصد وجود دارد. تابع SetWindowsHookEx که پروتوتایپی مشابه زیر دارد یک زیربرنامه در ابتدای زنجیره hook قرار میدهد.
نمونههای مختلفی از متن برنامههای Keylogger از سایت http://www.planetsourcecode.com قابل دریافت است. در صورتی آشنایی با طرز کار windows hooks نوشتن keylogger دشوار نبوده و نیاز به کد زیادی ندارد. تابع InstallHook که از یکی از keyloggerها برداشته شده است فایلی که برای ثبت گزارشات استفاده میشود را مشخص نموده، زیربرنامه ثبت فعالیتهای صفحهکلید KeyboardProc را در زنجیره hook نصب میکند. این کار با فراخوانی تابع SetWindowsHooksEx انجام میشود.
در شرایطی که کلا ۱۵ نوع hook وجود دارد، WH_KEYBOARD و WH_MOUSE برای نوشتن keylogger ضروری هستند. در اینجا WH_KEYBOARD شرح داده میشود و شرح سایر انواع hook در سایت http://msdn.microsoft.com قابل دسترسی است.
WH_KEYBOARD این hook برنامهها را قادر میسازد که بتوانند ترافیک پیامهای WM_KEYDOWN و WM_KEYUP که توسط GetMessage و PeekMessage بازگردانده میشوند را مانیتور نمایند. هرگاه یکی از توابع GetMessage و PeekMessage فراخوانی شوند و یک پیام مربوط به صفحه کلید (WM_KEYUP یا WM_KWYDOWN) فراخوانی شود، سیستمعامل اقدام به فراخوانی این زیربرنامه مینماید. پروتوتایپ تابع به شکل زیر است:
متن زیر KeyboardProc است که از یکی از keyloggerها گرفته شده است. این تابع فایل خروجی را باز نموده و حرف مرتبط با کلید فشرده شده را در آن مینویسد. در مواقعی که لازم باشد با فراخوانی تابع ToAscii کد کلید مجازی مشخص شده و وضعیت صفحه کلید به حرف یا حروف متناظر ترجمه میگردد.
هرگاه رویدادی رخ دهد که توسط hook خاصی مانیتور میشود، سیستم عامل اولین زیربرنامه در زنجیره hook را فراخوانی میکند. هر زیربرنامه hook در لیست تصمیم میگیرد که رویداد را به زیربرنامه بعدی ارسال نماید یا خیر. در صورتی که بنا بر ارسال رویداد باشد از تابع CallNextHookEx استفاده میشود.
مخفی کردن keylogger روشهای مختلفی برای جلوگیری از نمایش نام یک keylogger فعال در مدیر وظیفه (task manager) یا لیست پردازنده وجود دارد. یک از این روشها باز کردن یک پنجره مخفی در هنگام روشن شده دستگاه و مقداردهی مناسب به پارامترهای لازمه به صورت زیر است.
|
نوشتن keylogger نرمافزاری
در مقاله keylogger ابزاری برای جاسوسی قابلیتها و نحوه کار این ابزار مورد بررسی قرار گرفته، انواع موجود این ابزار معرفی شدند. در این مقاله به معرفی ساختار keyloggerهای نرمافزاری و روش نوشتن برنامههای keylogger پرداخته میشود.
Windows hook هسته بسیاری از keyloggerها با استفاده از مکانیزم Windows hook بنا شده است. Hook نقطهای در مکانیزم مدیریت پیامهای سیستم ویندوز است که برنامههای مختلف میتوانند با نصب یک زیربرنامه ترافیک پیامها را قبل از رسیدن به برنامه مقصد شنود نمایند. Hook پانزده نوع دارد که هر یک از آنها به رویدادی خاصی از سیستم مرتبط هستند. پروتوتایپ hook به صورت زیر است:
زنجیره hook لیستی از اشارهگرها به زیربرنامههای hook است. همزمان با ایجاد پیام جدیدی از یک نوع hook خاص، سیستم پیام را یک به یک به همه زیربرنامههایی که در زنجیره hook به آنها اشاره شده است ارسال مینماید. یک زیربرنامه hook میتواند بر ارسال پیام در زنجیره hook نظارت داشته و یا آن را تغییر دهد. علاوه بر این امکان ممانعت از رسیدن پیام به زیربرنامه بعدی در لیست و یا به برنامه مقصد وجود دارد. تابع SetWindowsHookEx که پروتوتایپی مشابه زیر دارد یک زیربرنامه در ابتدای زنجیره hook قرار میدهد.
نمونههای مختلفی از متن برنامههای Keylogger از سایت http://www.planetsourcecode.com قابل دریافت است. در صورتی آشنایی با طرز کار windows hooks نوشتن keylogger دشوار نبوده و نیاز به کد زیادی ندارد. تابع InstallHook که از یکی از keyloggerها برداشته شده است فایلی که برای ثبت گزارشات استفاده میشود را مشخص نموده، زیربرنامه ثبت فعالیتهای صفحهکلید KeyboardProc را در زنجیره hook نصب میکند. این کار با فراخوانی تابع SetWindowsHooksEx انجام میشود.
در شرایطی که کلا ۱۵ نوع hook وجود دارد، WH_KEYBOARD و WH_MOUSE برای نوشتن keylogger ضروری هستند. در اینجا WH_KEYBOARD شرح داده میشود و شرح سایر انواع hook در سایت http://msdn.microsoft.com قابل دسترسی است.
WH_KEYBOARD این hook برنامهها را قادر میسازد که بتوانند ترافیک پیامهای WM_KEYDOWN و WM_KEYUP که توسط GetMessage و PeekMessage بازگردانده میشوند را مانیتور نمایند. هرگاه یکی از توابع GetMessage و PeekMessage فراخوانی شوند و یک پیام مربوط به صفحه کلید (WM_KEYUP یا WM_KWYDOWN) فراخوانی شود، سیستمعامل اقدام به فراخوانی این زیربرنامه مینماید. پروتوتایپ تابع به شکل زیر است:
متن زیر KeyboardProc است که از یکی از keyloggerها گرفته شده است. این تابع فایل خروجی را باز نموده و حرف مرتبط با کلید فشرده شده را در آن مینویسد. در مواقعی که لازم باشد با فراخوانی تابع ToAscii کد کلید مجازی مشخص شده و وضعیت صفحه کلید به حرف یا حروف متناظر ترجمه میگردد.
هرگاه رویدادی رخ دهد که توسط hook خاصی مانیتور میشود، سیستم عامل اولین زیربرنامه در زنجیره hook را فراخوانی میکند. هر زیربرنامه hook در لیست تصمیم میگیرد که رویداد را به زیربرنامه بعدی ارسال نماید یا خیر. در صورتی که بنا بر ارسال رویداد باشد از تابع CallNextHookEx استفاده میشود.
مخفی کردن keylogger روشهای مختلفی برای جلوگیری از نمایش نام یک keylogger فعال در مدیر وظیفه (task manager) یا لیست پردازنده وجود دارد. یک از این روشها باز کردن یک پنجره مخفی در هنگام روشن شده دستگاه و مقداردهی مناسب به پارامترهای لازمه به صورت زیر است.
|