نمایش نتایج 1 تا 18 از 18

نام تاپیک: بهترین روش برای بالا بردن امنیت برنامه

  1. #1

    بهترین روش برای بالا بردن امنیت برنامه

    با سلام خدمت اساتید
    من دو تا سوال دارم در مورد امنیت :
    1- اگر بخواهیم برنامه ای بنویسیم که امنیت خوبی داشته باشه تا بتونیم بدیم بازار و تا حد امکان قفلش شکسته نشه بنظرتون با چه زبانی باید نوشته بشه ؟ تحت دات نت یا مثلا دلفی ؟

    2- از قفلهای سخت افزاری و نرم افزاری موجود کدومها بهتر هستن ؟

    در کل باید بگم من اطلاعاتی درباره امنیت ندارم و نمیدونم بهترین راه حل برای محافظت از برنامه چی هست . اساتید لطفا راهنمایی فرمایند.

    با تشکر

  2. #2
    مدیر بخش آواتار Securebit
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    761

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    1- اگر بخواهیم برنامه ای بنویسیم که امنیت خوبی داشته باشه تا بتونیم بدیم بازار و تا حد امکان قفلش شکسته نشه بنظرتون با چه زبانی باید نوشته بشه ؟ تحت دات نت یا مثلا دلفی ؟
    این بستکی به برنامه نویسی شما داره که چقدر قفل را پیچیده بنویسید برنامه های تحت پلتفورم دات نت بودند که امنیت بالایی داشتند و همینطور بلعکس فقط یک نکته را در مورد برنامه نویسی تحت دات نت در نظر داشته باشید و آن هم اینکه استخراج سورس کد برنامه شما حتی بعد از انجام Obfuscate وجود دارد.

    2- از قفلهای سخت افزاری و نرم افزاری موجود کدومها بهتر هستن ؟
    هر قفلی ضعف ها و قوت های خود را دارد که قبلا در موردشان در همین تالار زیاد بحث شده.

  3. #3

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    با تشکر از جواب شما

    دوست عزیز من نمیخواهم قفل بنویسم بلکه هدف من حفاظت از برنامه های نوشته شده هست . اصلا بعد از نوشتن یک برنامه به چه شکل می توان از آن حفاظت کرد ؟ متاسفانه من در این سایت چیزی ندیدم که جواب مناسبی برای این سوال باشد .

    در مورد قفلها هم یکسری بحثهایی شده مثلا پروتکتور حفاظ که اکثرا بی نتیجه هستند و معمولا به دعوا ختم می شوند .

    من مجددا سوالم را مطرح میکنم و شاید این مشکل خیلی از دوستان دیگر هم باشد
    بعد از نوشتن یک برنامه به چه شکل می توان از آن حفاظت کرد ؟
    آیا باید هنگام برنامه نویسی خود برنامه نویس روشهایی را پیاده کند ؟ و اگر چنین هست این روشها چی هستند و به چه شکل باید استفاده شوند ؟
    اگر باید از ابزارها و قفلهای آماده استفاده شود کدامیک بهتر هستند ؟

    با تشکر

  4. شنبه 28 خرداد 1390, 17:00 عصر

    دلیل
    اسپم

  5. #4
    مدیر بخش آواتار Securebit
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    761

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    چند تا از بهترین قفل نرم افزری برای دات نت و نیتیو نام میبرم ولی مسئولیت استفاده با خود شماست.

    برای دات نت Smart Assembly , deepsea obfuscator , NET Reactor

    برای نیتیو Themida , ASProtect , Armadillo

  6. #5

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    ممنون .
    تکنیک خاصی نیاز نیست که تو برنامه نویسی رعایت شود ؟

  7. #6
    مدیر بخش آواتار Securebit
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    761

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    برای دات نت شما میتونید Strong Name رو به صورت مکرر در قسمتهای مختلف کدتون چک کنید استفاده از Anti Debugger و Anti Jit Hooker و Junk مابین کدها میتونید قبل از Obfuscate استفاده کنید و امنیت رو تا حد قابل توجهی بالا ببرید.
    برای نیتیو از Anti Debugger و Anti Dumper و Anti Hook و Virtual Machine و Junk میتونید قبل از پروتکت استفاده کنید.

  8. #7

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    استاد strong byte باز هم ممنون بخاطر راهنماییهاتون
    پس باید ابتدا از تکنیکهای ذکر شده در پست 6# استفاده بشه و بعد با استفاده از نرم افزارهای ذکر شده در پست 4# پروتکت بشه درست متوجه شدم ؟
    و سوال بعدی من این هست که اگر از قفلهای موجود در بازار استفاده بشه آیا بازهم نیاز هست که از این روشها استفاده بشه یا اینکه این قفلها خودشون این روشها را پیاده می کنند؟ چون من در مورد یکی از قفلها با شرکت ارائه دهنده تماس گرفتم و گفتند که صرفا لایسنس منیجر هست و حفاظتی از فایل اجرایی نمیکنه .

    با تشکر

  9. #8
    مدیر بخش آواتار Securebit
    تاریخ عضویت
    آبان 1386
    محل زندگی
    تهران
    پست
    761

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    پس باید ابتدا از تکنیکهای ذکر شده در پست 6# استفاده بشه و بعد با استفاده از نرم افزارهای ذکر شده در پست 4# پروتکت بشه درست متوجه شدم ؟
    بله کاملا درسته.

    اگر از قفلهای موجود در بازار استفاده بشه آیا بازهم نیاز هست که از این روشها استفاده بشه یا اینکه این قفلها خودشون این روشها را پیاده می کنند؟ چون من در مورد یکی از قفلها با شرکت ارائه دهنده تماس گرفتم و گفتند که صرفا لایسنس منیجر هست و حفاظتی از فایل اجرایی نمیکنه .
    بعضی از پروتکتورهای موجود تمام این تکنیکها رو در قفل استفاده میکنند ولی به دلیل عمومیتی که این پروتکتورها دارند این روشها قابل دور زدن شدند و ابزارهای کرک هم برای فرار کردن از این تکنیک ها پتچ شده البته شما برای نوشتن این تکنیک ها کار سختی در پیش دارید باید با امنیت نرم افزار آشنایی کامل داشته باشید و تمام ابزارها رو بشناسید و برای هر کدام از ابزارها یک پدافند بنویسید.
    پروتکتور اگر فقط لایسنس منیجر باشه نمیتونه امنیت لازم را داشته باشه.

  10. #9

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    واسه برنامه‌های نیتیو VMProtect خوبه .

  11. #10
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    شاید VM خوبی داشته باشه ولی راحت آنپک میشه ، برای کرکرهای متوسط تا حرفه ای زیاد فرقی نخواهد کرد.

  12. #11

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    با تشکر از همه اساتید
    من چندین روز هست که تو سایت جستجو می کنم و از راهنمایی شما عزیزان هم استفاده کردم ولی هنوز یه مشکل دارم . برای یه برنامه نویس که از امنیت اطلاعات نداره و میخواد یه برنامه عمومی تولید کنه غیر از استفاده از پروتکتورها و ... آیا بهتر هست که با دلفی کار بکنه یا با .net ؟؟ من میخوام برنامه تا حد امکان کرک نشه .
    اصلا ریسورس نشدن دلفی در چه مواقعی بکار می آید ؟ اگر برنامه ریسورس بشه کار کراکر چقدر راحت میشود؟ آیا میتواند آنرا دوباره کامپایل کنه و هر تغییری روی آن انجام بده ؟

  13. #12
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    ریسورس نشدن برنامه میتونه موثر باشه در کرک نشدن برنامه ولی همه چیز نیست در واقع یکی از کارهایی که یک پروتکتور انجام میده همین جلوگیری از ریسورس شدن برنامه هستش ، در کل اگر برنامه نویسی از امنیت اطلاعات ، اطلاعات زیادی نداشته باشه فرقی نمیکنه که برنامه خودش رو با دلفی بنویسه یا با دات نت چرا که تقریبا" ضعف هایی مشابهی در برنامه مشاهده خواهد شد ولی اگر فرض کنیم کاربر در مورد امنیت اطلاعات ، اطلاعات خوبی داره در این صورت استفاده از دلفی بهتر هست ، چرا که قابلیت برگشت کامل سورس در کد در برنامه های Native وجود نداره و علاوه دست و بال کاربر برای مانور بر روی مسایل امنیتی در دلفی بازتر هست تا دات نت.

  14. #13

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    nima nt عزیز تا جاییکه من متوجه شدم بدلیل اینکه یکسری روتینها مانند anti hook و... که استاد strong byte در پست 6 اشره کرده اند و یا روتینهای چک قفل که در سورس برنامه قرار دارند ، اگر ریسورس شوند براحتی قابل دور زدن خواهند بود پس برنامه های native از این نظر امنیت بهتری دارند . درست متوجه شدم ؟

  15. #14
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    زمانی این گفته صحیح هستش که برنامه نویس نسبت به کد نویسی امنیتی ناآشنا نباشه ، در این صورت بله تا حدودی صحیح هستش ولی اگر غیر این باشه برای یک کراکر فرقی بین کرک کردن یک برنامه دات نتی یا یک برنامه نوشته شده با دلفی وجود نخواهد داشت.
    منظور بنده در کل این هست که در اگر حفاظتی صورت نگیره در هر دو پلتفرم امکان ریسورس شدن و رسیدن به کد/شبه کد اصلی وجود خواهد داشت.

  16. #15

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    سوالی که الان برای من پیش میاد این هست که آیا این ترفندهای مقابله با کرک (anti hook , ...) آیا باید در یک برنامه تجاری هم استفاده شود یا اینکه این موارد برای طراحی قفلهای نرم افزاری و پروتکتور ها استفاده می شود ؟

    شرکتهایی که محصولاتشونو میدن بیرون در مورد امنیت معمولا چه کاری میکنند ؟ مثلا هلو و یا امثال آن . آیا صرفا استفاده از obfocuscator و پکر ها و پروتکتورها چه پولی و یا مجانی کافی هست یا تکنیکهای برنامه نویسی حتما باید در نظر گرفته شود ؟

  17. #16
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    فرقی نمیکنه شما از این تکنیک ها در یک برنامه حسابداری هم استفاده کنید ولی در نظر داشته باشید که تکنیک هایی که در پروتکتور ها استفاده میشن عمدتا" تجاری هستن و نمیشه به راحتی اونها رو به صرف دونستن روش پیاده سازی کرد پس منطقی نیست بخواهید تمامی تکنیک ها رو از اول خودتون پیاده سازی کنید.
    در مورد سایر شرکتها متاسفانه میشه گفت کار خاصی نمیکنن و بعضا" اصلا" در مورد امنیت نرم افزار متاسفانه اطلاعاتی ندارن و از این رو برنامه هاشون پس از مدتی کرک میشن و ....
    در مورد پروتکتورهای خارجی هم اول سعی کنید از پولی ها استفاده کنید و اصلا" سراغ رایگان ها نرید و اگر هم سراغ پولی ها رفتید ریسک استفاده از نسخه های کرک شده رو به عهده خودتون میذارم چون برخی از این پروتکتورها به نحوی طراحی شدن که با کرک شدن تمامی امکانات اونها فعال نمیشن و به ظاهر شما با تمامی امکانات برنامه خودتون رو محافظت میکنید در صورتی که برنامه شما عملا" شامل امنیت چشمگیری نخواهد بود.

  18. #17

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    با تشکر فراوان
    هر قفلی دیر یا زود میشکند (Nima nt) . خوب پس با این حساب برای یک شرکت که اطلاعاتی از امنیت ندارد بهتر هست که از پروتکتورهای حرفه ای استفاده کند و وقت خود را تلف نکند چون در هر صورت آنها بهتر از روشهای ابداعی عمل می کنند . امیدوارم که درست نتیجه گرفته باشم.
    ولی یک سوال دیگر که برای من پیش می آید این هست که اگر با .net برنامه نویسی بکنیم سورس تا چه حد بر می گردد ؟ آیا کسی می تواند براحتی آنرا کپی کند وبرنامه جدید ایجاد نماید یا اینکه نیاز به کار دارد و صرفا بدرد کرک کردن میخورد ؟ در صورتیکه برنامه پرتکت شود و برنامه پرتکت شده را ریسورس نمایند جواب این سوال چیست ؟

  19. #18
    کاربر دائمی
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    تهران
    پست
    2,397

    نقل قول: بهترین روش برای بالا بردن امنیت برنامه

    هر قفلی دیر یا زود میشکند (Nima nt) . خوب پس با این حساب برای یک شرکت که اطلاعاتی از امنیت ندارد بهتر هست که از پروتکتورهای حرفه ای استفاده کند و وقت خود را تلف نکند چون در هر صورت آنها بهتر از روشهای ابداعی عمل می کنند . امیدوارم که درست نتیجه گرفته باشم.
    مسلما" همین طور هستش ، نه به عنوان کسی که تولید کننده محصولات امنیتی هستش بلکه به عنوان یک دوست عرض میکنم ، مسلما" الان شما خودتون در کار خودتون خبره هستید و اگر من به عنوان یک کارشناس امنیت نرم افزار بخوام کار مشابه شما رو انجام بدم شاید بتونم شبیه کار شما رو درست کنم ولی نمیتونم با همون کیفیت محصولی رو ارائه کنم و برعکس بنابراین بهترین راه برای شرکتهای نرم افزاری این هست که اگر در زمینه امنیت اطلاعات اطلاعاتی ندارن میتونن یا از مشاوره های امنیتی شرکتهای مذکور استفاده کنن یا از محصولات امنیتی موجود که خود بنده مشاوره رو بیشتر ترجیح میدم چرا که اولا" انحصاری در کار نخواهد بود و ثانیا" باعث افزایش سطح علمی تیم فنی شرکت هم خواهد شد و تا حدودی بی نیازی رو برای شرکت فراهم خواهد کرد.
    ولی یک سوال دیگر که برای من پیش می آید این هست که اگر با .net برنامه نویسی بکنیم سورس تا چه حد بر می گردد ؟ آیا کسی می تواند براحتی آنرا کپی کند وبرنامه جدید ایجاد نماید یا اینکه نیاز به کار دارد و صرفا بدرد کرک کردن میخورد ؟ در صورتیکه برنامه پرتکت شود و برنامه پرتکت شده را ریسورس نمایند جواب این سوال چیست ؟
    به صورت کلی برنامه دات نت هر جوری Obfuscate شده باشه میشه به سورس اصلی تبدیلش کرد ولی اگر این برنامه خیلی بزرگ باشه عملا" کار درک کد برای نوشتن دوباره محصول کاری بسیار سختر تر از نوشتن مجدد همون برنامه خواهد بود بنابراین نگران لو رفتن الگوریتم های اختصاصی خودتون باشید ولی نگران لو رفتن کل محصول نه.
    اگر برنامه توسط پروتکتور مناسبی محافظت بشه مسلما" امکان کرک کردن اون کار هرکسی نخواهد بود و این امر باعث خواهد شد که طیف وسیعی از کراکرها امکان کرک کردن برنامه شما رو نداشته باشن پس سعی کنید در حالت اول از مشاوره های امنیتی شرکت های امنیتی فعال بهره بگیرید و اگر تمایلی به این کار ندارید از یک محصول خوب امنیتی ( داخلی یا خارجی ) استفاده کنید ، در مورد محصولات خارجی هم باز تاکید میکنم سعی کنید از نسخه های اصلی استفاده کنید و در استفاده از نسخه های کرک شده ریسک نفرمائید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •