رمز نگاری : حملات متداول و راه حل های ممکن


مقدمه
ان از اینکه فقط کاربران مجاز،به اطلاعات حساس شرکت و یا ایمیل های شخصی خودشان دسترسی دارند میتوان کار چندان سادهای نباشد با توجه به این حقیقت که به طور متوسط هر کاربر باید حداقل 4الی 5 رمز را بخاطر بیاورد که برخی از این رمزها باید به طور ماهیانه نیز عوض شوند اکثریت کاربران به هنگام انتخاب و یا به خاطر آوردن یک رمز دچار ناامیدی میشوند و کاملا از عواقب کارهایشان به هنگام کنترل داده های حسابشان، ناگاه هستند.
این مقاله بر این ضرورت دارد که چقدر رمزهای امنیتی با وجود شکستنی بودنشان مهم و ضروری هستند همچنین روشهای مختلفی برای ایجاد و پشتیبانی از رمز ها بیان خواهد شد و متدهای جایگزینی ممکن برای این رمزها که به سه دسته Passphrases،Biomectrics وPKI(Public Key Infrastructure) تقسیم میشوند بررسی خواهد شد.
خطرات تحمیلی رمزها:

با وجود اینکه هنوز اکثریت سازمانها و تقریبا 99% کاربران خانگی ،به رمز ها به عنوان اصلی ترین شیوه کنترل منابع شخصی و حساس،وابسته هستند،اما ایجاد،پشتیبانی ناامن و انتقالات در طول شبکه میتواند درهای اطلاعات شخصی و یا سازمانی هر گروه یا دسته ای را بروی هکرها باز کند.
مدیرانی که هوز از الگوی قدیمی پیروی میکنند،فکر میکنند که ضروری ترین و ساده ترین روش برای شناسایی یک کاربر در یا پایگاه داده شان ،استفاده از رمز (Password)است اما حقیقت این است که کاربران با درک این نکته که لازم است رمزشان را دائما تغییر دهند و یا باید رمز امن داشته باشند ویا از برخی دستورالعمل ها پیروی کنند تا حتی الامکان رمزشان را محفوظ نگه دارند ناامید و آزرده خاطر میشوند و نتیجه این میشود که تعداد زیادی رمز های قابل شکستن بوجود آمده که اکثریت آنها روی سیستم های مختلف یکی هستند وحتی یاداشت هایی که حاوی اسم کاربر و رمز عبور میباشد اطراف میز کاربران یافت میشود.
در هر سیستمی،برخی ازکاربران بخصوص،امتیازاتی دارند که دیگران نداسته و یا نداشته باشند با معرفی کردن خودتان روی یک سیستم کامپیوتری و با هر وب سایت مورد نظری،به شما دسترسی کامل به محیط کارتان و اطلاعات شخصی داده خواهند شد اطلاعات ودادههایی که حساس بوده و نمیخواهید عموم مردم به آنها دسترسی داشته باشند درست مثل حالتی که یک کمپانی نمیخواهد به رقبای خود اجازه دسترسی به اینترنت خود را دهد سناریو های نه چندان جالب که در اثر فاش شدن داده های یک حساب (Account)بوجود میآند به شرح زیر میباشند:

Identity theft: دزدی هویت وقتی رخ میدهد که دادهای حساب شما و یا همان(Account) به دست شخص دیگری افتد و او خودش را به جای شما وانمود کرده تا کنترل هویت دیجیتالی شما را بدست گیرد این مساله باعث ایجاد خسارتهای مالی و هم شخصی خواهد شد
Sensitive Data Exposure: (فاش شدن داده های حساس)_محتوای ایمیل های شخصی شما ،پروژه های کاری ،اسناد و مدارک،... کیتواند به دست هکر ناشناس و یا کس دیگری که میخواهد مخصوصا شما را هدف قرار گذفته است، بیفتد
Company Data Exposure: فاش شدن داده های کمپانی)_ دزدیدن اطلاعات داخلی و محرمانه و حساس یک کمپانی در محافظت داده های حساب افراد میتواند تاثیر بدی روی آن کمپانی داشته باشد مه به طور مثال شما برایش کار می کنید:من شک دارم دوستی داشته باشید نقشه ها وبازار یابی شرکتی مه برایش کار میکنید از طریق شما به دست رقبایش بیفتد
Involvement In Criminal Activities: درگیر شدن در فعالیت های جنایی)_استفاده از حساب شما در فعالیت های مختلف جنایی نیز در اثر پیشتیبانی نادرست رمز ها حاصل میشود به خاطر داشته باشید که در این حالت همیشه با ردیابی مجرمین، پای حساب شما و در خود شما به ماجرا کشیده میشوید
توضیح:به نظر من موارد 1 و 2 کاربرد بیشتری داشته و بقیه موارد صرفا جهت اطلاع میباشد
سناریوهای متداول در فاش شدن رمزها:

Physical Security Breach: (شکستن امنیت به طور فیزیکی)_شکستن فیزیکی کامپیوتر شما حتی پیچیده ترین متدهای امنیتی و کد گذاری های دقیق را باز خواهد کرد یک Keylogger(قفل گشای) نرم افزاری وسخت افزاری ممکن است نصب شود و کلید PGP محرمانه شما فاش شود،بنا براین تمام دادههای حسابتان و با داده های کدگذاری شده شما آشکار خواهد شد مهم نیست که رمز شما چه اندازه کاراکتر داشته باشد و یا کاملا ایمن سازی شده باشد،زیرا شکستن فیزیکی رمز یکی از بحرانی ترین شرایط ممکن است.
Unintentionally Shared: (به اشتراک گذاری غیر عمدی)_یک کاربر ممکن است داده های حساب خود را به اشتراک گذارد بدون توجه به این که فاش کردن آن ،احتمال هک شدن توسط غریبه ها را افزایش میدهد معمولا یک رمز تحت شرایط مختلف بین دوستان ،رئیس ها وافراد خانواده به اشتراک گذارده میشود. یک منفعت بیان شده توسط برخی از کاربران برای این کار راحتی دو یا چند نفر است که با دانستن داده های یک حساب بخصوص میتوانند به یک منبع اطلاعتی ویژه دسترسی داشته باشند. همچنین رمزها از طریق بحث در مورد آنها بین همکاران یک شرکت نیز ممکن است به اشتراک گذارده شود به این ترتیب که در این بحث و گفتگو سیاست های اخیر شرکت برای اینتخاب رمز متدهای ی که هر کاربر برای انتخاب رمز خود استفاده کرده است و چگونگی پشتیباتی رمزها بیان میشود، و در بعضی از موارد در مورد این مساله که هرگز مدیریت از روش آنها برای مخفی کردن داده های حسابشان مطلع نخواهند شد صحبت میشود یکی از ساده ترین و بحرانی ترین روش برای دستیابی به دادهای حساس یک شرکت،سوال در مورد آن است، چه بطور مستقیم و یا غیر مستقیم که در حالت موضوعی است که در حال حاضر مورد توجه مهندسی اجتماعی است.
Cracked: ( شکستن)_گاهی اوقات در بعضی از شرایط دزدی،فایل رمز آن هکر شروع به شکستن فایل رمز خواهد شد ،به این ترتیب که تمام ترکیبات ممکن را بکار خواهد برد تا ضعیف ترین رمز را پیدا کرده و بعدا بتواند با استفاده از آن دیگر رمز ها را نیز باز کند در این شرایط که شرکت از دزدیده شدن فایل های رمز خود مطلع میشود باید بلافاصله به تمام کارمندان هشدار داده شود تا رمز های خود را تغییر دهند که حتی اگر ضعیف ترین رمز نیز شکسته شود دیگر اعتبار نداشته باشد گرچه، تگر شرکت از فاش شدن فایل رمز خود بیخبر باشد باید همواره سعی کند که فایل رمز خود را مثل یک هکر شکسته و ضعیف ترین رمز ها را فیلتر گذاری کند.
Sniffed: (تجسس مخفیانه)_آیا شما میدانید که چند کارمند از طریق کامپیوتری که قبلا رمزش شکسته شده و یا از طریق دوستانشان به اطلاعات و دادهای مهم و حساس دسترسی دارند؟
پاورقی:
(( داشتن قویترین رمزها لزوما مخفی ماندن آنها را تضمین نمیکند خصوصا اگر نقل وانتقالات از طریق اینترنت، کاملا ایمن سازی نشده باشد

به کاربران خود خود این توانایی را ندهید که بین متن ساده و یا SSL، یکی را برای رمز گذلری انتخاب کنند.در عوض تمام ارتباطات شبکه را مجبور سازید تا از حالت کد شده استفاده کنند یک توصیه مهم دیگر این است که بای هرکس خصوصیت (Last Login Form)(فرم آخرین اتصال) را فراهم سازید تا اگر متوجه Login بدون اجازه شدند بلافاصله مورد را گزارش دهند.
Gvessed: (حدس زدن)_نعداد زیادی کاربر هنوز هم سیاست های ساختار یافته رمز گذاری را به نحوی با گذاشتن رمز های حسی خود به بازی میگیرند که این روش به ظاهر قوی ولی در عمل ضعیف هنوز هم متداول است وعلتش هم اینست که تعداد کاربران زیادی برای رمز گذاری از کلمه های پیش پا افتاده مانند : (شماره تلفن،شماره شناسنامه،اسم دوست دختر،....)استفاده میکنند. گرچه امروزه به ندرت از این متد در مقایسه با دیگر روش های بحث شده استفاده میشود.
نکته: همیشه این نکته را به خاطر داشته باشید که بعضی از کاربران هنوز از رمزهایی استفاده میکنند که برپایه موضوعات ویا مارک های تجاری اشیای روی میز کارشان میباشد.
متداول ترین خطاها درپشتیبانی رمزها :
1- خاصیت Auto Fill: (پر کردن خودکار)_اکثریت برنامه کاربردی به شما این اجازه را میدهید که رمز ها و دادهای حساب خود را به حافظه بسپارید، اما اگر مطمئن نیستید که ان کامپیوتر کاملا در برابر شکستن فیزیکی رمز ها ایمن سازس شده است جدا از این به شما توصیه میشود که نگذارید به این روش رمزتان در حافظه برنامه باقی بماند مطمئن شوید که این ویژگی در مکان های عمومی مثل کافی نت ها نیز بکار گرفته نشود.
2- یادداشتهای«Post It»(الحاقی)_اغلب اوقات رمزها روی کاغذ نوشته شده و یا بدنر از همه کنار مانیتور و یا روی میز کار گذاشته میشود در این صورت به راحتی توسط مهاجمین احتمالی و یا افراد داخلی قابل مشاهده است.
3- « The Secret Place» (جایگاه مخفی)_خیلی از مردم فکر میکنند که یک جایگاه مخفی را برای خودشان زیر صفحه کلید و یا زیر میز پیدا کرده اند که کاملا فکر اشتباهی است زیرا اگر کسی متوجه شود نه تنها جایگاه مخفی آنها را یاد گرفته بلکه به راحتی میتواند با پرت کردن حواس آنها به رمز و یا حسابشان دست یابد با این وجود از آنجایی که خیلی از افراد دادهای حسابشان را روی کاغذ و یا PDAهای (رایانه دستی) و غیره نگه میدارند استراتژی زیر میتواند کمک بزرگی را در حفظ دادهایشان انجام دهد تا زمانیکه آن رمز یا داده ها را به خاطر بسپارند و آن کاغذ را دور انداخته و از شر آن خلاص شوند:
حداقل 6 یا 7 رمز متفاوت و قلابی را اطراف رمز اصلی یادداشت کنید حتی برخی از رمز ها را خط بزنید حتی رمز حقیقی را. زیرا اگر شانس بیاورید 2 یا 3 بار Login ناموفق باعث بسته شدن حسابتان خواهد شد و اگر یاداشت های شما بدست شخص دیگر افتاد هنوز این شانس را دارید که ممکن است آن شخس رمز حقیقی را پشدا نکند.گر چه این روش تضمین جدی را مهیا نخواهد ساخت واصلا توصیه نمیشود اما یک روش موثر برای کسانی که رمز خود را نا حفظ شدن کامل روی کاغذ نوشته وپیش خود نگاه میدارند.
چگونه یک رمز ایمن را انتخاب کنید:
انتخاب رمزهای ایمن مستلزم این است که بدانید رمزهای غیر امن کدامند.چگونه رمزها شکسته میشوند و پشت سر ایت«حاداقل 8 کاراکتر متشکل از حروف کوچک،بزرگ،اعداد وارقام و کاراکتر های ویژه»چه چیز هایی نهفته است به طور کلی هر چقدر رمز کوتاهتر باشد احتمال حدس زدن وشکستن آن بیشتر میشود یه هکر رمز تمام ترکیبات موجود از حروف و ارقام را بکار خواهد برد تا رمز مورد نظر را کشف کند استفاده ازحروف مختلف الفبا و آعداد(0-9)که به نام «رمز بر پایه اعداد»شناخته شده است باعث میشود احتمال شکسته شدن رمزتوسط هکر کاهش یابد روش متداول استفاده از دیکشنری مانند استکه بعنوان پایگاه داده رمزهای که به شکل لغات لیست شده و در آن دیکشنری میباشند به راحتی توسط هکر قابل شکسته شدن است به همین دلیل است که توصیه میکنم از رمزهای طولانیتر که شامل حروف و ارقام میباشد استفاده کنید تا هکر مجبور شود وقت بیشتری را صرف شکستن فایل رمز دزدیده کند.
هر زمان که رمزی را میسازید نکات زیر را مدنظر داشته باشید:

1- حداقل طول آن 7کاراکتر باشد و در آن از ترکیب حروف کوچک و بزرگ و حداقل یک عدد و کاراکتر های ویژه چون + -()%$#@! و ... استفاده کنید
2- از یک لغت موجود در دیکشنری و یا ترکیب منطقی ازکارکنر ها مثل aaa555ccc ویا123456789استفاده نکنید.
3- سعی کنید رمزی که قبلا روی سیستم دیگری استفاده میکردید را بکار نبرید هر گز از یک رمز برای دسترسی به تمام داده ها و اطلاعات مهم خود در مکانها وسیستم های مختلف استفاده نکنید.
روش های مختلف رمز نگاری قوی اما در عین حال ساده برای به خاطر آوردن به شرح زیر است:

1- از یک لغت موجود در دیکشنری استفاده کرده مانند(Success) ولی آن را برعکس کنید(sseccus)
2-جلو و یا پشت آن لغت چند عدد اضافه کنید مثلا(146sseccus یا sseccus953)
3-همیسه حداقل از یک کاراکتر ویژه در جایی از رمز خود استفاده کنید مثل(=+-()*&^%$#@!)
4-استفاده حداقل یک حرف بزرگ در رمز احتمال شکسته شدن رمز را افزایش میدهد
5-بجای برخی از کاراکتر ها از اعدادی که به آنها مربوط میباشند استفاده کنید:مثلا به جای Securityاز کلمه s3cur1ty استفاده منید3به جای e و1به جای استفاده شده است
6-هر حروف را با یک عدد از هم جدا کنید مثلا(به جای security از این s1e3c5u7r9i2t4y8 اسنفاده کنید)
چگونه رمز ها را حفظ کنیم:
حفظ کردن تعداد مخفی رمز برای کاربرد های گوناگون،مشکل اصلی اکثریت کاربر استبه همبن علت اغلب آنها حفظ کردن رمز را نادیده گرفته،آنها را روی کاغذ نوشته و یا از رمزهای ضعیف ولی آسان برای بخاطر آوردن استفاده میکننداما اگر افراد سعی کنند رمزها را نه بعنوان ترکیبی از کاراکترهای به دردنخور،بلکه روشی برای مشخص کردن هویتشان درست مثل زمانی که از دستگاه خود پرداز پول میگیرند حفظ کنند به خاطر آوردن این رمزها ساده خواهد شد زیرا در این حالت داده های شخصی وشرکتشان است که باید سعی در محافظت آن کنند
1- مربوط کردن رمزها به یکدیگر:ارنباط رمزها نقش مهمی در حفظ کردن آنها بازی میکند با صرف یک زمان مشخص،حتی میتوانید از یک آدم ژاپنی یاد بگیرید آکر آن شخص بفهمد که شما چه روشی را برای حفظ کردن استفاده میکنید و از همه مهمتر چگونه چیزها را مربوط میسازید دیدن رمز،یک روش بسیار مهم دیگر برای حفظ کردن آن است و ظرف مدت کوتاهی حتی بدون اینکه فکر کنید چه چیزی را تایپ میکنید به راحتی رمز را وارد خواهید کردن یک عادت موقت با توجه به این حقیقت که اکثریت سازمانها وشرکت ها دائما رمزهای خود را تغییر میدهند
2- رمز ها را برای خودتان توضیح دهید:برای مثال رمزY13#tiruceS در حقیقت همان لغت security است که وارونه نوشته شده و اولین وآخرین حرف آن بزرگ بوده و بعد از حرف اول عدد تاریخ تولد دوستتان آمده و بعد یکی از کاراکتر های ویژه استفاده شده است به جای یک مشت کاراکتر های نامربوط حالا شما به زبان کدگذای خودتان نوشته شده است
راه حلهای ممکن :
وقتی متد های رمز نگاری را در هر دو سطح سیاست های ایمن سازی و شبکه،ضروری میکنید اکثریت کاربران ثابت کرده اند که در ایجاد و نگهداری رمزهای قوی وقابل اطمینان نمیباشند بخش خدمات شرکتها، غالبا گرفتارتراز این هستند که تقاضای مربوط به «یافتن رمزهای فراموش شده» را پاسخ دهند و اگر شرکت آگاهی های لازم در خصوص سیستم رمز نگاری را ندهد این مشکل همچنان رشد خواهد کرد.
Passphrases :
Passphrases ها راحت تر میتوان به خاطر آورد ولی ظاهرا شکستن آنها غیر ممکن است اکثر نرم افراهای کدگذاری ازشما میخواهند که از یک Passphrases بعنوان کلید شخصی خود به جای رمز استفاده کنید
Passphrases ها معمولا شبه جمله ای هستند که شما همیشه یاد میاورید،مثلا یک شعار ،یک جمله مرد علاقه و یا ترکیبی از اعداد و حروف وکاراکتر های ویژه گرچه مجازا نمیتوان Passphrases ها رابا استفاده از یک KeyLogger(قفل گشا) میتوان باز کرد و یا به هنگام ارتباطات شبکه ای از طریق ردو بدل متن ساده آنها را حدس زد.
Biomectrics:
Biomectrics ها نسل بعدی متدهای کدگذاری هستند با وجود اینکه هنوز به دلیل هزینه های مربوطه در مراحل اولیه پیاده سازی هستند و گاهی اوقات نیز نتایج اشتباه به بار میاورند اما Biomectrics
ها روشی را که ما خودمان را مجاز به استفاده از چیزی میکنیم، تغییر خواهند داد و احتمالا دقتشان99%خواهد بود Biomectricsرا نمیتوان دزدید،فراموش کرد و یا به شخص دیگری داد سیستم های Biomectrics میتواند شامل سیستم های زیر باشد:
سیستمهای انگشت نگاری،تشخیص صدا ،اسکن شبکیه چشم ، تشخیص نقوش کفدست و تشخیص دست خط.
PKI(Public Key Infrastructure):

توابعPKI(ساختارهای کلید عمومی)به کاربران و سرورها این توانایی را میدهد که با هم ارتباط داشته،خود را شناسایی کرده و هویت خود را توسط مدارک دیجیتالی مشخص کنند که هر یک شامل کایدهای عمومی وشخصی است.
کلید عمومی برای هرکس که میخواهد داده ها را با شخص دیگری مبادله کند در دسترس قرار میگیرد و کلید شخصی تنها روش برای باز کردن کد و یا تشخیص هویت صحصیح است.PKI خصوصا به هنگام ارتباط از طریق شبکه های ناامن مثا اینترنت و یا سرورهای داخلی مفید واقع میشود.
با وجود اینکه متداول ترین روش برای شناسایی یک کاربر از گذشته بسیار دور،استفاده رمز بوده است اما کاربران و سازمان ها متوجه ضعف این روش شده ئ تدریجا در حال تغییر روش خود و استفاده از متدهای دیگر هستند کدگذاری مهمترین قدم بعدی برای اکثر شرکتهای کوچک و متوسط خواهد بود و هم چنین استفاده از متدهای مختلف Biomectrics در سر فصل این تغییرات قرار خواهد گرفت.
در پایان با امید به رضایت این مقاله شما عزیزان رو به خدا میسپارم
منبع: کتاب ؛امنیت، شرط هر کار