.3 Chiếm phiên TCP(TCP Session Hijacking):

Một phần của tài liệu Đồ án tốt nghiệp đại học “thiết kế xây dựng ứng dụng tự động kiểm soát truy cập mạng” (Trang 41 - 44)

MỞ ĐẦU

.3 Chiếm phiên TCP(TCP Session Hijacking):

phiên giao dịch TCP, điều này cho phép kẻ tấn công vượt qua được password bảo mật. Hạn chế của kiểu tấn công này là cần phải lắng nghe các gói tin đến tới thiết bị vật lý của máy chủ(máy bị tấn công). Trước khi xem xét kỹ thuật tấn công, chúng ta sẽ xem một số nguyên tắc cơ bản của giao thức TCP:

A(C) SYN(x) S

C SYN(y) – ACK(x+1) S

A(C) ACK(y+1) S

• Các trường quan trọng trong cấu trúc của gói tin TCP:

- Cổng nguồn và cổng đích, được dùng để nhận dạng kết nối giữa hai máy tính.

- Sequence number được dùng để nhận ra số lượng bytes đã được gửi.

- Acknowlegment number tương ứng với byte cuối cùng đã được nhận.

- Những cờ quan trọng: Cờ SYN: Sử dụng để đồng bộ chuỗi số sequence number khi kết nối được thiết lập. Cờ ACK: Cho biết đã nhận được dữ liệu. Cờ PSH: Nói cho máy nhận dữ liệu biết để gửi dữ liệu lên tầng trên.

• Các bước thiết lập kết nối TCP: Được thể hiện ở bên trên.

• Truyền dữ liệu trong TCP: Dưới đây minh hoạ một ví dụ trong truyền dữ liệu giữa hai máy tính.

Kiểu tấn công này tạo ra sự bất đồng bộ của cả hai phía của kết nối TCP, cho phép kẻ tấn công chiếm phiên TCP. Một phiên kết nối sẽ bất đồng bộ khi mà sequence number của byte tiếp theo được gửi bởi máy tính A khác với sequence number của byte tiếp theo nhận được ở máy B.

Như vậy, kẻ tấn công với một máy tính C mong muấn chiếm một phiên TCP đã được thiết lập giữa hai máy tính A và B thì máy tính C phải nghe trộm được thông tin trao đổi giữa hai máy A và B. Sau khi kẻ tấn công đã thấy máy A và B xác thực dịch vụ thì bắt đầu gây ra sự bất đồng bộ giữa hai máy tính A và B. Để làm điều này, kẻ tấn công chỉ cần gửi một gói tin có địa chỉ nguồn của máy A và ACK number của máy B, tất nhiên, máy B

A Seq(x) PSH|ACK(y) (60 bytes) B

A Seq(y) PSH|ACK(x+60) (20 bytes) B

sẽ chấp nhận gói tin, hơn nữa, gói tin này còn có thể mang câu lệnh của dịch vụ mà hai máy A và B sử dụng.

Dưới đây là hình ảnh minh họa chiếm dụng một phiên TCP:

Máy B chấp nhận câu lệnh được gửi từ máy C, nó xem như lệnh này được gửi từ máy A. Nếu trong trường hợp này, máy A gửi một gói tin tới máy B, thì gói tin này sẽ bị máy B từ chối, bởi số sequence number là không còn chính xác như máy B đang mong đợi nữa.

Sẽ có một vấn đề xảy ra: the Ack Storm, đó là hiện tượng rất nhiều Ack được tạo ra, điều này sẽ xẩy ra khi A gửi tới B một sequence number sai(do đã bị bất đồng bộ), máy B sẽ từ chối nó và gửi trả lại máy A một ACK với sequence number mà máy B đang mong muốn. Máy A nhận được ACK này và thấy rằng sequence number không đúng, nó lại gửi một ACK tới máy B với sequence number mà nó mong đợi, và máy A lại làm lại như trên …

Vấn đề trên sẽ được giải quyết nếu kẻ tấn công sử dụng phương pháp ARP Spoofing.

A Seq(x) PSH/ACK(y) 60 bytes B

A Seq(y) PSH/ACK(x+60) 20 bytes B

A Seq(x+60) PSH/ACK(y+20) 30 bytes B

A Seq(y+20) PSH/ACK(x+90) 20 bytes B

C(A) Seq(x+90) PSH/ACK(y+40) 30 bytes B

.4 Giả mạo ARP(Arp Spoofing):

Một phần của tài liệu Đồ án tốt nghiệp đại học “thiết kế xây dựng ứng dụng tự động kiểm soát truy cập mạng” (Trang 41 - 44)

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

(61 trang)
w