ארכיון יומי: 21 נובמבר, 2011

זהירות מחנויות ישראליות ברשת

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

כאשר אני מדבר על "תווים מיוחדים" הכוונה היא תווים הנגישים מהמקלדת, אבל מאפשרים לי להתערב במידע המגיע אלי ממסד נתונים, אשר עובד בשפת תכנות בשם SQL הבנויה לקבל הוראות מה לעשות. למשל בתמונה למעלה שמתי פסיק (אשר אינו אומר כלום במקרה הזה לשפה), והאתר מייד נשבר ומציג הודעת שגיאה.

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

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

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

מישהו אמר לי כי מה שאני עושה מקביל לניסיון לשדוד מקום, בשביל לראות האם הוא שומר על הכסף שלי. אבל זה ממש לא אותו הדבר! זה יותר כמו ללכת למקום ולבקש מהמוכר את פרטי כרטיס אשראי של לקוח אחר כי סתם בא לי לדעת. הרי לא הגיוני שמוכר יתן לי את המידע הזה נכון ? אז למה כאשר מדובר באתר, אין את ההבטחה הבסיסית ביותר שהמידע שלי יהיה מאובטח ולא יהיה נגיש לכל "דורש" ?

מצטער, אבל כל עוד רמת בניית האתרים בישראל תשאר נמוכה על סף פלילית – אני לא מוכן לסכן את המידע שלי ולשים אותו בחנויות ווירטואליות.