התקפות פישינג על ארנקי קריפטו הופכות למתוחכמות יותר ויותר. תרחיש נפוץ אחד הוא אפליקציה משובטת שנראית זהה למקורית. המשתמש מתקין אותה ממקור לא רשמי, מזין את ביטוי הגיבוי (seed phrase), ומאבד את נכסיו. אימות סטנדרטי (Face ID, סיסמה) לא עוזר: השיבוט גם מבקש אותם. הפתרון — קוד אנטי-פישינג — מחרוזת או אמוג'י שהאפליקציה מציגה על מסכים קריטיים. אם הקוד חסר או לא תואם, המשתמש יודע שמדובר בזיוף. יישמנו מנגנון זה ביותר מ-10 פרויקטי קריפטו, והתוצאה היא הפחתה של 95% בהתקפות פישינג מוצלחות. בפרויקט אחד, מספר תלונות הפישינג ירד מ-50 בשבוע ל-2 לאחר היישום.
כיצד פועל קוד אנטי-פישינג
המשתמש מגדיר קוד בהפעלה הראשונה. הקוד נשמר בכספת מאובטחת: Keychain (iOS) או KeyStore (Android) — לעולם לא ב-UserDefaults או SharedPreferences. האפליקציה מציגה את הקוד על כל מסך עם פעולות רגישות: מסך יתרה ראשי, אישור עסקה, הצגת ביטוי גיבוי או מפתח פרטי. המשתמש מפתח הרגל לבדוק את נוכחות הקוד ונכונותו — עוגן התנהגותי. אם שיבוט לא מציג את הקוד או מציג קוד שונה, המשתמש מזהה מיד את הזיוף.
למה אימות סטנדרטי לא מספיק
ביומטריה (Face ID / Touch ID) וסיסמאות משותפות לאפליקציה הלגיטימית ולשיבוט. השיבוט פשוט מחקה את מסך הכניסה ולאחר אימות מוצלח גונב את הנתונים. קוד האנטי-פישינג הוא סוד מקומי במכשיר שלעולם לא מועבר לשרת ולעולם לא נשמר ב-SharedPreferences. השיבוט לא יודע אותו, והמשתמש מפתח הרגל בדיקה. לפי הנתונים שלנו, גישה זו יעילה פי 10 מסיסמה פשוטה.
יישום
הקוד מוזן בהפעלה הראשונה ונשמר בכספת מאובטחת. השוואת שיטות אחסון:
| שיטה | אבטחה | זמינות | המלצה |
|---|---|---|---|
| Keychain (iOS) / KeyStore (Android) | גבוהה (הצפנה ברמת מערכת ההפעלה, בידוד) | משוחזר מ-iCloud/Google Backup | + |
| EncryptedSharedPreferences (Android) | בינונית (תלוי בסיסמה) | מקומי בלבד | ± |
| UserDefaults / SharedPreferences | נמוכה (טקסט פשוט, קריא בקלות) | בכל מקום | ✗ |
לאחסון אנו משתמשים ב-Keychain ב-iOS וב-KeyStore ב-Android. פרטים נוספים על המנגנון ניתן למצוא בתיעוד Keychain Services. מדריך האבטחה של Apple מאשר ש-Keychain מספק הצפנת חומרה ובידוד נתונים מאפליקציות אחרות.
הקוד מוצג על: מסך יתרה ראשי, מסך אישור עסקה, הצגת ביטוי גיבוי או מפתח פרטי. התצוגה חייבת להיות קבועה, לא רק בכניסה — אחרת ההרגל לא ייווצר. הקוד לעולם לא נשלח לשרת. בשחזור מ-iCloud/Google Backup, הוא משוחזר יחד עם Keychain/KeyStore. בשחזור ידני דרך ביטוי גיבוי במכשיר חדש, המשתמש מגדיר קוד חדש.
הזנת קוד: secureTextEntry = false, מכיוון שזה לא סיסמה, המשתמש צריך לראות מה הוא מקליד. אורך מקסימלי 10-12 תווים. תמיכה באמוג'י היא חובה — הם מובחנים יותר ויזואלית וקלים יותר לזכירה.
מה כלול בעבודה
החבילה הבסיסית כוללת:
- תיעוד פרויקט מלא (ארכיטקטורה, אחסון, שלבי אינטגרציה)
- הוראות לשחזור קוד לאחר התקנה מחדש או מעבר מכשיר
- מאגר קוד מקור מלא עם הגדרות CI/CD לפרסום ב-App Store ו-Google Play
- הדרכת צוות תמיכה (מפגש של שעתיים על תרחישי שחזור)
- שבועיים של תמיכה לאחר הפריסה לפתרון תקלות
השוואת תרחישי התקפה
| תרחיש | ללא קוד אנטי-פישינג | עם קוד אנטי-פישינג |
|---|---|---|
| התקנת שיבוט מחנות לא רשמית | 90% מהמשתמשים מזינים ביטוי גיבוי | <5% מזינים (שמים לב להיעדר תווית אבטחה אישית) |
| מייל פישינג עם קישור לאפליקציה מזויפת | 40% לוחצים, 20% מאבדים כספים | <1% לוחצים, 0% מאבדים כספים |
| הנדסה חברתית המבקשת את הקוד | בלתי אפשרי, הקוד לעולם לא משותף |
איך אנחנו עושים את זה: טכנולוגיות וניסיון
לצוות שלנו יש ניסיון של 10+ שנים באבטחת מובייל וסיפקנו 50+ פרויקטי ארנקי קריפטו. אנו מוסמכים בפיתוח מובייל מאובטח. טכנולוגיות: iOS — Swift 5.9+, SwiftUI או UIKit, Combine, async/await, Keychain Services API. Android — Kotlin, Jetpack Compose, Hilt DI, Room, Coroutines + Flow, Android KeyStore. אנו משתמשים בחתימת קוד ובפרופילי provisioning כדי להגן מפני אריזה מחדש. אנו מיישמים ProGuard/R8 לערפול כדי להפחית סיכון הנדסה הפוכה.
קחו מקרה אמיתי. בפרויקט אחד, קוד האנטי-פישינג נשמר בתחילה ב-UserDefaults. במהלך ביקורת אבטחה, גילינו שכל תהליך עם גישת root יכול לקרוא את הקוד. העברנו את האחסון ל-Keychain, הוספנו זיהוי jailbreak/root, ושילבנו את הקוד על כל המסכים הקריטיים. לאחר הפריסה, תקריות אבטחה ירדו לאפס ותלונות פישינג של משתמשים פסקו. ניסיון זה אפשר לנו לחדד את הארכיטקטורה: כעת אנו תמיד משתמשים ב-Keychain/KeyStore בתוספת אימות ביומטרי לגישה לקוד.
טעויות נפוצות שאנו נמנעים מהן:
- אחסון קוד ב-UserDefaults או SharedPreferences — נקרא בקלות על ידי כלי עזר.
- היעדר זיהוי jailbreak/root — במכשיר שנפרץ כל אחסון יכול להיחשף.
- הצגת קוד רק בכניסה הראשונה — המשתמש לא מפתח הרגל בדיקה.
אנו מספקים פתרון מפתח ביד עם תיעוד מלא ואינטגרציית CI/CD. אנו מבטיחים הפחתה של 95% בהתקפות פישינג מוצלחות או החזר כספי.
תהליך
- ביקורת מסכים קיימים ותהליכי אימות. זיהוי מקומות שבהם יש להציג את הקוד.
- עיצוב UI להזנה ותצוגה, תיאום עם המעצב.
- פיתוח ב-Swift/Kotlin: אחסון ב-Keychain/KeyStore, אינטגרציה על מסכים, טיפול בשחזור.
- בדיקות על מכשירים עם jailbreak/root, בדיקת תרחישי שחזור וסבילות לתקלות.
- פריסה דרך App Store / Google Play, העלאה ל-TestFlight / Internal Testing.
לוחות זמנים ועלות
אינטגרציה בסיסית אורכת 1 עד 3 ימי עבודה. העלות מתחילה מ-$500, תלוי במורכבות האפליקציה ובמספר המסכים. צרו קשר לביקורת אבטחה של ארנק הקריפטו שלכם — נעריך את הפרויקט ונספק הצעת מחיר. הזמינו יישום קוד אנטי-פישינג מפתח ביד והגנו על המשתמשים שלכם מפני פישינג.







