Trong đề tài an toàn thông tin, chỉ thử tấn công trên hệ thống của chính bạn hoặc môi trường thí nghiệm dựng riêng, hoặc trên hệ thống có văn bản cho phép rõ phạm vi. Không công bố lỗ hổng chưa được vá, và dành một mục trong luận văn nói rõ các giới hạn đạo đức đã tuân thủ.
An toàn thông tin là hướng hấp dẫn với nhiều sinh viên công nghệ thông tin, và cũng là hướng duy nhất mà một bước thử nghiệm sai chỗ có thể biến thành hành vi vi phạm pháp luật. Bộ luật Hình sự của Việt Nam có các tội danh liên quan đến xâm nhập trái phép mạng máy tính và phát tán chương trình gây hại; Luật An toàn thông tin mạng và Luật An ninh mạng cũng đặt ra nghĩa vụ liên quan. Ý định học tập không phải lý do miễn trừ.
Thử ở đâu thì được?
Ranh giới nằm ở quyền đối với hệ thống, không nằm ở mục đích của bạn.
| Môi trường | Được thử không | Điều kiện |
|---|---|---|
| Máy ảo, mạng ảo bạn tự dựng | Được | Cách ly khỏi mạng thật, không để mã độc thử nghiệm lọt ra ngoài |
| Ứng dụng cố ý chứa lỗ hổng để học | Được | Chạy cục bộ, ví dụ các ứng dụng như DVWA hay OWASP Juice Shop |
| Phòng thí nghiệm của khoa | Được | Theo nội quy phòng, có sự đồng ý của người phụ trách |
| Hệ thống của doanh nghiệp nơi thực tập | Chỉ khi có văn bản | Văn bản nêu phạm vi, thời gian, kỹ thuật được dùng, người chịu trách nhiệm |
| Trang web, mạng Wi-Fi công cộng, hệ thống của trường | Không | Trừ khi đơn vị quản lý cho phép bằng văn bản như trên |
| Hệ thống của bạn bè “cho thử” | Không nên | Lời đồng ý miệng không xác định phạm vi và người đó có thể không có quyền cho phép |
Dựng môi trường thí nghiệm cho khoá luận
Cách ly là yêu cầu đầu tiên
Dùng phần mềm ảo hoá để dựng máy tấn công và máy mục tiêu trong một mạng chỉ nội bộ. Kiểm tra máy mục tiêu không có đường ra Internet nếu bạn thử mã độc hoặc kỹ thuật lây lan. Mô tả cấu hình mạng trong luận văn bằng sơ đồ và bảng địa chỉ.
Mục tiêu đại diện
Để kết quả có ý nghĩa, máy mục tiêu nên gần với hệ thống thật mà bạn muốn nói tới: cùng loại hệ điều hành, cùng loại dịch vụ, cấu hình phổ biến. Các ứng dụng cố ý có lỗ hổng như Metasploitable, DVWA giúp học kỹ thuật, nhưng kết luận từ chúng chỉ áp dụng trong phạm vi đó.
Ghi lại để tái lập
Lưu ảnh chụp máy ảo, phiên bản phần mềm, kịch bản thử. Hội đồng có thể hỏi bạn chạy lại một bước; môi trường được ghi chép đầy đủ giúp bạn làm được điều đó.
Khi thử trên hệ thống thật của doanh nghiệp
Văn bản cho phép phải có những gì?
Tên hệ thống và địa chỉ cụ thể được thử, khoảng thời gian, các kỹ thuật được phép và không được phép (ví dụ không thử từ chối dịch vụ), người liên hệ khi có sự cố, cách xử lý dữ liệu nhạy cảm nếu vô tình truy cập, và chữ ký của người có thẩm quyền. Người hướng dẫn nên biết và đồng ý.
Dừng khi vượt phạm vi
Nếu trong khi thử bạn phát hiện đường vào một hệ thống khác ngoài phạm vi, dừng lại và báo cho người liên hệ. Không “thử thêm một chút cho chắc”.
Báo cáo cho đơn vị trước
Kết quả tìm được thuộc về việc cải thiện an toàn cho đơn vị đó. Gửi báo cáo cho họ trước khi đưa vào luận văn, thống nhất phần nào được trình bày và ở mức chi tiết nào.
Không công bố lỗ hổng chưa vá
Nếu khoá luận phát hiện một lỗ hổng trong phần mềm hay hệ thống đang được dùng thật, luận văn không phải nơi công bố đầu tiên. Cách làm có trách nhiệm là báo riêng cho bên phát triển hoặc đơn vị quản lý, cho họ thời gian khắc phục, rồi mới trình bày ở mức chi tiết phù hợp. Nhiều tổ chức có kênh tiếp nhận báo cáo lỗ hổng; với phần mềm có mã định danh lỗ hổng chung thì có quy trình cấp mã riêng.
Trong luận văn, bạn có thể mô tả loại lỗ hổng, cách phát hiện, mức ảnh hưởng và cách khắc phục mà không nêu tên hệ thống hay chi tiết đủ để người khác khai thác, nếu lỗ hổng chưa được vá tại thời điểm bảo vệ. Thời gian luận văn được lưu trữ công khai cũng cần cân nhắc; hỏi trường về khả năng hạn chế truy cập một phần phụ lục.
Đề tài an toàn thông tin không cần thử tấn công thật
Hướng phòng thủ và giám sát
Không phải đề tài an toàn thông tin nào cũng cần tấn công. Xây dựng quy tắc phát hiện xâm nhập và đánh giá trên bộ dữ liệu lưu lượng mạng công khai, phân tích nhật ký hệ thống để phát hiện hành vi bất thường, đánh giá cấu hình an toàn của máy chủ theo một bộ tiêu chí công bố, đều là hướng có giá trị và ít rủi ro pháp lý hơn.
Hướng con người và quy trình
Khảo sát nhận thức an toàn thông tin của nhân viên văn phòng ở doanh nghiệp nhỏ, xây dựng quy trình xử lý sự cố cho một đơn vị, đánh giá mức tuân thủ một bộ quy định nội bộ. Những đề tài này cần kỹ năng phương pháp nghiên cứu xã hội nhiều hơn kỹ thuật, nhưng phản ánh đúng thực tế: nhiều sự cố bắt đầu từ thói quen của người dùng.
Khi nào vẫn cần thử tấn công
Khi đề tài là đánh giá hiệu quả một biện pháp phòng thủ, bạn cần thử các kỹ thuật tấn công đã biết lên chính hệ thống được bảo vệ trong môi trường thí nghiệm, đo tỉ lệ bị chặn. Phần tấn công khi đó là công cụ đánh giá, không phải mục tiêu.
Viết mục đạo đức trong luận văn
Phạm vi thử nghiệm. Nêu rõ mọi thử nghiệm được làm trong môi trường nào, có văn bản cho phép nào, đính kèm bản sao văn bản ở phụ lục nếu đơn vị đồng ý.
Dữ liệu. Nếu có truy cập dữ liệu cá nhân trong quá trình thử, nêu cách bạn tránh xem, không sao chép, và xoá bản ghi nhật ký có chứa dữ liệu đó.
Công cụ và mã thử nghiệm. Nêu bạn có công bố mã khai thác hay không, và nếu có thì ở mức nào. Mã dùng để học trên môi trường thí nghiệm khác mã có thể đem dùng ngay trên hệ thống thật.
Công bố. Nêu lỗ hổng phát hiện được đã báo cho ai, khi nào, tình trạng khắc phục ra sao.
Tình huống: một đề tài về bảo mật ứng dụng web
Ý ban đầu. Một sinh viên muốn đánh giá bảo mật các trang web của vài cửa hàng trực tuyến nhỏ ở địa phương bằng công cụ quét tự động.
Góp ý. Người hướng dẫn chỉ ra rằng quét các trang web không thuộc quyền mình là hành vi không được phép, kể cả khi chỉ quét.
Đề tài điều chỉnh. Sinh viên dựng lại một ứng dụng bán hàng mã nguồn mở trên máy ảo, cấu hình theo cách các cửa hàng nhỏ thường làm, đánh giá theo danh mục rủi ro của OWASP, rồi viết hướng dẫn gia cố. Một cửa hàng quen đồng ý bằng văn bản cho kiểm tra cấu hình máy chủ của họ trong một buổi, có mặt chủ cửa hàng. Kết quả gửi cho cửa hàng trước, luận văn chỉ trình bày dạng ẩn danh.
Câu hỏi thường gặp
Sinh viên có được dùng công cụ kiểm thử xâm nhập để làm khoá luận không?
Được khi dùng trên môi trường của mình hoặc hệ thống có văn bản cho phép. Công cụ không bị cấm; dùng lên hệ thống của người khác khi chưa được phép mới là vấn đề.
Chỉ quét cổng một trang web có bị coi là tấn công không?
Quét hệ thống không thuộc quyền bạn có thể bị coi là hành vi trái phép và gây phiền cho đơn vị quản lý. Hãy chỉ quét hệ thống của mình hoặc được cho phép.
Phát hiện lỗ hổng ở hệ thống của trường thì nên làm gì?
Báo riêng cho bộ phận quản trị hệ thống của trường, mô tả đủ để họ khắc phục, không khai thác thêm và không chia sẻ cho người khác. Có thể nhờ người hướng dẫn chuyển giúp.
Văn bản cho phép kiểm thử có cần mẫu riêng không?
Không có mẫu chung bắt buộc cho khoá luận. Điều quan trọng là văn bản nêu đủ phạm vi, thời gian, kỹ thuật, người chịu trách nhiệm và chữ ký người có thẩm quyền.
Có được đưa mã khai thác vào phụ lục luận văn không?
Cân nhắc kỹ. Với lỗ hổng đã công khai và đã vá, có thể đưa ở mức minh hoạ. Với lỗ hổng chưa vá, không nên đưa chi tiết đủ để khai thác.
Đề tài phòng thủ có cần mục đạo đức không?
Nên có nếu đề tài có thu thập lưu lượng mạng, nhật ký hệ thống hay dữ liệu người dùng thật. Mục này nói rõ cách bạn bảo vệ dữ liệu đó.