Web Audio API là một công cụ mạnh mẽ để xử lý âm thanh trong trình duyệt, cung cấp khả năng xử lý, tổng hợp và phân tích tín hiệu âm thanh. Ban đầu được tạo ra để tạo hiệu ứng âm thanh tương tác, trò chơi và ứng dụng âm nhạc, công nghệ này đã được áp dụng trong các hệ thống chống gian lận, nơi khả năng của nó cho phép nhận diện các đặc điểm độc nhất của thiết bị. #### Lịch sử hình thành và mục đích của Web Audio API Web Audio API được giới thiệu như một phần của đặc tả HTML5 vào đầu những năm 2010. Việc phát triển API này được thực hiện nhằm thay thế các công nghệ cũ như Flash, đảm bảo hiệu suất cao và tính đa dụng trong việc tạo nội dung âm thanh. Phiên bản đầu tiên của công nghệ được Google trình làng trên trình duyệt Chrome vào năm 2011. Đến năm 2014, Web Audio API đã trở thành tiêu chuẩn được hỗ trợ bởi tất cả các trình duyệt hiện đại. Mục đích chính của Web Audio API là tạo và xử lý âm thanh trong thời gian thực, bao gồm tạo âm thanh, thêm hiệu ứng và phân tích dữ liệu âm thanh. Tuy nhiên, giống như Canvas, một trong những ứng dụng không ngờ tới của Web Audio API là trong các hệ thống chống gian lận, nơi nó được sử dụng để nhận diện các thiết bị của người dùng. #### Các tính năng công nghệ của Web Audio API Web Audio API cung cấp cho các nhà phát triển một loạt công cụ phong phú để làm việc với âm thanh: - **Tạo âm thanh.** Tạo các tín hiệu âm thanh đơn giản và phức tạp, bao gồm các hiệu ứng tổng hợp. - **Xử lý âm thanh.** Khả năng áp dụng các hiệu ứng như hồi âm, bộ lọc và cân bằng âm thanh. - **hân tích dữ liệu âm thanh.** Web Audio API cho phép phân tích tín hiệu âm thanh trong thời gian thực, lấy dữ liệu về đặc điểm tần số và biên độ. Những khả năng này làm cho Web Audio API trở thành một công cụ đa năng cho phát triển web, được sử dụng trong các trò chơi, đa phương tiện và ứng dụng tương tác. #### Web Audio API và chống gian lận: bảo vệ khỏi kẻ gian Các hệ thống chống gian lận sử dụng Web Audio API để tạo ra dấu vân tay âm thanh (audio fingerprinting) - dấu vân tay kỹ thuật số của thiết bị, giúp nhận diện người dùng. #### Web Audio API giúp nhận diện người dùng như thế nào? Khi trình duyệt tạo âm thanh hoặc phân tích tín hiệu âm thanh, mỗi thiết bị xử lý âm thanh theo một cách hơi khác nhau. Điều này liên quan đến đặc điểm của phần cứng và phần mềm: - Sự khác biệt trong các bộ xử lý tín hiệu số (DSP). - Sử dụng các trình điều khiển card âm thanh khác nhau. - Các đặc điểm triển khai Web Audio API trong trình duyệt. Những yếu tố này dẫn đến việc cùng một âm thanh, được xử lý trên các thiết bị khác nhau, chứa các đặc điểm độc nhất mà có thể được ghi nhận. Các hệ thống chống gian lận sử dụng những đặc điểm này để tạo dấu vân tay của thiết bị, phân tích tín hiệu âm thanh ở cấp độ tần số và thời gian. #### Các phương pháp giả mạo dấu vân tay âm thanh của Web Audio Những kẻ gian lận, khi cố gắng vượt qua các hệ thống chống gian lận, sử dụng nhiều phương pháp khác nhau để giả mạo dấu vân tay âm thanh: - **Biến dạng tín hiệu.** Chèn những thay đổi nhỏ vào tín hiệu âm thanh để dấu vân tay của thiết bị trông độc nhất. Điều này có thể là thay đổi biên độ, pha hoặc thêm nhiễu. - **Sử dụng dữ liệu đã ghi sẵn.** Các tín hiệu âm thanh chuẩn bị trước có thể thay thế quá trình render âm thanh thực, cung cấp dữ liệu giả. Cách tiếp cận này làm phức tạp việc phát hiện giả mạo, vì tín hiệu trông có vẻ đúng. - **Mô phỏng thiết bị âm thanh.** Các chương trình mô phỏng có thể tạo ra dấu vân tay âm thanh giống hệt với thiết bị thật, vượt qua kiểm tra. #### Hệ thống chống gian lận phát hiện giả mạo dấu vân tay như thế nào? Các hệ thống chống gian lận áp dụng nhiều cách tiếp cận khác nhau để phát hiện gian lận: - **Phân tích đặc điểm tần số.** So sánh các quang phổ tín hiệu âm thanh, hệ thống có thể phát hiện các bất thường đặc trưng cho dữ liệu bị biến đổi. - **Tạo tín hiệu động.** Tạo tín hiệu âm thanh trong thời gian thực, sau đó phân tích cách chúng được xử lý. Những bài kiểm tra này khó bị giả mạo hơn, vì chúng yêu cầu phản ứng nhanh từ thiết bị. - **So sánh với dữ liệu tham chiếu.** Hệ thống so sánh kết quả xử lý tín hiệu với các đặc điểm dự kiến, đánh giá độ lệch. #### Tín hiệu âm thanh động Các bài kiểm tra động, bao gồm thay đổi các đặc điểm âm thanh (như tần số hoặc biên độ), làm phức tạp nhiệm vụ của kẻ gian lận. Những bài kiểm tra này cho phép đánh giá hiệu suất của thiết bị trong thời gian thực và phát hiện sự không khớp trong xử lý tín hiệu. #### Phân tích dấu vân tay WebAudio Hãy xem xét các dữ liệu mà chúng ta có thể thu thập về người dùng thông qua Web Audio API, mở trang browserleaks.com/javascript trong trình duyệt Chrome:  Mở trang này trên trình duyệt chống phát hiện của chúng ta:  Trang web này thu thập một lượng nhỏ thông tin bằng công nghệ Web Audio API. Mở trang kiểm tra của chúng ta test-webapi.tech/audiofull trên máy tính Intel bằng trình duyệt Chrome:  Trên trang này, trong phần Media Devices, chúng ta nhận được thông tin về thiết bị. Trong phần Audio Fingerprint (HEX), chúng ta nhận được chiều dài kết quả của hai phép tính với các bài kiểm tra khác nhau để kiểm tra khả năng của thiết bị (Fingerprint Length) và kết quả MD5 Hash từ mã hóa kết quả của các phép tính và giá trị tham số của thiết bị. Trong phần Audio Context Data, chúng ta thấy các tham số của thiết bị được lấy thông qua Web Audio API và các giá trị của chúng. Mở trang này trong trình duyệt chống phát hiện mà không áp dụng nhiễu:  Chúng ta có thể nhận thấy rằng kết quả Audio Fingerprint (HEX) trùng khớp, trình duyệt chống phát hiện của chúng ta không thay thế kết quả tính toán. Tuy nhiên, điều lạ là trong hồ sơ trình duyệt chống phát hiện của chúng ta không có thiết bị đầu ra âm thanh trong phần Media Devices. Lặp lại kiểm tra với việc áp dụng nhiễu âm thanh trong trình duyệt chống phát hiện:  Chúng ta thấy rằng chiều dài chuỗi kết quả tính toán tăng lên đáng kể, và giá trị MD5 Hash thay đổi. Chúng ta có thể kết luận rằng trình duyệt chống phát hiện đã thành công thay đổi dấu vân tay âm thanh. Để hiểu cách hệ thống chống gian lận có thể phản ứng với sự thay đổi này, hãy kiểm tra kết quả trên các thiết bị máy tính để bàn khác. Máy tính AMD:  Laptop AMD:  Laptop Intel:  Lưu ý rằng trên các thiết bị máy tính để bàn, chúng ta nhận được cùng một dấu vân tay âm thanh. Tiếp tục kiểm tra trên các thiết bị di động:    Trên các thiết bị di động, sự khác biệt trong dấu vân tay âm thanh thường xuyên hơn so với trên máy tính để bàn. Tuy nhiên, cần lưu ý rằng chiều dài giá trị Fingerprint Length cho các loại thiết bị khác nhau thay đổi không đáng kể, khác với chiều dài chuỗi kết quả trong trình duyệt chống phát hiện với nhiễu. #### Xác định nhiễu của Web Audio API Theo kết quả kiểm tra mà chúng ta đã thực hiện trước đó, có thể nhận thấy rằng khi áp dụng nhiễu, kích thước chuỗi kết quả tăng đáng kể, điều này có thể bị hệ thống chống gian lận coi là không khớp với kết quả dự kiến. Hãy thử phân tích cách hệ thống chống gian lận có thể phát hiện chính xác việc sử dụng nhiễu trong dấu vân tay âm thanh. Mở trang kiểm tra của chúng ta test-webapi.tech/audiotamper trên máy tính bằng trình duyệt Chrome:  Mở cùng trang này trong trình duyệt chống phát hiện mà không áp dụng nhiễu:  Lặp lại kiểm tra với việc sử dụng nhiễu trong dấu vân tay âm thanh:  Trong kiểm tra này, chúng ta sử dụng phương pháp xác định nhiễu sau: Chúng ta kiểm tra các phần của dấu vân tay không nên thay đổi trên các thiết bị khác nhau và so sánh chúng với các giá trị tham chiếu. Khi sử dụng nhiễu, một số giá trị của các phần này trong dấu vân tay thay đổi, làm cho việc xác định giả mạo trở nên dễ dàng. Một cách khác để xác định giả mạo có thể là lấy các giá trị thực tế của đặc điểm âm thanh và so sánh với các đặc điểm được khai báo trong thuộc tính của trình duyệt. Hãy thử thực hiện kiểm tra này, mở trang test-webapi.tech/audiodetect trong trình duyệt Chrome:  Chạy kiểm tra:  Mở cùng trang này trong trình duyệt chống phát hiện mà không sử dụng nhiễu:  Lặp lại kiểm tra trong trình duyệt chống phát hiện với việc áp dụng nhiễu:  Những kiểm tra tương tự giúp phát hiện sự thay đổi giá trị thuộc tính âm thanh bằng cách đo sự khác biệt giá trị và so sánh với các giá trị cho phép cho các bài kiểm tra cụ thể. #### Kết luận Trong bài viết này, chúng ta đã xem xét cách dấu vân tay âm thanh được sử dụng trong các hệ thống chống gian lận. Web Audio API không phải là duy nhất, và với nó, các hệ thống chống gian lận không thể nhận diện chính xác người dùng. Tuy nhiên, việc sử dụng nhiễu trong dấu vân tay âm thanh được xác định khá dễ dàng, và các hệ thống chống gian lận có thể dễ dàng nhận diện người dùng cố tình thay đổi dấu vân tay. Trong bài viết tiếp theo, chúng ta sẽ tiếp tục phân tích các công nghệ trình duyệt được sử dụng trong hệ thống chống gian lận. *Bannykh M.V.*