آموزش نوشتن کد امن برای اندروید توسط Infosec - آخرین آپدیت

دانلود Writing Secure Code for Android by Infosec

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: در این مسیر یادگیری، بیاموزید که چگونه امنیت را در توسعه اپلیکیشن‌های اندروید ادغام کنید. مزایا و معایب کاتلین (Kotlin)، زبان برنامه‌نویسی متن‌باز جدید JetBrains که گوگل آن را برای اندروید پذیرفته است، را بررسی کنید. هر دوره یکی از دسته‌های اصلی امنیت اندروید را بررسی کرده و مثال‌های متعددی ارائه می‌دهد تا بتوانید تأثیر نبود یا ضعف امنیت در کد را مشاهده کنید. با استفاده از Android Studio و محیط‌های آنلاین کاتلین، امنیت را در کدهای خود پیاده‌سازی کرده و کارایی و عملکرد مکانیسم‌های امنیتی را آزمایش کنید. علاوه بر این، یاد بگیرید که برای بهبود مستمر مهارت‌های خود، تحقیقات مربوط به آسیب‌پذیری‌های اپلیکیشن‌های موبایل و اندروید را در کجا به صورت آنلاین انجام دهید.

سرفصل ها و درس ها

مقدمه‌ای بر کدنویسی امن Introduction to Secure Coding

  • تمرین: ساخت یک اپلیکیشن ساده – سلام Activity: Creating a simple app – Hello

  • تمرین: ساخت یک اپلیکیشن ساده – محاسبه‌گر مالیات فروش، بخش 2 Activity: Creating a simple app – Sales tax calculator, part 2

  • تمرین: ساخت یک اپلیکیشن ساده – محاسبه‌گر مالیات فروش Activity: Creating a simple app – Sales tax calculator

  • تمرین: ساخت یک اپلیکیشن ساده – خوش‌آمدگویی Activity: Creating a simple app – Greeting

  • ضرورت کدنویسی امن The need for secure coding

  • تمرین: تحقیق درباره آسیب‌پذیری‌های اندروید Activity: Researching Android vulnerabilities

  • بونوس برای مبتدیان Beginner bonus

  • تمرین: 10 آسیب‌پذیری برتر موبایل OWASP، بخش 1 Activity: OWASP Top 10 mobile vulnerabilities, part 1

  • تمرین: ساخت یک اپلیکیشن ساده – دو اکتیویتی، بخش 2 Activity: Creating a simple app – Two activities, part 2

  • تمرین: ساخت یک اپلیکیشن ساده – محاسبه‌گر دو اکتیویتی، بخش 2 Activity: Creating a simple app – Two activities calculator, part 2

  • مروری بر توسعه اپلیکیشن امن با کاتلین Kotlin secure app development overview

  • تمرین: 10 آسیب‌پذیری برتر موبایل OWASP، بخش 3 Activity: OWASP Top 10 mobile vulnerabilities, part 3

  • تمرین: 10 آسیب‌پذیری برتر موبایل OWASP، بخش 2 Activity: OWASP Top 10 mobile vulnerabilities, part 2

  • مروری بر امنیت اندروید Android security overview

  • تمرین: ساخت یک اپلیکیشن ساده – دو اکتیویتی Activity: Creating a simple app – Two activities

  • تمرین: ساخت یک اپلیکیشن ساده – محاسبه‌گر دو اکتیویتی Activity: Creating a simple app – Two activities calculator

1. اعتبارسنجی ورودی‌ها 1. Input Validation

  • تمرین: دفاع در برابر اسکریپتینگ بین-برنامه‌ای (Cross App Scripting) Activity: Defending against cross-app scripting

  • تمرین: اعتبارسنجی ورودی با Regular Expressions در کاتلین، بخش 3 Activity: Validating input with regular expressions in Kotlin, part 3

  • اسکریپتینگ بین-برنامه‌ای Cross-app scripting

  • تمرین: محدود کردن ورودی به یک بازه مشخص Activity: Clamping input to a range

  • ایمنی نال (Null Safety)، بخش 5: اپراتورهای Safe cast و Unsafe cast Null safety, part 5: Safe cast and unsafe cast operators

  • تمرین: اعتبارسنجی ورودی فرم، بخش 1 Activity: Validating form input, part 1

  • اعتبارسنجی فرم، بخش 2 Form validation, part 2

  • عبارات منظم (Regular Expressions)، بخش 2 Regular expressions, part 2

  • ایمنی نال، بخش 6: Smart cast Null safety, part 6: Smart cast

  • پاک‌سازی ورودی‌ها (Input Sanitization) Input sanitization

  • آسیب‌پذیری‌های WebView، بخش 1 WebView vulnerabilities, part 1

  • رویه های ذخیره شده SQL SQL stored procedures

  • تکمیل خودکار (Autocompletion)، بخش 1 Autocompletion, part 1

  • تمرین: ایمن‌سازی اندروید WebView Activity: Securing Android WebView

  • آسیب‌پذیری‌های WebView، بخش 2 WebView vulnerabilities, part 2

  • عبارات منظم، بخش 1 Regular expressions, part 1

  • تمرین: پیاده‌سازی ایمنی نال، بخش 1 Activity: Implementing null safety, part 1

  • تمرین: پاک‌سازی ورودی‌ها Activity: Sanitizing input

  • تمرین: فیلتر کردن و تریم کردن Activity: Filtering and trimming

  • تمرین: پیاده‌سازی ایمنی نال، بخش 2 Activity: Implementing null safety, part 2

  • تمرین: محافظت از JSON با کلید API، بخش 2 Activity: Protecting JSON with an API key, part 2

  • ایمنی نال، بخش 1 Null safety, part 1

  • حملات بین-سایتی (Cross Site Attacks) Cross-site attacks

  • اعتبارسنجی فرم، بخش 3 Form validation, part 3

  • ایمنی نال، بخش 3: اپراتور Not null Null safety, part 3: Not-null operator

  • تمرین: کار با عبارات منظم در کاتلین، بخش 2 Activity: Working with regular expressions in Kotlin, part 2

  • ایمنی نال، بخش 2: اپراتور Safe call Null safety, part 2: Safe call operator

  • کاراکترهای خاص، بخش 1 Special characters, part 1

  • دست‌کاری کد و تزریق (Injection)، بخش 1 Code tampering and injection, part 1

  • تمرین: کار با عبارات منظم در کاتلین، بخش 1 Activity: Working with regular expressions in Kotlin, part 1

  • درون‌یابی رشته (String Interpolation) String interpolation

  • تکمیل خودکار، بخش 2 Autocompletion, part 2

  • تمرین: ایمن‌سازی تکمیل خودکار Activity: Securing autocomplete

  • تمرین: محافظت از JSON با کلید API، بخش 1 Activity: Protecting JSON with an API key, part 1

  • حملات رشته فرمت (Format String Attacks) Format string attacks

  • دیسریالیزه کردن اشیاء، بخش 1 Object deserialization, part 1

  • ایمنی نال، بخش 4: اپراتور Elvis Null safety, part 4: Elvis operator

  • دیسریالیزه کردن اشیاء، بخش 2 Object deserialization, part 2

  • درک ریسک‌های ورودی Understanding input risks

  • دست‌کاری کد و تزریق، بخش 2 Code tampering and injection, part 2

  • تمرین: بررسی اسکریپتینگ بین-سایتی (XSS) Activity: Exploring cross-site scripting

  • تمرین: پیاده‌سازی ایمنی نال، بخش 3 Activity: Implementing null safety, part 3

  • فیلتر و تریم در کاتلین Kotlin filter and trim

  • تمرین: فیلتر کردن یک کد QR مخرب، بخش 1 Activity: Filtering a malicious QR code, part 1

  • تزریق SQL (SQL Injection) SQL injection

  • تمرین: درک درون‌یابی رشته Activity: Understanding string interpolation

  • کاراکترهای خاص، بخش 2 Special characters, part 2

  • تمرین: استفاده از کاراکترهای خاص Activity: Using special characters

  • دست‌کاری کد و تزریق، بخش 3 Code tampering and injection, part 3

  • تمرین: فیلتر کردن یک کد QR مخرب، بخش 2 Activity: Filtering a malicious QR code, part 2

  • تمرین: اعتبارسنجی ورودی فرم، بخش 2 Activity: Validating form input, part 2

  • اعتبارسنجی فرم، بخش 1 Form validation, part 1

2. فساد حافظه (Memory Corruption) 2. Memory Corruption

  • درک اشاره‌گرها (Pointers) Understanding pointers

  • درک سرریز (Overflows) Understanding overflows

  • مروری بر حافظه اندروید Android memory overview

  • تمرین: مدیریت سرریزها Activity: Managing overflows

3. رمزنگاری 3. Encryption

  • درک زیرساخت کلید عمومی (PKI) Understanding PKI

  • هشینگ (Hashing) Hashing

  • تمرین: رمزنگاری داده‌ها، بخش 1 Activity: Encrypting data, part 1

  • مروری بر رمزنگاری Encryption overview

  • اندروید Keystore Android Keystore

  • تمرین: تولید مقادیر تصادفی Activity: Generating random values

  • تمرین: هش کردن رمز عبور Activity: Hashing a password

  • مروری بر ذخیره‌سازی اندروید Android storage overview

  • تمرین: رمزنگاری داده‌ها، بخش 3 Activity: Encrypting data, part 3

  • تمرین: رمزنگاری داده‌ها، بخش 2 Activity: Encrypting data, part 2

  • تمرین: ذخیره‌سازی ناامن نام کاربری و رمز عبور Activity: Insecurely saving a username and password

  • مروری بر رمزنگاری اندروید Android encryption overview

  • تمرین: نمک‌افزایی (Salting) برای رمز عبور هش شده Activity: Salting a hashed password

  • تمرین: ذخیره‌سازی امن اسرار در Android Keystore Activity: Securely storing secrets in Android Keystore

  • محافظت از اسرار (Secrets) Protecting secrets

4. حفاظت از داده‌ها 4. Protecting Data

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 8: رشته‌ها (Threads) Android IPC, part 8: Threads

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 2: اکتیویتی Android IPC, part 2: Activity

  • تمرین: بررسی رشته‌ها و هم‌روندی (Concurrency) Activity: Exploring threads and concurrency

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 5: تامین‌کننده محتوا (ادامه) Android IPC, part 5: Content provider, continued

  • تمرین: پیکربندی امنیت شبکه، بخش 1 Activity: Configuring network security, part 1

  • ریسک‌های رایج داده‌ها Common data risks

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 1 Android IPC, part 1

  • تمرین: کار با دیتابیس Room، بخش 2 Activity: Working with Room database, part 2

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 7: Binder Android IPC, part 7: Binder

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 3: سرویس Android IPC, part 3: Service

  • بازیابی فایل‌های اندروید Android file recovery

  • تمرین: شنود انتقال متون ساده (Clear Text)، بخش 1 Activity: Sniffing clear text transmissions, part 1

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 6: Intent (ادامه) Android IPC, part 6: Intent, continued

  • پین کردن گواهینامه (Certificate Pinning) Certificate pinning

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 4: Broadcast receiver Android IPC, part 4: Broadcast receiver

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 5: تامین‌کننده محتوا Android IPC, part 5: Content provider

  • تمرین: شنود انتقال متون ساده، بخش 2 Activity: Sniffing clear text transmissions, part 2

  • داده‌ها در حال انتقال Data in transit

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 6: Intent Android IPC, part 6: Intent

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 4: Broadcast receiver (ادامه) Android IPC, part 4: Broadcast receiver, continued

  • نشت داده‌ها (Data Leakage)، بخش 2 Data leakage, part 2

  • تمرین: ایمن‌سازی داده‌های دیتابیس Activity: Securing database data

  • پایگاه‌های داده Databases

  • امنیت شبکه Network security

  • تمرین: کار با دیتابیس Room، بخش 1 Activity: Working with Room database, part 1

  • ارتباط بین پردازش‌های اندروید (IPC)، بخش 9: وضعیت رقابتی (Race Condition) Android IPC, part 9: Race condition

  • نشت داده‌ها، بخش 1 Data leakage, part 1

  • تمرین: پیکربندی امنیت شبکه، بخش 2 Activity: Configuring network security, part 2

  • تمرین: پین کردن گواهینامه Activity: Certificate pinning

  • تمرین: جلوگیری از نشت داده‌ها Activity: Preventing data leakage

5. کنترل دسترسی 5. Access Control

  • مجوزدهی (Authorization)، بخش 1 Authorization, part 1

  • کلیدها، توکن‌ها و اسرار Keys, tokens, and secrets

  • مدیریت نشست (Session Management)، بخش 1 Session management, part 1

  • تمرین: پیاده‌سازی بررسی‌کننده رمز عبور، بخش 2 Activity: Implementing a password checker, part 2

  • تمرین: پیاده‌سازی مجوزهای زمان اجرا (Runtime Permissions) Activity: Implementing runtime permissions

  • مجوزدهی، بخش 2 Authorization, part 2

  • تمرین: کنترل دسترسی مبتنی بر نقش (RBAC) Activity: Role-based access control

  • مدیریت نشست، بخش 2 Session management, part 2

  • احراز هویت (Authentication)، بخش 2 Authentication, part 2

  • مجوزدهی، بخش 3 Authorization, part 3

  • ورود با گوگل Google sign-in

  • تمرین: پیاده‌سازی بیومتریک Activity: Implementing biometrics

  • احراز هویت، بخش 1 Authentication, part 1

  • پروتکل OAuth OAuth

  • تمرین: ورود با گوگل و فیس‌بوک Activity: Signing in with Google and Facebook

  • تمرین: پیاده‌سازی بررسی‌کننده رمز عبور، بخش 1 Activity: Implementing a password checker, part 1

  • تمرین: پیاده‌سازی مدیریت نشست Activity: Implementing session management

  • ارجاع مستقیم ناامن به شیء (IDOR) Insecure direct object reference

  • بیومتریک Biometrics

  • احراز هویت دو مرحله‌ای (2FA) Two-factor authentication

6. حفاظت از یکپارچگی نرم‌افزار و سیستم 6. Protecting Software and System Integrity

  • مروری بر کدنویسی امن اندروید Secure Android coding roundup

  • یکپارچگی سیستم System integrity

  • مدیریت استثناها (Exception Handling)، بخش 1 Exception handling, part 1

  • محافظت در برابر دست‌کاری (Tamper Protection) Tamper protection

  • تمرین: مدیریت استثناها، لاگ‌گیری و چاپ، بخش 2 Activity: Handling exceptions, logging and printing, part 2

  • تمرین: مهندسی معکوس یک اپلیکیشن اندروید Activity: Reverse engineering an Android app

  • چاپ و لاگ‌گیری، بخش 1 Printing and logging, part 1

  • یکپارچگی اپلیکیشن Application integrity

  • مدیریت استثناها، بخش 2 Exception handling, part 2

  • تمرین: کار با کدهای خارجی Activity: Working with external code

  • تمرین: مدیریت استثناها، لاگ‌گیری و چاپ، بخش 1 Activity: Handling exceptions, logging and printing, part 1

  • تحقیق درباره آسیب‌پذیری‌های جدید New vulnerability research

  • درک ریسک‌های جاسازی کدهای شخص ثالث Understanding risks of embedding third-party code

  • مهندسی اجتماعی Social engineering

  • انواع تست‌ها، بخش 1 Testing types, part 1

  • تشخیص روت (Root Detection) Root detection

  • چاپ و لاگ‌گیری، بخش 2 Printing and logging, part 2

  • انواع تست‌ها، بخش 2 Testing types, part 2

جمع‌بندی Conclusion

  • سخن‌های پایانی Final thoughts

نمایش نظرات

آموزش نوشتن کد امن برای اندروید توسط Infosec
جزییات دوره
25h 27m
156
(آخرین آپدیت)
1,881
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Infosec Institute Infosec Institute

ماموریت اینفوسک اینستیتو قرار دادن انسان در مرکز امنیت سایبری است.

ما به متخصصان IT و امنیت کمک می‌کنیم تا با توسعه مهارت‌ها و دریافت گواهینامه‌ها، حرفه خود را ارتقا دهند و در عین حال، با آموزش آگاهی‌رسانی امنیتی و فیشینگ، به همه کارکنان قدرت می‌دهیم تا در محیط کار و خانه از امنیت سایبری برخوردار باشند. بیش از ۷۰ درصد از شرکت‌های Fortune 500 برای توسعه استعدادهای امنیتی خود به اینفوسک اعتماد کرده‌اند و بیش از ۵ میلیون فراگیر در سراسر جهان از طریق آموزش آگاهی‌رسانی امنیتی Infosec IQ در برابر حملات سایبری مقاوم‌تر شده‌اند.

برای کسب اطلاعات بیشتر به infosecinstitute.com مراجعه کنید.