















Preview text:
TRƯỜNG ĐẠI HỌC THỦY LỢI
KHOA CÔNG NGHỆ THÔNG TIN
---------------------------------

BÀI TẬP LỚN MÔN : KỸ THUẬT LIÊN MẠNG
GIẢNG VIÊN SINH VIÊN THỰC HIỆN | : ĐỖ TRƯỜNG XUÂN : PHẠM VĂN TRƯỜNG NGUYỄN VINH NGUYỄN NGUYỄN ĐỨC QUANG NGUYỄN BÁ VIỆT ANH |
Hà Nội - 2025
MỞ ĐẦU
1 ĐẶT VẤN ĐỀ
Trong thời đại công nghệ số và Internet phát triển mạnh mẽ, các ứng dụng web đã trở thành nền tảng quan trọng trong nhiều lĩnh vực như giáo dục, thương mại điện tử, tài chính – ngân hàng và dịch vụ công. Việc truyền tải dữ liệu trên môi trường mạng không chỉ đòi hỏi hiệu năng cao mà còn yêu cầu nghiêm ngặt về tính an toàn và bảo mật thông tin. Các giao thức mạng, đặc biệt là giao thức HTTP, cùng với các cơ chế hỗ trợ như Cookies, Same-Origin Policy, HTTPS và Certificate, đóng vai trò cốt lõi trong việc đảm bảo quá trình trao đổi dữ liệu giữa client và server diễn ra hiệu quả và an toàn. Tuy nhiên, do những hạn chế trong thiết kế cũng như lỗi trong quá trình phát triển ứng dụng, nhiều hệ thống web vẫn tồn tại các lỗ hổng bảo mật nghiêm trọng. Thực tế cho thấy, phần lớn các cuộc tấn công mạng hiện nay đều tập trung vào việc khai thác các lỗ hổng ứng dụng web, điển hình là những lỗ hổng được thống kê trong danh sách OWASP Top 10. Điều này cho thấy việc nghiên cứu các giao thức web song song với các vấn đề bảo mật là hết sức cần thiết đối với sinh viên ngành công nghệ thông tin.
2 MỤC TIÊU NGHIÊN CỨU
Báo cáo được thực hiện nhằm đạt được các mục tiêu sau:
- Trình bày tổng quan về giao thức HTTP và cơ chế hoạt động trong môi trường web.
- Phân tích cơ chế quản lý phiên và trạng thái người dùng thông qua Cookies.
- Làm rõ vai trò của Same-Origin Policy, HTTPS và Certificate trong bảo mật truyền thông web.
- Nghiên cứu một số lỗ hổng bảo mật ứng dụng web tiêu biểu thuộc OWASP Top 10.
- Đề xuất các biện pháp phòng tránh nhằm nâng cao mức độ an toàn cho hệ thống web.
3 PHẠM VI NGHIÊN CỨU
Phạm vi nghiên cứu của báo cáo tập trung vào:
- Các kiến thức lý thuyết liên quan đến HTTP và các cơ chế bảo mật trong ứng dụng web.
- Một số lỗ hổng bảo mật phổ biến theo OWASP Top 10, bao gồm SQL Injection, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF) và lỗi cấu hình bảo mật.
Báo cáo không đi sâu vào khai thác thực nghiệm hay triển khai hệ thống, mà tập trung phân tích lý thuyết và minh họa bằng ví dụ.
4 PHƯƠNG PHÁP NGHIÊN CỨU
Các phương pháp nghiên cứu được sử dụng trong báo cáo bao gồm:
- Nghiên cứu tài liệu: Tham khảo slide bài giảng môn kỹ thuật liên mạng và các tài liệu liên quan.
- Phân tích và tổng hợp: Phân tích nội dung lý thuyết, tổng hợp kiến thức để trình bày một cách hệ thống.
- Minh họa ví dụ: Sử dụng các ví dụ phổ biến nhằm làm rõ bản chất của các lỗ hổng bảo mật.
CHƯƠNG 1 : TỔNG QUAN VỀ AN NINH MẠNG VÀ ỨNG DỤNG WEB
- KHÁI NIỆM AN NINH MẠNG
An ninh mạng là lĩnh vực nhằm bảo vệ hệ thống máy tính, mạng và dữ liệu khỏi các mối đe dọa trên không gian mạng. Mục tiêu của an ninh mạng là đảm bảo ba yếu tố cốt lõi: tính bảo mật (Confidentiality), tính toàn vẹn (Integrity) và tính sẵn sàng (Availability) của thông tin.
- AN NINH MẠNG TRONG MÔI TRƯỜNG WEB
Trong môi trường web, an ninh mạng tập trung vào việc bảo vệ dữ liệu người dùng, phiên làm việc và các dịch vụ trực tuyến khỏi các hình thức tấn công như đánh cắp thông tin, giả mạo truy cập và phá hoại hệ thống.
- CÁC MỐI ĐE DOẠ PHỔ BIẾN ĐỐI VỚI ỨNG DỤNG WEB
Các ứng dụng web thường đối mặt với nhiều mối đe dọa như tấn công chèn mã độc, đánh cắp phiên, giả mạo yêu cầu và cấu hình bảo mật không đúng. Đây là nguyên nhân chính dẫn đến các sự cố an toàn thông tin nghiêm trọng.
CHƯƠNG 2 : GIAO THỨC HTTP VÀ QUẢN LÝ PHIÊN
2.1 TỔNG QUAN VỀ GIAO THỨC HTTP
HTTP (HyperText Transfer Protocol) là giao thức tầng ứng dụng trong mô hình TCP/IP, được thiết kế để phục vụ việc truyền tải siêu văn bản và dữ liệu giữa trình duyệt web (client) và máy chủ web (server). HTTP đóng vai trò cầu nối giúp người dùng có thể truy cập, trao đổi thông tin trên Internet thông qua các website và dịch vụ web.
HTTP hoạt động theo mô hình client–server và tuân theo cơ chế request–response. Trong đó, client gửi yêu cầu đến server, server tiếp nhận, xử lý yêu cầu và trả về phản hồi tương ứng. Cơ chế này giúp HTTP đơn giản, linh hoạt và dễ triển khai trên nhiều nền tảng khác nhau.
2.2 CẤU TRÚC HTTP REQUEST
Một HTTP Request được gửi từ client đến server bao gồm các thành phần chính sau:
- Request Line: Chứa method, URL và phiên bản HTTP.
- Method: Xác định hành động cần thực hiện, phổ biến gồm GET (lấy dữ liệu), POST (gửi dữ liệu), PUT (cập nhật), DELETE (xóa).
- Header: Chứa các thông tin bổ sung như User-Agent, Cookie, Content-Type, Authorization.
- Body: Chứa dữ liệu gửi lên server, thường xuất hiện trong POST hoặc PUT request.
Việc hiểu rõ cấu trúc HTTP Request giúp lập trình viên và chuyên gia bảo mật dễ dàng phân tích, phát hiện và phòng tránh các nguy cơ tấn công từ phía client.
2.3 CẤU TRÚC HTTP RESPONSE
HTTP Response là phản hồi của server gửi về client, bao gồm:
- Status Line: Chứa mã trạng thái và thông điệp mô tả kết quả xử lý.
- Status Code: Một số mã phổ biến như 200 (OK), 301 (Redirect), 403 (Forbidden), 404 (Not Found), 500 (Internal Server Error).
- Header: Cung cấp thông tin về server, thời gian phản hồi, kiểu dữ liệu.
- Body: Chứa nội dung HTML, JSON hoặc các dữ liệu khác.
Status code đóng vai trò quan trọng trong việc chẩn đoán lỗi và phân tích hành vi của hệ thống web.
2.4 ĐẶC ĐIỂM CỦA GIAO THỨC HTTP
HTTP có một số đặc điểm nổi bật như:
- Là giao thức stateless, không lưu trạng thái người dùng giữa các request.
- Dễ mở rộng và dễ kiểm tra thông qua các công cụ phân tích mạng.
- Độc lập nền tảng và có khả năng tương thích cao.
Tuy nhiên, chính đặc điểm stateless cũng đặt ra yêu cầu phải có cơ chế bổ trợ để quản lý phiên người dùng.
2.5 HẠN CHẾ CỦA HTTP
HTTP không mã hóa dữ liệu truyền tải, khiến thông tin có thể bị nghe lén hoặc chỉnh sửa trong quá trình truyền. Điều này làm HTTP dễ bị tấn công Man-in-the-Middle và không phù hợp để truyền tải dữ liệu nhạy cảm như mật khẩu hay thông tin cá nhân.
2.6 COOKIE VÀ CƠ CHẾ QUẢN LÝ PHIÊN
Do HTTP là giao thức stateless, Cookie được sử dụng để lưu trữ thông tin trạng thái người dùng. Cookie là dữ liệu nhỏ do server tạo ra và lưu trên trình duyệt của client. Mỗi khi client gửi request mới, cookie sẽ được gửi kèm theo, giúp server nhận diện người dùng và quản lý phiên làm việc.
Cookie đóng vai trò quan trọng trong các chức năng như đăng nhập, giỏ hàng và cá nhân hóa nội dung website.
2.7 CÁC THUỘC TÍNH BẢO MẬT CỦA COOKIE
Cookie có nhiều thuộc tính nhằm tăng cường bảo mật:
- HttpOnly: Ngăn JavaScript truy cập cookie.
- Secure: Chỉ gửi cookie qua kết nối HTTPS.
- SameSite: Hạn chế cookie được gửi trong các request cross-site.
Việc cấu hình cookie đúng cách giúp giảm đáng kể nguy cơ bị đánh cắp phiên và tấn công CSRF.
CHƯƠNG 3: CƠ CHẾ BẢO MẬT TRONG TRUYỀN THÔNG WEB
3.1 Same-Origin Policy (SOP)
Same-Origin Policy là chính sách bảo mật cốt lõi của trình duyệt web, quy định rằng các tài nguyên chỉ được phép truy cập lẫn nhau nếu chúng có cùng origin. Origin được xác định dựa trên ba thành phần: scheme (http/https), domain và port.
SOP giúp ngăn chặn các website độc hại truy cập trái phép vào dữ liệu nhạy cảm như cookie, DOM hoặc thông tin phiên của website khác.
3.2 VAI TRÒ CỦA SOP TRONG BẢO MẬT WEB
SOP đóng vai trò nền tảng trong việc bảo vệ người dùng khỏi các cuộc tấn công như đánh cắp dữ liệu, XSS và CSRF. Nhờ SOP, trình duyệt có thể cách ly các website với nhau, hạn chế khả năng lan truyền tấn công giữa các domain.
3.3 HTTPS VÀ GIAO THỨC SSL/TLS
HTTPS là phiên bản bảo mật của HTTP, sử dụng SSL/TLS để mã hóa dữ liệu truyền giữa client và server. Quá trình bắt tay TLS (TLS Handshake) cho phép hai bên thỏa thuận khóa mã hóa và xác thực danh tính server trước khi trao đổi dữ liệu.
3.4 CERTIFICATE VÀ CƠ CHẾ XÁC THỰC
Certificate là chứng thư số chứa thông tin định danh của server và khóa công khai. Certificate được cấp bởi các tổ chức chứng thực (Certificate Authority – CA) nhằm đảm bảo tính tin cậy của website.
3.5 CHUỖI TIN CẬY ( CHAIN OF TRUST )
Chuỗi tin cậy bao gồm Root CA, Intermediate CA và Server Certificate. Trình duyệt sẽ kiểm tra chuỗi này để xác định website có đáng tin cậy hay không. Nếu chuỗi xác thực bị lỗi, kết nối sẽ bị cảnh báo là không an toàn.
3.6 TẤN CÔNG MAN - IN - THE - MIDDLE VÀ BIỆN PHÁP PHÒNG CHỐNG
Man-in-the-Middle là hình thức tấn công trong đó kẻ tấn công chen vào giữa quá trình giao tiếp giữa client và server để nghe lén hoặc chỉnh sửa dữ liệu. Việc sử dụng HTTPS, certificate hợp lệ và tránh sử dụng mạng Wi-Fi công cộng không an toàn là những biện pháp hiệu quả để phòng chống MITM.
CHƯƠNG 4 CÁC LỖ HỔNG BẢO MẬT ỨNG DỤNG WEB ( OWASP TOP 10 )
4.1 TỔNG QUAN VỀ OWASP TOP 10
OWASP Top 10 là danh sách mười lỗ hổng bảo mật ứng dụng web phổ biến và nguy hiểm nhất, được công bố bởi tổ chức OWASP. Danh sách này đóng vai trò quan trọng trong việc nâng cao nhận thức về an ninh web và được sử dụng rộng rãi trong đào tạo, đánh giá bảo mật.
4.2 SQL INJECTION
SQL Injection là kỹ thuật tấn công chèn mã SQL độc hại vào các câu truy vấn khi dữ liệu đầu vào không được kiểm soát chặt chẽ.
Nguyên nhân: Ứng dụng nối chuỗi SQL trực tiếp từ input người dùng.
Ví dụ minh họa: Kẻ tấn công sử dụng payload như ' OR '1'='1 để bypass chức năng đăng nhập.
Hậu quả: Rò rỉ dữ liệu, sửa hoặc xóa dữ liệu, thậm chí chiếm quyền điều khiển server.
Biện pháp phòng tránh: Sử dụng Prepared Statement, validate input, phân quyền tài khoản database.
4.3 CROSS - SITE SCRIPTING (XSS)
XSS cho phép kẻ tấn công chèn mã JavaScript độc hại vào website, từ đó đánh cắp cookie hoặc giả mạo hành vi người dùng.
Các loại XSS: Stored XSS, Reflected XSS và DOM-Based XSS.
Hậu quả: Đánh cắp phiên, chuyển hướng người dùng sang website độc hại, làm mất uy tín hệ thống.
Biện pháp phòng tránh: Escape dữ liệu, Content Security Policy, HttpOnly cookie.
4.4 CROSS - SITE REQUEST FORGERT (CSRF)
CSRF là hình thức tấn công giả mạo request, lợi dụng việc trình duyệt tự động gửi cookie.
Ví dụ: Trang độc hại gửi request chuyển tiền hoặc đổi mật khẩu khi người dùng đang đăng nhập.
Biện pháp phòng tránh: CSRF Token, SameSite cookie, kiểm tra Origin và Referer.
4.5 SECURITY MISCONFIGURATION
Security Misconfiguration xảy ra khi hệ thống được cấu hình không an toàn, chẳng hạn bật debug mode, sử dụng mật khẩu mặc định hoặc phân quyền không hợp lý.
Hậu quả: Lộ thông tin nhạy cảm, chiếm quyền quản trị hệ thống.
Biện pháp phòng tránh: Tắt debug trên production, thay đổi cấu hình mặc định, quản lý
CHƯƠNG 5 : VAI TRÒ CỦA LẬP TRÌNH AN TOÀN
5.1 KHÁI NIỆM LẬP TRÌNH AN TOÀN
Lập trình an toàn (Secure Coding) là quá trình thiết kế, phát triển và triển khai phần mềm dựa trên các nguyên tắc bảo mật nhằm giảm thiểu tối đa các lỗ hổng có thể bị khai thác trong quá trình vận hành hệ thống. Khác với cách tiếp cận truyền thống chỉ tập trung vào chức năng và hiệu năng, lập trình an toàn chú trọng đến việc phòng ngừa rủi ro bảo mật ngay từ giai đoạn viết mã nguồn.
Trong môi trường Internet hiện nay, các ứng dụng web thường xuyên phải đối mặt với nhiều hình thức tấn công như SQL Injection, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF) và các lỗi cấu hình bảo mật. Do đó, lập trình an toàn được xem là lớp phòng vệ đầu tiên và quan trọng nhất nhằm bảo vệ hệ thống khỏi các mối đe dọa này.
5.2 NGUYÊN NHÂN DẪN ĐẾN CÁC LỖ HỔNG DO LẬP TRÌNH KHÔNG AN TOÀN
Phần lớn các lỗ hổng bảo mật trong ứng dụng web không xuất phát từ giao thức mạng mà đến từ sai sót trong quá trình lập trình. Một số nguyên nhân phổ biến bao gồm:
- Không kiểm tra, xác thực và lọc dữ liệu đầu vào từ người dùng.
- Nối trực tiếp dữ liệu đầu vào vào câu lệnh truy vấn cơ sở dữ liệu.
- Hiển thị thông tin lỗi chi tiết ra giao diện người dùng.
- Sử dụng thư viện, framework lỗi thời hoặc không được cập nhật.
- Chạy ứng dụng với quyền truy cập cao hơn mức cần thiết.
- Sử dụng cấu hình mặc định hoặc để lộ thông tin nhạy cảm trong mã nguồn.
Những sai sót này tạo điều kiện cho kẻ tấn công khai thác các lỗ hổng phổ biến đã được đề cập trong OWASP Top 10.
5.3 CÁC NGUYÊN TẮC CƠ BẢN CỦA LẬP TRÌNH AN TOÀN
Để hạn chế rủi ro bảo mật, lập trình an toàn cần tuân thủ một số nguyên tắc quan trọng sau:
- Không tin tưởng dữ liệu đầu vào: Mọi dữ liệu do người dùng cung cấp đều phải được kiểm tra, xác thực và làm sạch trước khi xử lý.
- Nguyên tắc đặc quyền tối thiểu: Chỉ cấp quyền cần thiết cho người dùng, tài khoản và dịch vụ hệ thống.
- Xử lý lỗi an toàn: Không hiển thị thông tin lỗi chi tiết như stack trace hay cấu trúc hệ thống cho người dùng cuối.
- Bảo vệ dữ liệu nhạy cảm: Sử dụng các cơ chế mã hóa phù hợp để bảo vệ mật khẩu, thông tin cá nhân và dữ liệu quan trọng.
- Cập nhật và sử dụng thư viện an toàn: Thường xuyên cập nhật framework, thư viện và vá các lỗ hổng bảo mật đã được công bố.
5.4 VAI TRÒ CỦA LẬP TRÌNH AN TOÀN TRONG PHÁT TRIỂN ỨNG DỤNG WEB
Trong quá trình phát triển ứng dụng web, lập trình an toàn giúp ngăn chặn hiệu quả các lỗ hổng phổ biến thuộc OWASP Top 10. Việc áp dụng các biện pháp bảo mật ngay từ giai đoạn thiết kế và lập trình giúp hệ thống vận hành ổn định, bảo vệ dữ liệu người dùng và duy trì uy tín của tổ chức.
Ngoài ra, lập trình an toàn còn giúp giảm chi phí khắc phục sự cố bảo mật, bởi việc sửa lỗi trong giai đoạn vận hành thường tốn kém hơn rất nhiều so với phòng ngừa từ đầu.
KẾT LUẬN
Báo cáo môn Kỹ thuật liên mạng đã hoàn thành đầy đủ các mục tiêu nghiên cứu đề ra ban đầu, bao quát được cả kiến thức nền tảng về giao thức truyền thông web lẫn các vấn đề bảo mật ứng dụng web trong môi trường Internet hiện đại. Thông qua việc hệ thống hóa lý thuyết và phân tích các nội dung trọng tâm, báo cáo đã thể hiện rõ mối liên hệ chặt chẽ giữa kỹ thuật liên mạng và an ninh mạng.
Trước hết, báo cáo đã trình bày một cách có hệ thống về giao thức HTTP, từ cơ chế hoạt động, cấu trúc request/response cho đến những đặc điểm và hạn chế về mặt bảo mật. Trên cơ sở đó, vai trò của Cookies trong quản lý phiên làm việc cũng như ý nghĩa của Same-Origin Policy, HTTPS và Certificate trong việc bảo vệ dữ liệu truyền thông đã được làm rõ. Những nội dung này cho thấy việc đảm bảo an toàn thông tin trên môi trường web không chỉ phụ thuộc vào một thành phần riêng lẻ mà là sự kết hợp đồng bộ của nhiều cơ chế kỹ thuật.
Bên cạnh phần lý thuyết nền tảng, báo cáo đã tập trung phân tích các lỗ hổng bảo mật ứng dụng web tiêu biểu thuộc OWASP Top 10, bao gồm SQL Injection, Cross-Site Scripting (XSS), Cross-Site Request Forgery (CSRF) và lỗi cấu hình bảo mật. Việc trình bày nguyên nhân, ví dụ minh họa, hậu quả và biện pháp phòng tránh của từng lỗ hổng đã giúp làm rõ mức độ nguy hiểm cũng như tác động thực tế của các lỗ hổng này đối với hệ thống thông tin.
Đặc biệt, thông qua chương vai trò của lập trình an toàn, báo cáo đã nhấn mạnh rằng yếu tố con người và tư duy bảo mật của lập trình viên đóng vai trò quyết định trong việc phòng ngừa lỗ hổng. Việc áp dụng các nguyên tắc lập trình an toàn ngay từ giai đoạn thiết kế và phát triển phần mềm là giải pháp bền vững nhằm giảm thiểu rủi ro, nâng cao chất lượng ứng dụng và bảo vệ dữ liệu người dùng.
Tổng thể, báo cáo không chỉ đáp ứng yêu cầu học phần mà còn giúp sinh viên củng cố kiến thức chuyên môn, nâng cao nhận thức về an ninh mạng và hình thành tư duy bảo mật trong phát triển ứng dụng web. Đây là nền tảng quan trọng để sinh viên có thể tiếp tục nghiên cứu, học tập và vận dụng hiệu quả vào các môn học chuyên ngành cũng như công việc thực tế sau này.