Session HijackingBằ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 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 1SESSION
HIJACKING
MODULE 11
GVHD: Lê Tự Thanh SVTH: Trần Ngọc Khải
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
Trang 2TIN 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.
Trang 3 Quá trình chiếm quyền điều khiển phiên
Các loại chiếm quyền điều khiển phiên
Session Hijacking trong mô hình OSI
Trang 4Session Hijacking mức mạng
Công cụ chiếm quyền điều khiển phiên
Biện pháp đối phó
Thâm
nhập thử
nghiệm
Trang 6Hầ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
Chiếm quyền điều khiển là dễ dàng khởi động
Mối đe dọa đánh cắp nhận dạng, mất thông tin, gian lận, …
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
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
Trang 7Tại sao Session Hijacking lại thành công?
Không khóa tài khoản
Sesion Ids không hợp
lệ
Session ID yếu hệ thuật toán
Phiên không giới hạn thời gian kết thúc
Truyền dữ liệu văn bản
tường minhSession Ids nhỏ
Xử lí không an toàn
Trang 8Sử 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 IDCalculating
Trang 9Brute forcing
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
Ví dụ, trên các
địa chỉ, kẻ tấn công cố gắng đoán 1 session
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
4 Gửi Trojans trong các nạn nhân
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)
2 Ví dụ, GET /index.html HTTP/1.0 Host:
www.mysite.com
Referrer:
www.mywebmail.com/viewmsg.asp?msgid=689645&SID=2556x54VA75
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
Trang 10Tấ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
Trang 11Tấ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=689645&SID=2556x54VA75
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
Trang 12Sự khác nhau giữa Spoofing và Hijacking
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
Session hijacking là quá trìnhchiế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
Trang 13Đặ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)
Theo dõi dòng dữ liệu và dự đoán sequence number
Phá vỡ kết nối của máy nạn nhân
Chiếm phiên
Bắt đầu truyền các gói dữ liệu đến máy chủ
mục tiêu
Trang 14Phân tích gói của một tấn công chiếm phiên cục bộ
Trang 15Với tấn công passive, kẻ
đ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
Trang 16Session Hijacking trong mô hình OSI
Hijacking mức mạng Hijacking mức ứng dụng
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
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
Trang 17Session Hijacking mức mạng
Công cụ chiếm quyền điều khiển phiên
Biện pháp đối phó
Thâm
nhập thử
nghiệm
Trang 18Session 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 session tokenPredictable
middle attack
browser attack Client-side attacks
Trang 19Thăm dò Phiên
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
Trang 20Session Hijacking
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
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
Trang 21Là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
Trang 22Tấ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
Trang 23Tấ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
Trang 24Cá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
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
Các tập tin mở rộng đăng ký một xử lý cho mỗi lần truy cập 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
Người sử dụng đăng nhập bảo mật vào trang web
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ó
Trình duyệt sẽ gửi các hình thức và giá trị điều chỉnh đến máy chủ
Trang 25Các bước thực hiện tấn công Man-in-the-Browser
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ị
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
Sau khi máy chủ thực hiện xử
Trang 26Kiể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
có thể được nhúng 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 horse là một 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
Trang 27Kẻ 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
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
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 < SCRIPT>alert (document.cookie) </
Trang 28Kẻ tấn công được cung cấp một session ID ứng dụng web hợp pháp
và cố gắng để thu hút nạn nhân dùng trình duyệt để sử dụng nó
Một vài kỹ thuật để tấn công
thực thi Session Fixation là
Trang 29Tấn công phiên định hình
bằng cách sử dụng SID
Trang 30Session Hijacking mức mạng
Công cụ chiếm quyền điều khiển phiên
Biện pháp đối phó
Thâm
nhập thử
nghiệm
Trang 31Man in the Middle:
gói thăm dò
Giả mạo IP: Định tuyến gói tin nguồn
Trang 32Nếu kẻ tấn công có thể dự đoán sequence tiếp theo và số ACK mà Bob sẽ gửi, hắn sẽ giả mạo địa chỉ của Bob và bắt đầu một giao tiếp với máy chủ
1 Bob khởi tạo một kết nối với máy chủ và gửi một gói tin đến
máy chủ với các thiết lập bit SYN
2 Máy chủ nhận được gói tin này và gửi một gói tin với bit SYN /
ACK và ISN (Sequece Number ban đầu) cho máy chủ
3 Bob thiết đặt bit ACK acknowledging nhận các gói dữ liệu và
tăng số sequece lên 1
4 Bây giờ, hai máy thành công việc thiết lập một phiên
Trang 33Các chuỗi số là rất quan trọng trong việc cung cấp một giao tiếp đáng tin cậy và cũng rất quan trọng cho việc chiếm một phiên
Trang 34Dự đoán chuỗi số
Sau khi khách hàng gửi gói tin
yêu cầu kết nối (SYN) đến máy
chủ, máy chủ đáp ứng
(SYN-ACK) với một chuỗi số được lựa
chọn, nó phải được công nhận bởi
máy khách
Chuỗi số này là có thể đoán trước; tấn công kết nối đến máy chủ đầu tiên với địa chỉ IP riêng của mình, ghi lại chuỗi số lựa chọn, và sau đó sẽ mở ra một kết nối thứ hai từ một địa chỉ IP giả mạo
Tấn công không nhìn thấy SYN-ACK (hoặc bất kỳ gói nào khác) từ máy chủ, nhưng
có thể đoán được đáp ứng chính xác
Nếu địa chỉ IP nguồn sử dụng để
xác thực, sau đó kẻ tấn công có
thể sử dụng giao tiếp một chiều
để xâm nhập vào máy chủ
Trang 35Tấn công TCP/IP
giữa một nạn nhân và một máy mục tiêu
nạn nhân
Mục tiêu và nạn nhân có thể ở bất cứ đâu
Trang 36Tấn công TCP/IP
Kẻ tấn công thăm dò kết nối của nạn nhân và sử dụng IP của nạn nhân
để gửi một gói giả mạo với chuỗi số dự đoán
chỉ IP của nạn nhân
Máy tính nạn nhân là không biết về các gói tin giả mạo, do đó nó bỏ
qua gói ACK máy chủ và ngừng đếm chuỗi số quay lại
Vì vậy, máy chủ nhận được gói dữ liệu với số thứ tự không chính xác
Trang 37IP giả mạo: Định tuyến nguồn gói tin
Định tuyến nguồn gói tin là kỹ thuật được sử dụng để đạt được truy cậptrái phép đến máy tính với trợ giúp của địa chỉ IP máy chủ đáng tin cậy
Địa chỉ IP của máy chủ giả mạo các gói tin để các máy chủ quản lý mộtphiên với máy khách, chấp nhận các gói tin
Khi phiên được thiết lập, kẻ tấn công truyền các gói tin giả mạo trước khikhách hàng đáp ứng
Các gói tin ban đầu bị mất như là máy chủ nhận được gói tin với mộtchuỗi số khác nhau
Các gói tin được định tuyến nguồn nơi các phần IP đích có thể được chỉ
Trang 38Tấn công RST có thể được thực
hiện bằng cách sử dụng một gói
công cụ thủ công như gói Bulder
Colasoft và công cụ phân tich
TCP / IP như tcpdump
Bật cờ ACK trongtxpdump các gói tinthăm dò
Trang 39Tấn công Blind
Những kẻ tấn công có thể truyền các dữ liệu độc hại hoặc lệnh vào các thông tin liên lạc bị chặn trong phiên TCP ngay cả khi các định tuyến nguồn bị vô hiệu hóaNhững kẻ tấn công có thể gửi dữ liệu hoặc ý kiến, nhưng không được truy cập để xem phản ứng
Trang 40Trong cuộc tấn công này, gói thăm dò được sử dụng như một giao diện giữa máy
khách và máy chủ
Các gói dữ liệu giữa máy khách và máy chủ được chuyển qua
máy chủ của kẻ tấn công bằng cách sử dụng hai kỹ thuật
Sử dụng giả mạo giao thức tạo thông điệp điều khiển
của Internet (ICMP) - Đó là một phần mở rộng của IP
để gửi các thông báo lỗi nơi mà kẻ tấn công có thể gửi
tin nhắn để đánh lừa các máy khách và máy chủ
Sử dụng giao thức phân giải địa chỉ (ARP) giả
mạo-ARP dùng để ánh xạ địa chỉ IP cục bộ để địa chỉ phần
cứng hoặc các địa chỉ MAC
ARP giả mạo liên quan đến đánh lừa các máy chủ lưu
trữ bằng cách phát sóng yêu cầu ARP và thay đổi
Trang 42Session Hijacking mức mạng
Công cụ chiếm quyền điều khiển phiên
Biện pháp đối phó
Thâm
nhập thử
nghiệm
Trang 44Công cụ Session Hijacking: Burp Suite
Burp Suite cho
phép kẻ tấn công
kiểm tra và sửa đổi
lưu lượng giữa
Trang 45Công cụ Session Hijacking: Firesheep
Firesheep là một phần mở rộng cho trình duyệt web
hợp lệ để vào được hệ thống và thăm dò dữ liệu
Trang 46Công cụ Session Hijacking
Trang 47Session Hijacking mức mạng
Công cụ chiếm quyền điều khiển phiên
Biện pháp đối phó
Thâm
nhập thử
nghiệm
Trang 48Biện pháp đối phó
Sử dụng bộ xử lí an toàn (SSL) để tạo ra một kênh giao tiếp an toàn
Cấp phép xác thực các tập tin cookie qua kết nối HTTPS
Thực hiện đăng xuất chức năng cho người dùng khi kết thúc phiên
Tạo ra các session ID sau khi đăng nhập thành công
Sử dụng chuỗi hoặc số ngẫu nhiên dài như là một khóa phiên
Vượt qua các dữ liệu được mã hóa giữa người dùng và máy chủ web
Trang 49Sử dụng mã hóa
Giảm thiểu truy cập từ xa
Hướng dẫn cho người dùng
Tạo các session
ID sau khi đăng
nhập
Giới hạn kết nối đến
Sử dụng 1
giao thức bảo
mật
Trang 50Tạo các khóa phiên với chuỗi dài hoặc số ngẫu nhiên để gây khó khăn cho
kẻ tấn công đoán một khóa
Ngăn chặn nghe lén trong hệ thống
Tạo lại các session ID sau khi đăng nhập thành công để ngăn chặn cuộc
Trang 51Phương pháp để ngăn chặn Session Hijacking: Tiếp
theo là người dùng Web
Sử dụng tường lửa
và cài đặt trìnhduyệt để hạn chếcác tập tin cookie
Hãy chắc chắnrằng các trang
HTTPS tốt hơn, truyền tải
an toàn hơn HTTP khitruyền dữ liệu nhạy cảm
Trang 52Bảo vệ chống lại tấn công Session Hijacking
Sử dụng giao thức mã hóa có sẵn tại bộ OpenSSH
Sử dụng xác thực mạnh (như Kerberos) hoặc peer-
to-peer VPN
Sử dụng các sản phẩm IDS hoặc ARPwatch giám sát ngộ độc bộ nhớ cache ARP
Cấu hình các quy tắc nội bộ và giả mạo bên ngoài thích hợp
trên các gateway
Trang 53Khắc phục hậu quả Session Hijacking
Quốc phòng chiều sâu là một thành
phần quan trọng của kế hoạch an
ninh toàn diện
Quốc phòng chiều sâu cũng là mộtthành phần quan trọng trong việcbảo vệ mạng từ tấn công sessionhijacking
Ý tưởng trung tâm phía sau khái niệmnày là nếu một trong những biện pháptruy cập không thành công thì đã cónhững cấp độ bảo vệ bổ sung để bảo
vệ mạng
Quốc phòng chiều sâu được định
nghĩa là việc thực hành sử dụng
nhiều hệ thống an ninh hoặc các
công nghệ để ngăn chặn sự xâm
nhập mạng
Trang 55Chế độ truyền tải
Xác định hai máy tính kết nối
Có một tùy chọn để mã hóa dữ liệu chuyển giaoTương thích với NAT
Chế độ đường hầm
Các gói dữ liệu đóng gói được chuyển giao
Có một tùy chọn để mã hóa dữ liệu chuyển giaoKhông tương thích với NAT
Trang 56Kiến trúc IPSec
Kiến trúc IPSec
DOI
Trang 572 Đóng gói bảo mật tảitin (ESP) cung cấp cả
dữ liệu xác thực và
mã hóa (bảo mật) củangười gửi
Trang 58Các thành phần của IPSec
IPSec dirver
Một phần mềm, thực hiện chức năng mức giao thức là yêu cầu để mã hóa và giải mã
Một giao thức, sử dụng thuật toán
Diffie-Hellman để tạo ra khóa chính, và một chìa
khóa đó là cụ thể cho từng phiên trong
Phần mềm cho phép hai máy tính để giao tiếp bằng cách mã hóa các dữ liệu được trao đổi