PDA

View Full Version : کد نویسی امن -- امنیت نرم افزار



noroozifar
جمعه 02 دی 1390, 15:44 عصر
چرا هیچ بحثی در زمینه امنیت نرم افزار .. پایگاه داده و انواع معماریهای امنیت ،در سایت مطرح نیست و اگر هم هست خیلی کوتاه و کلی بحث نشده ؟

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

همه نرم افزار می نویسند اما به امنیت کمتر توجه کرده اند؟؟؟
چرا؟؟؟

mmd2009
جمعه 02 دی 1390, 15:51 عصر
با سلام

امنیت در پایگاه داده ها چون مربوط به بخش سی شارپ نیست عنوان رو درست کردم. لطفا برای امنیت در پایگاه داده ها ( حالا هر کدومشون ) به بخش خودشون مراجعه کنید وسوال رو اونجا مطرح کنید

موفق باشید.

sobaisobai
جمعه 02 دی 1390, 16:19 عصر
همه نرم افزار می نویسند اما به امنیت کمتر توجه کرده اند؟؟؟
چرا؟؟؟
سلام
شما از کجا میدونید که به امنیت کمتر توجه میکنن؟

noroozifar
جمعه 02 دی 1390, 19:47 عصر
امنیت در پایگاه داده ها چون مربوط به بخش سی شارپ نیست عنوان رو درست کردم. لطفا برای امنیت در پایگاه داده ها ( حالا هر کدومشون ) به بخش خودشون مراجعه کنید وسوال رو اونجا مطرح کنید
مشکلی نیست کار همیشگیته-- اما اینکه پایگاه داده مربوط به بخش سی شارپ نیست شاید درست بگی اما من دارم نرم افزار را با زبان سی شارپ می نویسم و تحت پایگاه داده کار میکنه و باید میان این دو ارتباط برقرار باشه نمیشه با زبان سی شارپ بیام امنیت را درست کنم بعد سمت پایگاه امنیت نباشه گفتم بهتره هر دو با هم در یک جا مطرح باشه تا هر دو در نظر گرفته بشه حالا میریم در ان طرف هم ایجاد میکنیم :چشمک:

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

zarrinnegar
جمعه 02 دی 1390, 19:56 عصر
توی این تاپیک یخورده درباره امنیت توضیح دادم اگه مطلب جدیدی بود و من هم بلد بودم در خدمتم
http://barnamenevis.org/showthread.php?318855-%D8%AD%D8%AF%D9%81-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86-%D8%B3%DB%8C%D8%B3%D8%AA%D9%85%DB%8C

mehran_sh_t
جمعه 02 دی 1390, 21:14 عصر
یکی از مسائلی که این چند روز با یکی از دوستان درگیر بودیم، در رابطه فروش شارژ هستش.
سیستم اینطور عمل می کنه که با اومدن یک در خواست خرید، میاد از جدول شارژ ها، یک شارژ رو که هنوز خریداری نشده بر می داره و مقدار ستون isUsed رو برابر true قرار می ده.
حالا فرض کنید قبل از آپدیت فیلد، یک در خواست دیگه بیاد، و در یک select دیگه، همون شارژ انتخاب بشه...

باید به همچین مواردی دقت کرد، در طراحی و احتمالا تست یک نرم افزار، ممکنه با یک کاربر تست رو انجام بدید، در حالی که باید به فکر عملکرد نرم افزار در دنیای واقعی با شرایط متفاوت باشید


*مثال مطرح شده، چیزی مشابه مشکل ما بود، نه دقیقا همون...

zarrinnegar
جمعه 02 دی 1390, 21:24 عصر
توی این جور مسائل برداشتن کد رو همون موقع که کاربر میخواد درخواست رو به sql میده و اون هم همون موقع عمل true کردن رو انجام میده حالا اگه کاربر دیگه ای بیاد sql میبینه آخرین کدی که false رکورد بعدیشه و اونو به کاربر دیگه میده

این مشکلی نیست
مثال ساده ترش اینه که فرض کنید 4 نفر همزمان فاکتور صادر میکنن همزمان دکمه تایید رو میزنن بانک اطلاعات هم باید به کاربر شماره فاکتور رو بده و شماره فاکتور باید آخرین +1 باشه
خوب توی این مرحله اگه آخرین کد ما 12000 باشه به همه 12001 میده؟
نه به اولین مورد 12001 و به مورد بعدی حتی با میلی ثانیه 12002 رو میده
این برمیگرده به طراحی برنامه نویس که کی باید کد رو فراخوانی کنه
اگه برنامه طوری باشه که اول کد رو بگیریم بعد صبر کنیم کاربر اطلاعات رو وارد کنه و بعد ذخیره کنیم مشکل یکی شدن شماره وجود داره ولی اگر آخر کار پس از تایید کاربر کد رو از sql بگیریم که همون موقع هم داریم insert میکنیم این مشکل پیش نمیاد

علیرضا حسن زاده
جمعه 02 دی 1390, 23:51 عصر
شما می تونی با قفل رکورد به هدفت برسی زیاد هم تاپیکت اگه برای این مورد باشه ربطی به امنیت نداره و بیشتر مربوط به همزمانی هست که با همون قفل رکورد قابل حله البته راه کارهای زیادی داره

سوداگر
شنبه 03 دی 1390, 00:27 صبح
در اینجا (http://barnamenevis.org/showthread.php?224183-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%B7%D8%B1%D8%AD-quot-%DA%AF%D9%81%D8%AA%DA%AF%D9%88%D9%87%D8%A7%DB%8C-%D9%81%D9%86%DB%8C-quot) قراره / بود، در این مورد مدیر موسوی و کشاورز بدهند که هنوز هم این بحث ها ادامه داره .....

noroozifar
شنبه 03 دی 1390, 16:36 عصر
در اینجا (http://barnamenevis.org/showthread.php?224183-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%B7%D8%B1%D8%AD-quot-%DA%AF%D9%81%D8%AA%DA%AF%D9%88%D9%87%D8%A7%DB%8C-%D9%81%D9%86%DB%8C-quot) قراره / بود، در این مورد مدیر موسوی و کشاورز بدهند که هنوز هم این بحث ها ادامه داره .....

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

سوداگر
شنبه 03 دی 1390, 16:40 عصر
از لینکی دادی متشکردم لینک خوبیه از صبح نشسته ام دارم صفحات را یکی یکی مطالعه میکنم اما منو بیشتر یاد در ادبیات فارسی میندازه لااقل تا اینجایی که مطالعه کرده ام هیچ گونه خبری نحوه عمل نداره هیچ بحث عملی بر روی کدها نیست به نظر من تئوری هیچ فایده ای نداره مهم عملی بودنه مطلبه که ما بتونیم به صورت عملی کارهایم را پیش ببریم و آخرش به نتیجه برسیم

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

noroozifar
دوشنبه 05 دی 1390, 13:02 عصر
برای عملی تا خودتون این تئوریات رو پیاده نکنین یاد نمیگیرین!
کتاب آزمایشگاه تحلیل، طراحی و پیاده سازی نرم افزار | تالیف دکتر ناصر مدیری و آقای جنگجو هست، نزدیک 3 فصلش در مورد کدنویسی و استانداردهاست. میتونی مطالعه کنی. به نظر من یکی از عملی ترین کتابها در این زمینه است. منم این کتاب رو چند روز پیش گرفتم و دارم روی نکته ها، اشکالات متداول، قواعد و ... ای که گفته کار میکنم.

بازهم تشکر --این کتاب به صورت پی دی اف هست برای دانلود ؟؟؟

سوداگر
دوشنبه 05 دی 1390, 13:14 عصر
11 هزار تومن خریدنیه(کاغذ):لبخند:
اما من رفرنس های کدنویسی استانداردی که این کتاب پیشنهاد داده رو می نویسم:

سایت های مربوط به بخش 5, 6 استانداردهای کدنویسی + کدنویسی امن(وب و ویندوز):
http://insecure.org/stf/mudge_buffer_overflow_tutorial.html
http://www.phrack.org/issues.html?issue=49&id=14#article
http://www.linuxfocus.org/English/March2001/article183.shtml
http://www.phrack.org/issues.html?issue=55&id=15#article
http://www.cultdeadcow.com/cDc_files/cDc-351 فیلتر بود
http://www.phrack.org/issues.html?issue=55&id=8#article
http://secunia.com/advisories/34595
این 3 تا برای استانداردهای وب هستند:
www.webstandards.org
http://www.456bereastreet.com/lab/developing_with_web_standards
www.w3.org

کتاب BufferOverflows for Dummies 2002

بخش 7 اشتباهات متداول کدنویسی:
منابع بالا به اضافه ی:
How to write Buffer Overflows, October 1995
F.Raynal,C.Blaess, and C..Greer, "Avoiding security holes when developing an application Part 2 , April2001"
موفق باشید.

sabagood
جمعه 30 دی 1390, 01:14 صبح
میشه یکم از قفل رکورد بیشتر توضیح بدین؟

jsrayaneh
چهارشنبه 15 شهریور 1391, 23:46 عصر
موضوع کد نویسی امن بحث جدیدی است. از سال 2003 فعالیتش رو در دنیا آغاز کرده. سایت www.SecureCoding.ir رو ببینید.