تبليغاتX
هک

هک

درباره وبلاگ

فهرست اصلی
صفحه نخست
پست الكترونيك
آرشيو مطالب
پیوندهای روزانه
هکک
تمام پیوندها
نوشته های پیشین
شهریور 1387
مرداد 1387
تیر 1387
خرداد 1387
اردیبهشت 1387
پیوندها
Hack
hack1
hack3
hack4
hack5
hack6
قالب وبلاگ

طراحی اختصاصی توسط:
طراحی وب سایت تجاری و قالب وبلاگ
Powered By
BLOGFA.COM
FallT Example Page onLoad and onUnload Example

آموزش وبلاگ نويسي

آموزش جاوااسكريپت

كدهاي جاوااسكريپت

ترفندهاي ويندوز

لينك

لينك

لينك

لينك

لينك

لينك

لينك

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

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

   تعداد زيادی زبان و كتابخانه برنامه‌نويسی در لينوكس وجود دارد. در نتيجه در اينجا تنها به بررسی آنهايی خواهيم پرداخت كه طبق آمار و ارقام از سايرين پراستفاده‌تر هستند. منبع مورد استفاده برای اين مطلب، كاری است كه در LDP (پروژه مستندسازی لينوكس يا Linux Documentation Project) انجام شده است كه نشان‌دهنده اعتبار آن در نزد متوليان لينوكس است.

زبان‌هايی كه در اينجا مورد بررسی قرار خواهند گرفت عبارتند از:

  1. زبان‌های C، Perl، و Lisp به عنوان زبان‌هايی كه از روزهای اول پيدايش لينوكس در آن قرار گرفته بودند
  2. زبان‌های Python، PHP، Java و C++ به عنوان زبان‌هايی كه نسبت به گروه اول جديدتر هستند

معيارهای مقايسه

در بخش مقايسه، خصوصيات زير برای هريك از زبان‌ها بيان خواهد شد.

نام زبان

عنوانی كه عموما زبان مورد بررسی به وسيله آن شناخته می‌شود.

مبتدی

   معياری است كه نشان می‌دهد كار با زبان مورد بررسی چقدر برای افرادی كه دارای تجربه كمی در زمينه برنامه‌نويسی هستند راحت است. زبان‌هايی كه اين معيار برای آنها «بله» تعيين شده باشد را می‌توان مناسب حال برنامه‌نويسان مبتدی دانست.

كارايی

   نشان می‌دهد كه برنامه‌هايی كه با اين زبان نوشته شده باشند، در هنگام استفاده چقدر سريع خواهند بود. البته كارايی بيشتر به الگوريتم‌های مورد استفاده در برنامه بستگی دارد تا به زبان برنامه‌نويسی. ولی يك قانون نانوشته می‌گويد كه C، C++ و Fortran معمولا برنامه‌هايی با كارايی بالاتر توليد می‌كنند. به طور مثال می‌توان به يك آزمايش اتكا كرد كه البته خيلی هم علمی نيست. در اين آزمايش يك برنامه مرتب‌سازی اعداد با يك الگوريتم ثابت در زبان‌های مورد مقايسه پياده‌سازی می‌شود و سرعت اجرای آنها با يكديگر مقايسه می‌شود و مبنای تعيين كارايی زبان برنامه‌نويسی قرار می‌گيرد.

OOP: برنامه‌نويسی شیءگرا در مقابل ساير روش‌های برنامه‌نويسی

   برنامه‌نويسی شیءگرا يا Object Oriented Programming (OOP) يكی از مهم‌ترين روش‌های برنامه‌نويسی است كه روز به روز بر محبوبيت آن افزوده می‌شود. در اين روش، ساختار داده‌ها و الگوريتم‌ها در واحدهايی كه معمولا به نام كلاس (Class) شناخته می‌شوند، قرار می‌گيرند. OOP معمولا با روش برنامه‌نويسی رويه‌ای (procedural) كه در آن داده‌ها و الگوريتم‌ها از يكديگر جدا هستند مورد مقايسه قرار می‌گيرد. البته امكان برنامه‌نويسی شیءگرا را نمی‌توان كاملا وابسته به زبان برنامه‌نويسی دانست. مثلا با وجود اين كه زبان C يك زبان شیءگرا محسوب نمی‌شود می‌توان در آن برنامه‌های شیءگرا نوشت و به همين ترتيب در زبان‌هايی كه مشخصه اصلی آنها شیءگرايی است می‌توان برنامه‌های رويه‌ای توليد كرد.

   در اينجا زبان‌هايی كه مشخصه OOP برای آنها ذكر شده است، قابليت‌های خاصی را برای تسهيل برنامه‌نويسی شیءگرا ارائه می‌كنند. زبان‌های تابعی (functional) نظير Lisp گونه متفاوتی از زبانها هستند. برنامه‌نويسی شیءگرا را می‌توان شاخه‌ای از برنامه‌نويسی تابعی دانست. برنامه‌نويسی منطقی (logical) كه به نام برنامه‌نويسی تعريفی (declarative) نيز شناخته می‌شود و زبان prolog شاخص‌ترين نمونه آن است، گونه كاملا متفاوتی از برنامه‌نويسی است كه شباهت زيادی با ساير روش‌ها ندارد.

RAD: توليد سريع برنامه‌ها (Rapid Application Development)

   اين معيار بيشتر از آن كه به زبان مورد استفاده بستگی داشته باشد، وابسته به ابزارهايی است كه در توليد برنامه مورد استفاده قرار می‌گيرند. RAD در اثر استفاده مجدد از كدهای پيش‌نوشته (code reuse) نيز بسيار افزايش می‌يابد.

مثال‌ها

   اين معيار حوزه‌هايی را مشخص می‌كند كه زبان مورد بحث در آنها بيشتر استفاده می‌شود. البته كاربردهای خوب و بد ديگری هم علاوه بر موارد ذكر شده وجود دارد اما به علت عام نبودن آنها ذكر نشده‌اند.

توضيحات

اطلاعات بيشتری در مورد زبان مورد بحث در اين بخش ارائه خواهد شد.

مقايسه زبان‌ها

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

زبان Perl

مبتدی: بله
OOP: بله
مثال‌ها: نبشته‌نويسی (
scripting)، ابزاری برای مديران سيستم، برنامه‌نويسی وب
توضيحات: ابزاری قدرتمند برای كار با متن و رشته‌های حرفی (
string)

زبان Python

مبتدی: بله
OOP: بله
مثال‌ها: نبشته‌نويسی، برنامه‌نويسی وب
 

زبان TCL

مبتدی: بله
OOP: خير
مثال‌ها: نبشته‌نويسی، ابزاری برای مديران سيستم، برنامه‌های كاربردی

زبان PHP

مبتدی: بله
OOP: بله
مثال‌ها: برنامه‌نويسی وب
توضيحات: استفاده زيادی در كاربردهای پايگاه‌داده در وب دارد

زبان Java

مبتدی: بله
OOP: بله
مثال‌ها: برنامه‌های چندمحيطی (
cross-platform)، برنامه‌نويسی وب
توضيحات: به مرور به حوزه‌های جديدی مانند تجارت الكترونيك و بسياری كاربردهای ديگر وارد می‌شود.

زبان Lisp

مبتدی: بله
OOP: اين زبان تابعی است
مثال‌ها: برنامه‌نويسی هوش مصنوعي
توضيحات: نسخه‌های متعددی از آن وجود دارد مانند
Elisp، Clisp، و Scheme

زبان Fortran

مبتدی: خير
OOP: خير
مثال‌ها: كاربردهای محاسباتی و علمي

زبان C

مبتدی: خير
OOP: خير
مثال‌ها: برنامه‌نويسی سيستم، برنامه‌های كاربردي

زبان C++

مبتدی: خير
OOP: بله
مثال‌ها: برنامه‌های كاربردی

Shell Programming

   Shellها محيط برنامه‌نويسی بسيار مهمی در لينوكس محسوب می‌شوند. اگر شما می‌خواهيد يك كاربر حرفه‌ای لينوكس باشيد، حتما بايد با اين نوع برنامه‌نويسی نيز آشنا باشيد. شباهت‌هايی بين برنامه‌نويسی Shell و ساير زبان‌های نبشته‌نويسی (scripting) وجود دارد. در واقع اغلب از هردوی آنها برای رسيدن به اهداف مشابهی استفاده می‌شود. از پركاربردترين Shellهای محيط لينوكس می‌توان bash، tcsh، csh، ksh، و zsh را نام برد. در شماره‌های آينده بيشتر در مورد Shell Programming خواهيم گفت.

برخی زبان‌های ديگر

   علاوه بر زبان‌هايی كه در اينجا مورد بررسی قرار گرفتند، زبان‌های ديگری نيز در لينوكس وجود دارند كه تنها به نام بردن آنها اكتفا می‌كنيم. در صورت علاقه، منابع بسيار زيادی در مورد اين زبان‌ها چه در خود محيط لينوكس (با استفاده از دستور man) و چه روی اينترنت می‌توان يافت. اين زبان‌ها عبارتند از: AWK، SED، Smalltalk، Eiffel، Ada، Prolog، assembler، Objective C، Logo، و Pascal (با استفاده از مبدل p2c). همچنين http://www.tunes.org/Review/Languages.html اطلاعات بيشتری را در مورد زبان‌های برنامه‌نويسی ارائه می‌كند. در شماره آينده مبحث برنامه‌نويسی در محيط لينوكس را ادامه خواهيم داد.

 

نوشته شده توسط رضا در ساعت | لینک ثابت |


مروري كوتاه بر حملات DOS

 

يك حمله Denial Of Service يا به طور اختصاري ، DOS رويدادي است كه در آن يك كاربر يا سازمان را از دريافت خدمات از يك منبع ، محروم مي سازد. كه در شرايط عادي انتظار آن خدمات را دارد.

نوعا فقدان اين نوع از خدمات ، به عنوان كاستي در ارائه خدمات شبكه مي باشد . همچون سرويس Email كه سرويسي فعال بوده و چنانچه اين سرويس دچار وقفه اي هر چند كوتاه گردد ، تمام اتصالات شبكه را كه از اين سرويس سود مي برند مختل خواهد كرد.

 

 

در اين مقاله نگاهي خواهيم داشت به حملات DOS و DDOS با عنوان “ Distributed Denial Of Service “ كه اين حملات از طرف ميزبانهاي متعدد، براي دستيابي به اهداف خاص، صورت مي پذيرند.

 

حملات DOS 

براي درك بيشتر  حملات DOS و پيامدهاي آن ، ابتدا بايد شناختي بنيادين از انواع اين حملات داشته باشيم.

اگر چه ارتقاء شناخت ما از سطح حملات DOS به DDOS مقدماتي و متداول مي باشد ولي تفاوت ميان اين دو بسيار مهم است.

در ادامه مطلبي كه در بالا گفته شد ، بايد بيان كرد كه نبايد از حملات غافلگيرانه اي كه در چهارچوب اهداف حملات DOS متوجه ما مي باشد غافل بود بلكه مراقبت از زيرساختهاي خدماتي و محاسباتي شبكه معمولا در برخي از موارد ما را از پيامدهاي منفي اين نوع حملات نفس گير در امان مي دارد.

عموما اين نوع از حملات در اكثر موارد باعث توقف و از كار افتادن System قرباني نمي شود بلكه معمولا حملات موفق DOS به منظور كاستن هر چه بيشتر كيفيت خدمات ارائه شده توسط سرويسگر ها شكل مي گيرند. اين حملات با درجات مختلفي از تخريب انجام مي شوند كه در اغلب موارد ، سرويس دهنده اي كه مورد هدف اين نوع از حملات قرار مي گيرد ، ديگر قادر به ارائه خدمات نخواهد بود.

 

هدف اين نوع از حملات

يك برداشت سطحي از اين نوع حملات ، حمله به منظور تسخير Server مي باشد ، كه در اكثر موارد تعبيري نادرست و غير واقعي به نظر مي رسد ، اما هدف بنيادين از حملات DOS ايجاد وقفه در ارائه خدمات از جانب سرويس دهنده به سرويس گيرنده مي باشد. خواه اين خدمات مربوط به ميزباني با يك سرويس دهنده باشد ، خواه مربوط به شبكه اي عظيم و بي نقص.

اين حملات بار بسيار زيادي (بالاتر از ظرفيت و توان شبكه) بر شبكه تحميل مي كند كه همين امر باعث ترافيك بالاي شبكه شده و سرويس دهنده هائي كه مشغول ارائه خدمات به سرويس گيرنده مي باشند را دچار وقفه هائي گاه طولاني مدت مي كنند.

شكلهاي بسيار متفاوتي از حملات DOS وجود دارند كه كشف اين حملات و يا منحرف ساختن آنها ممكن است كمي دشوار باشد. طي روزها و هفته ها كه از كشف جديدترين حمله مي گذرد ممكن است شخص با هوش ديگري ، اين نوع از حمله را با شكلي ديگر و از جائي ديگر شبيه سازي و اجرا كند ، بنابر اين نبايد فقط به مقابله با يك حمله خاص پرداخت بلكه بايد در برابر تمام اشكال مختلف اين نوع از حملات پايداري و مقاومت كرد.

 

 

بيشتر حملات DOS انجام شده روي يك شبكه ، با جستجوئي تركيبي براي يافتن نقاط ضعف در ساختار امنيتي موجود در پروتكل اينترنت(IP) نسخه چهارم شروع مي شود. هكرها مي دانند كه اين مشكلات امنيتي به برنامه هاي كاربردي و پروتكل هاي سطوح بالاتر نيز منتقل شده اند ، كه وجود اين نقاط ضعف باعث به وجود آمدن پروتكل اينترنت(IPv6) شد.

توجه به منبع بسته ها و بررسي صحت و درستي آنها با استفاده از Headerهاي احراز هويت در پروتكل IPv6 انجام مي گيرد ، هر چند اصلاح ساختار اين پروتكل در چنين شرايطي امري است ضروري ولي بايد متذكر شد كه پروتكل IPv6 نيز  هيچ مشكلي را براي ما حل نخواهد كرد ، زيرا كه هنوز به صورت عمومي و كلي مورد استفاده قرار نگرفته است.

حملات DOS فقط از جانب سيستمهاي Remote سرچشمه نمي گيرند ، بلكه گاهي اوقات از جانب ماشينهاي Local يا محلي نيز صورت مي پذيرند.

به طور كلي شناسائي و مقابله با حملات محلي ساده تر مي باشد ، زيرا پارامترهاي به وجود آورنده مشكل، به سادگي قابل تشخيص مي باشند.مثال عمومي از اين نوع حملات بمبهاي خوشه اي هستند كه بصورت مكرر باعث تحليل منابع سيستمهاي ما مي شوند.

هرچند حملات DOS خودشان به تنهائي خطري براي خواص مهم اطلاعات(محرمانگي ، درستي و صحت ، يكپارچگي) محسوب نمي شوند ولي مي توانند راههائي را به شبكه باز كنند كه نرم افزارهاي جاسوسي بتوانند در زمان مناسب از آن مسيرها استفاده كرده و به خواص مهم اطلاعات لطمه بزنند.

اگر چه مديران شبكه ها و سازمانهاي امنيتي در تلاش براي اصلاح و برطرف ساختن اين مشكلات هستند اما نفوذگران نيز هميشه به دنبال راههائي جديدي براي پياده سازي اين قبيل از حملات خواهند بود.

اين آشفتگي ها و هرج و مرج باعث در هم شكسته شدن سيستم ها و از بين رفتن امنيت اطلاعات شده و از طرفي هكرهاي ورزيده و با تجربه اي هستند كه مي توانند هر اشتباه و لغزشي را بيابند و از اين سوراخهاي موجود در شبكه نهايت استفاده را ببرند .

 

نوشته شده توسط رضا در ساعت | لینک ثابت |


متدولوژی نفوذ به شبکه

 

Hacker ها می توانند از تعدادی از متدها برای فرار از امنیت شبکه و کسب دستیابی به اطلاعات استفاده کنند از جمله:

-         تجسس(snooping)

-         تقلید(Spoofing)

-         کشف کلمه رمز(Password Compromise)

-         حمله سلب سرویس(Denial-of-service attack)

-         حمله شخص واسط(Man-in-the-middle attack)

-         حمله سطح برنامه(Application-level attack)

-         کشف کلید(Key Compromise)

تجسس(snooping):

اکثر داده هایی که از طریق اینترنت فرستاده می شوند،به شکل متن خوانا و رمز نشده اند.هر کسی (Hacker)با یک ردیاب شبکه مثل برنامه Network Monitor که با Systems Management server

و یا برنامه های غیره .... می تواند به آسانی پیغام های رمزنگاری نشده را در هنگامی که از شبکه عبور می کنند ، بخواند.

برخی از برنامه های سرور که لیست کلمه عبور و اسم کاربری خاص خود را حفظ می کنند ف اجازه می دهند که اطلاعات Logon ه شکل متن آزاد از طریق شبکه عبور کنند.Hacker ها با استفاده از برنامه های ردیابی که به راحتی قابل دستیابی هستند ، می توانند به یک پورت موجود در یک هاب یا سوئیچ وصل شوند و به این اطلاعات دستیابی پیدا کنند.استفاده از متن رمزنگاری نشده  ، دستیابی به اطلاعات را برای جاسوس آسان می کند.چنین اطلاعاتی ممکن است شامل شماره کارت های اعتباری،شماره Social security ، محتویات پیغام های Email شخصی و اسرار اختصاصی سازمان باشد.

 

تقلِِید(Spoofing):

آدرس هاِِی، IP منبع و مقصد،پِِیش نِِیاز برقرارِِی نشست بِِین كامپِِیوتر ها روِِی ِِیك شبكه مبتنِِی بر (TCP/IP) مِِی باشد.عمل تقلِِید IP ِِیعنِِی به خود گرفتن هوِِیت ِِیك كامپِِیوتر مِِیزبان مجاز روِِی شبكه ، براِِی كسب دستِِیابِِی به كامپِِیوتر هاِِی روِِی شبكه داخلِِی.اصطلاح دِِیگر براِِی تقلِِید impersonation است.مهاجم،ِِیك كامپِِیوتر با ِِیك آدرس IP مجاز را تقلِِید مِِی كند.ِِیك حمله مبتنِِی بر تقلِِید راِِیج حمله شماره سرِِیال TCP/IP است.

 

حمله شماره سرِِیال TCP/IP

TCP مسئول اطمِِینان ارتباطات روِِی ِِیك شبكه مبتنِِی بر TCP/IP است.اِِین مسئولِِیت شامل تاِِیِِید اطلاعاتِِی است كه به مِِیزان مقصد فرستاده مِِی شود.براِِی ردِِیابِِی باِِیت كه از طرِِیق شبكه فرستاده مِِی شوند به هر قطعه ِِیك شماره سرِِیال داده مِِی شود.ِِیك Hacker با تجربه مِِی تواند بِِین دو كامپِِیوتر، الگوِِی شماره سرِِیال اِِیجاد كند، زِِیرا الگوِِی سرِِیال تصادفِِی نِِیست.

ابتدا Hacker باِِید به شبكه دستِِیابِِی پِِیدا كند.بعد باِِید به ِِیك سرور وصل شود و الگوِِی سرِِیال بِِین سرور و مِِیزبان معتبرِِی كه در حال ارتباط با آن است را تجزِِیه و تحلِِیل كند.بعد حمله كننده به شماره سرِِیال TCP/IP سعِِی مِِی كند با تقلِِید (وانمود نمودن) آدرس IP ِِیك مِِیزبان معتبر به سرور وصل شود.براِِی جلوگِِیرِِی از پاسخ مِِیزبان معتبر، تقلِِید كننده روِِی مِِیزبان معتبر،ِِیك حمله DDOS را شروع مِِی كند.

از آنجاِِیِِی كه مِِیزبان معتبر نمِِی تواند پاسخ دهد، تقلِِید كننده منتظر مِِی ماند تا سرور پاسخ خود را بفرستد و بعد با شماره سرِِیال درست پاسخ مِِی دهد.بعد سرور فكر مِِی كند كه كامپِِیوتر تقلِِید كننده، همان مِِیزبان معتبر است و تقلِِید كننده مِِی تواند شروع به انتقال داده ها كند.

 

كشف كلمه عبور(Password Compromise):

كاربرانِِی كه دستِِیابِِی غِِیر مجاز به كلمات عبور شبكه بدست مِِی آورند مِِی توانند به منابعِِی دست ِِیابِِی پِِیدا كنند كه به طرِِیق دِِیگرِِی نمِِی توانستند از آنها استفاده كنند. چند راه وجود دارد كه مهاجم مِِی تواند از كلمات عبور آگاهِِی پِِیدا كند:

• مهندسِِی اجتماعِِی(Social engineering): Hacker با استفاده از ِِیك هوِِیت تقلِِیدِِی (وانمود شده) با ِِیك شخص تماس برقرار مِِی كند و بعد از كسِِی كه حق دستِِیابِِی به اطلاعات مورد نظر را دارد درخواست كلمه عبور مِِی كند.

• ردِِیابِِی (Sniffing): بسِِیارِِی از برنامه هاِِی شبكه اِِی اجازه مِِی دهند كه اسم كاربرِِی و كلمه عبور به صورت رمزنگارِِی نشده از شبكه عبور كنند.Hacker مِِی تواند از ِِیك برنامه ردِِیاب براِِی بدست آوردن اِِین اطلاعات استفاده كند.

• شكستن (Cracking):شكستن كلمه عبور(cracker)مِِی تواند از چند تكنِِیك براِِی دست ِِیابِِی غِِیر مجاز به كلمات عبور استفاده كند.حملات دِِیكشنرِِی و حملات brute force از جمله تكنِِیك هاِِی شكستن كلمه عبور هستند.(براِِی اطلاعات بِِیشتر مقاله آقاِِی مسافر را بخوانِِید.)

اگر كلمه عبور ِِیك Admin كشف شود Hacker مِِی تواند به تمام منابع شبكه كه با كنترل هاِِی دستِِیابِِی محافظت شده اند دستِِیابِِی پِِیدا كند. به اِِین ترتِِیب Hacker به كل پاِِیگاه داده account هاِِی كاربرِِی دست ِِیابِِی دارد و مِِی تواند از اِِین اطلاعات براِِی دستِِیابِِی به تمام فاِِیل ها و پوشه ها ، تغِِیر اطلاعات مسِِیر ِِیابِِی و تغِِیر اطلاعات بدون اطلاع از كاربرانِِی كه به ان اطلاعات وابسته اند استفاده كند.

حملات سلب سروِِیس(Denial-of-Service Attacks): 

چند حمله سلب سروِِیس وجود دارد.تمام اِِیت تكنِِیك ها در تواناِِیِِی مختل كردن كاركرد طبِِیعِِی كامپِِیوتر ِِیا سِِیستم عامل روِِی ماشِِین هدف مشترك هستند.اِِین حملات مِِی توانند شبكه را با جرِِیانِِی از بسته هاِِی بِِی استفاده پر كنند،منابع حافظه را خراب و ِِیا به طور كامل از آن استفاده كنند و ِِیا از ِِیك نقطه ضعف در ِِیك برنامه شبكه اِِی سو استفاده كنند حملات DDOS اِِینها هستند:

حمله TCP SYN

حمله SMURF

حمله Teardrop

حمله Ping of Death

توضِِیحات جزئِِی درباره اِِین نوع حملاتß

حملات TCP SYN 

وقتِِی كه كامپِِیوتر ها روِِی ِِیك شبكه مبتنِِی بر TCP/IP،ِِیك نشست برقرار مِِی كنند،ِِیك روند handshake(دست دادن) سه طرفه را به صورت زِِیر دنبال مِِی كنند:

1-     سروِِیس گِِیرنده مبدا ِِیك بسته مِِی فرستد كه SYN flag آن on شده است.اِِین مِِیزبان ، ِِیك شماره سرِِیال در بسته (Packet)دارد.سرور از اِِین شماره سرِِیال در مرحله بعد استفاده مِِی كند.

2-     سرور ِِیك بسته را به مِِیزبان مبدا بر مِِی گرداند كه SYN flag آن on شده است.اِِین بسته، ِِیك شماره سرِِیال دارد كه نسبت به شماره اِِی كه بوسِِیله كامپِِیوتر درخواست كننده فرستاده شده است ِِیك واحد اضافه مِِی شود.

3-     سروِِیس گِِیرنده با ِِیك بسته كه شماره سرِِیال را با افزاِِیش دادن شماره سرِِیال به اندازه ِِیك واحد تاِِیِِید مِِی كند، به درخواست پاسخ مِِی دهد.

هر وقت كه ِِیك مِِیزبان درخواست ِِیك نشست با ِِیك سرور مِِی كند، اِِین دو روند handshake سه طرفه را انجام مِِی دهد.Hacker مِِی تواند با اِِیجاد چند درخواست نشست كه از آدرس هاِِی IP با مبدا جعلِِی شروع مِِی شوند از اِِین روند سوء استفاده كند.وقتِِی كه سرور منتظر رخ دادن مرحله 3 است، هر درخواست باز را در ِِیك صف قرار مِِی دهد.مدخل هاِِی صف معمولا هر 60 ثانِِیه خالِِی مِِی شوند.

اگر  Hacker بتواند صف را پر نگه دارد، به درخواست هاِِی مجاز براِِی اتصال، پاسخ داده نخواهد شد و به اِِین صورت سروِِیس به كاربران مجاز email،wb،FTP و سروِِیس هاِِی دِِیگر مرتبط با IP داده نمِِی شود.

حملات SMURF

حمله SMURF سعِِی مِِی كند تا شبكه را با فرستادن جرِِیان زِِیادِِی از درخواست ها و پاسخ هاِِی انعكاسِِی(ICMP) به شبكه غِِیر فعال كند. Hackerِِیك آدرس IP مبدا را تقلِِید مِِی كند و بعد ِِیك درخواست انعكاسِِی ICMP به ِِیك آدرس ارسال همگانِِی مِِی فرستد.اِِین عمل باعث مِِی شود كه تمام ماشِِین هاِِی روِِی ِِیك قطعه به درخواست جعلِِی پاسخ دهند.اگر Hacker بتواند اِِین حمله را به مدت طولانِِی حفظ كند، به علت جرِِیان زِِیاد پِِیغام هاِِی پاسخ و در خواست انعكاسِِی ICMP كه از سِِیم عبور مِِی كنند،هِِیچ اطلاعات سودمندِِی نمِِی تواند از طرِِیق شبكه عبور كند.

حملات Teardrop

حمله Teardrop با استفاده از ِِیك برنامه مثل Teardrop كه باعث جدا سازِِی شبِِیه جداسازِِی مشاهده شده در حمله Ping of Death مِِی شود،اِِین حمله از ِِیك نقطه ضعف در روند تركِِیب،استفاده مِِی كند و مِِی تواند باعث hang كردن ِِیا crash سِِیستم شود.

Ping of Death

Ping of Death از قابلِِیت هاِِی ICMP و اندازه واحد متوسط انتقال (MTU)معمارِِی هاِِی مختلف شبكه بهره مِِی گِِیرد.فرمان Ping،ِِیك درخئاست انعكاسِِی ICMP را مِِی فرستد و بوسِِیله مِِیزبان مقصد،ِِیك پاسخ انعكاسِِی ICMP به آن برگردانده مِِی شود.1ِِیغام درخواست انعكاسِِی ICMP در ِِیك بسته IP قرار مِِی گِِیرد كه به 65.535 و octet محدود است.MTU،حداكثر اندازه ِِیك واحد براِِی معمارِِی شبكه تعرِِیف شده را تعِِیِِین مِِی كند كه بسته به نوع وسِِیله (رسانه)تغِِیِِیر مِِی كند.

اگر اندازه ِِیك بسته بزرگتر از MTU باشد،بسته قطعه قطعه مِِی شود و بعد در مقصد دوباره تركِِیب مِِی شود. فرستادن ِِیك بسته با بِِیش از تعدادمجاز octetها ، غِِیر ممكن است.وقتِِی كه بسته ها قطعه قطعه مِِی شوند،ِِیك مقدار offset براِِی تركِِیب و سر هم كردن قطعات در مقصد به كار مِِی رود.Hacker مِِی تواند به همراه آخرِِین قطعه ، ِِیك offset مجاز و ِِیك اندازه بسته بزرگتر همراه كند.اِِین از تعداد مجاز octetها در بخش داده هاِِی درخواست انعكاسِِی ICMP تجاوز مِِی كند.وقتِِی كه سعِِی مِِی شود تا تركِِیب صورت گِِیرد كامپِِیوتر مقصد مِِی تواند با reboot شدن و ِِیا crash كردن پاسخ دهد.

حملات شخص واسط(Man-in-the-Middle Attacks):

حمله شخص واسط وقتِِی رخ مِِی دهد كه هر دو طرف فكر مِِی كنند كه فقط با ِِیكدِِیگر ارتباط برقرار كرده اند ولِِی در واقع ِِیك شخص واسط  وجود دارد كه بِِی صدا به مكالمه گوش مِِی دهد.شخص واسط مِِی تواند با تقلِِید هوِِیت فرستنده ِِیا درِِیافت كننده ، در مكالمه مداخله كند،Hacker مِِی تواند پِِیغام ها در هنگام انتقال تغِِیِِیر داده ِِیا از بِِین ببرد.

با استفاده از ِِیك ردِِیاب شبكه ، Hacker مِِی تواند پِِیغام ها را براِِی استفاده هاِِی بعدِِی ثبت و ذخِِیره كند و به اِِین صورت به Hacker امكان داده مِِی شود كه حمله تكرارِِی دِِیگرِِی را انجام دهد.شخص واسط  با ثبت كردن جنبه هاِِیِِی از مكالمه ، مِِی تواند از اِِین اطلاعات استفاده كند تا در آِِینده بتواند بر مكانِِیزم هاِِی اعتبار سنجِِی شبكه غلبه كند.اِِین ِِیك حمله replay نامِِیده مِِی شود.

حملات هداِِیت شده توسط برنامه(Application-Directed Attacks):

حملات هداِِیت شده توسط برنامه،سعِِی مِِی كنند تا از نقطه ضعف هاِِی موجود در برخِِی برنامه هاِِی شبكه اِِی بهره گِِیرند.ِِیك مهاجم با بهره كِِیرِِی از نقطه ضعف هاِِی موجود در اِِین برنامه هاِِی شبكه اِِی مِِی تواند:

فاِِیل هاِِی مهم سِِیستم عامل را خراب كند و ِِیا تغِِیِِیر دهد.

محتواِِی فاِِیل هاِِی داده اِِی را تغِِیِِیر دهد.

باعث شود كه برنامه شبكه اِِی و ِِیا كل سِِیستم عامل به صورت غِِیر طبِِیعِِی كار كند و ِِیا حتِِی crash كند.

امنِِیت طبِِیعِِی و كنترل هاِِی دستِِیابِِی كه بوسِِیله برنامه ِِیا سِِیستم عامل حفظ مِِی شود را مختل كند.

برنامه ِِیا برنامه هاِِیِِی را كار بگذارد كه بتوانند اطلاعات را به مهاجم برگردانند.Back Orifice مثالِِی از چنِِین برنامه است.چندِِین مثال از چنِِین حمله هاِِی هداِِیت شده توسط برنامه وجود دارد.سرورهاِِی وب،اغلب هدف چنِِین حمله هاِِی قرار مِِی گِِیرند.براِِی مثال كرم Code Red  ِِیا وِِیروس ساسر كه هر كدام كار خاصِِی انجام مِِی دادند از جمله نصب Back door براِِی Hackerها نصب ابزارهاِِی DDOS و غِِیره

حملات كلِِید كشف شده:

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

ِِیك نوع دِِیگر از كلِِید سرِِی،كلِِید خصوصِِی است.از كلِِید خصوصِِی سرِِی مِِی توان براِِی تاِِیِِید هوِِیت ِِیك فرستنده استفاده كرد.اِِین روند،امضاِِی ِِیك پِِیغام نامِِیده مِِی شود.ِِیك درِِیافت كننده كه پِِیغام را درِِیافت مِِی كند كه بوسِِیله كلِِید خصوصِِی شخص دِِیگرِِی امضاء شده است،مِِی تواند مطمئن باشد كه شخصِِی كه ادعا مِِی كند پِِیغام را فرستاده است در حقِِیقت خود شخص است.

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

وقتِِی كه كلِِیدهاِِی سرِِی دِِیگر به صورت سرِِی باقِِی نمانند مِِی گوِِیند كشف شده اند،دِِیگر نمِِی توانند براِِی امنِِیت دادن به هوِِیت ها و اطلاعات به كار روند.فهم اِِین مطلب كه كلِِیدِِی كشف شده است اغلب تلاش سختِِی است.اغلب تنها راه فهمِِیدن اِِینكه كلِِیدِِی كشف شده است وقتِِی مِِی باشد كه اطلاعات حِِیاتِِی كشف شده است،درست مثل جاسوسِِی در شركت ها.

 

نوشته شده توسط رضا در ساعت | لینک ثابت |


روتر و هك روتر 1