Các hệ thống chống lừa đảo hiện đại sử dụng nhiều phương pháp khác nhau để nhận dạng người dùng. Một trong những công nghệ quan trọng là hoạt động với dấu vân tay mạng, giúp nhận dạng thiết bị và đặc điểm của chúng ở cấp độ kết nối mạng. Cách tiếp cận này bao gồm các công cụ như p0f, JA3, JA4, JARM và phân tích các tham số kết nối TLS/SSL. #### Lịch sử hình thành và mục đích của dấu vân tay mạng ######p0f Công cụ p0f được tạo ra để phân tích lưu lượng mạng một cách thụ động và xác định hệ điều hành, cấu hình cũng như đặc điểm của thiết bị mà không cần tương tác tích cực. Việc sử dụng nó bắt đầu trong lĩnh vực chẩn đoán mạng, nhưng sau đó nó bắt đầu được sử dụng trong các hệ thống chống gian lận. ###### JA3 và JA4 Các phương pháp này xuất hiện nhằm mục đích phân tích các kết nối TLS/SSL. JA3 tạo hàm băm từ tham số Hello của máy khách TLS và JA4 tạo hàm băm từ tham số Hello của máy chủ. Điều này cho phép bạn tạo dấu vân tay duy nhất cho máy khách và máy chủ, nhận dạng thiết bị và chương trình. ###### Dấu vân tay mạng như một công cụ trong hệ thống chống lừa đảo Dấu vân tay mạng được sử dụng cho: • Nhận dạng thiết bị thông qua phân tích hành vi của chúng trên mạng. • Xác định lưu lượng truy cập mạng đáng ngờ hoặc bất thường. • Nhận dạng bot và chống phát hiện trình duyệt bằng cách ngụy trang. • Phát hiện máy chủ độc hại thông qua các phương pháp phân tích chủ động và thụ động. ###### Các thông số kết nối mạng chính để lấy dấu vân tay **Tiêu đề TCP/IP** • Kích thước cửa sổ. • Trình tự các lá cờ. • TTL (Thời gian để sống). **Thông số TLS/SSL** • Mật mã được hỗ trợ (Cipher Suites). • Phần mở rộng và thứ tự của chúng. • Phiên bản giao thức. ###### Cài đặt vân tay mạng **1. Cài đặt TLS (Bảo mật lớp truyền tải)** **Phiên bản TLS:** • Phiên bản ghi: TLS 1.0 (769). • Phiên bản bắt tay: TLS 1.2 (771). • Phiên bản thương lượng: TLS 1.3 (772). **Bộ mật mã:** Máy khách hỗ trợ nhiều bộ mật mã khác nhau, bao gồm: • TLS_AES_128_GCM_SHA256 (4865). • TLS_AES_256_GCM_SHA384 (4866). • TLS_CHACHA20_POLY1305_SHA256 (4867). • Các mật mã khác nhau dựa trên ECDHE và RSA. **2. Phương pháp lấy dấu vân tay** ** • Dấu vân tay JA3:** ◦ Hàm băm: dcc69aae7a9e90b98e2f45cefce8d0ab. ◦ Định dạng: Phiên bản TLS, bộ mật mã, phần mở rộng, đường cong elip, định dạng đường cong elip. ◦ Được sử dụng để xác định các máy khách TLS dựa trên đặc điểm của tin nhắn xin chào của chúng. ** • Dấu vân tay JA3N:** ◦ Giá trị băm: dee19b855b658c6aa0f575eda2525e19. ◦ Tương tự như JA3, nhưng được chuẩn hóa để loại bỏ các giá trị GREASE. ** • Dấu vân tay JA4:** ◦ Giá trị: t13d1516h2_8daaf6152771_02713d6af862. ◦ Bao gồm phiên bản TLS và các thông số kết nối khác. #### Ví dụ về phân tích dấu vân tay p0f, JA3, JA4 ###### Phân tích p0f Một ví dụ về việc sử dụng p0f để phát hiện HĐH: Chúng ta hãy xem dấu vân tay p0f của máy tính Windows được kết nối bằng dây với bộ định tuyến có quyền truy cập Internet từ nhà cung cấp. Hãy mở trang p0ftest.tanatos.org - mod: "đồng bộ" cli: "188.226.xxx.xxx/26860" srv: "167.172.59.39/443" subj: "cli" os: "nhân Windows NT" quận: "15" thông số: "chung" raw_sig: "4:113+15:0:1460:mss*44,8:mss,nop,ws,nop,nop,sok:df,id+:0" - mod: "mtu" cli: "188.226.xxx.xxx/26860" srv: "167.172.59.39/443" subj: "cli" liên kết: "Ethernet hoặc modem" raw_mtu: "1500" Theo kết quả thử nghiệm, chúng tôi thấy các đặc điểm đặc trưng của hệ điều hành Windows: thứ tự các tùy chọn TCP (mss,nop,ws,nop,nop,sok), hệ số nhân (mss*44.8) và Kích thước cửa sổ TCP (113 +15), dựa trên những dữ liệu này. Dựa trên dữ liệu, trang web kết luận rằng chúng tôi đang sử dụng os: "Windows NT kernel". Kích thước Có phải là các giá trị mss 1460 (Kích thước dữ liệu TCP tối đa không có tiêu đề) và mtu 1500 (Kích thước gói tối đa)? là các tham số liên quan xác định kích thước gói trên mạng và cho biết việc sử dụng "Ethernet hoặc modem" Hãy lặp lại thử nghiệm trên thiết bị di động được kết nối qua Wi-Fi với bộ định tuyến - mod: "đồng bộ" cli: "188.226.xxx.xxx/60496" srv: "167.172.59.39/443" subj: "cli" os: "Linux 2.2.x-3.x" quận: "15" thông số: "chung" raw_sig: "4:49+15:0:1460:65535,10:mss,sok,ts,nop,ws:df,id+:0" - mod: "mtu" cli: "188.226.xxx.xxx/60496" srv: "167.172.59.39/443" subj: "cli" liên kết: "Ethernet hoặc modem" raw_mtu: "1500" - mod: "thời gian hoạt động" cli: "188.226.xxx.xxx/60496" srv: "167.172.59.39/443" subj: "cli" thời gian hoạt động: "25 ngày 14 giờ 22 phút (modulo 49 ngày)" raw_freq: "1000,03 Hz" Trong thử nghiệm này, thiết bị được xác định là os: "Linux 2.2.x-3.x" dựa trên một số đặc điểm: thứ tự các tùy chọn TCP (mss, sok, ts, nop, ws), giá trị TCP Window Size (49+15). Ngoài ra trong dấu vân tay còn có thông tin về thời gian thiết bị hoạt động trên mạng: "25 ngày 14 giờ 22 phút (modulo 49 ngày)" Cùng kiểm tra vân tay P0f trên thiết bị di động Android có 4G - mod: "đồng bộ" cli: "176.15.252.192/41378 srv: "167.172.59.39/443" subj: "cli" os: "Linux 2.2.x-3.x" quận: "14" thông số: "chung" raw_sig: "4:50+14: 0:1408:65535,10:mss,sok,ts,nop,ws:df,id+:0" - mod: "mtu" cli: "176.15.252.192/41378" srv: "167.172.59.39/443" subj: "cli" liên kết: "???" raw_mtu: "1448" - mod: "thời gian hoạt động" cli: "176.15.252.192/41378" srv: "167.172.59.39/443" subj: "cli" thời gian hoạt động: "32 ngày 13 giờ 29 phút (modulo 49 ngày)" raw_freq: "989,80 Hz" Tính năng đặc biệt trong ví dụ này là kích thước gói tin mss 1408 và mtu 1448. Hãy thực hiện kiểm tra trong trình duyệt chống phát hiện bằng dấu vân tay trên thiết bị di động, sử dụng proxy được mua từ một trong các dịch vụ  Trong ví dụ này, chúng tôi nhận được dấu vân tay p0f tương ứng với thiết bị máy tính để bàn và cố gắng giả vờ là thiết bị di động. Những khác biệt như vậy sẽ bị hệ thống chống gian lận coi là đáng ngờ. Cũng trong ví dụ này, các giá trị kích thước mss 1360 và mtu 1400 tương ứng với kích thước gói OpenVPN và khác với hầu hết các giá trị của nhà cung cấp dịch vụ di động. Hãy lặp lại thử nghiệm trong trình duyệt chống phát hiện bằng một proxy khác  Kết quả kiểm tra với proxy được trình bày hoàn toàn tương ứng với kết quả kiểm tra trên thiết bị di động thực. ###### UDP (Giao thức gói dữ liệu người dùng) trong các hệ thống chống lừa đảo. UDP (Giao thức gói dữ liệu người dùng) là giao thức truyền tải chạy trên IP (Giao thức Internet). Nó được thiết kế để truyền dữ liệu nhanh chóng và đơn giản mà không cần thiết lập kết nối và không đảm bảo việc phân phối. Hiện tại, các hệ thống chống lừa đảo thường thiết lập kết nối với máy khách thông qua UDP; phương pháp này giúp xác định địa chỉ IP thực của máy khách và phát hiện việc sử dụng proxy không xử lý gói UDP và chuyển chúng trực tiếp đến người nhận, tiết lộ thông tin đó. địa chỉ IP thực hoặc chặn chúng các gói udp, điều này cho biết việc sử dụng mặt nạ địa chỉ IP thực. Hãy kiểm tra khả năng hỗ trợ UDP bằng cách mở trang networktest.twilio.com trên máy tính của bạn  Hãy lặp lại thử nghiệm trên thiết bị di động có 4G  Cả hai thiết bị thực đều vượt qua kiểm tra kết nối UDP thành công. Hãy chạy thử nghiệm trong trình duyệt chống phát hiện bằng proxy đầu tiên  Proxy này chặn kết nối UDP. Hãy kiểm tra proxy thứ hai của chúng tôi trong trình duyệt chống phát hiện  Loại proxy này thiết lập và duy trì các kết nối UDP cũng như vượt qua các bước kiểm tra thành công. ######vân tay JA3 Dấu vân tay JA3 được hình thành từ các giá trị: TLSPhiên bản,Mật mã,Tiện ích mở rộng,Đường cong Elliptic,Định dạng EllipticCurvePoint Ví dụ: 769,47–53–5–10–49161–49162–49171–49172–50–56–19–4,0–10–11,23–24–25,0 Bạn có thể đọc thông tin chi tiết về cách hình thành và hoạt động của dấu vân tay JA3/JA3S trong bài viết này engineering.saleforce.com/tls-fingerprinting-with-ja3-and-ja3s-247362855967 Hãy xem dấu vân tay JA3 trông như thế nào bằng cách sử dụng trình duyệt Chrome và Firefox làm ví dụ. Mở trang tls.peet.ws/api/all trên máy tính của bạn trong trình duyệt Firefox  771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156-15 7-47-53,0-23-65281-10-11-16-5-34-51-43-13-45-28-27-65037-41,4588-29-23-24-25-256- 257,0 Sau khi làm mới trang, chúng tôi nhận được dấu vân tay JA3 sau  771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47 -53.23-45-18-13-43-35-11-10-5-0-65281-65037-16-27-51-17513-41.4588-29-23-24.0 So sánh dấu vân tay thu được từ một thiết bị trong trình duyệt Firefox, chúng tôi thấy có một chút khác biệt trong các giá trị Tiện ích mở rộng. Hãy mở trang thử nghiệm trên trình duyệt Chrome trên máy tính của chúng ta và nhận kết quả vân tay JA3 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47 -53.51-11-13-35-0-5-18-65037-16-43-45-10-65281-17513-27-23-41.4588-29-23-24.0 Hãy làm mới trang trong trình duyệt Chrome và xem dấu vân tay JA3 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47 -53.35-51-10-27-13-18-65281-65037-45-16-5-23-43-0-11-17513-41.4588-29-23-24.0 Chúng ta có thể nhận thấy rằng để bảo vệ khỏi việc lấy dấu vân tay của JA3, trình duyệt Chrome thay đổi thứ tự các giá trị Tiện ích mở rộng. Hãy lặp lại thử nghiệm trên thiết bị di động trong trình duyệt Firefox  JA3: 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156- 157-47-53,0-23-65281-10-11-35-16-5-34-51-43-13-45-28-27-65037,29-23-24-25-256-257, 0 Làm mới trang trong trình duyệt di động Firefox JA3: 771,4865-4867-4866-49195-49199-52393-52392-49196-49200-49162-49161-49171-49172-156- 157-47-53,0-23-65281-10-11-16-5-34-51-43-13-45-28-27-65037-41,29-23-24-25-256-257, 0 Trong trình duyệt Firefox dành cho thiết bị di động, giống như trên máy tính để bàn khi trang được làm mới Giá trị tiện ích mở rộng đã thay đổi. Hãy chạy thử nghiệm trên trình duyệt Chrome dành cho thiết bị di động  JA3: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157- 47-53.0-65281-13-5-17513-51-27-45-43-11-65037-23-16-35-18-10.4588-29-23-24.0 Hãy làm mới trang JA3: 771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47 -53.10-13-23-43-18-35-0-65281-51-11-45-27-16-5-65037-17513-41.4588-29-23-24.0 Trình duyệt Chrome dành cho thiết bị di động, giống như phiên bản dành cho máy tính để bàn, thay đổi thứ tự các giá trị Tiện ích mở rộng. Hãy kết hợp các kết quả vào một bảng và sắp xếp các giá trị theo thứ tự  Trong bảng, chúng ta có thể quan sát sự khác biệt về các giá trị điển hình cho các trình duyệt và hệ thống khác nhau trong các phần Mật mã, Tiện ích mở rộng và EllipticCurves của dấu vân tay JA3. Dựa trên những giá trị này, hệ thống chống gian lận có thể phân biệt giữa các hệ điều hành đã biết và trình duyệt được sử dụng. Điều quan trọng cần lưu ý là tập hợp giá trị trong các phiên bản khác nhau của cùng một trình duyệt có thể hơi khác nhau. Quan trọng không kém là dấu vân tay JA3S; nó được hình thành từ các giá trị Phiên bản, Mật mã được chấp nhận và Danh sách tiện ích mở rộng của tin nhắn TLS Server Hello. Hãy xem phiên bản máy tính để bàn của trình duyệt Firefox và Chrome làm ví dụ. FirefoxJA3S:  Chrome JA3S:  Dựa trên kết quả kiểm tra, chúng tôi có thể kết luận rằng các giá trị Danh sách tiện ích mở rộng trong dấu vân tay JA3S khi máy chủ phản hồi sẽ khác nhau đối với các máy khách khác nhau. ######dấu vân tay JA4 Vân tay JA4 là phiên bản cải tiến của vân tay JA3, nó tính đến nhiều thông số hơn và ổn định hơn. Ví dụ dấu vân tay JA4: t13d1517h2_8daaf6152771_b0da82dd1658 Ở đâu: **t** 13d1517h2_8daaf6152771_b0da82dd1658 – Giao thức (t – TCP, q – QUIQ) t **13** d1517h2_8daaf6152771_b0da82dd1658 – Phiên bản TLS (12 – 1.2, 13 – 1.3) t13 **d** 1517h2_8daaf6152771_b0da82dd1658 – biểu thị sự chuyển đổi sang địa chỉ i - IP hoặc d - miền t13d **15** 17h2_8daaf6152771_b0da82dd1658 – số lượng Chipher Suites t13d15 **17** h2_8daaf6152771_b0da82dd1658 – số Tiện ích mở rộng t13d1517 **h2** _8daaf6152771_b0da82dd1658 – giao thức h2 – HTTP/2 t13d1517 h2_ **8daaf6152771** _b0da82dd1658 – hàm băm cho Chipher Suites được sắp xếp t13d1517h2_8daaf6152771_ **b0da82dd1658** – hàm băm từ danh sách các Tiện ích mở rộng và thuật toán được sắp xếp Đây là cách dấu vân tay JA4 xuất hiện  JA4: t13d1517h2_8daaf6152771_b0da82dd1658 Và phiên bản thô của nó JA4_r: t13d1517h2_002f,0035,009c,009d,1301,1302,1303,c013,c014,c02b,c02c,c02f,c030,cca8,cca9_0005,000a,000b ,000d,0012,0017,001b,0023,0029,002b,002d,0033,4469,fe0d,ff01_0403,0804,0401,0503,0805,0501,0806,0601 Bạn có thể tìm thấy thông tin chi tiết về cách tạo dấu vân tay JA4 trên trang này blog.foxio.io/ja4+-network- lấy dấu vân tay< /a> #### Các phương pháp thay thế vân tay mạng Những kẻ tấn công có thể cố gắng ẩn các tham số kết nối mạng thực thông qua: • Thay đổi các thông số TCP/IP. • Tạo dấu vân tay JA3/JA4 giả. • Sử dụng máy chủ proxy hoặc VPN. Hệ thống chống gian lận phản ứng với những nỗ lực như vậy bằng cách phân tích các điểm bất thường, so sánh dấu vân tay và kiểm tra trình tự hành động của khách hàng. #### Phần kết luận Dấu vân tay mạng như p0f, JA3, JA4 đã trở thành công cụ quan trọng trong kho vũ khí của các hệ thống chống lừa đảo. Chúng không chỉ cho phép xác định thiết bị mà còn phát hiện các nỗ lực ngụy trang. Sự kết hợp giữa dấu vân tay mạng và phần cứng, cũng như phân tích chuyên sâu về giao thức HTTP/2 và ngăn xếp TCP/IP, mang lại khả năng bảo vệ chính xác hơn trước gian lận và các mối đe dọa. _Bannykh M.V._