نماد سایتنماد سایت بلاگ ایران هاست

کیلاگر چیست؛ روشهای مقابله با Keylogger ها

کیلاگر چیستکیلاگر چیست

Keylogger ( یا keylogging ) ابزاری است که دنباله کلیدهایی که کاربر بر روی صفحه کلید کامپیوتر می فشارد،  را ثبت می کند. این ابزار که به صورت های سخت افزاری و نرم افزاری تولید شده و در دسترس است در موارد متنوع و با کاربردهای مختلف به کار می رود. نمونه های مختلف Keylogger مقدار کمی از منابع سیستم شامل حافظه و پردازنده را مورد استفاده قرار می دهند.

کیلاگر چیست؟

 Keylogger ( یا keylogging ) ابزاری است که دنباله کلیدهایی که کاربر بر روی صفحه کلید کامپیوتر می فشارد، را ثبت می کند. این ابزار که به صورت های سخت افزاری و نرم افزاری تولید شده و در دسترس است در موارد متنوع و با کاربردهای مختلف به کار می رود. نمونه های مختلف Keylogger مقدار کمی از منابع سیستم شامل حافظه و پردازنده را مورد استفاده قرار می دهند. علاوه بر این در Task manager و لیست فرایندهای سیستم هم ظاهر نمی شوند، بنابراین تشخیص آنها بر روی دستگاه به سادگی امکان پذیر نیست. نرم افزار ها و سخت افزار های زیادی برای مانیتور کردن فعالیت های کاربران کامپیوتر وجود دارد که بعضی از آنها ماهیت کاربردی و مفید دارند و برخی دیگر برای اهداف خرابکارانه مورد استفاده قرار میگیرند.

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

در شکل زیر کیلاگر نرم افزاری را مشاهده می کنید.

کاربردهای Keylogger:

پس از آشنایی با مشخصات و قابلیت های Keylogger اولین چیزی که به ذهن هر کسی می رسد استفاده از آن برای یافتن کلمات عبور دیگران می باشد. با استفاده از این ابزار امکان دزدیدن شناسه های کاربری، کلمات عبور، شماره کارت اعتباری و … بوجود می آید.

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

 Keylogger های نرم افزاری:

Keylogger های نرم افزاری با استفاده از روش های مختلف اقدام به ثبت اطلاعات میکنند که برخی از این روش ها در زیر توضیح داده شده است:

Hypervisor-based : Hypervisor به لایه نرم افزاری گفته می شود که یک محیط مجازی را مهیا میکند.

Kernel-based: پیاده سازی و مقابله با این روش بسیار سخت است، در این روش Keylogger ها در لایه کرنل سیستم عامل قرار میگیرند که تشخیص آن کار بسیار دشواری است.

API-based: در این روش Keylogger ها از توابع سیستمی همانند GetAsyncKeyState  ویا  GetForegroundWindow استفاده می کند.

Form grabbing based: در این روش Keylogger ها فقط به مرور گر های موجود در سیستم عامل حمله میکنند، به این صورت که کاربر پس از هربار Submit کردن فرم های تحت وب، یک نسخه از اطلاعات کاربر را ثبت میکند و سپس فرم را Submit میکند.

Memory injection based: در این روش Keylogger ها حافظه Ram را تحت تاثیر قرار میدهند، به این صورت که Keylogger همانند یک بد افزار با استفاده از متد های نفوذ به Ram اطلاعات ارسال شده به رم را توسط سیستم عامل دریافت و ثبت میکند.

Packet analyzers: این روش با مانیتور کردن ترافیک شبکه و استفاده از متد POST در HTML اقدام به بازخوانی پکت های ارسالی دریافتی میکند و از محتوای پکت ها، اطلاعات مورد نیاز را استخراج میکند.

نحوه دستیابی به اطلاعات ذخیره شده توسط Keylogger ها:

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

Keylogger های سخت افزاری:

Keylogger های سخت افزاری به خودی خود و مستقل از نصب هر نرم  افزار خاصی اجرا شده و اقدام به ثبت اطلاعات میکنند. نمونه هایی از این گونه Keylogger ها در زیر ارائه شده است:

Firmware-based: این گونه Keylogger ها نیاز به یک Firmware خاصی دارند که در BIOS سیستم قرار میگیرد و نقش کنترل کننده Keylogger را دارند.

Keyboard hardware: این گونه Keylogger ها به دو نوع داخلی و خارجی هستند. نوع داخلی آنها از پیش تعبیه شده در داخل کیبورد قرار دارند و نوع خارجی آنها در انتهای پورت کیبورد قرار میگیرند که با توجه به USB ویا PS2 بودن پورت کیبورد متفاوت هستند.

 Wireless keyboard sniffers: این نوع Keylogger ها وسیله هایی هستند که در محیط هایی که دارای کیبورد بیسیم می باشند قرار میگیرند و اطلاعات رد و بدل شده را که به صورت کد هستند decode نموده و آنها را ذخیره می نمایند.

Keyboard overlays: این نوع از Keylogger ها که استفاده و مشاهده آنها جرم محسوب میشود، نوعی از کاور Keypad موجود در دستگاه های ATM هستند که اقدام به ثبت اطلاعات میکنند.

Acoustic keyloggers: این نوع از Keylogger ها در حقیقت یک میکروفون کوچکی است که در نزدیکی کیبورد قرار میگیرد.  Acoustic keylogger ها ابتدا در یک مرحله برای یک کیبورد setup میشود، به صورتی که صدای تولید شده توسط هر کلید را ثبت کرده و کد کلید متناظر را به آن Map میکند. پس از مرحله setup با شنود صدای کلید فشرده شده، نوع کلید را تشخیص میدهد.

Electromagnetic emissions: این نوع از Keylogger ها میتوانند تا فاصله ی ۲۰ متری از سیم یک کیبورد USB یا PS2 قرار گیرند و با شنود کردن پالسها و سیگنال های الکتریکی کلید فشرده شده را تشخیص دهند.

Optical surveillance: این نوع از Keylogger ها در حقیقت یک دوربین کوچک است که در کنار کیبورد تا فاصله ی ۱ متری (به طور مثال در ATM ها) قرار میگیرد و اقدام به ثبت اطلاعات میکنند.

روشهای مقابله با Keylogger ها

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

به غیر از نرم افزار ها، کیلاگر سخت افزاری نیز موجود است. کیلاگر سخت افزاری یک رابط PS/2 یا USB است که بین مکانی که کیبورد به کیس کامپیوتر متصل می شود قرار می گیرد و تمام دکمه های فشرده شده را روی حافظه اش ضبط می کند. فرد خرابکار بعدآ این دستگاه کوچک را جدا کرده و حافظه آن را می خواند.

نکته: واضح است که این سخت افزار ها در مورد لپ تاپ ها کاربرد ندارند چون کیبورد از داخل به لپ تاپ متصل شده است.

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

گاهی اوقات امکان چک کردن کابل کیبورد وجود ندارد، در چنین حالتی موقع وارد نمودن رمز تان،  از منوی Start قسمت Accessories و سپس Ease of Access برنامه  On Screen Keyboard را اجرا کنید و یا با فشردن کلید ها ی Window+R پنجره Run ویندوز را فراخوانی کرده و با استفاده از دستور osk برنامه  On Screen Keyboard را اجرا کنید. این برنامه یک کیبورد روی صفحه در اختیار شما می گذارد که می توانید با ماوس روی دکمه های آن کلیک کنید تا رمز تان تایپ شود. با استفاده از این روش کیلاگر های ساده نرم افزاری و همه کیلاگر های سخت افزاری از ثبت نمودن رمز تان  عاجز خواهند بود اما بعضی از نرم افزار های جاسوسی حرفه ای همچنان می توانند رمز را خوانده و ضبط نمایند.

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

به طور مثال به هنگام وارد کردن رمز عبور ایمیلتان، یک پنجره  notepad باز کرده و کمی حروف غیر مرتبط با رمز عبورتان را در آن وارد کنید و سپس وارد صفحه sign in ایمیلتان شوید و کاراکتر اول از حروف اصلی رمز عبورتان را وارد کنید، دوباره وارد notepad شده و کمی حروف غیر مرتبط دیگری وارد کنید سپس دوباره وارد صفحه sign in شده و کاراکتر دوم را وارد کنید و همین روال را تا پایان رمز عبور خود ادامه دهید. به این ترتیب بین تمام کاراکتر های رکورد شده از رمز عبورتان توسط keylogger متون ناخوانا وجود خواهد داشت و امنیت رمز حفظ خواهد شد.  برای درک بهتر فرض کنید رمز عبور خود را (zangoole123abc) بدون استفاده از روش بالا تایپ کنیم، در این صورت keylogger رمز را پشت سر هم در log برنامه خود می بیند.

خروج از نسخه موبایل