VỚI NHỮNG NHÀ THIẾT KẾ ỨNG DỤNG WEB

Một phần của tài liệu bao_mat_ung_dung_web_tren_internet_7039 (Trang 139 - 141)

• Đảm bảo dữ liệu được cung cấp từ người dùng là hợp lệ:

Tất cả những dữ liệu được đưa vào ứng dụng phải đảm bảo được kiểm tra kĩ, loại

bỏ hoặc từ chối những kí tự đặc biệt như < > ‘ /…

Tuy nhiên, không nên dùng ngôn ngữ trình khách (như JavaScript, VBScript…) để kiểm tra dữ liệu nhập hợp lệ vì hacker vẫn có thể lợi dụng để tấn công như trong kĩ thuật mã hoá URL hay vượt đường dẫn…Cách tốt nhất vẫn là kiểm tra

ngay trên ứng dụng.

Nếu không thể từ chối cũng như lọai bỏ những kí tự, ứng dụng cần kiểm tra dữ

liệu xuất để đảm bảo rằng dữ liệu xuất đến trình duyệt là an toàn. Ví dụ 12.II-1:

Với SQL Injection, ứng dụng cần xuất một trang báo lỗi do chính ứng dụng qui định để phòng tránh trường hợp hacker lợi dụng nội dung báo lỗi cú pháp SQL để

lấy thông tin.

Ngoài ra, ứng dụng cần kết hợp với HTTP Header, đặc biệt là thành phần Referer để đảm bảo trang yêu cầu không xuất phát từ máy hacker như trong kĩ thuật

Buffer Overflow, thao tác trên biến ẩn form,… • Chứng thực người dùng:

Chương 12: Tổng kết các biện pháp phòng chống

Nhiều ứng dụng hiện nay quản lí một phiên làm việc của người dùng bằng

sessionID nhưng sự yếu kém trong cách quản lí một phiên làm việc khiến cho hacker có thể dễ dàng kiểm soát được một phiên làm việc của người dùng như trong kĩ thuật “quản lí phiên làm việc”. Vì thế, đối với một phiên làm việc, ứng

dụng cần hủy ngay sau khi trình duyệt đóng kết nối. • Mã hóa dữ liệu quan trọng:

Những thông tin quan trong như tên/mật khẩu, credit card,… cần được mã hóa để tránh hacker có thể lấy được nội dung và sử dụng chúng như trong kĩ thuật XSS, SQL Injection...Ngoài ra, trong quá trình truyền, kết hợp phương pháp SSL để

tránh trường hợp mất mát thông tin trên đường truyền.

Hiện nay trong lĩnh vực mã hóa dữ liệu, có rất nhiều phương pháp mã hóa như mã hóa khóa bí mật, mã hóa khóa công khai,…nên tùy vào mức độ sử dụng cũng như tầm quan trọng mà ứng dụng có thể chọn một trong những phương pháp mã hóa

để đảm bảo dữ liệu được bảo mật.

Tuy nhiên, hiện nay nhiều nhà ứng dụng lại mã hóa dữ liệu kết hợp với vài thông tin như ngày giờ, địa chỉ IP…khiến cho hacker có thể dễ dàng dự đoán, hoặc nội

dung dữ liệu mã hóa quá ngắn khiến cho hacker có thể sử dụng nhưng công cụ sẵn có để vét cạn những khả năng có thể xảy ra như trong kĩ thuật tấn công sessionID. Hoặc phương pháp mã hóa đã quá cũ khiến cho hacker có thể dễ dàng dùng những công cụ giải mã như “John and Ripper”.

Do đó, cần chọn thuật toán mã hóa cùng với khóa để mã hóa sao cho dữ liệu không dễ dự đoán và bị vét cạn.

Chương 12: Tổng kết các biện pháp phòng chống

Ngoài ra, việc dùng SSL là cần thiết để tránh trường hợp dữ liệu bị đánh cắp trên đường truyền.

• Dùng phần mềm có sẵn:

Hiện nay trên thị trường xuất hiện những phần mểm như Appshield hoạt động như một proxy, nghĩa là trung gian giữa máy khách và máy chủ, mọi yêu cầu từ

máy khách đều đi qua phần mềm này, nếu phát hiện trong yêu cầu có ẩn chứa khả

năng tấn công lên hệ thống, nó sẽ từ chối yêu cầu, không gửi lên máy chủ nữa mà

sẽ tự động hủy yêu cầu. • Thiết lập quyền:

Với những ứng dụng, hệ thống chỉ nên cung cấp những quyền hạn nhất định sao

cho ứng dụng đủ thực hiện các chức năng của mình. Không nên đưa quyền cao nhất, như root vì hacker có thể lợi dụng quyền root này để có thể thực thi những câu lệnh của hệ thống, như trong kĩ thuật tấn công SQL Injection, Buffer

Overflow…

Một phần của tài liệu bao_mat_ung_dung_web_tren_internet_7039 (Trang 139 - 141)

Tải bản đầy đủ (DOC)

(170 trang)
w