






Preview text:
lOMoAR cPSD| 59092960 BẢO MẬT THÔNG TIN
Họ và Tên: Mùa A Thanh Lớp:TH27.55 Msv:2722215045
CÂU 1: Phân biệt tấn công chủ động và tấn công thụ động ? Đặc điểm
Tấn công thụ động
Tấn công chủ động Mục tiêu Thu thập thông tin
Phá hoại hoặc thay đổi hệ thống Dấu vết
Không để lại dấu vết
Có thể phát hiện được Phương pháp Nghe lén, phân tích lưu
Giả mạo, từ chối dịch vụ, lượng phá hoại Ví dụ Sniffing, phân tích lưu Spoofing, DoS, thay đổi lượng dữ liệu
Tấn công thụ động thường khó phát hiện hơn do không can thiệp trực tiếp, trong
khi tấn công chủ động thường gây ra hậu quả rõ ràng và dễ nhận biết hơn.
Câu 2: Các hình thức tấn công thụ động và cách phòng tránh ?
Các hình thức tấn công thụ động Nghe lén (Eavesdropping)
Kẻ tấn công theo dõi và ghi lại các dữ liệu truyền qua mạng, chẳng hạn như
thông tin đăng nhập, tin nhắn, hoặc dữ liệu nhạy cảm.
Mục tiêu: Nhận diện thông tin riêng tư mà không bị phát hiện.
Phân tích lưu lượng (Traffic Analysis)
Kẻ tấn công phân tích mô hình và tần suất của lưu lượng mạng để suy đoán về các thông tin nhạy cảm. lOMoAR cPSD| 59092960
Mục tiêu: Hiểu được cấu trúc, nội dung hoặc mô hình giao tiếp của hệ thống
mà không cần can thiệp trực tiếp vào dữ liệu. Cách phòng tránh tấn công thụ động
Mã hóa dữ liệu (Encryption)
Mã hóa dữ liệu trên đường truyền giúp đảm bảo rằng dữ liệu chỉ có thể được
đọc bởi người nhận chính thức. Các kỹ thuật mã hóa như TLS (Transport Layer
Security) và SSL (Secure Sockets Layer) rất hữu ích cho việc bảo vệ dữ liệu trong
quá trình truyền qua mạng.
Ví dụ: Sử dụng HTTPS thay cho HTTP để bảo mật dữ liệu.
Sử dụng mạng riêng ảo (VPN)
VPN mã hóa toàn bộ dữ liệu truyền qua mạng công cộng và giúp ẩn danh
nguồn truy cập. Điều này làm cho việc nghe lén hoặc phân tích lưu lượng trở
nên khó khăn hơn đối với kẻ tấn công.
Ví dụ: Thiết lập VPN khi truy cập mạng từ xa hoặc mạng công cộng.
Sử dụng công nghệ xác thực mạnh mẽ
Cải thiện xác thực của hệ thống bằng các phương pháp xác thực hai lớp (2FA)
hoặc đa yếu tố (MFA) để đảm bảo rằng kẻ tấn công không thể dễ dàng truy cập
dữ liệu ngay cả khi có quyền giám sát lưu lượng.
Ví dụ: Kết hợp mã OTP từ ứng dụng xác thực với mật khẩu cá nhân.
Kiểm soát truy cập và phân quyền
Hạn chế quyền truy cập vào các tài nguyên nhạy cảm trong mạng và chỉ cung
cấp quyền truy cập cần thiết cho người dùng hoặc dịch vụ. Điều này giảm thiểu
khả năng rò rỉ thông tin trong trường hợp có nghe lén.
Ví dụ: Phân quyền dựa trên vai trò (Role-Based Access Control RBAC) cho các tài khoản người dùng.
Câu 3: Các hình thức tấn công chủ động và cách phòng tránh ? lOMoAR cPSD| 59092960
Các hình thức tấn công chủ động Tấn công giả mạo (Spoofing)
Kẻ tấn công giả mạo danh tính của một người hoặc dịch vụ khác để xâm nhập
vào hệ thống hoặc đánh lừa người dùng.
Ví dụ: IP spoofing, email spoofing.
Tấn công từ chối dịch vụ (Denial of Service - DoS)
Kẻ tấn công gửi một lượng lớn yêu cầu đến một dịch vụ để làm quá tải hệ
thống, khiến người dùng hợp pháp không thể truy cập dịch vụ đó.
Biến thể: DDoS (Distributed Denial of Service), khi nhiều máy tính bị điều khiển
cùng tấn công một mục tiêu.
Tấn công trung gian (Man-in-the-Middle - MitM)
Kẻ tấn công đứng giữa hai bên giao tiếp và đánh cắp, thay đổi hoặc làm giả dữ
liệu được truyền qua lại.
Ví dụ: Nghe lén hoặc thay đổi nội dung các gói tin giữa người dùng và máy chủ.
Tấn công chèn mã độc (Malware Injection)
Kẻ tấn công sử dụng phần mềm độc hại như virus, trojan hoặc ransomware để
xâm nhập vào hệ thống, phá hủy hoặc đánh cắp dữ liệu.
Ví dụ: Phần mềm ransomware khóa dữ liệu của người dùng và đòi tiền chuộc.
Tấn công SQL Injection và Cross-Site Scripting (XSS)
Kẻ tấn công chèn mã độc vào các trường nhập liệu để thực thi các lệnh bất hợp
pháp hoặc lấy cắp thông tin.
Ví dụ: SQL Injection tấn công cơ sở dữ liệu, XSS nhắm vào trang web để đánh
cắp thông tin từ người dùng. Cách phòng tránh tấn công chủ động lOMoAR cPSD| 59092960
Sử dụng tường lửa và hệ thống phát hiện xâm nhập (Firewall và IDS/IPS)
Firewall giúp lọc các gói tin không hợp lệ và ngăn chặn truy cập không mong muốn.
IDS (Intrusion Detection System) và IPS (Intrusion Prevention System) phát hiện
và ngăn chặn các cuộc tấn công, đặc biệt là tấn công DoS và DDoS.
Sử dụng mã hóa và SSL/TLS
Mã hóa dữ liệu và sử dụng giao thức SSL/TLS cho các kết nối giúp bảo vệ thông
tin, ngăn ngừa các cuộc tấn công trung gian (MitM).
Ví dụ: Sử dụng HTTPS cho tất cả các trang web để bảo mật thông tin người dùng.
Xác thực hai yếu tố (Two-Factor Authentication - 2FA)
Xác thực hai yếu tố yêu cầu người dùng cung cấp hai hình thức xác minh độc
lập để đăng nhập, giúp ngăn ngừa các cuộc tấn công giả mạo.
Ví dụ: Xác thực qua mật khẩu và mã OTP từ ứng dụng bảo mật.
Kiểm tra và bảo mật mã nguồn (Code Review and Security Audits)
Thực hiện kiểm tra mã nguồn để phát hiện và khắc phục lỗ hổng như SQL
Injection và XSS trước khi phát hành ứng dụng.
Ví dụ: Sử dụng các công cụ như OWASP ZAP hoặc Burp Suite để kiểm tra lỗ hổng bảo mật.
Thiết lập kiểm soát truy cập chặt chẽ
Phân quyền hợp lý và kiểm soát truy cập đến hệ thống giúp giảm thiểu khả
năng kẻ tấn công xâm nhập vào các tài nguyên nhạy cảm.
Ví dụ: Sử dụng Role-Based Access Control (RBAC) để giới hạn quyền truy cập của người dùng. lOMoAR cPSD| 59092960
Cập nhật và vá lỗ hổng thường xuyên
Thực hiện cập nhật phần mềm, hệ điều hành và các ứng dụng để đảm bảo hệ
thống được bảo vệ khỏi các lỗ hổng mới nhất.
Ví dụ: Cập nhật hệ điều hành và phần mềm bảo mật định kỳ. Giám sát và kiểm
soát lưu lượng mạng
Giám sát lưu lượng mạng để phát hiện sớm các dấu hiệu bất thường, đặc biệt
là lưu lượng tăng đột biến có thể là dấu hiệu của tấn công DDoS.
Ví dụ: Sử dụng công cụ giám sát như Wireshark hoặc SolarWinds.
Câu 4: Thế nào là lỗi tràn bộ nhớ đệm và lỗi này bị hacker khai thác như thế nào ?
Lỗi tràn bộ nhớ đệm (Buffer Overflow) là một trong những lỗi phổ biến trong lập
trình và an toàn thông tin, xảy ra khi một chương trình ghi dữ liệu vượt quá kích
thước của vùng nhớ được cấp phát (buffer) để lưu trữ dữ liệu. Điều này có thể
làm cho dữ liệu tràn sang các vùng nhớ lân cận, gây lỗi hoặc cho phép kẻ tấn công kiểm soát hệ thống.
Nguyên nhân gây ra lỗi tràn bộ nhớ đệm Lỗi tràn bộ nhớ
đệm thường xảy ra do:
Thiếu kiểm tra kích thước dữ liệu đầu vào: Khi một chương trình cho phép ghi dữ
liệu vào một vùng nhớ cố định mà không kiểm tra độ dài dữ liệu, dữ liệu có thể
vượt quá kích thước cho phép.
Lỗi lập trình: Đôi khi lập trình viên không chú ý đến kích thước của buffer khi thực
hiện các thao tác ghi dữ liệu, đặc biệt trong ngônngữ như C/C++, vốn không có cơ
chế tự động kiểm tra kích thước buffer.
Cách hacker khai thác lỗi tràn bộ nhớ đệm
Kẻ tấn công có thể lợi dụng lỗi tràn bộ nhớ đệm để: lOMoAR cPSD| 59092960
Ghi đè địa chỉ trả về (Return Address)
Khi một hàm hoàn thành, nó sẽ quay lại địa chỉ gọi ban đầu để tiếp tục thực thi.
Trong trường hợp tràn bộ nhớ đệm, kẻ tấn công có thể ghi đè lên địa chỉ trả về này
bằng cách ghi một chuỗi dữ liệu có chứa địa chỉ mới vào vùng nhớ. Điều này sẽ làm
cho chương trình nhảy đến một đoạn mã do kẻ tấn công kiểm soát khi hàm hoàn thành.
Chèn mã độc vào bộ nhớ
Kẻ tấn công có thể chèn mã độc (payload) vào buffer. Khi mã độc này được thực thi,
nó có thể cung cấp quyền truy cập vào hệ thống, cho phép kẻ tấn công kiểm soát
máy tính hoặc truy cập vào dữ liệu nhạy cảm.
Khai thác để tăng quyền (Privilege Escalation)
Nếu chương trình có quyền cao (chẳng hạn như quyền quản trị), kẻ tấn công có thể
lợi dụng lỗi tràn bộ nhớ đệm để chạy mã độc với quyền quản trị, dẫn đến chiếm
quyền kiểm soát toàn bộ hệ thống.
Ví dụ về cách hacker khai thác
Giả sử có một chương trình dùng ngôn ngữ C đọc dữ liệu từ người dùng vào một
mảng có kích thước 10 byte nhưng không kiểm tra độ dài dữ liệu đầu vào. Nếu
người dùng nhập một chuỗi dài hơn 10 byte, dữ liệu dư thừa sẽ ghi đè lên các vùng nhớ lân cận.
Kẻ tấn công có thể lợi dụng điều này bằng cách nhập một chuỗi dữ liệu đặc biệt gồm hai phần:
Phần mã độc (payload): Là đoạn mã mà kẻ tấn công muốn chạy.
Phần ghi đè địa chỉ trả về: Là địa chỉ của mã độc, được đặt vào vị trí địa chỉ trả về
của hàm để chương trình thực thi mã độc sau khi hàm kết thúc.
Cách phòng tránh lỗi tràn bộ nhớ đệm
Kiểm tra kích thước dữ liệu: Luôn kiểm tra và giới hạn kích thước dữ liệu đầu vào
để đảm bảo không ghi dữ liệu vượt quá kích thước buffer. lOMoAR cPSD| 59092960
Sử dụng ngôn ngữ an toàn: Ngôn ngữ như Python, Java có cơ chế quản lý bộ nhớ
tốt hơn, giúp tránh lỗi tràn bộ nhớ đệm.
Kỹ thuật bảo vệ bộ nhớ (Stack Canaries): Chèn các giá trị đặc biệt vào ngăn xếp trước
địa chỉ trả về. Nếu xảy ra ghi đè, giá trị canary sẽ thay đổi, và chương trình có thể phát hiện lỗi này.
Sử dụng Address Space Layout Randomization (ASLR): Làm cho các địa chỉ bộ nhớ
của chương trình trở nên khó đoán hơn, giúp ngăn ngừa việc khai thác.