ב-Online
 
 
 
 
 
 
 
לפרק את הבייט 
איך למנוע העתקת תוכנה 
 
 העתקת המידע לא מוגבלת על ידי סוג המדיה    צילום: flickr, hainteractive, cc by    
לפרק את הבייט |
 

פיראטיות תוכנה היתה בעיה הרבה לפני ימי האימיול. איך ניסו החברות להגן על מוצריהן, איך הביסו אותן הפיראטים - ואיך זה ייגמר?

 
 
 
 
 
 
 
 
 
 
כשמידע שמור במחשב, ניתן להעתיק אותו בלי לפגוע באיכות
 כשמידע שמור במחשב, ניתן להעתיק אותו בלי לפגוע באיכות 
 צילום: GettyImages 
 
אחד הרעיונות הגדולים שאפשרו את מהפכת המידע הוא שהמידע עצמו, הנתונים, אינו חייב להיות תלוי במדיה פיזית כלשהי. כמובן שבמשך אלפי שנים בני אדם העתיקו טקסטים וציורים מנייר אחד לאחר בלי לעשות מזה עניין, אלא שזה תמיד היה עסק ממושך ותובעני, והנאמנות למקור אף פעם לא היתה מושלמת. היו גם אמצעים להעתקה המונית כגון מכונות דפוס או, מאוחר יותר, פילמים ניתנים לפיתוח, אך רק מי שהחזיק בגלופה או בפילם המקורי יכול היה ליצור עותקים איכותיים. במחשב, לעומת זאת, עותק ה"מאסטר" עצמו הוא במהותו מידע טהור שניתן להעתיק, להמיר ולשכפל בלי סוף ללא כל פגיעה באיכות. זה מדהים ושימושי להפליא, ומצד שני זו בעיה עבור מי שיצר את התוכן ולא מעוניין, מכל סיבה שהיא, שהוא יופץ בחופשיות.
 

הקשר הפיזי

אופן צריבת המידע על תקליטונים הפך להגנה מפני העתקות
 אופן צריבת המידע על תקליטונים הפך להגנה מפני העתקות 
 צילום: GettyImages 
 
ההגנות הראשונות מפני העתקה ניסו לשמר מידה מסוימת של תלות במדיה הספציפית. לדוגמה, במחשבים אישיים עתיקים כגון קומודור 64, היו הגנות שהסתמכו על סימון לא שגרתי של קטעי המידע בתקליטונים. מכיוון שקריאת המידע מהתקליטונים נשלטה באמצעות תוכנה, היה צורך לטעון ראשית כל תוכנת קריאה מותאמת במיוחד מתוך התקליטון עצמו. כך התוכנה המוגנת עבדה, אך תוכנת העתקה חיצונית – כזו שקוראת רק את הסימונים המקובלים – לא ידעה כיצד לקרוא ולשכפל את התקליטון. ההגנה הזו מנעה, כמובן, יצירת עותקים לגיטימיים לגיבוי, והיא הפכה לחסרת משמעות ברגע שהומצאו תוכנות ההעתקה ה"פרימיטיביות", כאלו שהעתיקו את המידע מתקליטון לתקליטון ברמת הביטים ממש.

כאשר התברר שלא ניתן להגן על התקליטון עצמו, שיטה פיזית אחרת הלכה ותפסה את מקומה - החוברת המצורפת. כל מי ששיחק במשחקי מחשב בשנות התשעים המוקדמות מכיר את הפטנט: כדי שאפשר יהיה לשחק, על המשתמש לענות קודם כל על מספר שאלות או חידות שהתשובה להן נמצאת במדריך למשתמש המודפס שצורף לקופסת התוכנה. בגרסאות הפרימיטיביות היה מדובר בשאלות ספורות, שהשחקן יכול היה ללמוד את התשובות להן בעל-פה. במקרים קיצוניים זה הגיע עד כדי עיגולי קרטון מצוירים שצריך היה לסובב בזוויות מסוימות כדי ליצור צירופי תמונות ולהזין אותם לתוכנה. כאשר פיראטים ערמומיים החלו לצלם את החוברות הללו במכונות צילום, הופיעו גם חוברות עם טקסטים ורקעים צבעוניים שלא עברו היטב בצילום השחור-לבן הזול. להזכירכם, מדובר על תקופה בה צילום מסמכים נעשה בחנויות למכשירי כתיבה, וצילום צבעוני של חוברת עלה בערך כמו תוכנה חוקית.
 
 

ימי הדונגל

 
תוכנות כבדות ויקרות יותר השתמשו במנגנון הגנה ידידותי יותר, לפחות בכך שדרש פחות מאמץ מהמשתמשים: הדונגל (Dongle), חתיכת חומרה שהתחברה לאחת מיציאות המחשב ותקשרה עם התוכנה. כאשר התוכנה הופעלה, או מדי פרק זמן קבוע, היא שלחה שאילתה לדונגל והפסיקה לפעול אם לא קיבלה תשובה. מכיוון שחומרת הדונגל היתה חיצונית למחשב ולא מוגבלת לסטנדרטים של התוכנה, היה קשה מאד להעתיק את הפונקציונליות שלה – בלתי אפשרי, למעשה, עבור המשתמש הביתי.

בעיה אחת עם הדונגל היתה שהוא תפס יציאה שלמה (בדרך כלל היתה זו היציאה המקבילית או הטורית, ששימשה לרוב לחיבור מדפסות). דונגלים מתקדמים כללו יציאה אחורית תואמת והיו שקופים מבחינת התפקוד של המחשב, אך לא מבחינת המשתמש: שתיים או שלוש תוכנות מוגנות בדונגל יצרו בלגן בלתי נסבל בצד האחורי של המחשב. בעיה נוספת היתה שהם היו יקרים ולא התאימו לתוכנות קטנות. לדוגמה, אם לילד היו עשרים משחקי מחשב, הוא לא היה מחבר עשרים דונגלים קבועים ובוודאי שלא זוחל מתחת לשולחן לכדי החליף דונגל בכל פעם שבא לו לשחק כמה דקות בפקמן או דיגר.

ייתכן שטכנולוגיית ה-USB, אם היתה קיימת בימים ההם, היתה הופכת את הדונגלים לקטנטנים ונפוצים הרבה יותר. בפועל, הסרבול שלהם השאיר אותם עד היום בתוך נישה מצומצמת מאד.
 

הקש את הקוד

תוכנות KeyGen פרצו את הגנות המספר הסידורי לדיסקי תוכנה
 תוכנות KeyGen פרצו את הגנות המספר הסידורי לדיסקי תוכנה 
 צילום: GettyImages 
 
זול ופשוט בהרבה מדונגל או מחוברת, המספר הסידורי שהודפס על הקופסה היה ניסיון נוסף להגן על תוכנות באמצעות מדיה פיזית. מי שהעתיק את התוכנה (והיה עצלן מכדי להעתיק את המספר מהקופסה על דף נייר) לא יכול היה לבצע אף את שלב ההתקנה, מכיוון שזה כלל בדיקה של המספר הסידורי. כמובן, התוכנה שעל כל תקליטון או תקליטור לא נתפרה במיוחד מסביב למספר הסידורי הספציפי שעל הקופסה, אלא רק כללה מנגנון שבודק אם מדובר במספר חוקי או לא. חולשה זו יצרה אלפי אתרי אינטרנט שמאחסנים מספרים סידוריים ("Serials") מוכרים כמעט לכל תוכנה שאפשר לחשוב עליה, וכן הולידה את התוכנות ליצירת מפתחות – KeyGen.

תוכנות KeyGen מבוססות על הנדסה מהופכת של הקוד הבודק. בעזרת כלי תוכנה מתאימים, פורץ התוכנה יכול להסתכל על הקוד שלה בשפת אסמבלי ולראות בדיוק מה הוא עושה. כאן אין שום אפשרות להגן על הקוד – אם המחשב עצמו יכול לקרוא אותו, גם הפורץ יכול. בהנחה שכותבי התוכנה לא הפכו את הקוד שלה למסובך במיוחד בכוונה תחילה, הפורץ יכול לאתר את הנקודה בה התוכנה מבקשת את המספר הסידורי ואז להתבונן בדרך בה היא בודקת את החוקיות שלו. נניח, כדוגמה פשוטה, שמדובר בקוד מספרי ושהתוכנה סוכמת את הספרות ומוודאת שהסכום מתחלק בלי שארית ב-41. הפורץ יכול לכתוב בקלות תוכנה שמפיקה מספרים סידוריים שמקיימים את התנאי הזה. הוא אפילו אינו זקוק לגישה לקופסה המקורית עם מספר סידורי אמיתי כלשהו – הקוד עצמו יסגיר את הדרך לעקוף אותו.
 
צריבה
 צריבה   צילום: GettyImages 
 

הכל באינטרנט

האם הצעד הבא הוא מספרים סידורייםפ על מחשוב ענן?
 האם הצעד הבא הוא מספרים סידורייםפ על מחשוב ענן? 
 צילום: GettyImages 
 
ההתפשטות של הרשת פתחה אפשרויות חדשות להגנה על תוכנה. מרגע שאפשר היה לצפות שהמחשב שבו מותקנת התוכנה יהיה מחובר לאינטרנט רוב, אם לא כל, הזמן, ניתן היה להשתמש בחיבור האינטרנט כדונגל וירטואלי. התוכנה פשוט תבקש אישור – בעת ההתקנה או ההפעלה – ישירות מאתר החברה. הדבר לא רק מונע העתקה, אלא גם מאפשר זיהוי של מספרים סידוריים כפולים או כאלה שהופקו על ידי תוכנות חיצוניות ולא הונפקו על ידי חברת התוכנה עצמה.

גם שיטה זו אינה חפה מבעיות. מה עושים בארגונים שאינם פתוחים לרשת, או כאשר הרשת אינה זמינה מכל סיבה שהיא? פורצי התוכנות, מצידם, לא טרחו להמתין לתשובה. מכיוון שהם כבר מסוגלים לקרוא את קוד התוכנה, שינוי שלו היה הצעד המתבקש הבא. נניח שהתוכנה מתקשרת לאתר מסוים, שולחת שאילתה וממתינה לתשובה. איפשהו בקוד יש פקודת if פשוטה שבודקת אם הגיעה תשובה, ואם לא – מעלה הודעת שגיאה ומפסיקה את הפעולה. שינוי של פקודת אסמבלי אחת בלבד יכול לגרום לתוכנה לדלג על השלב הזה ולגרום לה להמשיך לפעול כאילו קיבלה אישור.

למען האמת, פריצת תוכנות שכזו היתה קיימת עוד בימי הדונגלים והחוברות, אך כיום היא הופכת בהדרגה לשיטה היחידה להתגבר על מנגנוני האבטחה המתקדמים. כבונוס נוסף, אם כבר משנים את הקוד המקורי, הפורצים יכולים לשתול בו סוסים טרויאניים וקוד זדוני אחר למטרותיהם.
 
להתגבר על מנגנוני האבטחה ולהוריד מהרשת
 להתגבר על מנגנוני האבטחה ולהוריד מהרשת   צילום: GettyImags 
 

עכשיו מעונן

למפתחי התוכנה יש עוד דרך מילוט מפני העתקה לא חוקית: שמירת חלק מהפונקציונליות בידיים שלהם. פורץ תוכנה יכול לשנות פקודה בודדת או קובץ סטטי כזה או אחר, אך הוא אינו יכול לכתוב בכוחות עצמו קטעים מהתוכנה המקורית. נניח שחברה מסוימת מפתחת תוכנה לעיבוד תמונה, ושומרת באתר שלה את הקוד לביצוע טרנספורמציה מורכבת כלשהי. כאשר המשתמש הלגיטימי לוחץ על הכפתור, התוכנה שולחת את המידע הרלוונטי לאתר ומקבלת בחזרה את התוצר הסופי, כמו בדונגל סופר-מתקדם. שום פורץ לא יוכל להשלים את הקוד החסר לפעולה מסובכת שכזו בכוחות עצמו, ואם כן היה יכול, סביר להניח שהוא היה פשוט כותב מוצר מתחרה.

אפשר לקחת את הרעיון הזה לקיצוניות, לשמור את כל הפונקציונליות בידי חברת התוכנה ולהשאיר למשתמש הקצה רק את הממשק. למעשה, קל מאד לממש קיצוניות כזו במחשוב ענן ובשירותים מבוססי-רשת כגון Google Docs ואחרים. ייתכן שזו הסיבה להתלהבות של חברות הענק מרעיון הענן, ואם הוא יתממש, לפיראטים לא תישאר ברירה אלא להפסיק להעתיק תוכנות – ולהתחיל לפרוץ ולהעתיק זהויות משתמשים.
 
 
 
@@@@@@@@@@@@@@@@@@@ ilan @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
@@@@@@@@@@@@@@@@@@@ ilan @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
 
תגובות
הוסף תגובה0 תגובות
הוספת תגובה
מאת
 
נושא
 
תוכן
 
 
 
 
תודה! תגובתך התקבלה.
התגובה תתפרסם בכפוף לתנאי האתר.
 
 
 
 
 

כל הזכויות שמורות 2011 © נענע 10 בע"מ
 
 
 
 
כל הזכויות שמורות © Nana10 בע"מ
Video powered by