توضیحاتی در مورد کتاب
به خوانندگان پایه محکمی در اجزای داخلی مونتاژ بازو و اصول مهندسی معکوس به عنوان مبنایی برای تجزیه و تحلیل و ایمن سازی میلیاردها دستگاه Arm ارائه می دهد
یافتن و کاهش امنیت آسیبپذیریها در دستگاههای Arm خط مقدم امنیتی اینترنت حیاتی بعدی است - پردازندههای Arm در حال حاضر توسط بیش از 90 درصد دستگاههای تلفن همراه، میلیاردها دستگاه اینترنت اشیا (IoT) و تعداد فزایندهای از لپتاپهای فعلی شرکتهایی از جمله مایکروسافت استفاده میشوند. لنوو و اپل نوشته شده توسط یک متخصص برجسته در امنیت بازو، Blue Fox: Internals Arm Assembly و Reverse Engineering خوانندگان را با مجموعه های دستورالعمل مدرن Armv8-A و فرآیند مهندسی معکوس باینری های بازو آشنا می کند. برای تحقیقات امنیتی و اهداف دفاعی.
این کتاب که به دو بخش تقسیم میشود، ابتدا مروری بر فرمت فایل ELF و اجزای داخلی سیستم عامل ارائه میکند، سپس اصول معماری Arm، و یک فرو رفتن عمیق در A32 و A64 ارائه میکند. مجموعه های دستورالعمل بخش دوم به فرآیند مهندسی معکوس میپردازد: راهاندازی یک محیط Arm، مقدمهای بر ابزارهای تجزیه و تحلیل استاتیک و پویا، و فرآیند استخراج و شبیهسازی سیستم عامل برای تجزیه و تحلیل. فصل آخر یک نگاه اجمالی به تجزیه و تحلیل بدافزار macOS از باینریهای کامپایلشده برای M1 SoC مبتنی بر Arm در اختیار خواننده قرار میدهد. در سراسر کتاب، به خواننده درک گسترده ای از دستورالعمل های بازو و الگوهای کنترل جریان ضروری برای نرم افزار مهندسی معکوس که برای معماری بازو وارد شده است داده می شود. این کتاب که مقدمه ای عمیق در مهندسی معکوس برای مهندسان و محققان امنیتی به طور یکسان ارائه می دهد:
- مقدمه ای بر معماری بازو ارائه می دهد که هر دو را پوشش می دهد. وضعیتهای مجموعه دستورالعملهای AArch32 و AArch64، و همچنین فرمتهای داخلی فایل ELF
- اطلاعات عمیقی را در مورد قطعات داخلی مونتاژ بازو برای مهندسان معکوس ارائه میدهد که بدافزارها را تجزیه و تحلیل میکنند و نرم افزار حسابرسی برای آسیب پذیری های امنیتی، و همچنین برای توسعه دهندگانی که به دنبال دانش دقیق از زبان اسمبلی Arm هستند
- مجموعه دستورالعمل های A32/T32 و A64 پشتیبانی شده را پوشش می دهد. توسط معماری Armv8-A با مروری دقیق از رایج ترین دستورالعمل ها و الگوهای کنترل جریان
- ابزارهای مهندسی معکوس شناخته شده مورد استفاده برای استاتیک و دینامیک را معرفی می کند. تجزیه و تحلیل باینری
- فرایند جداسازی و اشکال زدایی باینری های Arm در لینوکس و استفاده از ابزارهای رایج جداسازی و اشکال زدایی را شرح می دهد.
Blue Fox: Arm Assembly Internals and Reverse Engineering یک منبع حیاتی برای محققان امنیتی و مهندسین معکوس است که برنامه های نرم افزاری را برای دستگاه های مبتنی بر بازو در سطح مونتاژ.
فهرست مطالب
Title Page
Introduction
Notes
Part I: Arm Assembly Internals
Chapter 1: Introduction to Reverse Engineering
Introduction to Assembly
High‐Level Languages
Disassembling
Decompilation
Notes
Chapter 2: ELF File Format Internals
Program Structure
High‐Level vs. Low‐Level Languages
The Compilation Process
The ELF File Overview
The ELF File Header
ELF Program Headers
ELF Section Headers
The Dynamic Section and Dynamic Loading
Thread‐Local Storage
Notes
Chapter 3: OS Fundamentals
OS Architecture Overview
Process Memory Management
Notes
Chapter 4: The Arm Architecture
Architectures and Profiles
The Armv8‐A Architecture
The AArch64 Execution State
The AArch32 Execution State
Notes
Chapter 5: Data Processing Instructions
Shift and Rotate Operations
Logical Operations
Arithmetic Operations
Multiplication Operations
Division Operations
Move Operations
Notes
Chapter 6: Memory Access Instructions
Instructions Overview
Addressing Modes and Offset Forms
Load and Store Instructions
Notes
Chapter 7: Conditional Execution
Conditional Execution Overview
Conditional Codes
Conditional Instructions
Flag‐Setting Instructions
Conditional Select Instructions
Conditional Comparison Instructions
Notes
Chapter 8: Control Flow
Branch Instructions
Functions and Subroutines
Notes
Part II: Reverse Engineering
Chapter 9: Arm Environments
Arm Boards
Emulation with QEMU
Notes
Chapter 10: Static Analysis
Static Analysis Tools
Call‐By‐Reference Example
Control Flow Analysis
Analyzing an Algorithm
Notes
Chapter 11: Dynamic Analysis
Command‐Line Debugging
Remote Debugging
Debugging a Memory Corruption
Debugging a Process with GDB
Notes
Chapter 12: Reversing arm64 macOS Malware
Background
Hunting for Malicious arm64 Binaries
Analyzing arm64 Malware
Conclusion
Notes
Index
Copyright
Dedication
About the Authors
Acknowledgments
End User License Agreement