فصل اول
مقدمه
استفاده گسترده از تعاملات الكترونيكي مستلزم احراز هويت[1] استفاده کنندگان از سيستم های مبتنی بر IT خصوصاٌ سيستمهای مرتبط با دولت الکترونيک (تعامل شهروندان با دولت) است.
يكي از راههاي احراز هويت الكترونيكي امضاي ديجيتال است. روشهاي الكترونيكي ديگر براي احراز هويت وجود دارند از جمله زيستسنجي[2] يا كارتهاي هوشمند3 ولي اين روشها به سختافزار ويژه خود نياز دارند ونميتوان آنها را به طور عمومي به كار برد. مزيت امضاي ديجيتال آن است كه روشي كاملاً نرمافزاري است و نيازي به سختافزار ويژه ندارد. امضاي ديجيتال در واقع روشي براي اثبات هويت ارائه ميكند.
امضاي دستي نيز روشي براي احراز هويت است . به اين معني كه هم هويت فرد امضاء كننده مشخص ميشود و هم فرد امضاء كننده اذعان ميكند كه امضاء متعلق به اوست. براي جلوگيري از اعمال متقلبانهاي نظير جعل يا انكار امضاء همانطور كه مرسوم است با مراجعه به دفاتر اسناد رسمي «گواهي امضاء» اخذ ميشود. در اين روش دفاتر اسناد رسمي به عنوان مرجعي امين با ملاحظه مدارك هويتي شخص امضاء كننده گواهي ميكنند كه اين امضاء متعلق به چه كسي است و در چه تاريخي انجام گرفته است به اين ترتيب امكان جعل و انكار امضاء از بين ميرود. مشابه فرايند فوق با ايجاد زيرساخت كليد عمومي (PKI) براي امضاي ديجيتال اجرا ميشود. در اين زيرساخت سازمانهاي متصدي صدور گواهينامه ايجاد ميشوند كه وظيفه آنها اين است كه با احراز هويت اشخاص حقيقي يا حقوقي امضاي ديجيتال متعلق به آنها را مورد تأييد قرار ميهند.
مثال ديگري كه در مورد شناسايي (Identification) و احراز هويت(Authentication) وجود دارد استفاده از شناسه (Username) و گذرواژه (Password) براي اتصال به شبكه است. از طريق شناسه كاربر شناسايي شده و با استفاده از گذرواژه (با فرض اينكه فقط در اختيار شخص مجاز قرار دارد) از يكي بودن هويت كاربر با هويت مشخص شده توسط شناسه اطمينان ...
ادامه مطلب
اگر مرتباً از نامههاي الکترونيکي خود نسخه پشتيبان تهيه کنيد، نگران به وجود آمدن چنين وضعيتي باشيد. بنابراين به اين کار اهميت ويژه اي دهيد. براي اينکه در روند تهيه نسخه پشتيبان از نامههاي الکترونيکي به شما کمک کنيم، مراحل انجام اين کار را با برخي از برنامههاي متداول در اين زمينه توضيح مي دهيم. قبل از شروع کار، اشاره به اين نکته ضروري است که دو راه براي بازيابي نامههاي الکترونيکي وجود دارد: نخست دسترسي به نامه ها با استفاده از يک برنامه پست الکترونيکي نصب شده روي کامپيوتر و ديگري استفاده از وب سايت ويژه ارائه دهنده پست الکترونيکي. در هر کدام از اين دو مورد براي ايجاد امنيت خاطر بيشتر، بايد فايل هايتان را روي يک درايو قابل حمل مثل يک CD ذخيره کنيد.
روش اول: برنامههاي پست الکترونيکي
برنامههاي پست الکترونيکي بسياري وجود دارند. در اين مقاله مراحل پشتيباني از نامههاي الکترونيکي توسط سه نمونه از مهم ترين آنها را بررسي مي کنيم.
1- AOL
نرم افزار AOL باعث سهولت دسترسي به سرويس پست الکترونيکي AOL مي شود. حتي اگر از برنامه AOL روي کامپيوترتان استفاده کنيد، نامه هايتان روي سرورهاي AOL مستقر مي شوند، در نتيجه، مي توانيد از طريق برنامه AOL يا وب سايت AOL به پست الکترونيکي AOL دسترسي پيدا کنيد. AOL به صورت خودکار نامههاي ذخيره شده روي سرورهاي خود را بعد از مدت محدودي پاک مي کند. از اين رو بايد به صورت مرتب از نامههاي الکترونيکي خود نسخه پشتيبان تهيه کنيد. تمام نامههاي جديد و خوانده نشده، به پوشه NEW MAIL در AOL 9.0SECURITY EDITION فرستاده مي شوند. نامه ها براي مدت محدودي در اين پوشه باقي مي مانند و بعد از اينکه يک نامه را خوانديد، به پوشه OLD MAIL منتقل مي شود که در آنجا براي مدت محدودي باقي مي ماند. اين پوشه ها روي سرورهاي AOL مستقر هستند. وقتي که اين محدوده زماني به پايان برسد، AOL آن نامه را پاک مي کند.علاوه بر پاک کردن خودکار نامه ها بعد از يک مدت خاص، AOL ميزان فضاي ذخيره سازي طولاني مدت، نامه ها را از سرورهاي AOL به کامپيوتر خانگي خود انتقال دهيد. AOL از پوشه اي با نام SAVED ON MY PC براي ذخيره دائمي کپي نامه هايي که انتخاب کرده ايد، استفاده مي کند.اين پوشه همچنين با نام PERSONAL FILING CABINET هم شناخته مي شود که روي کامپيوترتان مستقر مي شود.
از آنجا که PERSONAL FILING CABINET شامل نامه هايي مي شود که آنها را براي نگهداري انتخاب کرده ايد، پس بايد از آن نسخه پشتيبان تهيه کنيد؛ بدين منظور به آدرس زير برويد:
C:/DOCUMENTSANDSETTINGS/ALLUSERS/APPLICATION DATA/C_AMERICA ONLINE9.0
سپس به دنبال پوشه اي با نام ORGANIZE بگرديد و کل اين پوشه را روي CD يا درايو FLASH کپي کنيد. در صورتي که لازم است نسخه پشتيبان را بازيابي کنيد، پوشه ORGANIZE و محتويات آن را در آدرس زير کپي کنيد:
C:/DOCUMENTSANDSETTINGS/ALLUSERS/APPLICATIONDATA/AOL/C_AMERICA ONLINE9.0
|
|
| ||||
موقعیت فرهنگ هکر
مانند بسیاری از فرهنگهای برپایه ی روابط غیر اقتصادی، هکرگری نیز با شهرت اداره می گردد، شما سعی میکنید که مسئله جالبی را حل کنید اما اینکه آن مسئله چقدر قابل تأمل است یا راه حل شما واقعا چقدر خوب است، چیزی است که تنها استادان شما صلاحیت تأیید آن را دارند.
به همین ترتیب، وقتی وارد بازی هکر ها شدید، مدارجتان را با آنچه سایرین در مورد شما فکر می کنند بدست خواهید آورد (به این علت است که تا هنگامی که دیگران شما را هکر نمی دانند واقعأ هکر نیستید). این حقیقت بوسیله پنداری که هک را یک کار منزوی گرایانه میداند، محو شده است؛ هم چنین با وجود این تابوی فرهنگ هکری (که در حال از میان رفتن ولی فعلا همچنان نیرومند است) در برابر پذیرش اینکه تصدیق خود یا دیگری، تنها در گیر انگیزه یک شخص باشد.
به خصوص ، هکرگری نوعی از فرهنگ است که مردم شناسان به آن فرهنگ هدیه میگویند. شما شهرت و موقعیت خود را نه با سلطه بر دیگر مردم، نه با زیبایی یا در اختیار داشتن چیزهای مورد نیاز مردم بلکه با دادن هدیه بدست می آورید. به خصوص با دادن وقت خود، خلاقیت و مهارتتان.
پنج چیز وجود دارد که با انجام آن مورد احترام هکرها قرار میگیرید:
۱ - برنامههای باز- متن بنویسد
اولین (محوری ترین و سنتی ترین) روش، نوشتن برنامههایی است که هکرهای دیگر آن را جالب و مفید میدانند و سپس دادن کد منبع برنامهها به دیگران.
(ما قبلا این را "نرم افزار آزاد" مینامیدیم ، اما این اصطلاح موجب اشتباه بسیاری از مردم شد که نمیدانستند منظور از آزاد دقیقا چیست، امروزه بسیاری از ما حداقل به نسبت ۲ به۱ اصطلاح "بازمتن" (open-source) را ترجیح می دهیم.)
محترم ترین هکر ها [1] افرادی هستند که برنامههای بزرگی نوشته اند - برنامههای پرقدرتی که احتیاجات گسترده ای را مرتفع می سازد - و آنان را در دسترس همگان قرار داده اند.
۲ - به آزمایش ورفع اشکال کردن برنامههای بازمتن کمک کنید
هکرها به کسانی که نرم افزارهای بازمتن را آزمایش و رفع اشکال میکنند، یاری میرسانند. در این دنیای ناقص ناگزیر به صرف دقت بسیاری برای رفع اشکال برنامهها هستم، به این علت است که مولفان بازمتن میگویند یک آزمایشگر خوب ( تعریف کردنش دشوار است؛ مشکلات در ضمن انتشار، کسی که بتواند اشتباهات یک انتشار عجله ای را تحمل کند و مشکلات نرمافزار را گزارش کنند) سزاوار یاقوت به اندازه ی وزنشان هستند. حتی یک نفر از آنان میتواند رفع اشکال کردن را از یک کابوس طولانی به یک دردسر عبرت آموز تبدیل کند. اگر مبتدی هستید یک نرم افزار در حال برنامه نویسی پیدا کنید و یک آزمایشگر خوب باشید. یک پیشرفت طبیعی از کمک به آزمایش برنامه تا کمک به رفع اشکال کردن آن و بهتر کردن آن است. از این راه چیزهای بسیاری یاد میگیرید و روابط خوبی با افرادی که بعدا شما را کمک خواهند کرد بر قرار خواهید کرد.
۳ -اطلاعات خوب را منتشر کنید
کار خوب دیگری که میتوانید بکنید جمع آوری و دستچین کردن مطالب جالب و مفید در برگههای وب یا پروندههایی مانند سؤالات متداول ( FAQ ) و منتشر کردن آن است. گردآورندگان مجموعه سؤالات متداول (FAQ) به اندازه برنامه نویسندگان بازمتن مورد احترام هستند.
۴ -به پایداری شالوده ی کار کمک کنید
فرهنگ هکر (و مهندسی اینترنت بعنوان شاخهای از آن) با داوطلبان به پیش می رود. بسیاری از کارهای کوچک ولی ضروری وجود دارند که باید انجام شوند. مدیریت لیستهای پستی و گروههای خبری، مرتب کردن آرشیو نرم افزارهای بزرگ، گسترش RFCها و سایر استانداردهای فنی.
مردمی که این کارها را انجام می دهند مورد احترام فراوان هستند. چرا که همه می دانند این نوع مسئولیت چقدر زمانبر است در حالیکه جذابیت زیادی مانند بازی کردن با کد هم ندارد. انجام آنها نشاندهنده ی ایثارگریست.
۵ - به خود فرهنگ هکر کمک کنید
در انتها می توانید به خود فرهنگ کمک کنید و آن را منتشر کنید (مثلأ با نوشتن مقاله ای در مورد اینکه چگونه هکر شویم :-) ). گرچه این کاری نیست که در همان ابتدا انجام دهید تا وقتی که شهرت خوبی در بین هکرها بدست آورید.
فرهنگ هکر، رهبر به معنی دقیق آن ندارد. اما قهرمانان، پیران ، مورخان و سخنگویان زیادی دارد. بعد از این که به اندازه ی کافی در سنگرها مدت زیادی را سپری کنید، میتوانید یکی از آنها شوید. باید بدانید که هکرها به منیت آشکار پیران خود بدبینند؛ رسیدن به این درجه از شهرت آشکارا خطرناک است. به جای تلاش برای رسیدن به آن موقعیتتان را چنان بسازید که در مسیرشما افتد. سپس در مقامتان فروتن و مهربان باشید.
رابطه ی هکر / نرد “Nerd”
ارتباط هکر و نرد بر خلاف افسانه مشهور، برای هکر بودن اجباری بر نرد بودن نیست (نرد به شخصی گفته میشود که تمام زندگی او بر کامپیوتر/تکنولوژی استوار است -مترجم -). اما به هرحال نرد بودن کمکتان میکند و بسیاری از هکرها اینگونهاند. نرد بودن کمکتان میکند که بر مهمترین مسائل مانند فکر کردن و هک کردن تمرکز داشته باشید.
به همین خاطر بسیاری از هکرها صفت نرد بودن و حتی سرسختانهتر 'geek' را به عنوان شعار برگزیدهاند. روشی برای بیان جداییشان از انتظارات عوامانه اجتماع - برای بحث بیشتر به صفحهی geek مراجعه کنید.
اگر شما بتوانید به اندازه کافی روی هک کردن تمرکز کنید در حالیکه به زندگیتان هم برسید، بسیار عالیست. امروزه انجام این کار از ۱۹۷۰ که من تازه کار بودم بسیار ساده تر است؛ جریان غالب فرهنگی با تکنو- نردها بسیار مهربانتر است و تعداد کسانی که می فهمند هکرها عاشقان و همسران بلند مرتبهای هستند هر روز زیادتر می شود.
اگر شما بخاطر نرد بودنتان به هکر بودن علاقهمند شدهاید هم خوب است! حداقل برای متمرکز شدن مشکلی نخواهید داشت. شاید هم در آینده از انزوا درآمدی!
نکاتی در باب طریقت
نکاتی در باب طریقت باز میگویم که شما برای هکر شدن باید ساختار فکری هکری بدست آورید. چیزهایی هست که هنگامیکه کامپیوتر ندارید میتوانید انجام دهید. آنها جایگزین هک کردن نمی شوند (هیچ چیز نمیشود) اما بسیاری از هکرها انجامشان را دوست دارند و احساس می کنند با انجام آنها به نوعی به روح هک کردن نزدیک می شوند.
-بیاموزید که زبان مادریتان را خوب بنویسید. گرچه معروف است که برنامه نویس ها نمیتوانند بنویسند، یک تعداد غافلگیر کنندهای از هکرها (تمام بهترین هکرهایی که من میشناسم) نویسندگان توانایی هستند.
-داستانهای علمی - تخیلی بخوانید. به جلسات داستانهای علمی بروید. (جای خوبی که می توانید هکرها و هکر دوستان را ببینید.)
-ذن تمرین کنید و/ یا به هنرهای رزمی بپردازید (انظباط روحی در جهات بسیاری شبیهاند)
-گوش تان را به موسیقی حساس کنید. بیاموزید که به نوع خاصی از موسیقی را درک کنید. نواختن برخی آلات موسیقی را به خوبی فرابگیرید یا آواز خواندن یاد بگیرید.
-کار با جملات قصار و بازی با کلمات را به خوبی بیاموزید.
هر چه موارد بیشتری را قبلأ انجام داده باشید استعداد بیشتری برای هکر شدن دارید. چرا این موارد خاص مهم هستند واقعا معلوم نیست. ولی ارتباط آنها با مهارتهای نیمکره ی چپ و راست مغز مربوط می شود، هردوی این ها اهمیت فراوانی دارند؛ هکرها همانگونه که به منطق استدلالی نیاز دارند به شهود عرفانی نیز محتاجند تا در لحظه ای خاص از شر منطق ناقص مشکلی خلاص شوند.
به همان میزان که بازی میکنید، کارکنید و همان قدر که کار میکنید، بازی کنید. برای هکرهای واقعی مرزی میان ” بازی“ ، ” فعالیت“ ، ”دانش“ و ”هنر“ وجود ندارد و این با پدیدار شدن سطح بالایی از سرزندگی سازنده همراه خواهد بود. به هیچ وجه به اطلاعات مهارتهای محدود اکتفا نکنید. برخلاف آن که بسیاری از هکرها خود را یک برنامه نویس معرفی می کنند، دارای مهارتهای بسیاری هستند - مدیریت سیستم، طراحی وب و رفع اشکالهای سختافزاری PC یکی از معمول ترین آن هاست. هکری که مدیر سیستم است، اغلب، یک برنامه نویس حرفهای و یک طراح وب است. هکر هرگز کاری را نیمه انجام شده رها نمیکند، اگر به موضوعی بپردازد در رابطه با این موضوع مهارتهایش را به اوج کمال میرساند.
در پایان چیزهایی هستند که نباید انجام دهید:
-از اسامی ابلهانه و بزرگ نما (قلمبه!) استفاده نکنید.
-در آتش افروزیهای گروههای خبری و یا هر بحث بی فایده ی دیگر شرکت نکنید.
-خودتان را "ولگرد سایبر" خطاب نکنید، وقت خود را با چنین افرادی هدر نکنید.
-نامههای الکترونیکی پر از غلط املایی و دستور زبانی نفرستید.
تنها چیزی که از این ها عایدتان می شود شهرت یک دلقک است. هکرها حافظه خوبی دارند - سالها طول می کشد تا دسته گلی که به آب دادهاید فراموش شود و مورد قبول واقع شوید.
بر مشکل نامهای کاربری یا اسامی مستعار باید تاکید کنم. پنهان کردن نام واقعی پشت رموز، کار ابلهانه و بچه گانه کرکر ها(crackers) و warez d00dz ویا دیگر فرمهای پیش پا افتاده ی زندگیست. اگر نام مستعاری دارید آن را دور بیاندازید. در میان هکرها این حقیقتا باعث میشود تا شما را به فراموشی بسپارند. هکران از آنچه که انجام میدهند مغرورند و آن را وابسته به نام حقیقی خود میخواهند.
منابع دیگر
پیتر سیباج (Peter Seebach) برای مدیران سیستمی که نمی دانند چطور با هکرها سر کنند، یک FAQ مکمل نوشته است که Hacker FAQ نام دارد. اگر سایت Peter پاسخ دهی نمیکند، این جستجوی سایت Excite میتواند یک کپی خوب برای شما پیدا کند.
این جا یک سند وجود دارد که How To Be A Programmer (چگونه یک برنامه نویس شویم) نام دارد این یکی از بهترین و کامل ترین هاست. ارزش این مستند فقط مربوط به آموزش کد نویسی نیست، در این سند درباره ی کد نویسی به صورت گروهی و چالشهای یک کد نویسی گروهی صحبت شده است.
من مقاله ای به نام تاریخ اجمالی هکرگری : "A Brief History Of Hackerdom" نیز نوشتهام.
برای آشنایی با فرهنگ لینوکس و بازمتن مقالهای با نام "کلیسای فقید و بازار" یا "The Catedral and the Bazaar" نوشتهام. ادامه ی این مقاله در مقاله ای به نام Homesteading Noosphere آمده است.
Rick Moen، مقالهای به نام How to Run A Linux User Group نوشته است. (یک گروه کاربران لینوکس چطور به کار میافتد؟)
باز هم از Rick Moen و من (اریک ریموند) مقالهای به نام چگونه یک سوال هوشمندانه بپرسیم، How to Ask Smart Questions وجود دارد.
اگر شما به اطلاعات پیشنیاز برای کامپیوترهای شخصی و شبکه ی اینترنت احتیاج دارید، به مقاله ی The Unix and Internet Fundamentals HOWTO (پایههای یونیکس و اینترنت) مراجعه کنید.
اگر شما برنامهای منتشر میکنید و یا وصلهای برای برنامهای می نویسید، به Software Release Practice HOWTO (راهنمای تمرین انتشار برنامهها) سر بزنید.
اگر شما به اشعار ذن علاقه مند هستید، احتمالا باید از این خوشتان بیاید: Rooties Root: The Unix Koans of Master Foo
سؤالاتی که زیاد پرسیده شده اند
س : به من یاد می دهید چطور هک کنم ؟
ج: از اولین روز انتشار این برگ هر هفته (گاهی هر روز) چندین درخواست از مردم بدستم میرسد که: همه چیز هک کردن را به من یاد بدهید! متأسفانه وقت و انرژی کافی برای این کار ندارم. پروژههای هکری من و مسافرتهایم بعنوان مدافع بازمتن روزی ۱۱۰٪ وقتم را میگیرد.
حتی اگر هم میتوانستم؛ هک کردن هنر و منشی است که شما خود باید یاد بگیرید. بعدا متوجه خواهید شد که با آنکه هکرها دوست دارند به شما کمک کنند، اما اگر بخواهید همه چیز را حاضر و آماده در دهان شما بگذارند، تحویلتان نمیگیرند.
اول خودتان چیزهایی یاد بگیرید. نشان دهید که دارید سعی می کنید، که توانایی یاد گرفتن دارید سپس به سراغ هکرها بروید و پرسشهایتان را مطرح کنید.
اگر میخواهید به هکری نامه ی الکترونیکی بفرستید باید از قبل دو چیز را بدانید. اولین چیز این که ما متوجه شدیم که کسانی که در نوشتههایشان بی دقتاند معمولا تنبلتر از آنند که هکرهای خوبی بشوند. بنابراین مواظب غلطهای املایی و انشایی خودتان باشید و گرنه شما را نادیده میگیرند. دوم این که هرگز جواب نامهی الکترونیکی خود را در آدرسی غیر از آدرسی که از آن نامه میفرستید نخواهید. ما میدانیم که کسانی که این کار را می کنند دزدانی اند که از حساب دزدی استفاده می کنند و هیچ علاقه ای به کمک کردن به دزدها نداریم.
س : خوب پس از کجا شروع کنم ؟
ج : بهترین راه برای شروع رفتن به جلسه یک لاگ (گروه کاربران لینوکس"Linux user group LUG" ) است. این گروهها را می توانید در سایت LDP بیابید. به احتمال قوی میتوانید یکی از آنها را در حوالی خود بیابید که احتمالأ وابسته به یک دانشگاه یا مؤسسه است. اعضای لاگ احتمالأ به شما یک نسخه از لینوکس میدهند و حتمأ کمکتان میکنند که آنرا نصب کنید.
س : کی باید شروع کنم ؟ آیا خیلی دیر نشده است ؟
ج : در هر سنی که علاقهمند شدید میتوانید یاد بگیرید. اکثر مردم در سن ۱۵ تا ۲۰ سالگی علاقهمند می شوند؛ من استثناهایی را از هر دو طرف میشناسم.
س : چقدر طول می کشد تا هکر شوم ؟
ج : بستگی به این دارد که چقدر باهوشید و چقدر پشت کار دارید. اگر مصمم باشید معمولأ ظرف ۱۸ تا ۲۴ ماه میتوانید مهارتی قابل ملاحظه بدست آورید. اما کار به اینجا ختم نمیشود. اگر یک هکر واقعی هستید تمام عمرتان را صرف یادگیری و تکمیل هنرتان خواهید کرد.
س : آیا Visual Basic و #C ( سی شارپ) زبانهای خوبی برای شروع کارند ؟
ج: اگر شما این پرسش را مطرح میکنید یعنی به هک کردن تحت سیستم عامل مایکروسافت ویندوز فکر میکنید. به خودی خود تفکر بدی است. یاد گیری کد نویسی تحت پلتفورم ویندوز مانند یاد گیری رقص است وقتی زره به تن کردهاید، من چندان خوشم نمیآید. به آن جا نروید. آن بخش بینهایت کثیف است و از کثافت باید پرهیز کرد.
زبانهای Visual Basic و #C مشکلات مخصوص خودشان را دارند؛ در اصل اینها غیر قابل انتقال یا not portable هستند. هیچ نسخهی بازمتنی از این زبانها وجود ندارد. استانداردهای اجرایی ECMA چیزی بیش از تعدادی رابط برنامه نویسی را پوشش نمیدهند. در ویندوز بیشتر کتابخانهها از یک سازنده ی تنها (مایکروسافت ) که مالک آن است پشتیبانی میکنند؛ اگر شما بینهایت نسبت به چیزی که استفاده می کنید دقیق نباشید، برای همیشه به پلتفورم مایکروسافت وابسته خواهید شد. برای این که به این باطلاق فرو نروید، کسی که کد نویسی را شروع می کند باید بسیار دقت کند. اگر شما روی یونیکس شروع کنید زبانهای بهتر و کتابخانههای بهتر وجود دارند.
بنابراین به همان سیستم عامل که سازنده زبان انتخاب می کند، میخکوب میشوید، این به مذاق هکرها سازگار نیست.
به خصوص Visual Basic بسیار مضر است. مانند همه بیسیکها Visual Basic هم بسیار بد طراحی شده است، نه از من نخواهید که این موضوع را تشریح کنم؛ این موضوع میتواند یک کتاب را پوشش دهد. یک زبان را که به خوبی طراحی شده است فرا بگیرید.
یکی از عادتهای برنامه نویسی بدی که به شما یاد خواهد آموخت وابستگی به کتابخانه ها، widget ها و ابزار برنامه نویسی یک شرکت خاص است. به طور کل هر زبانی که تحت لینوکس یا یکی از نسخههای BSD پشتیبانی نگردد و/ یا حداقل توسط سه شرکت مختلف پشتیبانی نگردد، ارزش این را ندارد که برای هک کردن یاد بگیریدش.
س : به من یاد می دهید که چطور یک سیستم را بشکنم؟
ج : نه . کسی که بعد از خواندن این مقاله هنوز این سؤال را بپرسد، احمق تر از آن است که یاد بگیرد ، حتی اگر من وقتش را داشته باشم. هر میلی که چنین درخواستی کند نادیده گرفته می شود یا با خشونت تمام پاسخ داده میشود.
س : چطور می توانم رمز عبور شخص دیگری را بدست آورم؟
ج : این شکستن است (crack). گم شو احمق!
س : چطور می توانم پست الکترونیکی شخصی دیگری را بخوانم / واردش شوم / تحت نظر بگیرمش؟
ج : این شکستن است . سریع گم شو ...
س : چطور می توان کانالهای chat را دزدید؟
ج : این شکستن است . مردک احمق!
س : سیستمم را شکستهاند! کمک میکنید از خودم دفاع کنم؟
ج: نه! هر بار که از من این سؤال را پرسیدهاند از طرف یک کاربر بیچاره ی ویندوز بوده است. امکان ندارد ویندوز را به طور کامل امن کنید. کد و معماری آن پر از ایراد است و سعی در ایمن کردن آن آب در هاون کوبیدن است. تنها راه پیشگیری، رفتن به یک سیستم عامل دیگر مانند لینوکس یا حداقل سیستم عاملی است که توانایی ایمن شدن را داشته باشد.
س : من با ویندوزم مشکل دارم . کمکم می کنید؟
ج : البته! به خط فرمان بروید و بنویسید " :format c "، ظرف چند دقیقه تمام مشکلاتتان حل میشود.
س : کجا می توانم با هکرهای واقعی صحبت کنم؟
ج : بهترین جا لاگهای محلی خودتان است ( لیست شان را می توانید در سایت LDP بیابید.)
(قبلأ در اینجا میگفتم در IRC هیچ هکر واقعی پیدا نمیکنید. ولی وضعیت فرق کرده است. به طور مشخص اجتماعاتی از هکرهای واقعی مربوط به GIMP و Perls کانالهای IRC دارند)
س : چند کتاب مفید در زمینه هکر کردن پیشنهاد کنید؟
ج : لیست خواندنیهای لینوکس ممکن است مفید باشد. Loginntaka هم میتواند جالب باشد. برای پیش در آمدی بر پیتون به اینجا را بر روی سایت پیتون نگاهی بیاندازید.
س : آیا باید در ریاضیات خوب باشم تا بتوانم هکر شوم ؟
ج : نه . البته باید قادر باشید به طور منطقی فکر کنید و رشته درست دلایل را دنبال کنید، هک کردن نیاز بسیار اندکی به ریاضیات رسمی دانشگاهی دارد. به خصوص، شما معمولا به آنالیز و جبر نیاز نخواهید داشت ( این را به مهندسان برق واگذار کنید). داشتن پیش زمینهای در رشتههایی از ریاضیات مانند منطق، تئوری مجموعهها ، نظریه اعداد و.... ممکن است مفید باشد.
آنچه بسیار مهم است : شما باید بتوانید منطقی تفکر کنید و رشته ای از دلایل صحیح را گرد هم بیاورید، کاری که ریاضیدانان انجام میدهند. زمانی که ارتباط با اغلب علوم ریاضی کمکی به شما نکرد، شما به نظم و ذکاوت برای پیش برد آن نیاز خواهید داشت. اگر شما چندان باهوش (با ذکاوت) نیستید، امید چندانی به هکر شدن شما نیست؛ اگر شما نظم فکری نداشته باشید این امید به همان میزان کم خواهد شد.
یک راه خوب برای فهمیدن این موضوع گرفتن و مطالعه یک کپی از کتاب Raymond Smullyan است که اسم آن اکنون یادم نیست. مشابه چیستانهای منطقی و بامزه Smullyan در روح هکرگری خیلی وجود دارد. توانایی در حل آنها علامت خوبی است و لذت در حل کردن آن علامتی بهتر.
س : چه زبانی را باید اول یاد بگیرم ؟
ج : XHTML (آخرین نسخه ی HTML) اگر هنوز آنرا بلد نیستید. کتابهای بد زیادی هستند با توضیحات خسته کننده بلندبالا و چند کتاب خوب چیزی که من بیشتر از همه دوست دارم HTML: The Definitive Guide است.
البته HTML یک زبان کامل برنامه نویسی نیست. وقتی برای یادگیری آماده شدید، پیشنهاد میکنم از پیتون شروع کنید. خیلیها به شما Perl را پیشنهاد میکنند و هنوز محبوبیت بیشتری دارد ولی یاد گرفتن آن سخت است و (به نظر من) به خوبی پیتون نیست.
C واقعا مهم است ولی از Perl و پیتون خیلی سختتر است. سعی نکنید اول C را یاد بگیرید.
کاربران ویندوز، به دام VB نیفتند. عادتهای برنامه نویسی بدی به شما یاد میدهد و قابل انتقال به هیچ سیستم دیگری غیر از ویندوز نیست. بپرهیزید!
س : چه سخت افزاری نیاز دارم ؟
ج : قبلا کامپیوترهای شخصی سرعت و حافظه کمی داشتند که همینها کافی بودند تا روند یاد گیری هکر رامحدود کنند. این مساله مدتهاست که از بین رفته است ، هر کامپیوتری از Intel 486DX50 بالاتر باشد برای برنامه نویسی کافیست، X ، و ارتباطات اینترنتی ، و کوچکترین دیسک سخت به اندازه کافی بزرگ است.
مهمترین مسالهای که در انتخاب سخت افزار وجود دارد این است که آیا با لینوکس همخوانی دارد (یا با BSD همخوانی دارد). البته برای بسیاری از کامپیوترهای جدید این همخوانی وجود دارد مگر در مورد تعدادی از مودمها و چاپگرها که مخصوص ویندوز طراحی شده اند.
یک FAQ درباره ی سازگاری سخت افزار ها وجوددارد؛ آخرین نسخه ی آن اینجاست.
س : باید از مایکرو سافت متنفر باشم ؟
ج : نه! نه اینکه میکروسافت نفرتانگیز نیست؛ مساله این است که فرهنگ هکر مدتها قبل از مایکروسافت وجود داشته است و مدتها بعد از آن هم خواهد بود. انرژیی را که برای نفرت از مایکروسافت صرف میکنید، برای عشق به هنرتان مصرف کنید. اگر برنامهای خوب بنویسید، مشت محکمی است بر دهان مایکروسافت و خونتان را را کثیف نمیکند.
س: ولی بازمتن برنامه نویسها را بیکار نمیکند؟
ج : حقیقتا برعکس این است، تا بحال صنعت بازمتن بیشتر اشتغال زایی کرده است تا از بین بردن آن. اگر داشتن یک برنامه آماده اقتصادی تر از نداشتن آن است، در هر حال یک برنامه نویس حقوقش را می گیرد چه برنامه بازمتن باشد یا نباشد و مهم نیست چقدر نرم افزار" آزاد " هست ، به نظر می رسد همیشه تقاضای بیشتری برای نرم افزارهای جدید یا تطبیق داده شده وجود دارد. من در این باره در ورقهای Open Source بیشتر خواهم نوشت.
س : چطور شروع کنم ؟ از کجا یک یونیکس آزاد پیدا کنم ؟
ج : قبلا راجع به پیدا کردن یونیکسهای معمول آزاد توضیح داده ام. برای هکر شدن به انگیزه خلاقیت و قابلیت خود آموزی نیاز دارید. پس دیگر شروع کنید...
((فکر نکنم مشکلی باشه اگر بنویسیم برای پیدا کردن این ها می تونید به تکنوتاکس مراجعه کنید ،هم ترجمه ی ترکی و هم ترجمهی آلمانیش یه آدرسهای اضافی دارند))
اریک ریموند نسخه ی اصلاحی (Reversion) شماره ی 1.29.
منبع: http://www.catb.org/~esr/faqs/hacker-howto.html
ترجمه: آرش بیژنزاده
ویرایش و اصلاحات: نوید عبدی، آلن باغومیان
|
بررسی نحوه عملکرد فایروال Firewallیا ديواره آتش |
| ||||
قبل از تحليل اجزای ديوار آتش عملكرد كلی و مشكلات استفاده از ديوار آتش را بررسی ميكنيم.
بسته های TCP و IP قبل از ورود يا خروج به شبكه ابتدا وارد ديوار آتش ميشوند و منتظر ميمانند تا طبق معيارهای حفاظتی و امنيتی پردازش شوند. پس از پردازش و تحليل بسته سه حالت ممكن است اتفاق بيفتد :
1- اجازه عبور بسته صادر ميشود (Accept Mode)
2- بسته حذف ميشود (Blocking Mode)
3- بسته حذف شده و پاسخ مناسب به مبدا آن بسته داده شود (Response Mode)
غير از حذف بسته ميتوان عملياتی نظير ثبت ، اخطار، ردگيری، جلوگيری از ادامه استفاده از شبكه و توبيخ هم در نظر گرفت.
به مجموعه قواعد ديوار آتش سياستهای امنيتی نيز گفته ميشود. همانطور كه همه جا عمليات ايست و بازرسی وقتگير و اعصاب خرد كن است ديوار آتش هم بعنوان يك گلوگاه ميتواند منجر به بالا رفتن ترافيك ، تاخير، ازدحام و نهايتا بن بست در شبكه شود. یعنی بسته ها آنقدر در پشت ديوار آتش معطل ميمانند تا زمان طول عمرشان به اتمام رسيده و فرستنده مجبور میشود مجددا اقدام به ارسال آنها كند و اين كار متناوبا تكرار ميگردد. به همين دليل ديوار آتش نياز به طراحی صحيح و دقيق دارد تا کمترین تاخیر را در اطلاعات امن و صحیح ایجاد نماید. تاخير در ديوار آتش اجتناب ناپذير است و فقط بايد به گونه ای باشد كه بحران ايجاد نكند.
از آنجايی كه معماری شبكه به صورت لايه لايه است ، در مدل TCP/IP برای انتقال يك واحد اطلاعات از لايه چهارم بر روی شبكه بايد تمام لايه ها را بگذراند، هر لايه برای انجام وظيفه خود تعدادی فيلد مشخص به ابتدای بسته اطلاعاتی اضافه كرده و آنرا تحويل لايه پايين تر ميدهد. قسمت اعظم كار يك ديوار آتش تحليل فيلدهای اضافه شده در هر لايه و header هر بسته ميباشد
سياست امنيتی يك شبكه مجموعه ای متناهی از قواعد امنيتی است كه بنابر ماهيتشان در يكی از لايه های ديوار آتش تعريف ميشوند :
1- قواعد تعيين بسته های ممنوع (بسته های سياه) در اولين لايه از ديوار آتش
2- قواعد بستن برخی از پورتها متعلق به سرويسهايی مثل Telnet يا FTP در لايه دوم
3- قواعد تحليل header متن يك نامه الكترونيكی يا صفحه وب در لايه سوم
لايه اول ديوار آتش:
لايه اول ديوار آتش بر اساس تحليل بسته IP و فيلدهای header اين بسته كار ميكند و در اين بسته فيلدهای زير قابل نظارت و بررسی هستند :
1- آدرس مبدا : برخی از ماشينهای داخل و يا خارج شبكه با آدرس IP خاص حق ارسال بسته نداشته باشند و بسته هايآنها به محض ورود به ديوار آتش حذف شود.
2- آدرس مقصد : برخی از ماشينهای داخل و يا خارج شبكه با آدرس IP خاص حق دريافت بسته نداشته باشند و بسته های آنها به محض ورود به ديوار آتش حذف شود. (آدرس های IP غير مجاز توسط مسئول ديوار آتش تعريف ميشود.)
3- شماره شناسايی يك ديتاگرام قطعه قطعه شده (Identifier & Fragment Offset) : بسته هايی كه قطعه قطعه شده اند يا متعلق به يك ديتاگرام خاص هستند بايد حذف شوند.
4- شماره پروتكل : بسته هايی كه متعلق به پروتكل خاصی در لايه بالاتر هستند ميتوانند حذف شوند. يعنی بررسی اينكه بسته متعلق به چه پروتكلی است و آيا تحويل به آن پروتكل مجاز است يا خير؟
5- زمان حيات بسته : بسته هايی كه بيش از تعداد مشخصی مسيرياب را طی كرده اند مشكوك هستند و بايد حذف شوند.
6- بقيه فيلدها بنابر صلاحديد و قواعد امنيتی مسئول ديوار آتش قابل بررسی هستند.
مهمترين خصوصيت لايه اول از ديوار آتش آنست كه در اين لايه بسته ها بطور مجزا و مستقل از هم بررسی ميشوند و هيچ نيازی به نگه داشتن بسته های قبلی يا بعدی يك بسته نيست. بهمين دليل ساده ترين و سريع ترين تصميم گيری در اين لايه انجام ميشود. امروزه برخی مسيريابها با امكان لايه اول ديوار آتش به بازار عرضه ميشوند يعنی به غير از مسيريابی وظيفه لايه اول يك ديوار آتش را هم انجام ميدهند كه به آنها مسيريابهای فيلتركننده بسته (Pocket Filtering Router ) گفته ميشود. بنابراين مسيرياب قبل از اقدام به مسيريابی بر اساس جدولی بسته های IP را غربال ميكند و تنظيم اين جدول بر اساس نظر مسئول شبكه و برخی قواعد امنيتی انجام ميگيرد.
با توجه به سزيع بودن اين لايه هرچه درصد قواعد امنيتی در اين لايه دقيقتر و سخت گيرانه تر باشند حجم پردازش در لايه های بالاتر كمتر و در عين حال احتمال نفوذ پايين تر خواهد بود ولی در مجموع بخاطر تنوع ميلياردی آدرسهای IP نفوذ از اين لايه با آدرسهای جعلی يا قرضی امكان پذير خواهد بود و اين ضعف در لايه های بالاتر بايد جبران شود.
لايه دوم ديوار آتش:
در اين لايه از فيلدهای header لايه انتقال برای تحليل بسته استفاده ميشود. عمومی ترين فيلدهای بسته های لايه انتقال جهت بازرسی در ديوار آتش عبارتند از :
1- شماره پورت پروسه مبدا و مقصد : با توجه به آنكه پورتهای استاندارد شناخته شده هستند ممكن است مسئول يك ديوار آتش بخواهد سرويس ftp فقط در محيط شبكه محلی امكان پذير باشد و برای تمام ماشينهای خارجی اين امكان وجود نداشته باشد. بنابراين ديوار آتش ميتواند بسته های TCP با شماره پورت های 20 و 21 (مربوط به ftp) كه قصد ورود و خروج از شبكه را دارند ، حذف كند. يكی ديگر از سرويسهای خطرناك كه ممكن است مورد سو استفاده قرار گيرد Telnet است كه ميتوان به راحتی پورت 23 را مسدود كرد. يعنی بسته هايی كه مقصدشان شماره پورت 23 است حذف شوند.
2- فيلد شماره ترتيب و فيلد Acknowledgment : اين دو فيلد نيز بنا بر قواعد تعريف شده توسط مسئول شبكه قابل استفاده هستند.
3- كدهای كنترلی (TCP code Bits) : ديوار آتش با بررسی اين كدها ، به ماهيت آن بسته پی برده و سياستهای لازم را بر روی آن اعمال ميكند. بعنوان مثال يك ديوار آتش ممكن است بگونه ای تنظيم شود كه تمام بسته هايی كه از بيرون به شبكه وارد ميشوند و دارای بيت SYN=1 هستند را حذف كند. بدين ترتيب هيچ ارتباط TCP از بيرون به درون شبكه برقرار نخواهد شد.
از مهمترين خصوصيات اين لايه آنست كه تمام تقاضا های برقراری ارتباط TCP بايستی از اين لايه بگذرد و چون در ارتباط TCP ، تا مراحل " سه گانه اش" به اتمام نرسد انتقال داده امكان پذير نيست لذا قبل از هر گونه مبادله داده ديوار آتش ميتواند مانع برقراری هر ارتباط غير مجاز شود. يعنی ديوار آتش ميتواند تقاضاهای برقراری ارتباط TCP را قبل از ارائه به ماشين مقصد بررسی نموده و در صورت قابل اطمينان نبودن مانع از برقراری ارتباط گردد. ديوار آتش اين لايه نياز به جدولی از شماره پورتهای غير مجاز دارد.
لايه سوم ديوار آتش:
در اين لايه حفاظت بر اساس نوع سرويس و برنامه كاربردی انجام ميشود. يعنی با در نظر گرفتن پروتكل در لايه چهارم به تحليل داده ها ميپردازد. تعداد header ها در اين لايه بسته به نوع سرويس بسيار متنوع و فراوان است. بنابراين در لايه سوم ديوار آتش برای هر سرويس مجزا (مانند وب، پست الكترونيك و...) بايد يك سلسله پردازش و قواعد امنيتی مجزا تعريف شود و به همين دليل حجم و پيچيدگی پردازش ها در لايه سوم زياد است. توصيه موكد آنست كه تمام سرويسهای غير ضروری و شماره پورتهايی كه مورد استفاده نيستند در لايه دوم مسدود شوند تا كار در لايه سوم كمتر باشد.
بعنوان مثال فرض كنيد كه موسسه ای اقتصادی، سرويس پست الكترونيك خود را دائر نموده ولی نگران فاش شدن برخی اطلاعات محرمانه است. در اين حالت ديوار آتش در لايه سوم ميتواند كمك كند تا برخی آدرسهای پست الكترونيكی مسدود شوند و در عين حال ميتواند در متون نامه های رمز نشده به دنبال برخی از كلمات كليدی حساس بگردد و متون رمز گذاری شده را در صورتی كه موفق به رمزگشايی آن نشود حذف نمايد.
بعنوان مثالی ديگر يك مركز فرهنگی علاقمند استقبل از تحويل صفحه وب به كاربر درون آنرا از لحاظ وجود برخی از كلمات كليدی بررسی نمايد و اگر كلماتی كه با معيارهای فرهنگی مطابقت ندارد درون صفحه يافت شد آن صفحه را حذف نمايد.
فيلترهای Stateful و هوشمند:
دقت كنيد كه فيلترهای معمولی كارايی لازم را برای مقابله با حملات ندارند زيرا آنها بر اساس يك سری قواعد ساده بخشی از ترافيك بسته های ورودی به شبكه را حذف ميكنند. امروزه بر عليه شبكه ها حملانی بسيار تكنيكی و هوشمند طرح ريزی ميشود بگونه ای كه يك فيلتر ساده قابل اعتماد و موثر نخواهد بود. بديهی است كه يك فيلتر يا ديوار آتش قطعا بخشی از ترافيك بسته ها را به درون شبكه هدايت خواهد كرد . (زيرا در غير اينصورت شبكه داخلی هيچ ارتباطی با دنيای خارج نخواهد داشت.) نفوذگر برای آنكه ترافيك داده های مخرب او حذف نشود تلاش ميكند با تنظيم مقادير خاص در فيلدهای بسته های TCP و IP آنها را با ظاهری كاملا مجاز از ميان ديوار آتش يا فيلتر به درون شبكه بفرستد. به عنوان مثال فرض كنيد فيلتری تمام بسته ها به غير از شماره پورت 80 (وب) را حذف ميكند. حال يك نفوذگر در فاصله هزاران كيلومتری ميخواهد فعال بودن يك ماشين را از شبكه بيازمايد. بدليل وجود فيلتر او قادر نيست با ابزارهايی مانند Ping ، Nmap و Cheops و ... از ماشينهای درون شبكه اطلاعاتی كسب كند. بنابراين برای غلبه بر اين محدوديت يك بسته SYN-ACK (با شماره پورت 80) به سمت هدف ميفرستد. يك ديوار آتش معمولی با بررسی Source Port به اين بسته اجازه ورود به شبكه را ميدهد زيرا ظاهر آن نشان ميدهد كه توسط يك سرويس دهنده وب توليد گشته است و حامل داده های وب ميباشد. بسته به درون شبكه داخلی راه يافته و و چون ماشين داخلی انتظار دريافت آنرا نداشته پس از دريافت يكی از پاسخ های RESET يا ICMP Port Unreliable را برميگرداند. هدف نفوذگر بررسی فعال بودن چنين ماشينی بوده است و بدين ترتيب به هدف خود ميرسد. فيلتر بسته (يا ديوار آتش ) نتوانسته از اين موضوع باخبر شود! برای مقابله با چنين عملياتی ديوار آتش بايد فقط به آن گروه از بسته های SYN-ACK اجازه ورود به شبكه را بدهد كه در پاسخ به يك تقاضای SYN قبلی ارسال شده اند. همچنين بايد بشرطی بسته های ICMP Echo Reply بدرون شبكه هدايت شود كه حتما در پاسخ يك پيام ICMP Echo Request باشد. يعنی ديوار آتش بايد بتواند پيشينه (History) بسته های قبلی را حفظ كند تا در مواجهه با چنين بسته هايی درست تصميم بگيرد. ديوار های آتشی كه قادرند مشخصات ترافيك خروجی از شبكه را برای مدتی حفظ كنند و بر اساس پردازش آنها مجوز عبور صادر نمايند ديوار آتش هوشمند ناميده ميشوند.
البته نگهداری مشخصات ترافيك خروجی شبكه (يا ورودی) در يك فيلتر Stateful هميشگی نيست بلكه فقط كافی است كه ترافيك چند ثانيه آخر را به حافظه خود بسپارد! وجود فيلترهای Stateful باعث ميشود بسته هايی كه با ظاهر مجاز ميخواهند درون شبكه راه پيدا كنند از بسته های واقعی تميز داده شوند. بزرگترين مشكل اين فيلتر ها غلبه بر تاخير پردازش و حجم حافظه مورد نياز ميباشد.ولی در مجموع قابليت اعتماد بسيار بالاتری دارند و ضريب امنيت شبكه را افزايش خواهند داد. اكثر فيلترهای مدرن از اين تكنيك بهره گيری نموده اند. يك ديوار آتش يا فيلتر هوشمند و Stateful پيشينه ترافيك خروجی را برای چند ثانيه آخر به خاطر ميسپارد و بر اساس آن تصميم ميگيرد كه آيا ورود يك بسته مجاز است يا خير.
ديوار آتش مبتنی بر پراكسی (Proxy Based Firewall):
فيلترها و ديوارهای آتش معمولی و Stateful فقط نقش ايست و بازرسی بسته ها را ايفا ميكنند. هر گاه مجوز برقراری يك نشست صادر شد اين نشست بين دو ماشين داخلی و خارجی بصورت مستقيم (انتها به انتها) برقرار خواهد شد . بدين معنا كه بسته های ارسالی از طرفين پس از بررسی عينا تحويل آنها خواهد شد.
فيلترهای مبتنی بر پراكسی رفتاری كاملا نتفاوت دارند:
وقتی ماشين مبدا تقاضای يك نشست (Session) مثل نشست FTP يا برقراری ارتباط TCP با سرويس دهنده وب را برای ماشين ارسال ميكند فرايند زير اتفاق ميافتد:
پراكسی به نيابت از ماشين مبدا اين نشست را برقرار ميكند. يعنيطرف نشست ديوار آتش خواهد بود نه ماشين اصلی! سپس يك نشست مستقل بين ديوار آتش و ماشين مقصد برقرار ميشود. پراكسی داده های مبدا را ميگيرد ، سپس از طريق نشست دوم برای مقصد ارسال می نمايد. بنابراين :
در ديوار آتش مبتنی بر پراكسی هيچ نشست مستقيم و رو در رويی بين مبدا و مقصد شكل نمی گيرد بلكه ارتباط آنها بوسيله يك ماشين واسط برقرار ميشود. بدين نحو ديوار آتش قادر خواهد بود بر روی داده های مبادله شده در خلال نشست اعمال نفوذ كند. حال اگر نفوذگر بخواهد با ارسال بسته های كنترلی خاص مانند SYN-ACK كه ظاهرا مجاز به نظر می آيند واكنش ماشين هدف را در شبكه داخلی ارزيابی كند در حقيقت واكنش ديوار آتش را مشاهده ميكند و لذا نخواهد توانست از درون شبكه داخلی اطلاعات مهم و با ارزشی بدست بياورد.
ديوار آتش مبتنی بر پراكسی در لايه سوم عمل ميكند و قادر است حتی بر داده های ارسالی در لايه كاربرد مثل محتوای نامه های الكترونيكی يا صفحات وب نظارت كند.
ديوار آتش مبتنی بر پراكسی به حافظه نسبتا زياد و CPU بسيار سريع نيازمندند و لذا نسبتا گران تمام ميشوند. چون ديوار آتش مبتنی بر ديوار آتش بايد تمام نشستهای بين ماشينهای درون و بيرون شبكهرا مديريت و اجرا كند لذا گلوگاه شبكه محسوب ميشود و هر گونه تاخير يا اشكال در پيكربندی آن ، كل شبكه را با بحران جدی مواجه خواهد نمود.
ممكن است از شما سوال شود كه استفاده از كدام نوع ديوارهای آتش در شبكه ای كه امنيت داده های آن حياتی است منطقی تر و امن تر خواهد بود؟
اگر قرار باشد از ديوار آتش مبتنی بر پراكسی در شبكه استفاده شود اندكی از كارايی سرويس دهنده هايی كه ترافيك بالا (مثل سرويس دهنده وب) دارند كاسته خواهد شد زيرا پراكسی يك گلوگاه در شبكه محسوب ميشود. اگر سرويس دهنده ای را برای كل كاربران اينترنت پيكربندی كرده ايد بهتر است در پشت يك ديوار آتش مبتنی بر پراكسی قرار نگيرد.
در طرف مقابل فيلترها و ديوارهای آتش معمولی سريعند وليكن قابليت اطمينان كمتری دارند و نميتوان به آنها به عنوان حصار يك شبكه اطمينان نمود. در نتيجه بهترين پيشنهاد استفاده همزمان از هر دونوع ديوار آتش است. شبكههای متعلق به سازمانها يا موسسات تجاری در دو بخش سازماندهی و پيكربندی ميشوند:
-بخش عمومی شبكه شامل سرويس دهنده وب ، پست الكترونيكی و FTP كه به عموم كاربران اينترنت سرويس ميدهد. اين بخش اصطلاحا DMZ (بخش غير محرمانه غير نظامی!) نام دارد.
-بخش حصوصی يا محرمانه كه صرفا با هدف سرويس دهی به اعضای آن سازمانيا موسسه پياده سازی شده است.
بخش عمومی شبكه توسط يك فيلتر (معمولی يا هوشنمد) حفاظت ميشود تا از كارايی سرويس دهنده آن كاسته نشود. شبكه داخلی در پشت يك ديوار آتش مبتنی بر پراكسی پنهان ميشود تا ضمن غير قابل نفوذ بودن با اينترنت در ارتباط باشد. در چنين ساختاری يك نفوذگر خارجی برای برقراری ارتباط بايك ماشين داخلی دو مانع عمده بر سر راه دارد : فيلتر و ديوار آتش مبتنی بر پراكسی. حال حتی اگر بتواند با مكانيزم های متداول از سد فيلتر بگذرد پشت ديوار آتش متوقف خواهد شد.
ديوار های آتش شخصی:
يك ديوار آتش كل ماشينها شبكه داخلی را حفاظت ميكند. سوال مهم اينست كه در محيطهای معمولی مانند ISP كه هيچ ديوار آتش يا فيلتری نصب نشده و و ماشينهای اعضای شبكه بی حفاظ رها شده اند تكليف كاربران بی گناه چيست؟!!
بسياری از كاربران ISP كه از مودمهای معمولی يا سريع (مثل سری xDSL) برای اتصال به شبكه اينترنت استفاده ميكنند بدليل عدم وجود يك سيستم امنيتی قدرتمند به دام نفوذگران بدخواه می افتند و داده هايشان سرقت ميشود و يا مورد آزار و اذيت قرار ميگيرند. اينگونه حوادث نادر نيست بلكه هر روز اتفاق می افتد. حال چگونه ميتوان از اين ماشينها حفاظت كرد؟
ديوار آتش شخصی (PersonalFirewall) يك ابزار نرم افزاری است كه روی ماشين شما نصب ميشود و ورود و خروج بسته ها به یا از ماشين را نظارت ميكند و مانع دسترسی غير مجاز به منابع شده و از داده ها حفاظت ميكند.
در اکثر نسخه های لینوکس و همچنین در ویندوز اکس پی هنگام نصب ، يك ديوار آتش با يكسری قواعد پيش فرض و نسبتا مطمئن بر روی ماشين كاربر فعال شده و ترافيك بسته ها را نظارت ميكند و حتی الامكان از دسترسی غير مجاز به آن جلوگيری ميكند. اگر کاربری بخواهد از ضریب تنظیمات امنیتی بالاتری بر خوردار شود بايد سطوح امنیتی بالاتری را با پیکربندی فایروال در نظر بگیرد و یا از فایروالهای سخت افزاری علاوه بر فایروالهای ذکر شده استفاده نماید .
حفره ی امنیتی در اینترنت اکسپلورر Internet Explorer کشف و گزارش شده است که می تواند برای دسترسی و نفوذ غیر مجاز به سیستم ها مورد استفاده قرار گیرد همچنین چنین آسیب پذیری هایی خطر بالقوه ای برای سیستمهای آسیب پذیر می باشند.
ورودی داده شده از طریق لینک های در یک صفحه HTML پیش از ایجاد یک فایل قابل پرینت printable HTML file بخوبی بررسی نمی گردد و می تواند جهت اجرای اسکریپت های دلخواه در زمانی که کاربر یک صفحه HTML تغییر یافته شده را با فعال کردن گزینه "Print table of links" پرینت می گیرد ، مورد سو استفاده قرار گیرد .
این آسیب پذیری کاربران دو نسخه معروف و رایج
Microsoft Internet Explorer 6.x
Microsoft Internet Explorer 7.x
را مورد هدف قرار می دهد و می تواند باعث اجرا هر کد دلخواه بر روی سیستم کاربر و نصب ابزار های آلوده مورد استفاده قرار گیرد .
توصیه می شود صفحات HTML از منابع نامعتبر را با استفاده از گزینه "Print table of links" پرینت نگیرید .
منبع:
http://www.bugtraq.ir/advisory/30141
|
هرزنامه نويس ها که سال گذشته با ساخت هرزنامه هاي image و attachment غوغا به پا کردند، اينک به هرزنامه هاي URL-based روي آورده اند. گزارش جديد X-Force نشان مي دهد امروزه هرزنامه هاي URL based حدود 90 درصد تمام هرزنامه ها را شامل مي شود. X-Force (سامانه امنيت اينترنتي آي بي ام) که تهديدات امنيتي وب مبنا (Web-based) را ردگيري مي کند، اين کار را با استفاده از مونيتورينگ ترافيک آنلاين انجام مي دهد و در اين روش از ترکيب تحقيقات صورت گرفته، honey pot ها، Web crawler ها و ... بهره مي گيرد. گزارش X-Force's 2008 Mid-Year Trend Statistics حاکي از آن است که استفاده از لينک-هاي اينترنتي و پيام هاي کوتاه در اسپم ها، باعث شده است شناسايي اين ايميل هاي ناخواسته براي بسياري از فناوري هاي ضد هرزنامه مشکل شود. در واقع مدت زمان فعال بودن URL هايي که در اين هرزنامه ها تعبيه مي شود، به گونه اي است که گويي هرزنامه نويس ها از تکنيک hit-and-run استفاده مي کنند و اين امر به دام انداختن اسپم ها توسط کارشناسان امنيتي را بسيار دشوار مي کند. توماس کراس يکي از پژوهشگران X-Force مي گويد: در هرزنامه هاي تصويري (Image-based spam) تصاوير پيچيده همراه با پيکسل هاي تصادفي، حاشيه هاي تصادفي يا متن-هاي موجي شکل مورد استفاده قرار مي گيرد و هدف اين است که اين نوع هرزنامه ها بتوانند از دام فيلترها بگريزند. وي مي افزايد: چنين هرزنامه هايي ابتدا در سه ماهه اول سال 2007 مشاهده شد. هرزنامه هاي اينترنتي هرزنامه هايي هستند که در آنها يک آدرس اينترنتي تعبيه شده که از طريق آن، ايميل ناخواسته به رايانه قرباني راه پيدا مي کند. در مقام مقايسه، چنين هرزنامه هايي از 60 درصد در سه ماهه اول سال 2007 به 90 درصد رشد در سه ماهه دوم سال 2008 دست يافته اند. هرزنامه هاي URL based در مقايسه با هرزنامه هاي تصويري حجم بسيار کمتري اشغال مي کنند. به گفته توماس کراس از سال 2005 تا 2006 ميانگين حجم ايميل هاي اسپم از 6 کيلوبايت تا 10 کيلوبايت در نوسان بوده اما با توجه به افزايش اسپم هاي اينترنتي و متني، اين ميزان به کمتر از 4 کيلوبايت کاهش يافته است. |
آشنايي با حملات اينترنتي از نوع DOS (بخش اول)
قصد داریم تا طی چند مقاله با نوعی از حمله به نام DoS آشنا شویم که مخفف عبارتDenial-of-Service یا عدم پذیرش سرویس است. این نوع حمله باعث از کارافتادن یا مشغول شدن بیش از اندازه کامپیوتر می شود تا حدی که غیرقابل استفاده می شود. در بیشتر موارد، حفره های امنیتی محل انجام این حملات است و لذا نصب آخرین وصله های امنیتی از حمله جلوگیری خواهند کرد. شایان گفتن است که علاوه بر اینکه کامپیوتر شما هدف یک حمله DoS قرار می گیرد، ممکن است که در حمله DoS علیه یک سیستم دیگر نیز شرکت داده شود. نفوذگران با ایجاد ترافیک بی مورد و بی استفاده باعث می شوند که حجم زیادی از منابع سرویس دهنده و پهنای باند شبکه مصرف یا به نوعی درگیر رسیدگی به این تقاضاهای بی مورد شود و این تقاضا تا جایی که دستگاه سرویس دهنده را به زانو در آورد ادامه پیدا می کند. نیت اولیه و تأثیر حملات DoS جلوگیری از استفاده صحیح از منابع کامپیوتری و شبکه ای و از بین بردن این منابع است. علیرغم تلاش و منابعی که برای ایمن سازی علیه نفوذ و خرابکاری مصروف گشته است، سیستم های متصل به اینترنت با تهدیدی واقعی و مداوم به نام حملات DoS مواجه هستند. این امر بدلیل دو مشخصه اساسی اینترنت است: · منابع تشکیل دهنده اینترنت به نوعی محدود و مصرف شدنی هستند. زیرساختار سیستم ها و شبکه های بهم متصل که اینترنت را می سازند، کاملاً از منابع محدود تشکیل شده است. پهنای باند، قدرت پردازش و ظرفیت های ذخیره سازی، همگی محدود و هدف های معمول حملات DoS هستند. مهاجمان با انجام این حملات سعی می کنند با مصرف کردن مقدار قابل توجهی از منابع در دسترس، باعث قطع میزانی از سرویس ها شوند. وفور منابعی که بدرستی طراحی و استفاده شده اند ممکن است عاملی برای کاهش میزان تاثیر یک حمله DoS باشد، اما شیوه ها و ابزار امروزی حمله حتی در کارکرد فراوان ترین منابع نیز اختلال ایجاد می کند. · امنیت اینترنت تا حد زیادی وابسته به تمام عوامل است. حملات DoS معمولاً از یک یا چند نقطه که از دید سیستم یا شبکه قربانی عامل بیرونی هستند، صورت می گیرند. در بسیاری موارد، نقطه آغاز حمله شامل یک یا چند سیستم است که از طریق سوءاستفاده های امنیتی در اختیار یک نفوذگر قرار گرفته اند و لذا حملات از سیستم یا سیستم های خود نفوذگر صورت نمی گیرد. بنابراین، دفاع برعلیه نفوذ نه تنها به حفاظت از اموال مرتبط با اینترنت کمک می کند، بلکه به جلوگیری از استفاده از این اموال برای حمله به سایر شبکه ها و سیستم ها نیز کمک می کند. پس بدون توجه به اینکه سیستم هایتان به چه میزان محافظت می شوند، قرار گرفتن در معرض بسیاری از انواع حمله و مشخصاً DoS ، به وضعیت امنیتی در سایر قسمت های اینترنت بستگی زیادی دارد. مقابله با حملات DoS تنها یک بحث عملی نیست. محدودکردن میزان تقاضا، فیلترکردن بسته ها و دستکاری پارامترهای نرم افزاری در بعضی موارد می تواند به محدودکردن اثر حملات DoS کمک کند، اما بشرطی که حمله DoS در حال مصرف کردن تمام منابع موجود نباشد. در بسیاری موارد، تنها می توان یک دفاع واکنشی داشت و این در صورتی است که منبع یا منابع حمله مشخص شوند. استفاده از جعل آدرس IP در طول حمله و ظهور روش های حمله توزیع شده و ابزارهای موجود یک چالش همیشگی را در مقابل کسانی که باید به حملات DoS پاسخ دهند، قرار داده است. تکنولوژی حملات DoS اولیه شامل ابزار ساده ای بود که بسته ها را تولید و از «یک منبع به یک مقصد» ارسال می کرد. با گذشت زمان، ابزارها تا حد اجرای حملات از «یک منبع به چندین هدف»، «از چندین منبع به هدف های تنها» و «چندین منبع به چندین هدف»، پیشرفت کرده اند. امروزه بیشترین حملات گزارش شده به CERT/CC مبنی بر ارسال تعداد بسیار زیادی بسته به یک مقصد است که باعث ایجاد نقاط انتهایی بسیار زیاد و مصرف پهنای باند شبکه می شود. از چنین حملاتی معمولاً به عنوان حملات طغیان بسته (Packet flooding) یاد می شود. اما در مورد «حمله به چندین هدف» گزارش کمتری دریافت شده است. انواع بسته ها (Packets) مورد استفاده برای حملات طغیان بسته ، در طول زمان تغییر کرده است، اما چندین نوع بسته معمول وجود دارند که هنوز توسط ابزار حمله DoS استفاده می شوند. · طغیان های TCP: رشته ای از بسته های TCP با پرچم های ( flag ) متفاوت به آدرس IP قربانی فرستاده می شوند. پرچم های SYN، ACK و RST بیشتر استفاده می شوند. · طغیان های تقاضا\پاسخ ICMP (مانند طغیان های ping): رشته ای از بسته های ICMP به آدرس IP قربانی فرستاده می شود. · طغیان های UDP: رشته ای از بسته های UDP به آدرس IP قربانی ارسال می شوند. در مقالات بعدی به بررسی بیشتر حملات DoS خوهیم پرداخت.


