(הערה: את הפוסט הזה פרסמתי לפני יותר מ-3 שנים בבלוג אחר שכבר אינו קיים ואני מפרסם אותו מחדש עם עדכונים – לבקשת אנשים שפנו בנושא).
לא מעט חברות תוכנה יוצרות קשר בתערוכות, כנסים ודרכי שיווק אחרים כדי למכור את מרכולתן מעבר לים. בחלק מהמקרים התוכנה תינתן להורדה בחינם/כ-DEMO/לאחר תשלום בצורה מקוונת, ובחלק מהמקרים התוכנה תישלח ללקוח באמצעים קונבנציונליים (כן, יש עדיין מקרים כאלו).
אחד החששות הכי גדולים של אותן חברות – הוא שהתוכנה תיגנב, תועתק ו/או תופץ ברבים באמצעים פיראטיים ובמקרים מסויימים – חלקים ממנו יופיעו בתוכנות אחרות מתחרות (אחרי הכל, לא ממש מסובך להעתיק קובץ so או DLL – אלו קבצים של ספריות משותפות).
בעשור האחרון יצא לי לקבל לא מעט פניות שונות שאפשר לסכמן כך: לקוח פוטנציאלי מחו"ל (בד"כ זה סין) יוצר קשר עם חברת התוכנה ומעוניין לרכוש את התוכנה (בד"כ זו תוכנה שלא זמינה Online להורדה ישירה, לעיתים מדובר בתוכנות משולבות חומרה). המחיר זה לא בעיה, והבעיה היחידה היא שהלקוח הפוטנציאלי רוצה לנסות את המוצר עם תוכן משלו, והוא לא מוכן לשלוח את התוכן שלו, ולפיכך מתבקשת החברה הנכבדה לשלוח מחשב עם התוכנה על מנת שהלקוח הפוטנציאלי ינסה ולאחר מכן הם יעברו לשיחות על מחירים, תשלום וכו'.
כאן בדרך כלל כותב שורות אלו מקבל פניות (היו לא מעט כאלו) מהחברה ובה בקשה להצעת מחיר להקשחת מחשב שישלח ללקוח, החל מרמת ה-BIOS, המשך ב-OS ובכל מה שצריך, הכל על מנת שהלקוח הפוטנציאלי לא יפרוץ למכונה ויגנוב את התוכנה..
מערכות הפעלה שונות ניתנות להגנה ברמות שונות. לינוקס ניתן להקשיח בצורה הרבה יותר רצינית מאשר כל גירסת Windows. ניתן להצפין את הדיסק, ניתן לנעול BIOS/UEFI, ניתן גם לבטל אפשרות הפעלת כניסות USB, רשת וכו', אולם מהרגע שהמכונה מגיעה ללקוח הפוטנציאלי, הסיכוי שההגנות הללו ימנעו ממנו להיכנס/להעתיק – שואפים לאפס. אפשר להשתמש בטריקים רבים, אבל המקסימום שהם יגרמו, זה עיכוב בפריצה. (אגב, אני מכיר לא מעט אנשים שבטוחים שתוכנות כמו BitLocker מצפינות דיסקים בצורה יוצאת מן הכלל ולא ניתן בשום מצב לחלץ את המידע. אני ממליץ להם לקרוא את הפוסט הזה).
אז מה ניתן לעשות? לשכנע את הלקוח לנסות משהו אחר. אחת ההצעות: מכונה שתהיה זמינה Online.
מכונות וירטואליות אשר זמינות אונליין – קלות יותר להגנה והרבה יותר קשות לפריצה מאשר ברזל שמגיע ללקוח ב-Fedex. אפשר להתקין מספר תוכנות שעוקבות אחר ההתנהגות של המשתמש ושתדענה לחסום נסיונות שונים של "התחכמות". כמובן שאין 100% הגנה, אך ניתן לנעול ולסגור דברים רבים, במיוחד בלינוקס.
ב-Windows לעומת זאת, אם רוצים להקשיח ברצינות מכונה כזו, יהיה צורך בלהכין אותה מחדש, בלי WDS ולהשתמש בגירסת ה-IoT. בגירסה זו ההתקנה היא הרבה יותר פרטנית ויש צורך לבחור חלקים שונים מתוך מאות חלקים (בניגוד למה שמותקן ב-WDS) ובכך להקטין באופן משמעותי את אפשרויות הפריצה למכונה, ועל זה ניתן להתקין תוכנות צד ג' שחוסמות כניסות USB, חוסמות את תפריט ה"התחל", חוסמות תעבורת רשת, כתיבות לתיקיות לא מאושרות וכו' וכו'.
חוץ מהפתרונות הנ"ל, ישנם עוד פתרונות אחרים שתלויים כמובן בסוג האפליקציה ומה רוצים להריץ, החל מקונטיינרים, מכונות וירטואליות עם פתרונות הצפנה של ה-VM מבוססי מעבדים כמו Ryzen או EPYC, שימוש ב"שוק" של ספקי הענן ועוד ועוד, אך גם חשוב לזכור: אלו פתרונות שיותר קשים לפריצה, אך הם אינם בלתי פריצים לאלו המומחים בנושאים אלו.
אסכם כך את הדברים: אין הגנה של 100% ואם מחשב יגיע לחברה שכל יעודה הוא לפרוץ ולהעתיק חומר – כל מכונה שתגיע לשם תיפרץ. יכול להיות שיקח יום ויכול להיות שיקח שבוע, אבל הם יצליחו בסופו של דבר ולכן לפעמים אולי יהיה כדאי לשכנע את הלקוח לחשוב על פתרונות אחרים שאינם מצריכים משלוח מכונה אליו.