چهارشنبه, ۵ اردیبهشت, ۱۴۰۳ / 24 April, 2024
مجله ویستا

آنچه از password نمی‌دانید


آنچه از password نمی‌دانید
اكثر account ها روی سیستم های كامپیوتری معمولاً متدهای خاصی از دسترس محدود به آن account دارند. هر زمان كه قصد دسترسی به یك سیستم داشته باشید باید یك ID صحیح را وارد كرده و با وارد كردن password وارد account خود شوید.اكثر سیستم ها پسوردها را نشان نمی دهند و به جای كاراكتر های واقعی از ستاره یا نقطه استفاده می كنند.
روی اكثر سیستم ها پسورد از میان چندین الگوریتم عبور داده می شود تا به صورت hash (رمز شده) در آید. Hash معمولاً بیشتر از كاراكترهایی است كه به عنوان پسورد وارد شده اند . معمولاً hash به صورت غیرقابل برگشت درست می شود یعنی با هیچ الگوریتمی نمی توان hash را به متن اصلی تبدیل كرد.
اكثر سیستم ها در هنگام تعیین هویت پسوردهای ذخیره شده را آشكار نمی كنند و آنها از ابتدا متن وارد شده را hash كرده و با hash ذخیره شده مقایسه می كنند.در رمز نویسی بعضی از الگوریتم ها بهتر از الگوریتم های دیگر برای ساختن hash غیرقابل برگشت هستند.برای crack كردن یك پسورد لازم است شما یك كپی از hash كه روی سرور ذخیره شده است بگیرید و بعد الگوریتم را به كار بگیرید تا hash شده متن های شما را تولید كند تا زمانیكه hash شما با hash سرور یكسان شود.
در این هنگام كلمه ای كه شما برای تولید hash به كار برده اید همان پسورد سیستم مورد حمله شما می باشد. چون انجام این كار به روش دستی زمان زیادی می برد از اتوماسیون استفاده می شود. نرم افزارهای رایگان زیادی در اینترنت برای شكستن پسوردهای سیستم عامل های مورد مطالعه ما وجود دارد.اگر hash های غیر قابل برگشت نه خود پسوردها بلكه مشتق آنها هستند پس چرا از آنها محافظت می كنیم؟
چون الگوریتمی كه آنها را تولید می كند شناخته شده است. یك هكر می تواند با برنامه های مخصوص این كار ، به سادگی پسوردهای ممكن را رمز كرده و آنها را با پسوردهای داخل hash مقایسه كند تا زمانیكه پسورد را پیدا كند.
۲ روش برای شكستن پسورد بكار برده می شود : روش dictionary و روش Boute force معمولا hash ها در قسمتی از سیستم ذخیره می شوند كه امنیت ویژه ای دارد تا دسترسی كراكرهای مستعد به آن محدود شود.
● منظور از شكستن پسورد به روش dictionary چیست؟
یك برنامه شكننده پسورد به سادگی لیستی از dictionary را می گیرد و هر لحظه یك لغت را رمز كرده و با hash سیستم مقایسه می كند تا زمانیكه هر ۲ hash برابر شوند و پسورد شكسته شود. در این هنگام لغتی از dictionary كه آزمایش شده است همان پسورد سیستم است.بعضی از این برنامه ها می توانند با به كارگیری فیلترهای مخصوص كلمات را دستكاری كنند.قواعد این فیلترها به شما اجازه می دهد مثلاً (rnazari) را به (Rnazar۱) تغییر دهید. استفاده از این فیلترهای باعث می شوند كه شما بتوانید از یك لیست كوچك لیستی بزرگ ساخته و آزمایش كنید .
بهترین نوع شناخته شده از این فیلترهای خارق العاده در برنامه های crack كه برای محیط Unix طراحی شده اند موجود است. قواعد این فیلترها كلا شناخته شده و به تازگی در برنامه هایی كه برای nt طراحی شده اند گنجانیده شده است.اگر برنامه crack شما چنین قابلیتی ندارد شما می توانید با برنامه therions password utility كه برای محیط dos طراحی شده است می تواند با روش های زیادی یك لیست كوچك از كلمات را از شما گرفته و به یك لیست خیلی بزرگ تبدیل كند و سپس شما می توانید آنرا به كار بگیرید.
● منظور از شكستن پسورد به روش Brute force چیست؟
یك برنامه crack به روش Brute force به سادگی و با قواعدی خاص لغاتی را به صورت اتوماتیك ساخته و با hash مقایسه می كند. فرق این روش با روش قبلی در این است كه تمام لغات به صورت اتوماتیك ساخته می شوند. از دیدگاه یك هكر این روش خیلی وقت گیر بوده و قسمت زیادی از قدرت cpu را هدر می دهد.خیلی از برنامه های این حملات تنظیماتی را به شما می دهند تا با این تنظیمات در زمان صرف شده و قدرت cpu صرفه جویی كنید. مثلاً می توانید طول پسورد ساخته شده یا كاراكترهایی كه برای ساختن لغات به كار برده خواهد شد را معین كنید.
● كدام روش برای crack كردن بهترین است؟
جواب این سوال مرتبط است با هدف شما ، برنامه crack ای كه به كار می برید، سیستم عامل سرور هدف چند فایل dictionary با طول های متفاوت مثلاً ۱،۲،۳،۴،۵،۶،۷،۸ و . . . از اینترنت بگیرید بعد این فایلها را گسترش داده و فیلترهایی روی آنها اعمال كنید ، تا هر چه جامع تر شود و در اكثر موارد انتخاب نخست تان روش dictionary باشد اگر با این همه لغات باز هم نتوانستید یك hash را بشكنید .
دیگر متأسفانه باید از روش Brute force استفاده كرده و سیستم خود را چند روزی مشغول این كار كنید.برای بالا بردن امنیت پسوردها بعضی از الگوریتم ها از salt استفاده می كنند . این عمل باعث می شود پیچیدگی پسورد زیادتر و شكستن آن سخت تر شود. Salt ها معمولاً ۲ تا ۸ بایت درازا دارند و با الگوریتم خود باعث می شوند كه ابهام hash غیرقابل برگشت بیشتر شود. اكثر سیستم عامل ها این روش را پوشش می دهند بجز nt . اگر ۲ پسورد عین هم با این الگوریتم hash شود hash ها عین هم نخواهند بود و در این روش ۴۰۹۶ نوع hash از یك پسورد می توان ساخت و كار شكستن نیز به همان اندازه سخت تر خواهد شد. با همه این احوال salt نیز امنیت صد در صد پسورد را گارانتی نمی كند.
● حمله برای شكستن پسورد چه خطراتی دارد؟
یكی از خطرات این حمله محكوم بودن شما از نظر قوانین است البته فعلا در كشور ما چنین قانونی وجود ندارد و فقط در شرایطی شما را دستگیر می كنند كه شما به یكی از سرورهای دولتی، اداری، یا بانكی حمله كرده باشید. البته اگر نوع اشتراك شما كارتی نباشد و شماره تلفن تان را مخفی نكرده باشید در غیر اینصورت احتمال اینكه كسی شما را ردیابی كند كم است.اگر شما نتوانید فایل hash را كپی كنید شاید دلتان بخواهد كه به صورت remote این حمله را پایه ریزی كنید كه در این صورت یك اشكال پیش خواهد آمد.
اكثر سرورها طوری تنظیم می شوند كه اگر شما چندین بار پسورد را اشتباهی وارد كردید دسترسی آن account را برای مدت زمانی كه از پیش تعریف شده است قطع می كنند.اما این روش خود یك ایرادی دارد و آن اینكه سرور در این حالت دچار حمله Dos می شود.
منبع : روزنامه ابرار


همچنین مشاهده کنید