דפים

Saturday, July 23, 2011

פשע מקוון

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

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

זה לא שפעולות נגד פושעים אלו לא מתבצעות, רק לפני יומיים התבשרנו על מבצע מפואר שהצריך שיתוף פעולה בין 3 מדינות אשר הביא למעצרם של 21 איש בחשד לחברות באנונימוס ובקבוצת הבת שלה לולז-סק (lulz sec - כלומר "עושים צחוק מאבטחה"). החבר'ה האלה היו מעורבים כנראה בתקיפה על שרתי פייפאל. דיווחו גם על מעצר של קטין בן 16 בלונדון בחשד דומה. אבל כמובן שמדובר בקצה המזלג, בתעשיית פשע שמגלגלת כל כך הרבה כסף (עשרות מיליארדים, על פי ההערכות).

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



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

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

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

שיר לסיום.


Tuesday, July 12, 2011

התקנים לחלונות

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


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

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

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

אגב, יש כלי מצויין בוינדואוס, שנקרא Driver Verifier, המספק יכולת לוודא שהדרייברים שכתבתם תקינים מבחינת ניהול זכרון, עמידה בעומס, עמידה במצב בו במערכת יש מעט מאוד משאבים, בדיקות I/O, זיהוי דד-לוקים, באגים הקשורים בשימוש ברמות IRQ לא נכונות ועוד תכונות נוספות שמפורטות כאן.

שיר הסיום המתאים כאן צריך לדבר על Drivers, אז הנה אחד ה Driving songs הכי אהובים עליי:


Thursday, July 7, 2011

מוזיקה וסטטיסטיקה

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

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

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

לא ויתרתי ומצאתי פתרון!

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

כעת, כל מה שנותר לעשות הוא לשלוח את קובץ הלוג במייל, נאמר פעם בשבוע, ומהמחשב הביתי לשלוח את הרשימה ל last.fm. נשמע די פשוט, לא?

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

מספר בעיות עלו בזמן העבודה על הפרוייקט הקטע הזה. למשל, ה QTScrobbler, אותה תוכנת קוד פתוח אותה התאמתי לצרכיי, משתמשת בספריית libcurl בעזרתה היא מבצעת את עבודת ה HTTP ברשת. מפתחי התוכנה לא ראו לנכון לצרף את ה dllים וה libים של libcurl איתם הם מקמפלים את הפרוייקט, מה שהצריך לחפש ברשת את הספריות המתאימות. האתר של curl מאפשר אמנם להורים dllים מקומפלים, אבל כאשר מורידים אותם ומנסים להשתמש, מגלים בעיות רבות כמו תלויות במודולים אחרים (sasl ואחרים) אשר גם אותם צריך לאתר ברשת. אחרי ששרפתי כמה שעות בחיפושים, נתקלתי בהמלצות בפורומים מקצועיים ובמיילינג ליסטס להוריד את הסורסים של libcurl ולקמפל אותו לבד. כך עשיתי ו libcurl נכנס כספרייה סטטית לתוך הפרוייקט.

בסוף השבוע אני אנקה קצת את הקוד, אקמפל גירסת release ואעלה אותה לפה, במידה ומישהו יתקל אי פעם בבעיות הקשות שתיארתי פה :)

גם את הסורסים שלי, אשמח לשתף במידה ויהיה ביקוש.

לא נדלג גם הפעם על שיר סיום. הפעם, מחווה לקוף-המדיה. זה שיר שחיבבתי מהרגע ששמעתי אותו לראשונה. שיתוף פעולה בין אוזי אוסבורן ללהקת Coal Chamber.