Loading...
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 54690 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Kharrazi, Mehdi
- Abstract:
- Today, lots of vulnerabilities are discovered by researchers who are analyzing the software. Some researchers study these discovered vulnerabilities and find new ones that are similar to them. So they need to first characterize each previously discovered vulnerability and extract the vulnerable context of the program, then extract new vulnerabilities based on that. Some vulnerabilities are emerging because of developer mistakes in the implementation phase. Software developers use different function calls to do the goal of the program. Incorrect invocation for functions can lead to critical vulnerabilities. Our investigation shows that the root cause for some vulnerabilities is incorrect function call site, and also previous similarity-based approaches for vulnerability discovery don't focus on this type of vulnerability. In this research, we characterize vulnerabilities that emerge because of incorrect function calls. In this research, we propose our method to analyze the functions related to the target vulnerability and characterize the incorrect usage of the target function. To evaluate our extracted vulnerability characterization, we search the program based on that and discover similar vulnerabilities. So we analyzed the vulnerabilities in 7 open-source projects and report 25 cases to the developers. Four CVE ids are assigned to our reports on the analyzed projects
- Keywords:
- Software Vulnerabilities Analysis ; Function Return Value ; Vulnerabilities Characterization ; Functions Misuse ; Application Analysis ; Application Vulnerability
-
محتواي کتاب
- view
- 1 سرآغاز
- 1.1 آسیبپذیری هدف و اهمیت موضوع
- 1.2 راهکار پیشنهادی
- 1.3 ساختار پایاننامه
- 2 کارهای پیشین
- 2.1 روشهای سرشتنمایی آسیبپذیری
- 2.1.1 معیارها
- 2.1.2 گرافها
- 2.1.3 متن کد منبع
- 2.2 نوع آسیبپذیری هدف
- 2.2.1 خطای مربوط به ادارهی اشتباه
- 2.2.2 خطای چکنشدن
- 2.2.3 استفادهی اشتباه از توابع میانای برنامهنویسی کاربردی
- 2.2.4 آسیبپذیریهای نوع ردگیری رنگ
- 2.3 جمعبندی
- 2.1 روشهای سرشتنمایی آسیبپذیری
- 3 راهکار پیشنهادی
- 3.1 پیشپردازش آسیبپذیریهای هدف
- 3.1.1 تشخیص نوع آسیبپذیریهای هدف
- 3.1.2 پیداکردن تابع هدف
- 3.1.3 پیداکردن توابع مشابه با تابع هدف
- 3.2 سرشتنمایی آسیبپذیریهای مربوط به فراخوانی تابع
- 3.2.1 خلاصه تابع هدف
- 3.2.2 تحلیل ردگیری رنگ
- 3.2.3 تحلیل روبه جلو
- 3.3 جمعبندی
- 3.1 پیشپردازش آسیبپذیریهای هدف
- 4 پیادهسازی
- 4.1 سرشتنمایی آسیبپذیریهای مربوط به فراخوانی توابع
- 4.1.1 استخراج کدهای آسیبپذیری
- 4.1.2 پیدا کردن تابع هدف
- 4.1.3 خلاصه تابع هدف
- 4.1.4 تحلیل ردگیری رنگ
- 4.1.5 تحلیل رو به جلو
- 4.2 استفاده از نمایش میانی
- 4.2.1 پیدا کردن تابع هدف در نمایش میانی
- 4.3 شباهت توابع
- 4.4 جمعبندی
- 4.1 سرشتنمایی آسیبپذیریهای مربوط به فراخوانی توابع
- 5 ارزیابی
- 5.1 روش ارزیابی سرشتنمایی آسیبپذیریهای مربوط به فراخوانی توابع
- 5.1.1 روش انتخاب پروژه هدف
- 5.1.2 روش ارزیابی
- 5.1.3 نتایج ارزیابی
- 5.2 جمعبندی
- 5.1 روش ارزیابی سرشتنمایی آسیبپذیریهای مربوط به فراخوانی توابع
- 6 نتیجهگیری و کارهای آتی
- کتابنامه
- واژهنامهی فارسی به انگلیسی
- واژهنامهی انگلیسی به فارسی