گروه فناوری اطلاعات شریف
مدت دوره: 16 ساعت
توضیحات
فازینگ (Fuzzing) روشی برای شناسایی باگ و آسیبپذیریهای موجود در نرمافزارها و سیستمعاملها است. به عبارت دیگر کارشناسان امنیت یا برنامهنویسی در فازینگ تلاش میکنند تا با ارسال تعداد زیادی از ورودیهای غیر معتبر و غیر پیشبینی شده به یک برنامه، پاسخ آن برنامه را ارزیابی کرده و رفتارهای نامتعارف یا Crash نرمافزار در برابر ورودیهای خاص را شناسایی کنند. با شناسایی این رفتارهای نامتعارف، این امکان وجود دارد تا مهاجم فرآیند اجرایی برنامهی آسیبپذیر را به سود خود تغییر دهد.
ابزارهای زیادی برای شناسایی آسیبپذیریهای شناخته شده در کدهای برنامهنویسی یا سامانهها وجود دارد اما فازینگ این قابلیت را به شما میدهد تا آسیبپذیریهایی را شکار کنید که تا پیش از این، ناشناخته بودند. هکرهای کلاه سیاه از این روش در راستای شناسایی آسیبپذیریهای جدید و توسعهی اکسپلویتهای Zero-Day برای آنها بهره میبرند. در طرف مقابل شرکتها و سازمانها تلاش میکنند تا با اجرای انواع فازینگ در سامانههای خود، آسیبپذیریهای موجود را پیش از مهاجمین و خرابکاران، شناسایی و برطرف کنند.
در این دوره به آموزش مبانی و اصول فازینگ کدهای برنامهنویسی در زبانهای مختلف پرداخته میشود. به عبارت دیگر شما با گذراندن این دوره، مبانی فازینگ، انواع فازینگ استاتیک و داینامیک، ابزارها و تکنیکهای پرکاربرد در فازینگ و در نهایت فازینگ کدهای مربوط به زبانهای Python، Go، Rust، Java و JavaScript را خواهید آموخت.
برای حضور در این دوره چه دانشهایی باید داشته باشم؟
سرفصل
1.2 Random Fuzzing
1.3 Mutation Fuzzing
1.4 Grammar-based Fuzzing (generators, dictionaries, etc.)
1.5 GreyBox Fuzzing
1.6 CI Fuzz Technology Stack Modren Fuzzing
1.7 CodeQL / Sammel QL Modern Scanning Code
Chapter 2: Static / Dynamic Fuzzing
2.1 Types of Security Vulnerabilities
2.2 Clang Static Analyzer
2.3 ASAN – Address Sanitizer
2.4 AFL
2.4.1 BlackBox Fuzzing
2.4.2 WhiteBox Fuzzing
2.4.3 Corpus/inputs/seed selection
2.4.4 Crashes Analysis
2.5 LibFuzzer
2.6 Honggfuzz
2.7 Afl + Radamsa
Chapter 3: Symbolic Execution / Concolic Execution
3.1 Intro Symbolic Execution with KLEE
3.2 Finding memory bug in OSS
3.3 SymCC
3.4 AFL + SymCC
3.5 AFL + Driller
3.6 Crashes Analysis
3.7 Concolic execution
3.71 Angr
Chapter 4: Python Fuzzing
4.1 PythonFuzz
4.2 Athris
4.3 Native Python Fuzzing
4.4 Python OSS-Fuzz project
Chapter 5: Go Fuzzing
5.1 Go-fuzz
5.2 Gofuzz
5.3 Go OSS-Fuzz project
Chapter 6: Rust Fuzzing
6.1 Unsafe Code
6.2 Cargo-fuzz
6.3 Afl-rs
6.4 Honggfuzz-rs
6.5 Fuzzcheck-rs
6.6 Rust OSS-Fuzz project
Chapter 7: Java Fuzzing
7.1 Jazzer Fuzzer
7.2 JQF Fuzzing
7.3 Java OSS-Fuzz project
Chapter 8: Web Fuzzing
8.1 Fuzzing with selenium
8.2 Jsfuzz Javascript fuzzer
“A review from a customer who benefited from your product. Reviews can be a highly effective way of establishing credibility and increasing your company's reputation.”
Customer Name
“A review from a customer who benefited from your product. Reviews can be a highly effective way of establishing credibility and increasing your company's reputation.”
Customer Name
دیدگاهها
" لطفا آموخته ها و تجربیات خود را از کلاس هایی که داشتید، با ما در میان بگذارید."