Professional Documents
Culture Documents
Testing
Giảng viên: PGS.TS Nguyễn Hiếu Minh
Lớp: CHAT 09
Học viên:
Phạm Văn Long
Phạm Lê Đức
Hoàng Mạnh Công
Nguyễn Hải Long
MỤC LỤC
1. Introduction
2. Information gathering and
reconnaissance
3. Obtaining Firmware
4. Analyzing Firmware
5. Extracting the filesystem
6. Analyzing filesystem contents
7. Emulating Firmware
8. Dynamic analysis
9. Runtime analysis
10. Binary Exploitation
Introduction
Introduction
Bối cảnh
Sự phát triển vượt chội của các
thiết bị thông minh và tầm ảnh
hưởng
Rủi ro mang lại:
Lộ lọt thông tin
Chiếm quyền điều khiển
Botnet
Firmware là gì
Phân tích
Giải nén hệ Giả lập hệ
Introduction thống tập tin
nội dung hệ
thống tập tin
thống
Phân tích
Phân tích Khai thác nhị
thời gian
động phân
chạy
¿Tại sao ta cần có một phương pháp?
Trong quá trình phân tích, có được firmware là điều rất cần
thiết.
• Cung cấp nhiều thông tin.
• Duyệt qua hệ thống tệp, thực thi các lệnh tùy ý.
• Xem tệp web, tìm 0-day, tasklist, backdoor.
• Nền tảng cho những bước sau
• Có một cái nhìn ban đầu về firmware
Obtaining Firmware
Nhiều thiết bị IoT chạy hệ điều hành Linux có thể được tìm thấy, cùng với
các hệ thống tệp tương ứng.
Cách nhận dạng và cách trích xuất hệ thống tệp từ Firmware image
Mục đích
• xác định các hệ thống tệp
• phát hiện định dạng
• trích xuất nội dung
=> Phân tích chuyên sâu về hoạt động và đặc điểm của thiết bị IoT.
Extracting the filesystem
Các bước chung cần thiết để lấy nội dung của hệ thống tệp.
1. Nhận dạng các định dạng Firmware image
2. Tìm kiếm chữ ký và số ma thuật
3. Kiểm tra entropy
4. Giải nén hệ thống tập tin
Extracting the filesystem
Lợi ích
tăng tốc độ kiểm tra và tấn công
loại bỏ nhu cầu của thiết bị vật lý
không ảnh hưởng đến thiết bị vật lý và tránh nhu cầu mua thêm thiết bị
Emulating Firmware
+ QEMU
Dynamic Analysis
Dynamic analysis
+ Đây là giai đoạn kiểm tra động trong khi thiết bị đang chạy
trong môi trường bình thường hoặc môi trường giả lập. Thông
thường, việc kiểm tra sẽ là:
bộ tải khởi động
kiểm tra web và API,
Fuzzing (dịch vụ mạng và ứng dụng)
Kiểm tra leo thang quyền và chạy mã
Dynamic Analysis
Một số kỹ thuật
Gỡ lỗi bằng kỹ thuật mô phỏng
QEMU, Renode, Unicorn
Pentest
Network/Service
Vulnerability
Web pentesting, API
Communications analysis (SOAP/XML, REST, …)
Vulnerability exploitation
Làm mờ
Application fuzzing
File format fuzzing
Dynamic Analysis
Runtime Analysis
Runtime Analysis
+ Runtime analysis: liên quan đến việc kiểm tra các tiến trình và
chức năng đang chạy trên môi trường giả lập.
+ Yêu cầu:
Quyền Admin, root
Debug
Công cụ: Ghidra, IDA Pro, Frida, …
Runtime Analysis
+ Hệ thống bảo vệ: Hệ thống có khả năng triển khai các cơ chế phòng thủ trước các kỹ thuật khai
thác khác nhau. Mặt khác, kernel cũng có thể kích hoạt một số biện pháp chống khai thác.
RELRO
NX
Stack Canaries
ASLR
…
Binary Exploitation