جلسه هشتم ۵ بهمن ۱۳۸۶
از ویکی یزدلاگ، دانشنامهٔ آزاد.
جلسه عصر روز جمعه، پنجم بهمن ۱۳۸۶ با حضور ۱۲ نفر برگزار شد.
در این جلسه کارهای زیر انجام گرفت:
۱- معرفی Sebek به عنوان بخشی از یک honeynet از نوع rootkit - توسط بیژن هومند
۲- استفاده از ssh برای tunneling و تغییر IP و گشت آزاد در اینترنت - توسط صادق نقاشزاده
۳- صحبت در مورد نحوه اداره جلسات، مسئولیتها، همیاری در مورد خرید شیرینی هر جلسه (!) و انتخاب لوگو از بین لوگوهای پیشنهادی
معرفی Sebek به عنوان بخشی از یک honeynet از نوع rootkit
honey pot در لغت معنای خمره عسل است! هانیپات از نظر etymology (تاریخچه لغوی) به کارتون Winnie the Pooh بر میگردد، که در اونجا این خرس داستان که همیشه یک خمره عسل همراهش بوده، به خاطر عشق عجیبی که به عسل داشته است، راحت گول میخورده و به جاهایی کشانده میشده که نباید میشده! البته معماری کندو زنبور عسل هم به گونهای است که جاهایی را تعبیه میکنند برای به دامانداختن دشمن. دشمنها که برای تهیه عسل حمله میکنند، اگر اشتباهی وارد این قسمت کندو بشوند، با حمله زنبورها که خودشون را در دیگر خانههای ۶ ضلعی پنهان کردند روبرو میشوند و به امید خدا از بین قلع و قمع می گردند! honeypot در اصطلاح شبکه به کامپیوتری گفته میشود که مدیر شبکه آن را عمدا ضعیف میکند و اطلاعات به نظر ارزشمند را در آن قرار میدهد تا توجه نفوذگران را به آن جلب کند. وقتی نفوذگری یک honeypot را هدف قرار دهد، مدیر شبکه میتواند رفتار او را زیر نظر بگیرد و از روش حمله یا قصد نفوذگر اطلاعات بدست بیاورد و امنیت کامپیوترهای اصلی شبکه را تقویت کند. ضعیفسازی یک کامپیوتر کار سادهایست و برای این کار نیازی به نرمافزار خاص وجود ندارد. ولی مساله اصلی در اینجا کنترلکردن این کامپیوتر است، چرا که با ساخت هانیپات هدف اصلی ما در واقع مانیتور کردن نفوذگر و فهمیدن قصد او از حمله و احیانا کشف هویت اوست. به دلیل استفاده نفوذگران امروزی از وسایل رمزنگاری، دیگر شما با گوشکردن به ترافیکی که از هانیپات خارج میشود، با ابزاری همچون ethereal نمیتوانید پی به کارهای نفوذگر ببرید. نفوذگر شما دیگر از telnet جهت استفاده با کامپیوترهای بیرونی استفاده نمیکند، او در وهله اول ssh خود را run میکند. در ثانی بدون داشتن نرمافزار مانیتورینگ همچون sebekُ، پی به دستورات اجرایی این شخص درون کامپیوتر، دستوراتی که خروجی به شبکه ندارند، نخواهید برد. از این رو لازم است که نرمافزاری در هانیپات نصب شود تا فعالیتهای نفوذگر را همچون تمام کلیدهایی که او تایپ کرده است و پروسسهایی که اجرا نموده است را به شما گزارش کند.
از طرف دیگر rootkitها برنامههایی هستند که میتوانند کنترل کامپیوتر شما را، بدون میل و اطلاع شما به دست بگیرند. با این تعریف trojanها و ویروسها نیز جزء rootkit تلقی میگردند. منتها چیزی که بیشتر مرسوم است، این است که یک rootkit در واقع برنامهایست که با یک بار عوضکردن توابع کرنل، کل سیستم را برای همیشه در دست میگیرد. فرض کنید که شما در حال استفاده از ssh هستید. هنگامی که دادههای شما توسط ssh رمزنگاری شدند، دیگر میتوان گفت (!) هیچ راهی برای decrypt کردن دادهها به غیر از داشتن کلید خصوصی وجود ندارد. اما فراموش نکنید که هنگامی که دستور ssh اجرا میشود، این دادهها جهت رمزنگاری به کرنل میروند. حال اگر قبل از آن خط کدی که تابع رمزنگاری را صدا میزند، کسی یک خط کد مبنی بر ذخیره این دادههای لخت (plain text) قرار داده باشد، در واقع قبل از عمل دست شما رو شده است، بدون اینکه شما متوجه قضیه شوید. یک rootkit چنین کاری را انجام میدهد.
و ربط این دو موضوع به هم: نرمافزار sebek یکی از این rootkitهاست. وقتی این نرمافزار روی یک honeypot نصب بشه میتونه خودش رو از دید کاربر honeypot (نفوذگر) مخفی کنه و تمام فعالیتهای او را به مدیر شبکه گزارش بده. Sebek به صورت کلاینت/سرور طراحی شده است، به صورتی که میتوان آن را روی چندین کامپیوتر نصب کرد، و یک سرور مرکزی جهت کنترل همه آنها داشت. به این مجموعه Honeynet میگویند.
اگر در یک شبکه واقعی و با کامپیوترهای فیزیکی قرار دارید، به راحتی میتوانید با آن کار کنید. اما اگر فقط یک PC دارید می توانید با نصب ماشین مجازیساز همچون vmware و یا حتی استفاده از UML (این یکی واقعا جالبه!) آنرا به راحتی امتحان کنید. برای اطلاعات بیشتر میتونید به سایت این برنامه مراجعه کنید.
استفاده از ssh برای tunneling و تغییر IP و گشت آزاد در اینترنت
در جلسه قبل صحبتی در مورد نرمافزار tor داشتیم و گفتیم که عیب بزرگ اون کند بودنش است. tor به دلیل استفاده از routing لایهلایهای خاص خود سرعت بسیار پایینی دارد. منتها اگر شما دسترسی به کامپیوتری در دیگر کشورها دارید، مثلا شما وب سرور خود را در کانادا اجاره کردهاید، میتوانید با استفاده از یک خط دستور ssh زیر و تنظیم درست مرورگر خود، تونل مناسب را برقرار کنید و کاری کنید که در واقع کامپیوتر واقع در کانادا مطالب سایتها را گرفته و شما از آن دریافت کنید! ببینید:
ssh -D 1234 yourUserName@FQDN_or_IP_of_foreign_computer
1234 پورتی بر روی کامپیوتر لوکال شماست. yourUserName@FQDN_or_IP_of_foreign_computer هم همانطور که مشخص است نام کاربری شما و آدرس دومین یا IP دستگاه خارجی شما (مثلا وب سرور موجود در کاناداست!) با انجام اینکار تونلی امن بین شما و کامپیوتر آنسر دنیا برقرار میگردد. تنها لازم است که به مرورگر خود، مثلا فایرفاکس رفته و در قسمت پراکسی، آنرا برای Socks و پورت ۱۲۳۴ (یا هر پورت دیگری که تعریف کردید) تنظیم کنید. قابل توجه دوستانی که وب سرور همراه با plesk دارند اینکه به نظر میرسد این نرمافزار ترافیکی که از اینجا حاصل میشود را جزء bandwidth شما حساب نمیکند! یعنی در واقع هر چیزی که دانلود کردید، رایگان است و محدودیتی وجود ندارد. اگر میخواهید از برنامهای استفاده کنید که از Socks پشتیبانی نمیکند (همانند real) باید یک پراکسی سرور همچون Privoxy و یا اگر در ویندوز هستید proxyfirewall نصب کنید تا در واقع تبدیل بین پروتوکلها را انجام دهد. برای مرور وب به همچین کاری نیاز نیست.
صحبت در مورد نحوه اداره جلسات، مسئولیتها، همیاری در مورد خرید شیرینی هر جلسه (!) و انتخاب لوگو
در مورد لوگوهای پیشنهادی تا بحال هم رایگیری شد و لوگوی فعلی یزدلاگ بیشترین امتیاز رو بدست آورد. و قرار شد که جلسه بعدی سوم اسفند ماه باشه. صحبتی هم شد که اگر کسی میتونه محل دیگهای برای تشکیل جلسات پیشنهاد کنه، چون ممکنه نتونیم همیشه از دفتر سمپاد استفاده کنیم.
سنت رد و بدل کردن توزیع و پکیج هم مثل جلسات قبل برگزار شد، و سنت جدید گلریزون (جمع کردن پول بابت شیرینی!) رو هم به جمع سنتها (!) اضافه کردیم.
مشکل یکی از suseکاران برای استفاده از مودم داخلی نوتبوک هم با کمک جمعی در این نشست حل شد.
دوستانی که در این جلسه حاضر بودند:
- خانمها: عظیمه السادات بهشتیزاده، شیوا شاه میرزایی و گلناز نیلیه.
- آقایان: صادق نقاشزاده، بیژن هومند، مهرداد مومنی، علی وکیلی، محمدرضا حسنرضاییان، فرهاد باقری، صادق صادقیه، علیرضا طالبیان و عبدالرضا طالبیان.
