2.3.8.1 Kỹ thuật tấn công
Là kỹ thuật tấn công cho phép Hacker mạo danh người dùng hợp lệ sau khi nạn nhân đã đăng nhập vào hệ thống bằng cách giải mã Session ID của họ được lưu trữ trong Cookie hay tham số URL, biến ẩn của form.
Khác với kiểu tấn công ấn định phiên làm việc, Hacker đánh cắm một Session ID của người dùng khi họ đang trong phiên làm việc của mình. Và để đánh cắp Session ID của người dùng, Hacker có thể sử dụng các phương pháp sau:
Dự đoán phiên làm việc (Prediction Session ID)
Hacker phải là người dùng hợp lệ của hệ thống, sau vài lần đăng nhập vào hệ thống, Hacker xem xét giá trị Session ID nhận được từ đó tìm ra quy luật phát sinh và từ đó có thể đoán được giá trị của một phiên làm việc của người dùng kế tiếp.
Kỹ thuật này rất khó khăn và xác xuất là không cao đòi hỏi Hacker phải có tính kiên trì và đầu óc thông minh nên phương pháp này rất ít dùng. Giả sử máy chủ web sử dụng “random” để cấp phát Session ID thì Hacker không thể dò ra phiên làm việc được. Việc này giống như “ôm cây đợi thỏ” vậy.
Vét cạn phiên làm việc (Brute Force ID)
Hacker dùng một chương trình gởi nhiều yêu cầu trong một khoảng thời gian đến máy chủ. Mỗi yêu cầu kèm theo một Session ID để tìm các Session ID đang tồn tại. Hacker dựa vào thói quen của những nhà phát triển ứng dụng như lấy thời gian hay địa chỉ IP của người dùng để tạo Session ID để hạn chế vùng quét.
Với cách này cũng gần giống với dự đoán phiên làm việc nên cũng không được thông dụng, tốn rất nhiều thời gian nhưng nếu Hacker đã hiểu rõ về máy chủ đó hay người viết lập trình cho ứng dụng đấy thì rất có khả năng sẽ chiếm được Session ID.
Dùng đoạn mã để đánh cắp phiên làm việc
Bằng cách chèn một đoạn mã độc thực thi trên chính trình duyệt của nạn nhân, Hacker có thể lừa người dùng thông qua một liên kiết trong email hay dựng lên một trang web giả mạo nào đấy từ đó việc thực hiện đánh cắp Cookie của người dùng và cách này được thực hiện thông qua lỗi Cross-Site Scripting (phần sau sẽ trình bày rõ kỹ thuật này). Sau khi được phiên làm việc của người dùng, Hacker vào phiên làm việc của người dùng và khai thác.
2.3.8.2 Một số biện pháp bảo mật khắc phục
Thuật toán tạo ra Session ID là một vấn đề lớn và cần cập nhật thông tin để thay đổi những thuật toán yếu cho những thuật toán mạnh hơn.
Với Session ID quá ngắn, Hacker có thể dùng kỹ thuật “vét cạn”. Nhưng không vì thế mà cho rằng bảo mật hơn với Session ID dài và phức tạp vì kích thước của Session ID cũng là vấn đề lớn.