BỘ THÔNG TIN VÀ TRUYỀN THÔNG Trường Cao Đẳng Công Nghệ Thông Tin Hữu Nghị Việt Hàn

GVHD: Lê Tự Thanh SVTH: Trần Ngọc Khải

CEH

TIN TỨC AN NINH

eSecurity Planet Firesheep sửa chữa dễ dàng như HTTPS - Tháng 11 năm 2010 được nhớ đến như là tháng Firesheep phát nổ trên khán đài máy tính, sự vui sướng của sinh viên đại học ở khắp mọi nơi. Việc thêm vào của trình duyệt firefox làm nó dễ dàng chiếm được quyền truy cập của bất kì một tài khoản facebook nào trong khi họ kết nối đến internet bằng cách sử dụng mở, kết nối Wi-Fi là không an toàn. - Tất nhiên, một phiên tấn công lỗ hổng thì firesheep đã biết rõ cách tấn công và phạm vi bảo mật cho tất cả thời gian, những gì giúp cho firesheep có cuộc tấn công ngoạn mục dễ dàng. Và thật không công bằng khi làm nổi bật việc facebook rất dễ bị tấn công nếu chỉ vì các trang cộng đồng nổi tiếng khác, như: Flickr, Foursquare cũng như Wordpress thì quá nhạy cảm với firesheep.

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

2

NỘI DUNG CHÍNH

 Session Hijacking là gì?

 Session Hijacking mức ứng dụng

 Các kỹ thuật chiếm quyền điều khiển

 Session Hijacking mức mạng

phiên chính

 Tấn công TCP/IP

 Brute Forcing

 Công cụ chiếm quyền điều khiển phiên

 Spoofing vs. Hijacking

 Biện pháp đối phó

 Quá trình chiếm quyền điều khiển phiên

 Kiến trúc IPSec

 Các loại chiếm quyền điều khiển phiên

 Thâm nhập thử nghiệm

 Session Hijacking trong mô hình OSI

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

3

LƯU ĐỒ MODULE

Khái niệm Session Hijacking

Session Hijacking mức mạng

Session Hijacking mức ứng dụng

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Biện pháp đối phó Thâm nhập thử nghiệm Công cụ chiếm quyền điều khiển phiên

4

Session Hijacking là gì?

Session Hijacking đề cập đến việc khai thác một phiên máy tính hợp lệ nơi mà kẻ tấn công chiếm một phiên làm việc giữa 2 máy tính Kẻ tấn công đánh cắp session ID hợp lệ đang được sử dụng để vào hệ thống và thăm dò dữ liệu

Khi hầu hết các xác thực chỉ xảy ra lúc bắt đầu của phiên TCP, điều này cho phép kẻ tấn công truy cập vào máy

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Trong Session Hijacking TCP, kẻ tấn công chiếm 1 phiên TCP giữa 2 máy

5

Mối nguy hiểm từ Hijacking

Hầu hết các biện pháp đối phó không làm việc trừ khi bạn dùng mã hóa

Hầu hết các máy tính sử dụng giao thức TCP/IP dễ dàng bị tấn công

Mối đe dọa đánh cắp nhận dạng, mất thông tin, gian lận, … Chiếm quyền điều khiển là dễ dàng khởi động

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Bạn có thể bảo vệ và chống lại nó chỉ 1 phần, trừ khi bạn chuyển qua giao thức bảo mật khác

6

Tại sao Session Hijacking lại thành công?

Session ID yếu hệ thuật toán Không khóa tài khoản Sesion Ids không hợp lệ

Xử lí không an toàn

Session Ids nhỏ

Phiên không giới hạn thời gian kết thúc

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Truyền dữ liệu văn bản tường minh

7 7

Các kỹ thuật Session Hijacking chính

Brute Forcing

Kẻ tấn công cố thử các ID khác nhau cho đến khi thành công

Stealing

Calculating

Sử dụng các ID không được tạo ra ngẫu nhiên, kẻ tấn công cố gắng tính toán các Session ID

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Kẻ tấn công dùng các kỹ thuật khác nhau để lấy cắp các Session ID

8

Brute forcing

1. Dùng “referrer attack”, kẻ tấn công cố thu hút người dùng nhấp vào 1 đường dẫn đến trang web khác(1 đường dẫn mysite,www.mysite.com) Dùng tấn công brute force, kẻ tấn công cố gắng đoán session ID đến khi hắn đoán được một session ID

2. Ví dụ, GET /index.html

Ví dụ, trên các địa chỉ, kẻ tấn công cố gắng đoán 1 session ID HTTP/1.0 Host: www.mysite.com Referrer: www.mywebmail.com/vi ewmsg.asp?msgid=6896 45&SID=2556x54VA75

1. Sử dụng giao thức HTTP giới

thiệu tiêu đề

2. Kiểm tra lưu lượng mạng 3. Sử dụng các cuộc tấn công

Cross-Site Scripting Các Session ID có thể bị lấy cắp bằng cách dùng những kỹ thuật khác nhau như:

3. Kẻ tấn công đã lấy được Session ID của người dùng gửi khi trình duyệt gửi đường dẫn giới thiệu chứa 1 session ID của người dùng đến trang web của kẻ tấn công

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

4. Gửi Trojans trong các nạn nhân

9

Tấn công Brute Forcing

 Sử dụng các cuộc tấn công Brute Force, kẻ tấn công cố đoán session

ID đến khi hắn tìm thấy session ID chính xác

 Có thể dãy những giá trị cho session ID phải bị giới hạn để cuộc tấn

công bruteforce được thực hiện thành công

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

1 0

Tấn công HTTP tham chiếu

Tấn công tham chiếu, kẻ tấn công cố gắng thu hút người dùng click vào một liên kết đến một trang web khác.

Ví dụ, GET /index.html HTTP/1.0 Host: www.mysite.com Referrer: www.mywebmail.com/viewmsg.asp?msgid=68 9645&SID=2556x54VA75

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Trình duyệt gửi URL tham chiếu chứa các session ID cho kẻ tấn công, và kẻ tấn công sử dụng session ID của người dùng

1 1

Sự khác nhau giữa Spoofing và Hijacking

Tấn công Spoofing

Hijacking

trình là quá

Kẻ tấn công giả mạo làm người dùng khác hoặc máy (nạn nhân) để truy cập Kẻ tấn công không chiếm 1 phiên hoạt động hiện có. Thay vào đó hắn bắt đầu 1 phiên làm việc mới bằng cách sử dụng thông tin lấy cắp của nạn nhân

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Session hijacking chiếm 1 phiên hoạt động hiện tại Kẻ tấn công dựa vào người sử dụng hợp pháp để được kết nối và xác thực

1 2

Quá trình chiếm quyền điều khiển phiên

Lệnh xâm nhập Bắt đầu truyền các gói dữ liệu đến máy chủ mục tiêu

Dự đoán Session ID Chiếm phiên

Đồng bộ hóa Phá vỡ kết nối của máy nạn nhân

Đánh hơi

Theo dõi Theo dõi dòng dữ liệu và dự đoán sequence number

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Đặt mình vào giữa nạn nhân và mục tiêu (bạn phải có khả năng đánh hơi mạng)

1 3

Phân tích gói của một tấn công chiếm phiên cục bộ

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

1 4

Các loại Session Hijacking

Với tấn công passive, kẻ tấn công chiếm quyền điều khiển 1 phiên, nhưng ngừng lại, xem và ghi lại tất cả các lưu lượng truy cập được gửi ra

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Trong 1 tấn công active, kẻ tấn công tìm phiên đang hoạt động và chiếm nó

1 5

Session Hijacking trong mô hình OSI

Hijacking mức mạng Hijacking mức ứng dụng

Mức ứng dụng là kiểm soát trên phiên người dùng của HTTP bằng cách lấy session ID

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Mức mạng có thể định nghĩa là đánh chặn các gói tin trong quá trình truyền tải giữa máy chủ và máy khách trên 1 phiên TCP và UDP

1 6

LƯU ĐỒ MODULE

Khái niệm Session Hijacking

Session Hijacking mức mạng

Session Hijacking mức ứng dụng

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Biện pháp đối phó Thâm nhập thử nghiệm Công cụ chiếm quyền điều khiển phiên

1 7

Session Hijacking mức ứng dụng

Trên 1 tấn công Session Hijacking, 1 mã thông báo phiên thì bị đánh cắp hoặc mã thông báo phiên hợp lệ thì được dự đoán sẽ bị truy cập trái phép vào máy chủ web

Session Sniffing Man-in-the- middle attack Predictable session token

Một mã thông báo phiên có thể bị xâm hại bằng nhiều cách khác nhau

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Man-in-the- browser attack Client-side attacks

1 8

Thăm dò Phiên

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Kẻ tấn công dùng thăm dò để chiếm 1 mã thông báo hợp lệ gọi là “Session ID” Kẻ tấn công lúc này dùng mã thông báo phiên hợp lệ để truy cập trái phép vào máy chủ web

1 9

Dự đoán Session Token

Bằng cách đoán giá trị session duy nhất hoặc suy ra 1 session ID hoàn thành cuộc tấn công

Dự đoán 1 session ID cũng được biết như là Session Hijacking Nó là phương pháp dùng cho dự đoán 1 session ID hoặc mạo danh người dùng để sử dụng trang web

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Sử dụng kỹ thuật session hijacking, kẻ tấn công có khả năng gửi các yêu cầu đến trang web với các đặc quyền của thành viên bị xâm phạm

2 0

Làm thế nào để dự đoán 1 Session Token?

Hầu hết các máy chủ server dùng thuật toán tùy chỉnh hoặc 1 mô hình được xác định trước để tạo các session ID

Captures

Kẻ tấn công chiếm một số các session ID và phân tích mô hình

Predicts

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Vào 16:25:55 ngày 25 tháng 11 năm 2010, kẻ tấn công có thể dự đoán thành công được 1 session ID

2 1

Tấn công Man-in-the-Middle

Kiểu tấn công man-in-the-middle là dùng để xâm nhập vào một kết nối hiện tại giữa các hệ thống và chặn các tin nhắn được trao đổi

Kẻ tấn công dùng các kỹ thuật khác và tách kết nối TCP thành 2 kết nối 1. Kết nối từ máy khách đến kẻ tấn công 2. Kết nối từ kẻ tấn công đến máy chủ

Sau khi đánh chặn thành công kết nối TCP, kẻ tấn công có thể đọc, chỉnh sửa, và chèn dữ liệu gian lận vào các thông tin liên lạc bị chặn

Trong trường hợp của một giao dịch http, kết nối TCP giữa client và máy chủ trở thành mục tiêu

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

2 2

Kiểu tấn công Man-in-the-Browser

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

Tấn công Man-in-the-browser dùng Trojan Horse để chặn các cuộc gọi của trình duyệt và các cơ chế bảo mật hoặc thư viện Nó làm việc với Trojan Horse đã được cài đặt sẵn và hoạt động giữa trình duyệt và các cơ chế bảo mật của nó Mục tiêu chính của nó là gây ra sự lừa gạt tài chính bằng các thao tác giao dịch của hệ thống ngân hàng Internet

2 3

Các bước thực hiện tấn công Man-in-the-Browser

Đầu tiên Trojan xâm nhập vào phần mềm của máy tính (hệ điều hành hoặc ứng dụng)

Trojan cài đặt mã độc hại (phần mở rộng tập tin ) và lưu vào cấu hình trình duyệt

Các tập tin mở rộng đăng ký một xử lý cho mỗi lần truy cập trang web

Sau khi người dùng khởi động lại trình duyệt, mã độc hại dưới hình thức các tập tin mở rộng được tải

Người sử dụng đăng nhập bảo mật vào trang web

Khi trang web được tải, đuôi mở rộng sử dụng các URL và phù hợp với một danh sách các các trang web được biết đến là mục tiêu tấn công

Trình duyệt sẽ gửi các hình thức và giá trị điều chỉnh đến máy chủ

Nó đăng ký 1 nút xử lý sự kiện khi tải trang cụ thể là phát hiện một mô hình cụ thể và so sánh nó với danh sách mục tiêu của nó

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

2 4

Các bước thực hiện tấn công Man-in-the-Browser

Máy chủ nhận được các giá trị thay đổi nhưng không thể phân biệt giữa bản gốc và các giá trị được sửa đổi

Khi người dùng nhấp vào nút, mở rộng sử dụng giao diện DOM và lấy được tất cả các dữ liệu từ tất cả các trường hình thức và thay đổi các giá trị

Bây giờ, trình duyệt nhận được xác nhận thay đổi xử lí

Sau khi máy chủ thực hiện xử lí, 1 xác nhận được tạo ra

Trình duyệt hiển thi xác nhận với các chi tiết gốc

Người sử dụng nghĩ rằng các xử lí ban đầu đã được nhận bởi máy chủ mà không có bất kỳ ngăn chặn nào

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

2 5

Kiểu tấn công Client-side

Các cuộc tấn công cross- site scripting là một loại của cuộc tấn công xen vào, trong đó các tập lệnh mã độc hại được xen vào các trang web

Một kịch bản độc hại thể được nhúng có trong một trang web và không tạo ra bất kỳ loại cảnh báo nào khi trang được xem trong mọi trình duyệt

Trojan là một horse chương trình trong đó các mã độc hại được chứa bên trong lập trình nhìn như vô hại hoặc dữ liệu trong một cách mà nó có thể có được điều khiển và gây thiệt hại

C E H - S E S S I O N H I J A C K I N G - T R Ầ N N G Ọ C K H Ả I

XSS Trojans Các đoạn mã JavaScript độc hại

2 6

Tập lệnh tấn công Cross-site

Ví dụ ở đây cho thấy làm thế nào kẻ tấn công đánh cắp session token bằng cách sử dụng tấn công XSS

Kẻ tấn công có thể làm hại session token bằng cách gửi mã độc hại hoặc các chương trình cho các chương trình client-site

Nếu kẻ tấn công gửi một liên kết giả mạo cho nạn nhân với JavaScript độc hại, khi nạn nhân nhấp chuột vào liên kết , JavaScript sẽ chạy và hoàn thành các hướng dẫn được thực hiện bởi kẻ tấn công

Ví dụ ở đây sử dụng một cuộc tấn công XSS để hiển thị các giá trị cookie của phiên hiện tại

Sử dụng kỹ thuật tương tự, nó có thể tạo ra một mã Javascript cụ thể sẽ gửi cookie đến kẻ tấn công