LỜI MỞ ĐẦUTrong thời đại công nghệ phát triển vượt bậc, dữ liệu không chỉ là tài sản quý giá mà còn là mục tiêu hàng đầu của các cuộc tấn công mạng.. Các kỹ thuật phổ biến trong MITM - A
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT
KHOA CÔNG NGHỆ THÔNG TIN
BÀI BÁO CÁO
CÁC LOẠI TẤN CÔNG PHỔ BIẾN MITM, SQL INJECTION
VÀ CÁCH PHÒNG CHỐNG
MÔN HỌC: AT & BM HỆ THỐNG THÔNG TIN
Ngành: Truyền thông và mạng máy tính Giáo viên hướng dẫn: LÊ THANH TẤN Sinh viên:
1 Nguyễn Văn Chiến
2 Nguyễn Đức Lộc
3 Phan Gia Bảo
HÀ NỘI 2024
Trang 2NHẬN XÉT
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 3MỤC LỤC
Lời mở đầu ……… 3
1 Tìm hiểu về MITM ………4
1.1 MITM là gì? ……….
1.2 Cách MITM hoạt động ……….
1.3 Các kỹ thuật phổ biến trong MITM ……….
1.4 Hệ quả của MITM ………
2 Tìm hiểu về SQL Injection ……….
2.1 SQL Injection là gì? ………
2.2 Cách hoạt động SQL Injection ………
2.3 Cơ chế tấn công của SQL Injection ………
2.4 Các loại SQL Injection phổ biến ………
3 Cách phòng chống ………
3.1 Cách phòng chống MITM ……….
2.2 Cách phòng chống SQL Injection ……….
Kết Luận ……… 10
Trang 4LỜI MỞ ĐẦU
Trong thời đại công nghệ phát triển vượt bậc, dữ liệu không chỉ là tài sản quý giá mà còn là mục tiêu hàng đầu của các cuộc tấn công mạng Hai hình thức tấn công phổ biến và nguy hiểm hiện nay là Man-in-the-Middle (MITM) và SQL Injection Các cuộc tấn công này không chỉ đe dọa thông tin cá nhân mà còn gây ảnh hưởng nghiêm trọng đến hoạt động kinh doanh của các tổ chức
MITM là hình thức tấn công "ngầm", trong đó kẻ xấu chèn mình vào luồng giao tiếp giữa hai bên để đánh cắp hoặc thay đổi thông tin mà không
để lộ dấu vết Những cuộc tấn công này thường xảy ra trên các mạng không an toàn, đặc biệt là Wi-Fi công cộng
Trong khi đó, SQL Injection khai thác lỗ hổng trong các ứng dụng web và
cơ sở dữ liệu để thực hiện các hành vi phá hoại, từ đánh cắp dữ liệu nhạy
Trang 5cảm cho đến thay đổi cấu trúc hệ thống Loại tấn công này nhắm vào các ứng dụng không được kiểm tra kỹ lưỡng trong khâu bảo mật
Bài báo cáo này sẽ đi sâu vào cơ chế hoạt động của hai loại tấn công này, phân tích những hậu quả mà chúng gây ra và quan trọng hơn, đưa ra các giải pháp phòng chống thực tiễn Qua đó, chúng ta có thể hiểu rõ hơn về tầm quan trọng của việc bảo vệ dữ liệu trong môi trường số hóa hiện nay
Trang 71 Tìm hiểu về MITM (Man-in-the-Middle)
1.1 MITM là gì?
- Định nghĩa: Tấn công MITM là một loại tấn công mạng mà kẻ tấn công chen vào giữa hai bên đang giao tiếp để nghe lén hoặc giả mạo thông tin
- Mục tiêu:
+ Nghe lén thông tin nhạy cảm (mật khẩu, số thẻ tín dụng, )
+ Thay đổi dữ liệu truyền đi
+ Kiểm soát thiết bị của nạn nhân
1.2 Cách MITM hoạt động
- Chặn giao tiếp: Kẻ tấn công sử dụng kỹ thuật như ARP Spoofing, DNS Spoofing, hoặc Wi-Fi giả mạo để đứng giữa người dùng và máy chủ
- Phân tích dữ liệu: Dữ liệu bị chặn có thể được giải mã (nếu không mã hóa tốt)
Trang 8- Thao tác: Kẻ tấn công có thể thay đổi nội dung hoặc đánh cắp thông tin.
1.3 Các kỹ thuật phổ biến trong MITM
- ARP Spoofing: Kẻ tấn công gửi các gói tin ARP giả mạo để liên kết địa chỉ MAC của mình với địa chỉ IP của một thiết bị khác trên mạng
- DNS Spoofing: Kẻ tấn công thay đổi các bản ghi DNS để khi nạn nhân nhập địa chỉ website, họ sẽ bị chuyển hướng đến một trang web giả mạo
- SSL Spoofing: Kẻ tấn công tạo ra một chứng chỉ SSL giả mạo để đánh lừa trình duyệt của nạn nhân, khiến họ tin rằng họ đang kết nối với một trang web đáng tin cậy
- IP Spoofing: Kẻ tấn công giả mạo địa chỉ IP của mình để đánh lừa các thiết bị khác trên mạng
Trang 9- Email Hijacking: Kẻ tấn công xâm nhập vào tài khoản email của nạn nhân và gửi các email giả mạo đến người khác
- Session Hijacking: Kẻ tấn công đánh cắp hoặc đoán được session ID của một phiên làm việc đang diễn ra, cho phép họ giả mạo người dùng đó
- Stealing Browser Cookies: Kẻ tấn công đánh cắp các cookie được lưu trữ trong trình duyệt của nạn nhân
1.4 Hệ quả của MITM
- Đối với cá nhân:
+ Mất tài khoản mạng xã hội, email, tài khoản ngân hàng
+ Lộ thông tin cá nhân như số điện thoại, địa chỉ, hoặc hình ảnh riêng tư
- Đối với tổ chức:
+ Bị rò rỉ dữ liệu kinh doanh quan trọng
+ Thiệt hại tài chính lớn
Trang 10+ Mất lòng tin từ khách hàng và đối tác.
2 Tìm hiểu về SQL Injection
2.1 SQL injection là gì?
- SQL Injection (SQLi) là một dạng tấn công bảo mật xảy ra khi dữ liệu đầu vào của người dùng không được kiểm tra và xử lý trước khi đưa vào thực hiện câu lệnh SQL
- Khi đó kẻ tấn công có thể chèn các câu lệnh SQL độc hại thông qua dữ liệu đầu vào nhằm thao túng cơ sở dữ liệu phía sau Những câu lệnh này
có thể được sử dụng để kiểm soát hoàn toàn máy chủ cơ sở dữ liệu, vượt qua các cơ chế bảo mật như xác thực và phân quyền của ứng dụng Giúp cho phép kẻ tấn công có thể truy xuất, sửa đổi hoặc xóa dữ liệu nhạy cảm, hay thậm chí thay đổi cấu trúc của cơ sở dữ liệu
2.2 Cách hoạt động của SQL injection
Trang 11- SQL Injection hoạt động bằng cách lợi dụng những điểm yếu trong việc
xử lý dữ liệu đầu vào của ứng dụng web Khi người dùng nhập dữ liệu vào một trường nào đó trên trang web, dữ liệu này sẽ được chuyển vào một câu lệnh SQL để truy vấn cơ sở dữ liệu Nếu ứng dụng không kiểm tra và làm sạch dữ liệu đầu vào đúng cách, kẻ tấn công có thể chèn các lệnh SQL độc hại để thực thi những hành động không mong muốn trên cơ sở dữ liệu
2.3 Cơ chế tấn công của SQL injection
- Chèn mã SQL độc hại từ đầu vào người dùng: Kẻ tấn công tận dụng các trường nhập liệu như ô đăng nhập hoặc tìm kiếm Khi dữ liệu được gửi,
mã SQL độc hại có thể thay đổi câu truy vấn SQL ban đầu, dẫn đến việc truy cập hoặc thao tác dữ liệu không mong muốn
- Thay đổi cấu trúc câu lệnh SQL: Kẻ tấn công sẽ sử dụng các ký tự đặc biệt như ‘, —, hoặc các điều kiện logic (OR 1=1) để kiểm tra xem ứng dụng có xử lý dữ liệu một cách an toàn hay không Nếu phát hiện lỗ hổng, chúng sẽ khai thác để thực thi các lệnh SQL ngoài ý muốn của developer
Trang 12- SQL Injection có thể xuất hiện ở nhiều phần khác nhau trong câu truy vấn: Hầu hết các SQL Injection xảy ra trong phần WHERE của câu truy vấn SELECT, và những người kiểm thử có kinh nghiệm thường quen thuộc với loại SQL Injection này Tuy nhiên, lỗ hổng SQL Injection có thể xảy ra ở bất kỳ vị trí nào trong câu truy vấn và trong các loại câu truy vấn khác nhau
2.4 Các loại SQL Injection phổ biến
- SQL Injection loại 1: In-band SQLi (Cổ điển):
Đây là loại SQL Injection phổ biến và dễ thực hiện nhất Kẻ tấn công sử dụng cùng một kênh giao tiếp để thực hiện tấn công và thu thập kết quả In-band SQLi có hai biến thể chính: Error-based SQLi vàUnion-based SQLi
- SQL Injection loại 2: Inferential SQLi (Blind SQL injection):Loại tấn công này không trực tiếp trả về dữ liệu mà dựa vào việc quan sát phản hồi
Trang 13và hành vi của máy chủ để suy luận Vì không nhận được dữ liệu trực tiếp, nên được gọi là “mù” Inferential SQLi thường mất nhiều thời gian hơn nhưng vẫn có thể gây hại nghiêm trọng và được chia làm hai loại chính như sau: Boolean-based SQLi và Time-based SQLi
- SQL Injection loại 3: Out-of-band SQLi: Loại tấn công này chỉ khả thi khi máy chủ cơ sở dữ liệu hỗ trợ các tính năng đặc biệt như DNS hoặc HTTP để gửi dữ liệu Out-of-band SQLi thường được sử dụng khi kênh giao tiếp chính quá chậm hoặc không ổn định để thực hiện In-band hay Inferential SQLi Kỹ thuật này cho phép kẻ tấn công thu thập dữ liệu qua các kênh phụ, chẳng hạn thông qua yêu cầu DNS hoặc HTTP
3 Cách phòng chống MITM và SQL Injection
3.1 Cách phòng chống MITM (Man in the Middle)
- Sử Dụng Mạng VPN: VPN mã hóa kết nối Internet của bạn, khiến cho kẻ tấn công khó có thể nghe lén hoặc truy cập vào dữ liệu
Trang 14- Xác Thực Kết Nối: Sử dụng xác thực đa yếu tố (MFA) để tăng cường bảo mật MFA đòi hỏi người dùng xác thực danh tính qua nhiều lớp, khiến MITM khó thực hiện hơn
- Sử Dụng Phần Mềm Bảo Mật: Cài đặt các phần mềm chống virus và bảo mật mạng để bảo vệ thiết bị khỏi các cuộc tấn công tiềm năng
- Tránh Mạng Wi-Fi Công Cộng: Các mạng công cộng không mã hóa thường không an toàn Nếu cần thiết, hãy sử dụng mạng VPN khi kết nối
- Tránh Email Lừa Đảo: Hacker sẽ tạo các email giả để lừa người dùng Phần lớn những email này có gắn liên kết với các web giả mạo hoặc phần mềm độc hại Vì vậy trước khi chưa rõ nguồn gốc của email thì bạn không nên mở nó
Trang 15- Xác Thực Và Chứng Thực Mạnh: Các trang web cần sử dụng HTTPS để
mã hóa dữ liệu và tránh chứng chỉ giả mạo Người dùng có thể kiểm tra biểu tượng ổ khóa trên thanh địa chỉ để xác nhận tính hợp pháp của trang web
3.2 Cách phòng chống SQL Injection
- Tham Số Hóa Truy Vấn: Tham số hóa truy vấn là cách hiệu quả để ngăn chặn SQL Injection, bằng cách tách biệt cấu trúc truy vấn và giá trị tham số
- Xác thực dữ liệu đầu vào: Tham số hóa và xác thực đầu vào giúp đảm bảo thuộc tính dữ liệu đúng, phát hiện lỗi sớm, hạn chế tấn công SQL
- Ẩn thông tin: Thông báo lỗi chi tiết có thể giúp kẻ tấn công dò cấu trúc CSDL Lỗi nhạy cảm nên hiển thị chung, chỉ cung cấp thông tin cần thiết
Trang 16- Hạn chế quyền: Hạn chế dùng tài khoản root/sa, tạo tài khoản với quyền hạn cụ thể để giảm rủi ro và hạn chế tấn công SQL Injection
- Backup dữ liệu thường xuyên: Backup dữ liệu thường xuyên giúp phục hồi khi bị tấn công hoặc xóa nhầm giúp giải quyết mọi vấn đề liên quan đến dữ liệu
Trang 17KẾT LUẬN
Để đối phó với các mối đe dọa ngày càng tinh vi như tấn công MITM và SQL Injection, nhận thức và hành động kịp thời là yếu tố quan trọng Tấn công MITM lợi dụng lỗ hổng trong giao tiếp mạng, trong khi SQL
Injection khai thác các lỗi bảo mật trong cơ sở dữ liệu Cả hai đều có thể gây ra tổn thất nghiêm trọng về dữ liệu và tài sản Tuy nhiên, các biện pháp như mã hóa dữ liệu, sử dụng HTTPS, xác thực đa yếu tố (đối với MITM) và áp dụng các quy tắc kiểm tra đầu vào, sử dụng câu lệnh chuẩn
bị sẵn (đối với SQL Injection) là những cách hiệu quả để giảm thiểu rủi ro
Sự phối hợp giữa công nghệ, quy trình và con người chính là chìa khóa để bảo vệ hệ thống khỏi các loại tấn công này, giúp xây dựng một môi trường
số an toàn và tin cậy hơn