טביעת אצבע WebGPU: הדור הבא אחרי Canvas ו-WebGL
WebGPU חושף יכולות חומרה עמוקות יותר מ-Canvas ו-WebGL גם יחד — והוא כבר זמין ב-Chrome, ב-Edge וב-Firefox. מה הוא מגלה, ומדוע יחליף את הטכניקות הוותיקות בתוך 2–3 שנים.
WebGPU יצא ב-Chrome 113 בשנת 2023. עד 2026 הוא זמין בכל הדפדפנים המרכזיים ובכל הפלטפורמות המרכזיות. בניגוד ל-WebGL — ממשק דפדפן שעטף את OpenGL ES 2.0 — WebGPU הוא ממשק ישיר אל ממשקי ה-GPU המודרניים: Vulkan ב-Linux, Metal ב-macOS ו-DirectX 12 ב-Windows.
זה משנה את מה שדפדפן יכול לתשאל על החומרה שמתחתיו. טביעת אצבע מבוססת Canvas ו-WebGL נשענה על פלט רינדור. WebGPU מאפשר שאילתות יכולת ישירות אל ה-GPU עצמו, וחושף פרטים ארכיטקטוניים שפלט רינדור יכול רק לרמוז עליהם.
מבחינת טביעת אצבע, זהו שיפור מדרגתי באיכות האות.
מה WebGPU חושף ו-WebGL לא
משטח האבחון של WebGL מוגבל. החלק השימושי ביותר הוא ההרחבה WEBGL_debug_renderer_info, שמחזירה מחרוזות יצרן ו-renderer — לרוב מזויפות בידי דפדפני אנטי-דיטקט או מוסרות בידי מנגנוני פרטיות.
WebGPU מספק את האובייקטים GPUAdapter ו-GPUAdapterInfo עם נתונים עשירים בהרבה:
- Vendor — מזהה יצרן ה-GPU (NVIDIA, AMD, Intel, Apple, Qualcomm).
- Architecture — משפחת הארכיטקטורה של ה-GPU (Ampere, RDNA 2, Xe-LP, Apple M2, Adreno).
- Device — הדגם הספציפי, היכן שהוא זמין.
- Description — מחרוזת קריאה לבני אדם.
מעבר לזיהוי, WebGPU חושף מגבלות GPU — היכולות המספריות המדויקות של החומרה. אפשר לתשאל אותן דרך הממשק GPUSupportedLimits, והן כוללות למעלה מ-30 מאפיינים מספריים:
- ממדי טקסטורה מרביים —
maxTextureDimension2D - גודל buffer מרבי —
maxBufferSize - מספר bind groups מרבי —
maxBindGroups - ממדים מרביים של compute workgroup
- מספר מרבי של מאפייני vertex
- דרישות יישור עבור storage buffers
כל אחד מהערכים האלה נקבע בידי מנהל ההתקן של ה-GPU לפי יכולת החומרה. דורות שונים של GPU, גם אצל אותו יצרן, מציגים צירופי מגבלות שונים. ל-GPU משנת 2019 יש מגבלות אחרות מ-GPU משנת 2023 באותה משפחה.
למה קשה יותר לזייף את זה
דפדפני אנטי-דיטקט מזייפים Canvas ו-WebGL על ידי יירוט קריאות ה-API ושינוי התוצאות. מה ש-Canvas מחזיר הוא hash של פיקסלים שעברו רינדור — הדפדפן יכול לרנדר ואז להחליף את ה-hash. את WebGL מתשאלים על מספר קטן של מחרוזות שניתן להחליף במלואן.
WebGPU שונה. משטח ה-API גדול — מאות מתודות ומאפיינים. כל קריאה זקוקה לערך החזרה סביר. שכבת זיוף חייבת:
- להציג זהות עקבית על פני כל המגבלות המספריות — GPU שטוען שהוא NVIDIA RTX 4090 חייב להחזיר כל ערך מגבלה שתואם לאותה חומרה.
- להתמודד עם ביצוע חישוב אמיתי. WebGPU מאפשר להריץ compute shaders. אם שכבת זיוף טוענת לביצועים גבוהים אך מספקת חישוב איטי, אי-ההתאמה מתגלה דרך מדידת זמנים.
- לעקוב אחרי שינויים בין עדכוני מנהלי התקן. לכל גרסת מנהל התקן יש מגבלות מעט שונות. טבלאות זיוף סטטיות מתיישנות ככל שיוצאות גרסאות חדשות.
חומרה אמיתית מספקת את כל זה בחינם. זיוף חומרה מחייב תחזוקת מסד נתונים של צירופי מגבלות אמיתיים לכל דגם GPU ולכל גרסת מנהל התקן — נטל תחזוקה מתמשך שרוב דפדפני האנטי-דיטקט טרם לקחו על עצמם.
ביצועי חישוב כטביעת אצבע
WebGPU מאפשר להריץ compute shaders שרירותיים בדפדפן. משמעות הדבר היא שמערכות זיהוי יכולות להריץ עומסי עבודה סטנדרטיים ולמדוד כמה זמן הם לוקחים.
מדד לפיצוח hash, כפל מטריצות או משימת חישוב הקרובה לרינדור — כולם רצים במהירות שנקבעת על ידי החומרה שמתחת. שני מבקרים שטוענים לאותו דגם GPU אך מספקים ביצועי חישוב שונים משקרים לגבי החומרה.
הטכניקה עוקפת לחלוטין זיוף סטטי של טביעת אצבע. מבקר יכול לטעון לכל מחרוזת GPU שירצה. הוא לא יכול לטעון לביצועי חישוב שאין לו.
המחיר הוא חוויית המשתמש. הרצת compute shader ברקע צורכת מחזורי GPU ועלולה להיתפס כאיטיות. זה מגביל את עוצמת השימוש בטכניקה — בדרך כלל כבדיקה חד-פעמית בסשנים חשודים ולא כניטור מתמשך.
זמינות תכונות כאות
WebGPU חושף תכונות אופציונליות דרך GPUAdapter.features. חלק מה-GPU תומכים בהרחבות מסוימות:
timestamp-query— מחייב GPU מודרני עם מוני ביצועיםshader-f16— נקודה צפה בחצי דיוק, נפוצה ב-GPU ניידיםtexture-compression-bc— Block Compression, סטנדרט בדסקטופtexture-compression-etc2— פורמט טקסטורה ניידtexture-compression-astc— פורמט טקסטורה נייד
ערכת התכונות דטרמיניסטית לכל דגם GPU. מכונת Windows שטוענת לתכונות Adreno ניידות נתפסת. מכשיר נייד שטוען לפורמטי דחיסה שקיימים רק בדסקטופ נתפס.
עקביות מול WebGL
לפני WebGPU היה לדפדפנים משטח תשאול GPU ראשי אחד: WebGL. כעת יש שניים, והם חייבים להסכים ביניהם.
WebGL ו-WebGPU חושפים את אותו GPU. התשובות שלהם חייבות להיות עקביות. דפדפן שמדווח NVIDIA RTX 4080 דרך WebGL אך מחזיר מגבלות WebGPU שתואמות ל-GPU אינטגרלי של Intel אינו אפשרי על חומרה אמיתית.
עקביות בין ממשקים היא אות זיהוי נוסף. לזייף ממשק אחד זה פשוט. לזייף שני ממשקים באופן עקבי הדדית קשה משמעותית — ודפדפני האנטי-דיטקט הנוכחיים ברובם אינם עושים זאת.
מה WebGPU מגלה על מערכת ההפעלה ומנהל ההתקן
מעבר לזיהוי ה-GPU, WebGPU חושף הקשר על מחסנית הגרפיקה:
- ב-Windows, WebGPU יכול לחשוף אם נעשה שימוש ב-Direct3D 11 או ב-Direct3D 12, מה שמתואם עם גרסת המערכת ותקופת מנהל ההתקן.
- ב-macOS, תמיכת גרסת Metal מסגירה את גרסת macOS — משום שגרסאות Metal מגיעות עם עדכוני מערכת.
- ב-Linux, רמות התמיכה ב-Vulkan מסגירות את ההפצה ואת מקור מנהל ההתקן (למשל NVIDIA קנייני מול Mesa בקוד פתוח).
אף אחד מהאותות הללו אינו ישיר — כל אחד דורש פרשנות. אך יחד הם בונים תמונה של מחסנית התוכנה שאמורה להתאים לטביעת האצבע המדווחת של הדפדפן. אי-התאמות מצביעות על זיוף.
לוח זמנים לאימוץ במערכות זיהוי
טביעת אצבע WebGPU אינה עדיין טכניקת זיהוי מיינסטרים ב-2026, משלוש סיבות:
- התמיכה בדפדפנים עדיין מתייצבת. WebGPU ב-Firefox יצא ב-2024, אך עם כיסוי תכונות מוגבל. WebGPU ב-Safari יצא ב-2024, אך עם מגבלות שונות מ-Chrome. מערכות זיהוי זקוקות לכיסוי רחב לפני שיוכלו להישען על אותות WebGPU.
- התמיכה ב-WebGPU אצל משתמשים אמיתיים עדיין חלקית. למכשירים ישנים אין GPU שתומך בתכונות WebGPU. מערכת זיהוי שמענישה מבקרים ללא WebGPU מסתכנת בחסימת משתמשים לגיטימיים על חומרה בת חמש שנים.
- דפדפני אנטי-דיטקט טרם בנו זיוף WebGPU מלא, ולכן אותות מבוססי WebGPU יעילים כעת נגד תוקפים מתוחכמים המשוכנעים שטשטשו את עקבותיהם. זה ישתנה ככל שהאימוץ יגדל וכלי הזיוף יגיבו.
אופק אימוץ של 2–3 שנים הוא ריאלי. עד 2027–2028 אותות WebGPU יהיו מרכזיים לזיהוי בוטים כפי ש-WebGL מרכזי היום. השאלה עבור צוותי זיהוי היא מתי להתחיל לאסוף נתוני WebGPU — והתשובה היא עכשיו, כדי שקו הבסיס ההיסטורי יהיה קיים כשהאותות יהפכו לעיקריים.
מה זה אומר עבור המגינים
טביעת אצבע Canvas היא טכניקה בשלה. טביעת אצבע WebGL היא טכניקה בשלה. שתיהן מזויפות באופן פעיל בידי כלי אנטי-דיטקט, בהצלחה סבירה.
טביעת אצבע WebGPU היא טכניקה צעירה. כלי הזיוף טרם השלימו פער. זה יוצר חלון — ככל הנראה 18–36 חודשים — שבו אותות WebGPU מפרידים היטב בין משתמשים אמיתיים לבוטים מתוחכמים. בחלון הזה כדאי להשקיע.
האותות שהיא מייצרת גם קשים יותר לזיוף מבנית מ-Canvas או מ-WebGL. רינדור אפשר ליירט. ביצועי חישוב לא. על ערכות תכונות אפשר לשקר, אבל לא באופן עקבי על פני כל משטח ה-API. כל דור של טכניקות טביעת אצבע מעלה את עלות הזיוף. WebGPU מעלה אותה משמעותית.
לפלטפורמות שמתייחסות ברצינות לזיהוי בוטים ב-2026 והלאה, WebGPU הוא המקום שאליו האות נודד.