دی
۱۶

ب) کلاهبرداری از طریق  کد شناسایی سامانه نام دامنه ( DNS ID Spoofing )

بر اساس آنچه در مطلب پیشین گفته شد، کامپیوترA برای ارتباط با یک سایت، باید آی‌پی سایت مربوطه را داشته باشد. اما از آنجا که در اغلب موارد کامپیوتر A فقط نام دامنه سایت مورد نظر را میداند لذا برای بدست آوردن آپ‌پی آن ،ابتدا به یک DNS Server متصل می گردد. چنانچه این DNS Server ( در ادامه با نام سرور شماره یک از آن یاد خواهیم کرد ) اطلاعات مربوط به آی‌پی سایت مورد نظر را نداشته باشد باید از یک DNS Server دیگر ( در ادامه با نام سرور شماره دو از آن یاد خواهیم کرد ) که دارای اطلاعات سایت مورد نظر است ، آی‌پی سایت را تقاضا ‌کند.

در این حالت کامپیوترA باید یک تقاضا به سرور شماره یک ارسال کند اما پیش از آن (همانند یک نامه اداری) یک کد شناسایی منحصربفرد (کد رهگیری) به در خواست خود اختصاص داده سپس آن را برای سرور شماره یک ارسال می‌کند. سرور شماره یک نیز در پاسخ آی‌پی سایت مورد نظر را به همراه کد شناسایی درخواست ، به کامپیوترA باز می‌گرداند. کامپیوترA با دریافت پاسخ و بررسی کد شناسایی متوجه میشود پاسخ کدامیک از تقاضاها را دریافت کرده است.

آیا این روش ایمن است؟ نه کاملا! بدین معنا که هکرها می‌توانند تقاضای ارسال شده را در بین راه شنود کرده ودر نتیجه یک پاسخ نادرست همراه با شماره درخواست اصلی برای کامپیوترA ارسال کنند.

توجه به این نکته ضروری است که تقاضای کامپیوترA به هر حال به سرور شماره یک می رسد و هکرها باید مانع رسیدن پاسخ سرور یک به کامپیوترA شوند درغیر اینصورت این مسئله برای مسئولان شبکه به عنوان سیگنالی مبنی بر حمله به شبکه تلقی خواهد شد. چرا که هکر برای شنود پکیج‌های داده و همچنین پینگ سریع کامپیوترA باید بر روی یک شبکه مشترک با سرور یک و کامپیوترA قرارداشته باشد.

همانطور که در تصویر فوق نمایش داده شده است هکرها در این روش DNS SERVER را آلوده نمی کنند بلکه فقط به یک استفاده کننده حمله می‌کنند.

ج ) حملاتی دقیق‌تر بر اساس پارادوکس تاریخ تولد

همانطور که در روش (ب) توضیح داده شد هکرها برای پیدا کردن کد شناسایی یک تقاضا مجبور به شنود اطلاعات هستند و برای این کار نیز باید بر روی یک شبکه مشترک بین استفاده کننده و DNS SERVER قرار داشته باشند. برای حل این مشکل آن‌ها با ترکیب روش الف و ب ، روش جدیدی برای نفوذ خود ایجاد می‌کنند یعنی آلوده کردن کش DNS SERVER به کمک ID درخواست داده شده بدون شنود شبکه و با استفاده از االگوریتم پارادوکس تاریخ تولد.

اجازه بدید در ابتدا نگاهی به مفهموم عبارت ” پارادوکس تاریخ تولد ” بیاندازیم.

فرض کنید در یک میهمانی شرکت کرده‌اید. شما از شخص دیگری که در همان میهمانی حضور دارد تاریخ تولدش را می‌پرسید احتمال آنکه تاریخ تولد شما با تاریخ تولد این فرد همزمان نباشد ۳۶۴/۳۶۵ و یا به عبارت دیگر ۰/۹۹۷ است بنابراین احتمال آنکه تاریخ تولد هر دوی شما یکی باشد ۰/۹۹۷-۱ می‌باشد یعنی ۰/۰۰۳

حال اگر شما از شخص دیگری در همان میهمانی تاریخ تولدش را بپرسید احتمال آنکه هر سه شما تاریخ تولد یکسانی نداشته باشید ۰/۹۹۲=(۳۶۴/۳۶۵)*(۳۶۳/۳۶۵) خواهد بود و احتمال یکسان بودن تاریخ تولد برای دو نفر از شما ۰/۰۰۸=۰/۹۹۲-۱ می‌باشد.

چنانچه شما روش فوق را ادامه دهید تا جائیکه تعداد شرکت کنندگان در میهمانی به ۲۳ نفر برسد آنگاه احتمال آنکه تاریخ تولد شما با فرد دیگری درهمان میهمانی یکسان باشد ۵۰ درصد خواهد بود.

شما میتوانید با اجرای کد زیر احتمال یکسان بودن تاریخ تولد دو نفر را بر اساس تعداد شرکت کنندگان محاسبه کنید


#define POSSIBILITIES 365.0
void main (void)
{
float chances;
int i, j;
for (i = 1; i < 100; i++)
{
for (j = 1, chances = 1; j < i; j++)
chances *= (float)((POSSIBILITIES - j) / POSSIBILITIES);
;printf("For %d people, chances are %f\n", i, 1-chances)
}
}

در جدول زیر خروجی کد فوق را می‌توانید مشاهده کنید.

People 2 9 16 23 30 37 44 65 79
Chances 0.0027 0.0946 0.2836 0.5073 0.7063 0.8487 0.9329 0.9977 0.9999

 

حال بر میگردیم به موضوع اصلی، همانطور که در روش (ب) توضیح داده شد هکرها برای پیدا کردن کد شناسایی یک تقاضا مجبور به شنود اطلاعات هستند حال این پرسش مطرح می‌گردد که آیا راه دیگری برای بدست آوردن این کد شناسایی وجود دارد؟ آیا می‌توان این کد شناسایی را حدس زد ؟

پاسخ : بله

مراحل کار:

هکر(ها) تقاضاهای بیشماری برای دریافت آپ‌پی سایت www.cnn.com به‌DNS SERVER شماره یک ( سرور قربانی ) ارسال میکنند. DNS SERVER شماره یک اطلاعات مربوط به آی پی سایت www.cnn.com را ندارد به ازای هر تقاضای رسیده یک تقاضای جدید ( با یک کد شناسایی مشخص برای هر یک ) بهDNS Server شماره دو که اطلاعات مربوطه را دارد می‌فرستد هکرها بلافاصله شروع به ارسال پاسخ‌های آلوده به سرور شماره یک میکنند.


هکرها نمیدانند DNS SERVER شماره یک از چه کد شناسایی برای یک درخواست استفاده می کند بنابراین تعداد زیادی درخواست به آن ارسال کرده تا با بالا رفتن تعداد درخواست‌ها احتمال یکسال بودن کد شناسایی یکی از پاسخ‌های آلوده با کد شناسایی یکی از درخواست‌های سرور شماره یک به سرور شماره دو افزایش یابد.

با توجه به آنکه کد شناسایی در دو بایت ذخیره می گردد برای حدس زدن کد شناسایی هکرها باید ۶۵۵۳۵ حالت ممکن را در نظر بگیرند بنابراین آنها ۶۵۵۳۵ پاسخ تقلبی به سمت سرور متقاضی ارسال می‌کنند تا بالاخره یکی از کدهای شناسایی پاسخ‌های آلوده با یکی از کد‌های شناسایی تقاضاهای ارسال شده توسط سرور شماره یک یکسان شده و سرور یک آن را به عنوان پاسخ بپذیرد.

اما برای ارسال ۶۵۵۳۵ پاسخ به سمت سرور متقاضی پهنای باند بالایی نیاز است.

نکته‌ای که باید به آن توجه شود این است که هکرها نیازی به ارسال ۶۵۵۳۵ پاسخ آلوده به سمت سرور متقاضی ندارند بلکه بر اساس الگوریتم ” پارادوکس تاریخ تولد ” با ارسال ۶۵۰ تا ۷۵۰ درخواست ، احتمال آنکه آنها بتوانند موفق شوند در حدود ۰/۹۶۰۴۱۱یعنی ۱۰۰% خواهد بود !

به کد زیر و جدول نتایج آن توجه کنید.


#define POSSIBILITIES 65535.0
void main (void)
{
float chances;
int i, j;
for (i = 0; i < 800; i+=50)
{
for (j = 1, chances = 1; j < i; j++)
chances *= (float)((POSSIBILITIES - j) / POSSIBILITIES);
printf("For %d fake replies, chances are %f\n", i, 1-chances);
}
}

Queries 50 100 150 200 250 300 350 400 500 550 650 750
Chances 0.0185 0.0728 0.1569 0.2621 0.3785 0.4961 0.6069 0.7048 0.8517 0.9008 0.9604 0.9865

 

سرور شماره یک پس از دریافت پاسخ آلوده، این پاسخ را جهت پاسخگویی سریعتر به درخواست‌های بعدی تا مدتی در کش خود نگهداری میکند و بدین ترتیب کش DNS SERVER آلوده میگردد. دراین روش هکرها بر خلاف روش (ب) نه یک استفاده کننده نهایی بلکه یک Server DNS را هدف حملات خود قرار داده‌اند.

 

منابع :

http://www.technicalinfo.net/papers/Pharming2.html
http://www.securesphere.net/download/papers/dnsspoof.htm

موضوع: اينترنت  كليد‌واژه‌ها: , , , , ,  ۳ پيام‌ها
آذر
۲۸

به عنوان یک توسعه دهنده وب، یکی از مواردی که همیشه برایم جالب بوده شیوه‌های نفوذ به یک وب‌سایت و یا هک آن است. خبری که امروز در روی اینترنت پخش شد مبنی بر هک وب‌سایت تویتر باعث شد جستجو در مورد نحوه هک شدن تویتر را آغاز کنم مطلبی که درادامه خواهید خواند حاصل وب‌گردی‌های امشب من است.
همانطور که می‌دانید مسئولان سایت تویتر امروز علت از کار افتادن سایت خود را تغییر در DNS Record سایت اعلام کردند اما چگونه می‌توان DNS Record یک وب سایت را تغییر داد.

سامانه نام دامنه یا DNS چیست؟

DNS مخفف عبارت Domain Name Service می‌باشد. وقتی می‌خواهید وارد سایتی شوید، باید آدرس وب سرور آن‌ را بدانید. آدرس وب سرور با IP مشخص می‌شود. اما به خاطر سپردن آدرس IP دشوار است. می‌توان به جای IP از نام دامنه‌ها استفاده کرد. برای هر IP یک نام دامنه در نظر گرفته شده است. مثلا IP آدرس گوگل ۷۴.۱۲۵.۶۷.۱۰۰ است. که شما برای دسترسی به گوگل می‌توانید از ip یا آدرس www.google.com استفاده کنید. (برگرفته از ویکی پدیا)

هکرها با تغییر DNS Record تلاش می‌کنند که، یک نام دامنه به آدرس IP به جز IP اصلی آن متصل شود در واقع با این کار آنان بازدید کنندگان سایت را به سایت دیگری هدایت می‌کنند . به عنوان مثال تصور کنید شما می‌خواهید برای آگاهی از اخبار روز به سایت سی‌ان‌ان با نام دامنه www.cnn.com مراجعه کنید. مرورگر خود را باز می‌کنید و آدرس فوق را در نوار آدرس تایپ می‌کنید و کلید اینتر را میزنید.

در پشت صحنه چه اتفاقی می‌افتد؟
مرورگر یک تقاضا به سرور سامانه نام دامنه ( DNS SERVER ‌) ارسال می‌کند تا IP معادل با نام دامنه www.cnn.com را دریافت کند و در پاسخ، سرور سامانه نام دامنه ، IP دامنه فوق را به مرورگر شما باز می‌گرداند مرورگر شما پس از دریافت IP سایت سی‌ان‌ان ، به آن متصل شده و محتویات سایت را نمایش می‌دهد.
اما یک دقیقه صبر کنید اینبار به جای وب سایت سی‌ان‌ان یک صفحه نمایش داده شده است که بر روی آن نوشته شده وب‌سایت سی‌ان‌ان بسته شده به دلیل آنکه آنها دیگر نمی‌توانند پولی برای وب‌سایت خود پرداخت کنند! در این هنگام ممکن است شما این خبر را به دوست خود منتقل کنید ولی او در پاسخ می‌گوید مطابق هر روز مشغول خواندن اخبار روز از سایت سی‌ان‌ان است!

اما چگونه هکرها DNS Record یک دامنه را تغییر می دهند؟ آن‌ها اینکار را به شیوه‌های متفاوتی می توانند انجام دهند که در ادامه به آن‌ها اشاره می‌شود.

الف ) آلوده کردن کش سامانه نام دامنه ( DNS Cache Poisoning )

همانطور که میدانید یک DNS Server نمی تواند اطلاعات مربوط به همه دامنه‌ها و آی‌پی‌ها را نگهداری کند به همین دلیل اطلاعات را کش می‌کند. در واقع یک DNS Server فقط اطلاعات مربوط به نام دامنه‌هایی را نگهداری می‌کند که اجازه آن را دارد و چنانچه تقاضایی برای ارسال IP یک دامنه دریافت کند که دامنه مورد نظر در محدوده دامنه و آپی‌های خودش نباشد در مرحله اول به کش خود مراجعه می‌کند چنانچه اطلاعات مورد نظر در کش سرور نباشد از یک DNS Server دیگر که دربرگیرنده اطلاعات دامنه درخواست شده می‌باشد، تقاضای ارسال IP دامنه را می‌کند . DNS Server اولیه پس از دریافت اطلاعات از سرور دوم، آنرا برای مدتی در کش خود نگهداری می‌کند تا بتواند به درخواست‌های آتی سریعتر پاسخ دهد.
هکرها از همین مسئله سواستفاده کرده و تلاش می کنند کش DNS Server را آلوده کنند.

مراحل کار :
هکرها دارای یک وب سایت ( به عنوان مثال با نام دامنهwww.attacker.com ) هستند که بر روی آن یک DNS Server هک شده ( به عنوان مثال با نام ns.attacker.com) وجود دارد گفتیم یک سرور هک شده بدین معنا که آنها رکوردهای اطلاعاتی دامنه‌ها را آگاهانه تغییر داده‌اند به عنوان مثال چنانچه آی پی آدرس وب‌سایت سی‌ان‌ان ۲۱۲.۱۵۳.۳۲.۶۵باشد آنها رکورد اطلاعاتی وب‌سایت سی‌ان‌ان را به شکل زیر تغییر داده اند
www.cnn.com=172.50.50.50

مرحله اول) هکر(ها) یک تقاضا به DNS Server شما برای سایت www.attacker.comارسال می‌کنند.

مرحله ۲ ) DNS Server شما اطلاعات مربوط به نام دامنه www.attacker.com را ندارد بنابراین یک تقاضا به DNS Server هکرها (ns.attacker.com) ارسال می کند.

مرحله ۳ ) سرور آلوده هکرها به سرور شما پاسخ داده اما علاوه بر اطلاعات مربوط به نام دامنه www.attacker.com سایر رکوردهای اطلاعاتی خود را نیز برای سرور شما ارسال می کنند.

مرحله۴ ) هکرها IP وب سایت خود را از DNS Server شما دریافت می‌کنند اما برای آن‌ها هدف واقعی ارسال رکورد‌های آلوده به کش سرور شما بود که انجام شد. توجه به این نکته ضروری است که در این حالت سرور شما آلوده نشده بلکه فقط کش آن تا زمانی که پاک نشده و یا به‌روزرسانی نشود آلوده خواهد بود.

مرحله ۵) کاربری از طریق DNS Server شما تقاضای IP وب‌سایت سی‌ان‌ان را می‌کند در این حالت سرور شما به جای ارسال ۲۱۲.۱۵۳.۳۲.۶۵ که آی‌پی واقعی وب‌سایت سی‌ان‌ان است آی‌پی ۱۷۲.۵۰.۵۰.۵۰ را به مرورگر کاربر ارسال می کند و در نهایت کاربر به وب‌سایت هکرها هدایت می‌شود.

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

ادامه دارد …

موضوع: اينترنت, روزانه  كليد‌واژه‌ها: , , , , ,  ۵ پيام‌ها
آبان
۱۱

به دنبال یک برنامه نویس php در مشهد هستم

شرایط و نحوه همکاری :
• حضور در محل کار به مدت حداقل ۵ ساعت در روز از ساعت ۲ به بعد ( ۲ تا ۷ – ۳ تا ۸ یا ۴ تا ۹ )
• مسلط به php
• مسلط به DreamWeaver
• آشنایی متوسط با بالا با Mysql
• نظم و حضور به موقع در ساعت های توافق شده
• توانایی انجام کار گروهی
• قرارداد ساعتی ( توافقی )

در صورت تمایل رزومه کاری خود را به آدرس aazam.zandi@gmail ارسال کنید .

مهر
۳۰

امروز در تویتر به این لینک برخوردم که نویسنده آن تمام کتاب هایی که یک توسعه دهنده وب ممکن نیاز داشته باشه  رو به صورت دسته بندی شده کنار هم لیست کرده . کتاب ها قابل دانلود هستند بنابراین از دست ندید

نمونه ای از کتاب های معرفی شده :

APIs

CSS3

CMS/CMS’s API

JavaScript