حفاظت از برنامه های وب OWASP WAP یک ابزار برای شناسایی و اصلاح آسیب پذیری های اعتبار ورودی در برنامه های وب می باشد که با کد PHP نوشته شده است و پیش بینی های مثبتی را ارائه داده است .
فرآیند owasp wap فوق ترکیبی از تجزیه و تحلیل استاتیک کد منبع و داده کاوی برای شناسایی آسیب پذیری و پیش بینی اعتبارات نادرست است . سپس ، کد منبع را تصحیح می کند تا آسیب پذیری های واقعی را با قرار دادن اصلاحات (توابع کوچک) در مکان های مناسب کد منبع، حذف کند.
ابزار owasp wap کد منبع را تجزیه و تحلیل می کند.
به طور دقیق تر، تجزیه و تحلیل فوق (تجزیه و تحلیل جریان داده ها) جهت شناسایی آسیب پذیری های اعتبار سنجی ورودی می باشد . هدف از این تجزیه و تحلیل ردیابی ورودی های مخرب وارد شده در نقاط ورودی ( آرایه های GET, POST) و همچنین برای بررسی حساسیت توابع پی اچ پی که می توانند توسط ورودی های مخرب، مانند mysql_query مورد سوء استفاده قرار بگیرند می باشد .
پس از تشخیص، این ابزار با استفاده از داده کاوی تایید می کند که آسیب پذیری ها واقعی هستند یا کاذب . در پایان ، آسیب پذیری های واقعی با قرار دادن اصلاحات (تکه های کوچکی از کد) در کد منبع اصلاح می شود .
ساخته شده توسط tree generator و تحلیلگر taint می باشد . این ابزار یک لایسنس و یک تجزیه کننده تولید شده توسط ANTLR و براساس دستور زبان و گرامر درخت نوشته شده در زبان PHP است . tree generator از lexer و parser برای ساخت (AST (Abstract Syntactic Tree در فایل های PHP استفاده می کند . تحلیلگر taint تجزیه و تحلیل را از طریق AST انجام می دهد تا آسیب پذیری های بالقوه را تشخیص دهد.
owasp wap متشکل از داده های آموزش دیده تحت نظارت با نمونه های طبقه بندی شده به عنوان آسیب پذیری ، خطای مثبت و الگوریتم یادگیری ماشین رگرسیون منطقی می باشد . برای هر آسیب پذیری احتمالی که توسط تحلیلگر کد شناسایی شده است ، این ماژول حضور ویژگی هایی را که خطای مثبت تعریف می شود را جمع آوری کرده و نمونه ای را با آنها ایجاد می کند.
سپس، الگوریتم پشتیبانی رگرسیون نمونه ها را دریافت می کند و آنها را به عنوان خطای مثبت یا مثبت کاذب یا نه (آسیب پذیری واقعی) طبقه بندی می کند .
هر آسیب پذیری واقعی با اصلاح کد منبع آن حذف می شود. این ماژول برای نوع آسیب پذیری ، اصلاحاتی را که آسیب پذیری را حذف می کند انتخاب می کند و مکان هایی را در کد منبع که در آن ثابت قرار می گیرد را نشان می دهد .
سپس کد اصلاح می شود و فایل های جدید ایجاد می شوند. رفع اشکال کوچکی از کد (توابع کوچک PHP که برای اثرگذاری ایجاد شده اند) که انجام sanitization یا اعتبار سنجی ورودی کاربر است ، بسته به نوع آسیب پذیری آن دارد
– (JRE (www.oracle.com