در همین ارتباط در کنفرانس بین المللی نرم افزار که ماه می برگزار شد، 50 برنامه وب معروف نوشته شده با RoR توسط ابزار Space مورد بررسی قرار گرفتند. در این آزمایش Space موفق به شناسایی 23 آسیب پذیری کشف نشده در این برنامه ها شد. جالب آن که طولانی ترین زمان خطایابی این برنامه ها تنها 64 ثانیه بود. به عنوان فردی که به صورت نیمه وقت به اشکال زادیی نرم افزارها مشغول است، باید بگوییم 64 ثانیه در عمل به صفر ثانیه ترجمه می شود. ( منظور از صفر ثانیه این است که یک کارشناس حرفه ای حداقل به چند ساعت زمان برای انجام این فرآیند نیاز دارد.) به طور معمول، تجزیه و تحلیل ایستای کدها، در شرایطی که امکان اجرای واقعی نرم افزارها امکان پذیر نباشد، یک فرآیند پیچیده، سخت و زمان بر خواهد بود.

خطایابی برنامه های وب فرآیند پیچیده ای است

کارها زمانی سخت تر می شود که ما صحبت خود را در ارتباط با برنامه های وب آغاز کنیم. به دلیل این که بخش عمده ای از کدها در پشت کتابخانه و چارچوب هایی قرار دارند که برنامه های کاربری از آن ها استفاده می کنند. تیم طراحی کننده این ابزار، مشکل را این گونه تعریف کرده اند: <<حتا وظایف بسیار ساده ای در برنامه های Ruby On Rails همچون تخصیص مقدار به متغیرها و تعریف کتابخانه های خارجی زمانی که با یکدیگر ترکیب شده و درون کدهای یک برنامه قرار گیرند به مجموعه ای عظیم از کدها تبدیل خواهند شد.>> دانیل جکسون استاد علوم کامپیوتر و مهندس کامپیوتر MIT در این ارتباط گفته است: <<زمانی که برنامه ای تحت فرآیند تجزیه و تحلیل قرار می گیرد به مجموعه عظیمی تبدیل می شود.>> حتا اگر یک برنامه کوچک را نوشته باشید، در بالای برنامه شما عمارتی ساخته می شود که اجزاء آن را کتابخانه ها، افزونه ها و چارچوب ها شکل می دهند. در نتیجه زمانی که به چیزی شبیه به یک برنامه وب که با استفاده از زبانی همچون Ruby On Rails نوشته شده است، نگاه کنید و در نظر داشته باشید یک تجزیه و تحلیل ایستا روی آن انجام دهید، خود را در میان برزخی از کدها مشاهده خواهید کرد.


برنامه نویسان دیوانه نرم افزارهای رایگانی اند که کامپیوترهای خودیادگیر می سازند

همین موضوع باعث می شود این چنین فرآیندی در عمل امکان پذیر نباشد. برای حل این مشکل، تیم MIT کتابخانه های RoR که خود آن ها را نوشته بودند ضمیمه کردند. در این کتابخانه ها انواع مختلفی از عملیات و محاسبات واقعی مورد بازنویسی قرار گرفتند. در کنار این فرآیند تیم طراحی کننده عبارات سمبلیکی را درون تعاریف اجرایی وارد کردند که توضیح می دهند عملیات مختلف دقیقا چه کاری را انجام می دهند. جو نیر، پژوهشگر فوق دکترا دانشگاه برکلی کالیفرنیا و رهبر این تیم در این ارتباط گفته است: <<ما هیچ یک از کدهای قدیمی را مورد تجدید نظر قرار ندادیم. به طوری که مجموعه توابع موجود را کنار گذاشته و کدهای جدیدی که آن ها را نوشته بودیم جایگزین کدهای قدیمی کردیم. کدهایی که شما در برنامه های تحت وب از آن ها استفاده می کنید. این توابع جدید به شما اجازه تحلیل کدها را می دهند. در این روش کدها به مترجم Ruby On Rails تحویل داده می شود و مترجم اقدام به ارائه توضیحات کاربردی و مفیدی برای خط به خط وظایف برنامه می کند. توضیحاتی که بسیار شفاف هستند. با استفاده از این راه کار، تجزیه و تحلیل های ایستا به یک فرآیند معقول تر تبدیل می شوند. برای آن که فرآیند فوق این توانایی را پیدا کند تا این وظایف را به طور خودکار انجام دهد، Near نگاهی به طبیعت واقعی برنامه های وب داشت و راه های مختلفی که این برنامه ها به کاربر اجازه می دهند به داده های خود دسترسی داشته باشد را مورد بررسی قرار داد.


کدهای نرم افزارهای موفق چه ویژگی دارند؟

او هفت روش مختلف را تعریف کرد و برای هر روش توصیفی ارائه کرد. این تعاریف بیان می کنند که یک کاربر قادر به انجام چه عملیاتی روی داده های خود است. با استفاده از کتابخانه های بازنویسی شده، او موفق به طراحی یک مکانیزم آزمون شد تا مشاهده کند آیا یک برنامه وب این توانایی را دارد تا به این روش واکنش نشان دهد یا خیر. زمانی که یک برنامه بر مبنای این قواعد شکسته شود، به احتمال زیاد نواقص امنیتی موجود در برنامه ها خود را نشان خواهند داد. حتا بدون آن که دسترسی کامل به کدهای مربوطه ضرورتی داشته باشد. Near موفق شد نزدیک به 50 برنامه وب را با استفاده از space مورد تجزیه و تحلیل قرار دهد. برای یک برنامه نویس آشنا به کدهای خودش ( فردی که دسترسی کامل به کدهای برنامه های خود دارد) این ابزار در کمترین زمان ممکن فرآیندهای خطایابی را انجام می دهد.

آموزش رفع مشکل اسکریپت های خراب در ویندوز

روش های غیرفعال کردن تبلیغات در ویندوز 10

چگونه در ویندوز 10 کارت حافظه معیوب و غیرقابل خواندن را فرمت کنیم

چطور ویندوز ۷ ، ۸ و ۱۰ را فارسی کنیم؟

۷ مشکل رایج در ویندوز ۱۰ به همراه راه حل ساده ی رفع آنها

ویندوز فلش USB را نمیشناسد؟ (ساده ترین روش رفع مشکل)

۵ تا از بهترین روشهای فشرده سازی عکس و فیلم با نرم افزارهای زیپ کامپیوتر

برنامه ,ها ,یک ,نوشته ,تیم ,کتابخانه ,در این ,می شود ,می دهند ,برنامه های ,از کدها

مشخصات

آخرین ارسال ها

آخرین جستجو ها


borhannews.rozblog.com 22181936 داوود موزیک server6 مدرس مشاور لایف کوچ تحول فردی انسیه کریمی نژاد صباحت|پایگاه فرهنگی مذهبی شهر فومن سیگمانا فروشگاه اینترنتی فایل مارکت HighCAM Group مرجع آموزش پاورمیل و فرز 5 محور Eric's blog