03-22-2013, 09:59 PM
من كدتون رو ندیدم چون روی پی سی نت ندارم فعلن ، فقط خواستم بدونم برای رمز نگاری كلمه عبور فقط به یك md5 خالی بسنده كرده اید یا salt هم بهش اضافه كردید ؟
sonixax نوشته: من كدتون رو ندیدم چون روی پی سی نت ندارم فعلن ، فقط خواستم بدونم برای رمز نگاری كلمه عبور فقط به یك md5 خالی بسنده كرده اید یا salt هم بهش اضافه كردید ؟نه اتفاقا سیستم هش کلمهء عبور این برنامه هم یه داستانی داشت اندازهء تحقیقاتی که روی تابع رندومش کردم.
folaani نوشته: بنده در تابع هش برنامم از SHA256 استفاده کردم؛ چون MD5 مدتهاست سوراخ شده؛ همچنین SHA1 هم دیگه منسوخه برای این کاربرد.
sonixax نوشته: چند راه خیلی خوب برای محافظت از سالت وجود داره :هه هه :e057:
1 - سالتها رو در پوشه ای یک لول پشت شاخه روت به صورت فایلهای مجزا قرار بدید . (همون طور که میدونید فقط اسکریپت به پوشه های پشت روت دسترسی داره و اگر برنامه شما طوری هست که اجازه دسترسی به پشت روت رو میده با پیچیده ترین روشها هم نمیتونید از شر هکر ها در امان باشید چون احتمالن میتونند روی سرور شما اسکریپت خودشون رو اجرا کنند یا از طریق اکسپلویتها هر فایلی که میخواند رو از روی سرور شما دانلود کنند ، البته تنظیم مجوزهای دسترسی (Permission ها) هم خیلی مهمه) .
2 - در برخی جاها که حفاظت از اطلاعات خیلی مهمه یک سرور دیگه با IP جداگانه درنظر گرفته میشه و سالتها روی اون ذخیره میشند . دسترسی تمام IP ها به جز IP سروری که اسکریپت روش اجرا میشه به سرور ریموت بسته میشه . طبیعی هست که این روش هزینه اش هم بیشتره . حتا ممکنه که بخشی از سالت روی یک ریموت سرور و بخش دیگرش روی یک ریموت سرور دیگه باشه یا اصلن بیش از یک سالت روی بیش از یک ریموت سرور باشه .
hash(pepper+salt+password)
نقل قول:3 - من دیده ام که برخی از برنامه نویسان حتا خود هش رو هم روی یک سرور دیگه نگهداری میکنند.معمولا این روشها در عمل صرف نمیکنه و معقول نیست. گذشته از اینکه اصولا اینکه فرض کنید با اضافه کردن یک سرور دیگر و نیاز به تبادل اطلاعات بین این دو سرور، امنیت لزوما خیلی بالا میره، لزوما فرض درستی نیست. چطوری محاسبه چطوری اثباتش میکنید؟ هر سرور خودش یک نقطهء شکست اضافه میکنه چون میتونه نقاط ضعف و حفره های امنیتی و امکان دسترسی افراد دیگری رو داشته باشه. ارتباط بین دو سرور و تبادل شدن اطلاعات حساس از کانال ارتباطی هم خودش نقطهء شکست دیگری رو ایجاد میکنه و امکان دسترسی غیرمجاز این وسط، که البته میشه با استفاده از رمزنگاری اطلاعات رد و بدل شده تاحد زیادی این ضعف رو برطرف کرد، ولی بهرحال بحث ضعف بیشتر در برابر حمله های DOS هم هست، چون صرف بستن راه ارتباط برنامه و نرسیدن یا خراب کردن اطلاعاتی که نیاز داره میتونه باعث اختلال در سرویس دهی و در نتیجه DOS بشه.
4- تا جای ممکن بهتره که دسترسی فیزیکی به هیچ کدام از سرورها وجود نداشته باشه و حتا بهتره سرورها در یک پایگاه واحد نباشند - که البته این دیگه از نکات برنامه نویسی نیست
دست آخر بهتره از یکی روشهای یک یا 2 در اسکریپتتون بهره ببرید چون هر هشی با صرف زمان کافی و سخت افزار مناسب قابل هک شدن هست .
حتا روشهای 1 و 2 هم تضمین 100% ای برای حفاظت نمیدند و باید همواره روشها رو عوض کرد و پیچیده ترشون کرد - این یک جنگه و کسی که از یک روش مشخص و همیشگی استفاده میکنه شکست میخوره .
نقل قول:من دیده ام که برخی از برنامه نویسان حتا خود هش رو هم روی یک سرور دیگه نگهداری میکنند.بیشتر برنامه نویسان تخصص درست و حسابی در امنیت و رمزنگاری ندارن دوست عزیز! نمیدونن اصولش چیه تئوری و علمش چیه حتی از تجربیات در این زمینه هم اطلاع کافی ندارن. کارهایی میکنن بیهوده یا کارهایی که نسبت به هزینشون اصلا صرف نمیکنن، و حتی گاهی بجای اینکه امنیت بر اساس تصور اونا بالاتر بره پایین تر هم میاد!
sonixax نوشته: از کم آوردنت! گریه زاریت! بچه بازیت و اینکه میبینیم به این حال و روز انداختمت لذت میبرمجالبه چون حرفی رو زدی که دقیقا برعکس من باید بهت بزنم.
در ضمن هک کردن MD5 بنا بر فتوای آخوند چینی فراموش نشود
sonixax نوشته: باز هم که شروع کردی زیاده نویسی! زیر شعله رو میخوای کم کنم کمتر جوش بزنی ؟برای من این حرفا اهمیتی نداره. زیرخاکی غیرزیرخاکی! اینا همش کس شعره و درمورد آدمهایی مثل من هم صدق نمیکنه. من از الگو و کلیشه ها و القاهای دیگران پیروی نمیکنم. این بخاطر قدرت روان و شخصیت مستقلی هست که دارم و زیرکی و باریک بینی و دانش و بینش و قدرت ذهنی بالای من!
کسی که میره تاپیک زیر خاکی میاره بالا اون هم خطاب به کس دیگه ای که در بحثهای دیگه باهاش شرکت داره مشخصن درجه حرارتش از 100 هم زده بالاتر:)))
پس یک لیوان آب تگری بنوشید جانم!