یوزرنیم پسوردهای جدید نود 32 عمو حسن

مقالات رایانه و اینترنت و ویندوز و نرم افزار و سخت افزار

یوزرنیم پسوردهای جدید نود 32 عمو حسن

مقالات رایانه و اینترنت و ویندوز و نرم افزار و سخت افزار

راههای حمله به کامپیوتر۱

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

۱- برنامه‌های اسب تروا

۲-  درهای پشتی و برنامه‌های مدیریت از راه دور

۳-عدم پذیرش سرویس

۴- وساطت برای یک حمله دیگر

۵- اشتراکهای ویندوزی حفاظت‌نشده

۶- کدهای قابل انتقال (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 ابزاری است که دنباله کلیدهایی که کاربر بر روی صفحه‌کلید کامپیوتر می‌فشارد، را ثبت می‌کند. این ابزار که به صورت‌های سخت‌افزاری و نرم‌افزاری تولید شده و در دسترس است در موارد متنوع و با کاربردهای مختلف به کار می‌رود. نمونه‌های مختلف 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 می‌توان فواصل بیشتری را نیز به‌دست آورد.

 

    شکل زیر نمونه‌یی از ارتباط نقطه به نقطه با استفاده از نقاط دست‌رسی مناسب را نشان می‌دهد :

 

 

 

 

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

 

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

رمزنگاری در پروتکل‌های انتقال

رمزنگاری در پروتکل‌های انتقال تمرکز بیشتر روش‌های امنیت انتقال فایل بر اساس رمزنگاری دیتا در طول انتقال از طریق شبکه‌های عمومی مانند اینترنت است. دیتایی که در حال انتقال بین سازمانهاست بوضوح در معرض خطر ربوده ‌شدن در هر کدام از محلها قرار دارد. – مثلا در شبکه‌های محلی برای هر یک از طرفین یا مرزهای Internet-LAN که سرویس‌دهندگان‌اینترنت از طریق آنها مسیر دیتا را تا مقصد نهایی مشخص می‌کنند. حساسیت دیتا ممکن است بسیار متغییر باشد، زیرا دیتای انتقالی ممکن است بهر شکلی از رکوردهای مالی بسته‌بندی شده تا تراکنش‌های مستقیم باشند. در بعضی موارد، ممکن است علاوه بر محافظت دیتا روی اینترنت، نیاز به محافظت دیتا روی LAN نیز باشد. مشخصاً، محافظت از دیتا در مقابل حملات LAN مستلزم رمزنگاری دیتای انتقالی روی خود LAN است. به این ترتیب، بهرحال، نیاز به بسط امنیت تا برنامه‌هایی است که خود دیتا را تولید و مدیریت می‌کنند، و تنها اطمینان به راه‌حلهای محیطی کفایت نمی‌کند و به این ترتیب بر پیچیدگی مسأله امنیت افزوده می‌شود. پروتکل‌ها اگرچه ثابت‌شده است که رمزنگاری راه‌حل بدیهی مسائل محرمانگی است، اما سردرگمی در مورد دو نوع رمزنگاری (برنامه در مقابل شبکه) همچنان وجود دارد و بدلیل وجود پروتکلهای ارتباطی گوناگون است که نیازهای تعامل بیشتر آشکار می‌شود. (مانند IPSec ، S/MIME، SSL و TLS) اگرچه این پروتکلها قول تعامل را می‌دهند، اما تعامل کامل بدلیل مستقل بودن محصولات پروتکلها در حال حاضر وجود ندارد. آزمایشهایی در حال حاضر در حال انجام هستند که به حل شدن این مسائل کمک می‌کنند، اما کاربران باید مطمئن شوند که تعامل بین محصول انتخابیشان و محصولات سایر شرکای تجاری امری تثبیت شده است. پروتکل‌های ساده‌تر (SSL/TLS، IPSec و تا حدی پایین‌تر S/MIME ) عموماً مسائل کمتری از نظر تعامل دارند. پروتکل‌های رمزنگاری انتقال با ترکیب توانایی‌ها برای تایید هویت توسط رمزنگاری متقارن و نامتقارن برای ممکن ساختن ارتباطات تاییدشده و رمزشده، این پروتکلها پایه‌های امنیت را فراهم می‌کنند. تقربیاً تمام پروتکلها نیاز‌های جامعیت را پشتیبانی می‌کنند به طوری که محتویات ارتباطات نمی‌توانند تغییر یابند، اما بیشتر آنها از Non-Repudiation پشتیبانی نمی‌کنند و به این ترتیب امکان ایجاد رکوردهای پایداری را که هویت منبع را به محتوای پیام پیوند می‌دهند، ندارند. به این چند پروتکل به طور مختصر اشاره می‌شود: SSL تکنولوژی SSL (Secure Socket Layer) اساس World Wide Web امن را تشکیل می‌دهد. SSL که در مرورگرهای وب کاملاً جاافتاده است، توسط بسیاری از سازمانها برای رمزنگاری تراکنش‌های وبی خود و انتقال فایل استفاده می‌شود. بعلاوه SSL بصورت روزافزون بعنوان یک مکانیسم امنیت در تلاقی با پروتکلهای پرشمار دیگر استفاده می‌شود و بهمین ترتیب ابزاری برای ارتباط سروربه‌سرور امن است. SSL ارتباطات رمزشده و بشکل آغازین خود تایید هویت سرور از طریق استفاده از گواهی را (در حالت کلاینت‌به‌سرور) پشتیبانی می‌کند. کاربران اغلب برای استفاده از برنامه‌ها از طریق کلمه عبور تایید هویت می‌شوند، و با پیشرفت SSL استاندارد (مثلا SSL V.3.0) تایید هویت کلاینت از طریق گواهی به این پروتکل اضافه شده است. *برای FT (انتقال فایل): ابزار FT اغلب از SSL‌ برای انتقال فایل در یکی از دو حالت استفاده می‌کنند. اولی، مد کلاینت‌به‌سرور است که کاربر را قادر می‌سازد، در حالیکه در حال استفاده از یک مرورگر وب استاندارد است مستندات را از یک سرور دریافت یا آنها را به سرور منتقل کند. که این قابلیت نیاز به نرم‌افزار مختص انتقال در کلاینت را برطرف می‌سازد و بسیار راحت است، اما اغلب فاقد بعضی ویژگیهای پیشرفته مانند نقاط آغاز مجدد و انتقالهای زمانبندی‌شده است که سازمانها نیاز دارند. SSL همچنین می‌تواند برای اتصالات سروربه‌سرور امن – برای مثال، در اتصال با FTP و سایر پروتکلها – مورد استفاده قرار گیرد. TLS TLS (Transport Layer Security)، جانشین SSL، برپایه SSL3.0 بنا شده است، اما به کاربران یک انتخاب کلید عمومی و الگوریتمهای Hashing می‌دهد. (الگوریتمهای Hashing فانکشن‌های یک‌طرفه‌ای برای حفظ جامعیت پیامها هستند و توسط بیشتر پروتکلها استفاده می‌شوند.) اگرچه TLS و SSL تعامل ندارند، اما چنانچه یکی از طرفین ارتباط TLS را پشتیبانی نکند، ارتباط با پروتکل SSL3.0 برقرار خواهد شد. بیشتر مزایا و معایب SSL به TLS هم منتقل می‌شود، و معمولا وجه تمایز خاصی وجود ندارد، و از همه نسخه‌ها به عنوان SSL یاد می‌شود. S/MIME S/MIME ( Secure Multipurpose Internet Mail Extention) که اختصاصاً برای پیام‌رسانی ذخیره-و-ارسال طراحی شده است، بعنوان استاندارد امنیت ایمیل برتر شناخته شده است. مانند بیشتر پروتکل‌های رمزنگاری (مثلا SSL ، TLS و IPSec)، S/MIME با رمزنگاری تنها سروکار ندارد. بهرحال، علاوه بر تصدیق هویت کاربران و ایمن‌سازی جامعیت پیامها (برای مثال مانند آنچه SSL انجام می‌دهد)، S/MIME توسط امضای دیجیتال، رکوردهای پایداری از صحت پیامها ایجاد می‌کند (ضمانت هویت فرستنده چنانچه به محتوای پیام مشخصی مرتبط شده). این عمل باعث می‌شود فرستنده پیام نتواند ارسال آن‌را انکار کند. *برای FT : سیستم‌های ایمیل رمزشده (با استفاده از S/MIME) می‌توانند برای ارسال فایل‌های کوچک استفاده شوند (محدودیت حجم فایل بخاطر داشتن محدودیت حجم فایل در بیشتر سرورهای ایمیل است)، ولی S/MIME کلاً می‌تواند برای انتقال فایل‌های بزرگتر توسط پروتکلهای انتقال فایل استفاده شود. SSH SSH (Secure Shell) هم یک برنامه و یک پروتکل شبکه بمنظور وارد شدن و اجرای فرمانهایی در یک کامپیوتر دیگر است. به این منظور ایجاد شد تا یک جایگزین رمز‌شده امن برای دسترسی‌های ناامن به کامپیوترهای دیگر مثلا rlogin یا telnet باشد. نسخه بعدی این پروتکل تحت نام SSH2 با قابلیتهایی برای انتقال فایل رمزشده از طریق لینک‌های SSH منتشر شد. *برای FT : SSH‌ می تواند برای پشتیبانی انتقال فایل رمزشده (به شکل SFTP) استفاده شود اما طبیعت خط فرمان بودن آن به این معنی است که بیشتر توسط مدیران سیستمها برای ارسال درون سازمان استفاده می‌شود تا برای انتقال فایل تجاری. بعلاوه استفاده از SSH نیاز به نرم‌افزار یا سیستم عاملهای سازگار با SSH در دو طرف اتصال دارد، که به این ترتیب SSH برای سرور‌به‌سرور انجام می‌گیرد.

نوشتن keylogger نرم‌افزاری

نوشتن 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) یا لیست پردازنده وجود دارد. یک از این روش‌ها باز کردن یک پنجره مخفی در هنگام روشن شده دستگاه و مقداردهی مناسب به  پارامتر‌های لازمه به صورت زیر است.