קטגוריה: חוק

עלייתן ונפילתן של רשתות חברתיות – דעה

ב2007 קיבלתי הזמנה לקחת חלק מאנשים מובחרים באמת ברשת חברתית חדשה ואנונימית בשם פייסבוק.

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

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

פייסבוק היו מקבלים הכנסות מהדף, ולמרות זאת החליטו לסגור אותו.

ולא היינו הדף הראשון שנסגר על ידי פייסבוק או השני שנסגר למרות שהכניס לחברה כסף.

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

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

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

בעל האתר כרגע מתמודד לראשות עיריית לונדון, אולי במטרה לשנות את המקצוע בעקבות הנושא.

להמשיך לקרוא

מתכנת IT

הרבה שנים שאני מנסה להסביר לאנשים מה המקצוע שלי. אני מנסה להסביר כי המקצוע שלי הוא "מתכנת IT", אבל אנשים חושבים כי אני מדבר על DevOps.
התשובה היא לא, זה לא DevOps.

תנו לי רגע להסביר מה זה בעצם IT, שכולם אוהבים להתייחס אליו.
IT הם ראשי תיבות של Information Technology. כלומר מי שמוגדר כאיש IT, מתעסק בטכנולוגיות העוסקות במידע.

עכשיו אשאל אתכם שאלה: האם איש DBA שייך לקבוצה הזו? התשובה היא כן. האם הוא איש DevOps? התשובה היא לא.

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

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

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

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

להמשיך לקרוא

אנדרואיד, mms ובעיית אבטחה עם פתרון ישים

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

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

אז לפני שאסביר מה הפתרון שלדעתי כן ישים, אסביר מאוד בקצרה מה זה בכלל mms.

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

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

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

כיצד עובד ה MMS? אני שולח הודעת SMS במבנה מסוים שאומר כי יש לי משהו כדוגמת תמונה בשרת שניתן להוריד באמצעות WAP.

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

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

אריקסון ו webrtc

כבר כתבתי בעבר על webrtc, אך זה עולם שכל הזמן משתנה ולא רק טכנולוגית.

אחד הדברים שמאוד נחמדים בעולם ה webrtc, זה היענות של מרבית החברות הגדולות בשוק בשביל לאמץ אותו.

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

לעומת זאת, חברה גדולה אחרת גם נכנסה לתמונה, והחליטה שהיא לא סומכת על המימוש של גוגל, והיא יוצרת מימוש עצמאי משלה ל webrtc.

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

החברה פתחה אתר בנושא, ושמה את הקוד שלה ב github, וגם הוא ברישיון פתוח – BSD.
הכלים שהיא משתמשת גם הם פתוחים, כדוגמת Gstreamer .
הם גם משתמשים במימוש של סיסקו – מימוש קוד פתוח עבור H.264, למעשה זה משהו שהם מספקים שגוגל בכלל לא.

הם גם משחררים דפדפן עבור iOS בשם bowser אשר מאפשר בעצם לקבל תמיכה ב webrtc, ובכך הם הופכים להיות הדפדפן הראשון במערכת הפעלה זו שתומך בזה.
הדפדפן נועד לקדם דווקא את H.264, אבל בנתיים גם מאפשר להשתמש ב webrtc.

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

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

כרגע יש קרב גדול על בחירת קודקים לוידאו, כאשר הקרב הוא בין H.264 לבין VP8 ובעתיד גם VP9.

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

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

webrtc ORTC

הקדמה

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

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

היא תומכת ב OPUS, ו G711, ומחייבת אותנו לעבוד בצורה מאובטחת תחת DTLS,

עכשיו כל מה שנשאר זה לממש מערכת סיגנלים כדוגמת SIP או כל פתרון אחר – פשוט יותר עם web sockets,שגם הוא כיום (לפי התקן של webrtc) חייב כבר להיות מאובטח תחת TLS, ויש לנו פיתרון סטרימינג מלא.

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

SDP הם ראשי תיבות של Session Description Protocol. התפקיד של הפרוטוקול הוא לספק מידע אודות המדיה, כדוגמת אילו קודקים נתמכים, מה כתובת התעבורה למדיה, ואפילו מה החלק של המדיה שנשלח, כלומר איפה הוא מבחינת התחלת "לוחות זמנים", האם אני מקבל את ההחלה, או משהו אחר.

הדגמה קלה (מה RFC):

v=0
o=alice 2890844526 2890844526 IN IP4 host.atlanta.example.com
s=.
c=IN IP4 host.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0 8 97
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:97 iLBC/8000
m=video 51372 RTP/AVP 31 32
a=rtpmap:31 H261/90000
a=rtpmap:32 MPV/90000

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

הנה הסבר על מה שאתם רואים מול העיניים שלכם:
האות v, מייצגת version – גרסת הפרוטוקול, שלפחות כרגע היא תמיד 0.
האות o, מייצגת origin של הבקשה, ומכילה (לפי הסדר) – שם משתמש, session id, בנוסף session-version, סוג רשת (אינטרנט), סוג הכתובת, כתובת הרשת.
האות s מייצגת את session, כלומר השם שלו.
האות c מייצגת מידע על connection. זה אומר סוג הרשת, סוג כתובת הרשת, כתובת הרשת.
הכוונה היא לאן רוצים להתחבר בשביל המדיה.
האות t מייצגת זמנים.
האות m מייצגת מדיה, עם סוג מדיה, פורט דינאמי, פרוטוקול משלוח של המדיה, ומידע הקשור לפרוטוקול.
האות a מייצגת attribute, שזה תכונות שונות, למשל כאן, זה מייצג איזה קוקדים של אודיו ישלחו, כולל הקוד שלהם שמוגדר ב RFC עבור כל סוג קודק.

אפשר לראות כמה זה לא קריא וידידותי, אבל גם מגביל מאוד.
למשל attribute יכול להגיע רק לחלק מהפרמטרים, ויש פרמטרים שחייבים אותו. הוא תמיד חייב להיות מתחת לאותו פרמטר.

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

בנוסף ישנם פרמטרים אשר בכלל לא נגעתי בהם בפוסט שקיימים בנוסף, וגם להם חוקים שונים.

תוכן

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

לפני ORTC, תכננו פרוטוקול אחר לגמרי, אשר היה מאוד low level, ומאוד קשה להגנה, וסיפק יותר מידי כוח בצד המשתמש. הפרוטוקול קיבל את השם Open Peer. אז בגלל הסיבות האלו, החליטו לרדת ממנו.

ואז ישבו הרבה אנשים, אשר רובם יצרו את webrtc ואת Open Peer, והחליטו על גרסה 1.1 לwebrtc בכנס מסחרי מסוים, אם כי למרות ההכרזה על 1.1 ההכרזה מרגישה יותר כמו 2.0.
השם לפרוטוקול החדש באותו כנס, קיבל את השם ORTC או Object Real Time Communication, אשר ה draft הראשון (מבחינת יכולת מימוש) שלו שוחרר באוגוסט 2014.
היכולת לעקוב אחרי דברים, נעשת באתר ייעודי לכך בשם ortc.org.

הרעיון הוא לספק סוג של API, שמצד אחד קל לתכנות, ומצד שני קל לאבטח, אשר מאפשר לשלוט בצורה קלה ופשוטה יותר במידע על המדיה, כאשר יש API בצד ה javascript, אך גם עם תאימות לאחור, בשביל לא לשבור פתרונות קיימים.
אבל לא סתם API, אלא הדגש הוא על גישה של Object Oriented, כאשר בעבר דיברו על כך שהיא תכלול את היכולת להחזיק אובייקטים של סוקטים בשם RTCSocket אשר ניתנים לשימוש מחודש במידת הצורך, ובכך בעצם לעשות שימושיות ב RTC ללא צורך באתחול מחודש של הכל. אך אינני מוצא זאת בdraft האחרון (נכון לכתיבת פוסט זה).

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

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

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

ואכן, זה מה שORTC מבצע. הם יצרו אובייקט בשם RTCRtpCapabilities, אשר התפקיד שלו לדבר על "מה אני צריך" עם הצד השני וניתן אפילו לעשות החלפה בזמן ריצה של המידע (ב SIP זה נקרא re-Invite).

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

יש עודף שאלות פתוחות לדעתי בנושא, והוא לא באמת כזה ברור בשלב הנוכחי, והוא צריך עוד להתבשל ולהתפתח יותר.

אבל הגישה הזו של ORTC ובעצם שכתוב של חלק מאוד חשוב ב webrtc גורם לכך כי במקום לסייע לאנשים לאמץ את webrtc, מרבית השוק כרגע מנסה להתעלם ממנו לגמרי, וזה רק מעקב את האימוץ הזה, אך האם המאמץ הזה יהיה שווה ? רק ימים יגידו.

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

למי הפרופיל רשת חברתית קיים אחרי המוות ?

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

כאשר הגיע יום ההולדת של אותו אדם, התחלקו הדברים לאלו שידעו/זכרו את המצב, מול אלו שלא, וזה נראה כך:

facebookעכשיו השאלה היא לא רק למי שייך המידע, אלא מה קורה עם פרופיל שכזה כאשר אדם מת ?

האם למשפחה יש יכולת לסגור את הפרופיל ? האם הם יכולים לבקש בקשה לשליטה בו ? מה בעצם הדין מאחורי הדברים האלו ?

מה אנחנו כבני אדם בכלל רוצים שיהיה בחברה שלנו במצב שכזה ?

פוסט למחשבה.

NaCl, Sodium והצפנה

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

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

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

הספריה המוכרת בעולם לכך נקראת NaCl שזה הסימן הכימי של סודיום כלוריד – מלח שולחן. ויש לספריה הזו עוד מימושים כדוגמת libsodium.

הספריה מאפשרת בצורה נכונה לעשות הרבה פעולות של הצפנה שונות, אך היא מספקת פונקציות high level אשר לא דורשות מאנשים פחות מקצועיים בתחום ההצפנה לחשוב על המימוש, אשר על ידי אנשי מקצוע נבחרים בצורה הנכונה ביותר.

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

תם עידן הפרטיות, תחי הפרטיות

Le roi est mort, vive le roi !

אנשים נוטים להכריז כי עלינו לקבל את העובדה כי אין יותר פרטיות בעולם.ומשום מה אני לא מסכים איתם.

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

האם אני רוצה לשתף את הרחוב בכל דבר העובר עלי, או האם אני מעוניין להשאיר לעצמי דברים ?
האם אני באמת חושש מכך שיראו תמונה שלי וידעו שזה אני, או האם אין לי בעיה בכך ?

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

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

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

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

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

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

זה תלוי בנו בלבד, ובבחירות שלנו. אני מקווה שכולנו ננהג בחוכמה בנושא.

מוגש כחומר למחשבה.

הסכנות בשימוש md5 כסיסמה

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

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

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

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

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

במידה אתם מעוניינים לבצע שמירה של סיסמאות, ישנם כ3 אלגוריתמים מומלצים כיום:

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

איך לקרוא חוזה אחיד

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

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

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

בין החוזים שאנחנו בעיקר נתקלים בהם ניתן למצוא למשל את EULA או את הGPL.
ועכשיו נשאלת השאלה, כאשר אנחנו נתקלים בחוזה שכזה, כמה אנחנו – ההדיוטות בעצם מבינים בנושא ?

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

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

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

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

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

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

חוק הנגישות סיבוב 2

לפני שלושה שבועות, פרסמתי פוסט על חוק הנגישות והדעה שלי בנושא.

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

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

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

הרעיון הוא לא למנוע נגישות, אלא שלא יהיה צורך לכסת"ח את עצמך במה שאתה עושה, שזו המשמעות של החוק הנוכחי.

אל תתנו להם לחוקק חוקים – חוק הנגשת אתרים

"The more corrupt the state, the more numerous the laws." — Tacitus

הקדמה

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

רק כאשר מספר מקומות הבינו כי למרות שדפדפנים כדוגמת Firefox מהווים פחות מ5% מהתעבורה, אבל מהווים 90% מכוח הקנייה, שראינו שינוי מגמה.
פתאום אתרים התחילו להיות מונגשים לFirefox תחילה, היות והוא זה שהכניס כסף. אבל בשביל להיות תואם Firefox, כל מה שצריך זה לפתח לפי תקנים (תודה מוזילה), ולכן למעט באגים של הדפדפן, אם אתה כותב לפי התקן, תיאורטית זה אמור לעבוד עבור כולם.
בנתיים גם השימוש ב data עבור הסלולר גדל, ודפדפן Opera Mini תפס, וגם החברה הזו בחרה לעבוד עם תקנים, וראו איזה פלא, לא צריך לשכתב דברים (למעט התאמה לסוג תצוגה).

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

כיום למעט 2 דפדפנים עיקריים, מרבית הדפדפנים מבוססים על אותו בסיס (אשר משתנה לאט לאט שוב), בשם Webkit, אשר התחיל בכלל את דרכו כ KHTML עבור פרוייקט KDE כדפדפן בשם Konqueror.

למרבה הצער, כיום רק אתרים כדוגמת בנק הפועלים ואתרי הממשלה אינם באמת תומכים במשהו שהוא לא Internet Explorer. בבנק הפועלים בחשבון עסקי, אתה חייב שהוא יהיה 32 ביט. בעוד שבאתרי ממשלה שונים, אתה חייב ש IE יהיה גרסה 6.

העיקר להמשיך לקרוא

ספאם פוליטי – רשויות מקומיות

לפי חוק הספאם, לפוליטיקאים מותר לשלוח לנו ספאם.

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

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

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

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

תעודת זהות חכמה, ואנשים ?

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

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

הנה תסריט "דמיוני" אשר מתרחש מידי יום בעולם, כולל במדינת ישראל:

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

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

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

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

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

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

מוקדש כחומר למחשבה.

האם זיהוי ביומטרי יפתור בעיות זיהוי ?

פרולוג

יום אRudolf_Abel_FBI_mugshotחד, משום מקום, קם לו  אדם, אשר קיבל על עצמו את השם רודולף אבל, ומצא עצמו בניו יורק, שם התבקש להמשיך בעבודות הריגול שעשה עבור ה KGB, רק הפעם במקום הגרמנים, היה זה כנגד ארה"ב.

אדם "חביב" בגיל ה50, אשר היה משתמש במטבע ניקל להחביא בתוכו מיקרופילם עם מידע אשר היה מגיע לסוכני KGB.
רק הלשנה עלתה על אבל, אשר נתפס על ידי הFBI ב1957, וב1962, בעקבות משבר הפלת מטוס הריגול U2 שנים קודם לכן, הועבר חזרה לידי הרוסים.

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

ניוד צרות

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

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

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

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

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

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

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

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

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

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

דרושה חשיבה חדשה לחקיקת מזיקים

אחת מהבעיות הגדולות שרובינו חווים, היא ספאם אלקטרוני.

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

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

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

כך בראש ובראשונה יהיה כלכלי יותר לתבוע את המטרידים, ומצד שני למנוע הטרדות מאלו שלא רוצים לקבל מהם הטרדה.

כל מה שצריך זה לנסח בצורה ברורה את הרשימה של מה רוצים למנוע.

"מתקפת הסייבר" – או איך שוב פעם כושלת העיתונות הישראלית

ב7 באפריל היתה צריכה להיות "מתקפה" מקוונת על אתרים בישראל על מנת לפגוע בהם.

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

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

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

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

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

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

encryptfs

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

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

על מנת להתחיל לעבוד, צריך קודם כל לטעון מודול קרנל:

$ sudo modprobe ecryptfs

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

$ ecryptfs-setup-private

אתם תקבלו שאלות כמו סיסמת המשתמש שלכם ועוד.
זה יצור סביבה המאפשרת לכם כמשתמשים רגילים להצפין קבצים.

לאחר מכן, צרו ספרייה רגילה ובצעו פעולת mount עם עצמה בשימוש במערכת הקבצים של ecryptfs:

$ sudo mount -t ecryptfs /path/to/directory /path/to/directory

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

Key type: passphrase
Passphrase: ThisIsAVeryWeakPassphrase
Cipher: aes
Key byte: 16
Plaintext passtrough: no
Filename encryption: no
Add signature to cache: yes 

החתימות נשמרות תחת ‎/root/.ecryptfs/sig-cache.txt .

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

What is the feature of Pascal ?

Borland created the name Object Pascal as a marketing way to sell Delphi, and set a boundary between Borland Pascal and Delphi.

Even though that Pascal constantly changing, and started so, not so long after it first released at 1968, only real developers learned the difference, and know what is going on.

Since then we see huge leap foreword with technology and with the language itself. For example the language itself support thread based programming, the object oriented syntax that was added by Apple in 1982 constantly expanding, and even creating support for thing that languages such as Java or C# lack of.

Pascal today is the only programming language that on one hand offer a very low level support for development – Yes! even lower level then with C, but support also very high level development that is closer to dynamic languages – such as mixin, string management, iteration syntax, and much much more…

Pascal today is also the only true multi-platform language, that can provide rich applications to desktop, web and smartphones/tablet platform with the same code base, and run native there. Yes, that includes iOS, Android with JVM/Dalvik.

Things looks good from far away, but closely there are more then few issues with the modern Pascal (and with some of the, I blame Embarcadero):

  • There are way too many dialects (FPC, Delphi, Delphi.NET, Oxygen, GNU Pascal [ISO Pascal] etc …)
  • There is some sort of vendor lock due to the dialect variation (Usually either Delphi or FPC to choose from)
  • Some of the syntax that is added to the language, well it's not longer Pascal, but closer to Java/C#/Ruby/D …
  • There are additions to closures – such as lambda, anonymous functions, generics and more, that not always implemented properly
  • There are support for dependency injection, extended namespace and much more
  • Not a single real standard, and lack of cooperation between Delphi developers and the true FOSS FPC project (due to Embarcadero side)

להמשיך לקרוא

הממשל אינו זמין כעת, אנא נסה במועד מאוחר יותר

כל מי שצריך לעבוד מול מדינת ישראל, מוצא את עצמו צריך תמיד להתמודד עם בעיות (בירוקרטיות).

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

משום מה החליטו בפרוייקט "ממשל זמין", ליצור סרגל כלים המכיל דברים כמו תעודות הצפנה מבוססות סוקט (SSL/TLS מישהו ?), חתימה דיגיטלית על מנת לגשת למקומות כמו הגשת טפסים מיוחדים (ריח העו"ד עולה לאוויר), תשלום רישיונות וכו'. אממה. הוא תומך רק ב2 דפדפנים – IE ופיירפוקס (טוב לפחות יש חלופה). והם גם מכירים בכך שאנשים עובדים בלינוקס, אז סרגל הכלים יותר גם להתאים את עצמו ללינוקס (יש צדיק בסדום ?).

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

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

מדוע להגביל דפדפנים, ופשוט לא לעבוד לפי תקנים ?

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

50 שנים של הדוקטור – או למה DRM ומניעת שימוש פוגעים גם ברשתות ההפצה

סדרת מדע הבדיוני Doctor Who אשר חוגגת יובל, מספקת הרבה מאוד דברים מעניינים.

למשל מרבית הפרקים של העונות הראשונות נעלמו להן מהעולם. יש רק תמונות סטטיות ופסקולים, אבל לא סרטוני הטלויזיה אשר צולמו על ידי BBC 1.

יותר מזה, BBC מוכנה לשלם לכל מי שיש ברשותו עותקים שלמים של אותם פרקים חסרים.

אבל כל זה אינו מפריע לBBC במקביל, להפיץ DRM ולבקש חוקים שימנעו מאנשים להעתיק את התוכן, וזה למרות כי החברה כבר נכוותה קשה בשחזור ואיחזור מידע שהיה ברשותה.

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

כיצד זה מתבטא ?
במידה ותרצו לראות סדרות של BBC, ובכן זה תלוי בטוב ליבם, אולי בגלל שאתם מישראל, לא תוכלו לצפות נגיד ב IT Crowed למרות שזו דווקא נמצאת על ידי ה BBC ברשת האינטרנט.

הגבלות בסגנון ה DRM או תלונות על פגיעה בזכויות יוצרים (כאשר אין ספק בכלל כי ה BBC מחזיק בהם) תמיד פוגעות בשימושים לגיטימיים ולעולם לא יפגעו באלו אשר מחליטים לבחור בדרך שהיא טיפה פחות …

אבל זה לא רק מה ש Time lord בן למעלה מ900 שנים מכוכב גליפריי מלמד אותנו בכל פעם שנצפה בעונות הראשונות של הסדרה המקורית, גם ערוץ 1 של מדינת ישראל איבד המון מידע מהארכיון שלו.

מוקדש כחומר למחשבה

HOT כי זליגת מידע לא מעניינת אותנו

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

SMS By HOT

ואז התחלתי לקבל דוא"ל עם חשבונית מס על השימוש בשירותי הטלויזיה של החברה. וכאן זה היה יותר מידי.

  1. אני לא מחזיק במקלט טלויזיה. אני לא צופה בשידורי טלויזיה בכלל בשום צורה !
  2. אני לא לקוח של הוט
  3. חשבונית המס מציגה לי פרטים של לקוח שלהם, שכאמור הוא לא אני

ניסיתי לפנות בדוא"ל לדואר שממנו שלחו לי את החשבונית, והוא לא תיבה קיימת.

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

הגדלתי ראש, הלכתי ועשיתי whois לdns של הוט, הדוא"ל שם של abuse, ובכן התיבה של הבן אדם לא קיימת ויש bounce בגלל זה. חברה רצינית, אין מה להגיד.

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

hot

כמו שניתן לראות, לחברת Hot מאוד אכפת מהנושא, ולכן אני נדרש לעבוד עבורם ולהמשיך לחפש את האחראי על האינטרנט או משהו זה.

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

והנה מספר שאלות עבורכם כחומר מחשבה:

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

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

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

כיצד הם קיבלו את הפרטים שלי ? אין תעוד בCRM או הקלטות אצלהם שמראות כיצד הם קיבלו את הפרטים, הם רק משערים כי זה ניתן באיזשהו שלב.

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

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

where have all the music gone ?

I used to be a Pandora user, but due to issues with the Music labelling cartel, it was forced to close it's service outside of the U.S. Australia and New-Zealand.
So I moved to Last.fm that offered me to pay a fee and listen to music. Until I got the following Email: להמשיך לקרוא

שקר הטסט

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

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

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

זה לא הפריע למכון להכריח אותי לשלם על 3 בדיקות, וזה למרות שהתגלה כי המערכות שלהם לא היו תקינות כאן ולא הרכב שלי.

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

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

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

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

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

כשהשעון מראה 25

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

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

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

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

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

יותר מזה, מה עם קוד פתוח, תמיכה אמיתית בכלכלה בה המשחק אינו מכור מראש לקבוצה מסויימת של עסקים, יוקר המחייה בישראל והרשימה עוד רחוקה מלהסתיים ?

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

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

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

מוגש כחומר למחשבה

מלח הארץ

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

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

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

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

כאשר "חותמים", כיום מומלץ בחום לא לעבוד יותר עם md5, היות ויש לו התנגשויות. כלומר ישנה יותר מסדרת בתים אחת שיכולה להיות עם אותה חתימה. אז אני משתמש ב sha256 במקום. הנה קוד רובי המדגים כיצד יש לבצע זאת: להמשיך לקרוא

מידע, כריית מידע ואתם

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

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

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

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

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

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

Why PHP must be abandoned (in my opinion)‎

Foreword

Every now and then, I find myself using PHP as a programming language.
I started using it since the early of 2000, and never really liked it.
Most people like it not because it is good, but because it is easy to "get inside" and start developing stuff with it.

But that's exactly one of it's biggest problems in the world.
I do not want that a programming language will be "easy" to start with, I want it to be good with what it suppose to provide.

First of all, easy is a relative word. That is, you must compare it to something. Back in the days, it was easier to start with PHP then with Perl for example. But when you actually start to "enter" inside the language, well, it's not really a programming language per-se, but a group of a lot of tools that allow you to have some sort of glue to use them.
It does not really act as a language (like with Perl), but a borrow stuff from other languages, such as Perl, C and few others.

Recently I found yet another problem with PHP. I got a 3rd party source code that explains to me how to implement a protocol that reinvent the wheel of HTTP REST using "JSON" like code, but with it's own TCP header, rather then to use plain old HTTP.

Problem

The way that they implement it, is really weird, because instead of using the "pack" function, they are using their own bit manipulation code (poorly), and use the "chr" function to convert each byte into an ASCII value representative.

They code it like so:

 chr(1000 >> 0) . chr(1000 >> 8) ....
The problem is that chr(1000)  (shift right by 0, keeps 1000 as 1000) must report an error, because 1000 is bigger then the last ASCII code (127), or extended ASCII code (255).
I'll explain it again: 1000 is bigger then the range of 255 . ASCII is only at the range of 0..127 chars, but extended ASCII provides extra chars up to 255 (full byte length).
Note: Even a numeric value of 256 is bigger then one byte !
With Ruby for example, I get "RangeError" exception for such action, so does with Python, Pascal, Perl (with strict bytes) and few other programming languages.
While with PHP, well it returns the value of 232.
You must shout out loud, "wait, WHAT ?" if you haven't done it by now.
I'll say it again: "chr(1000)" with PHP returns the value of 232.
It is doing so due to bit manipulation ($value & 255), but it's actually type of an integer overflow IMHO.Why you ask ? Well, the aim of "chr" is to provide one character of ASCII value. The spec of ASCII chars is very very very simple:
Range of a char is 0 to 127 (they write ASCII and not extended ASCII).If you are converting an integer value to it's ASCII value, and the last value is 255 (going extended ASCII here), then what is the representation of the 1000 value in extended ASCII ?
Answer: You do not have one.
That's why normal languages (give or take) return an error that you are out of range.When you give an answer that is not an error, then it means that there is a representation for the value. but 1000 is not 232, it's 1000, and 1000 is out of range.So you might call it a bug right ?
Well according to a person that works at Zend, it is a feature, and the bug is that it is undocumented feature.

Here it is (typos are from the original email):

First of all, this is not integer overflow. integer overflow is hwen the aritmethic result can not be held in integer. here, the function translate what it can and should, which is the last significant byte. I don't see a problem with that except of that is should be documented. if you test 1000 & 255 (the last byte of 1000) you will see that the result is indeed 232.

Oh, and this is the bug I opened for it, so you can follow it yourself.
And It's not the first or last of such "features" within the so called "language".

End

I for one, do not welcome our PHP overlords.
And I think that it's time to abandon this patched "ship" you call a language. The benefits of going in fast, are payed in the long run. with many problems that you actually require an IDE for not loosing your leg by hitting a mine.

הוליווד פורצת

"אקדח במערכה הראשונה ימשיך לירות כל הסרט אין סוף כדורים פחות אחד"
אני

חלק כללי

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

כבר בעבר הזכרתי את נושא הCSI עם חיקוי העבודה של שלומי ישראלי, ועד כמה זה מגוכח.

Brute Force הוא שם המייצג גישה האומרת "בואו ננסה כל אפשרות ברשימה עד שנצליח או שנגמרו האפשרויות".

בBrute Force אשר מתבצע בסרטים, נראה ריצה על מספר ידוע מראש של ספרות (ואולי [אף] תווים), וגם הם בסדר עולה/יורד או ממש מנסים להציג מערכת פסודו ראנדומאלית. "המהדרי"ן", יפרקו את זה ל"ביטים" או "בתים" (תלוי מה הם מנסים להציג), ויציגו כל דבר כזה ב"קופסא" משל עצמה, כאילו החיפוש הוא על ביט/בית.
זה מצחיק כי אם עדיין אין לי מושג ירוק מה קורה שם, איך אפשר לדעת אם הביט/בית נכון ? רק אם יש לי מידע מוצפן, אוכל לכתוב משהו שינסה לפתוח את הקידוד, אבל זה לא זהה כמו מציאת סיסמה במערכת מרוחקת.

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

העניין הוא, כי לא משנה כמה פשוט לרוץ רק על מספרים, עדיין מספר כדוגמת 123456789 לקח אצלי על המחשב קרוב ל5 שעות ריצה של התוכנה !

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

פרצת אבטחה חמורה בFreePBX 2.10.0 / Elastix 2.2.0

גרסת FreePBX 2.10.0 וגרסת Elastix 2.2.0‏ ואולי גם גרסאות ישנות יותר, מכילות בעיית אבטחה בה ניתן בצורה מרוחקת להריץ קוד על השרת כמשתמש root, ובכך לחדור למכונה.

הבעיה מתרחשת בעקבות בעיית Cross Site Scripting אשר כותבת ללא פילטר מסויים לקובץ את התוכן ששמים ב URL. חשוב מאוד לעדכן את המערכת לגרסה האחרונה ביותר אשר מתקנת את הבעיה.

מידע מלא על הבעיה ניתן למצוא בבלוג הבא, ובדיווח לרשימת התפוצה של Full Disclosure . כמו כן, ניתן למצוא קוד לניצול הפרצה.

אתה קראת לי גנב

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

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

אז זה אפילו לא בערך, אלא בדיוק מה שקורה עם חוקי ה DRM הבאים לעולם לרעה.

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

חץ וגם יונתן כתבו הרבה מאוד מלל בנושא, אבל החלטתי להסביר אותו במילים פשוטות הרבה יותר.

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

מוקדש בתקווה כחומר למחשבה לאלו העושים רע עם החוקים הללו.

בין מעריצי אפל למציאות

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

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

השיר הבא, הולך להישמע לכם מוכר מידי, בגלל שיש שיר בשם Hotel California אשר באורך פלא דומה לו מאוד, אבל השיר שאני שמתי כאן, הגיע קרוב לעשור לפני …

האם אורקל מנסה להרוג כל טכנולוגיה מבוססת מחשב ?

הבהרה: אלע"ד (אני לא עוכר דין).

"אין לי בעיה עם בני אדם שהם גם עורכי דין, יש לי בעיה עם עורכי דין השייכים לקבוצת בני האדם." – איי קיי

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

גוגל מצידה אומרת כי חברת סאן (אשר לצערי אורקל קנו אותה), שיחררה את מימוש ג'אווה "לחופשי" ברישיון אשר מאפשר לכל דורש לעבוד איתה. לפני כן, היו מספר מימושים שונים של JDK כדוגמת המימוש של חברת IBM, אשר נוצר כ clean room. אבל אז למעשה Sun שחררה ב2006 את OpenJDK, ואף התעוד נפתח לגמרי, וקיבלנו API לגמרי פתוח של ג'אווה. ואז חברת RedHat יצרה פרוייקט בשם IcedTea אשר מאגד בתוכו את תכונות ג'אווה ללא צורך בתמיכה של עוד כלים לשם כך, תוך שימוש בגרסת קוד הפתוח שSun פתחה.

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

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

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

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

מבוסס על רעיון אמיתי – פרק ראשון – חלק א'

חלק א'

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

הצלחתי ! הוא שלי ! נכנס למלכודת, אפילו לא הייתי צריך להתאמץ. להמשיך לקרוא

האם Framework צריך להתערב בגישות אבטחה ?

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

לאחר קריאה יותר מעמיקה, הסתבר כי הבעיה היא לא ב Rails, אלא בחוסר שימוש ביכולות שיש לו, או חוסר שימוש נבון בהם, אשר גורמים לבעיה.

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

Rails מאוד שונה בגישה שלו מהרבה frameworks, בכך שהיא מגיעה בפילוסופיה האומרת כי הוא מכריח אותך לעבוד בגישה שלו:

Rails is opinionated software. It makes the assumption that there is a “best” way to do things, and it’s designed to encourage that way – and in some cases to discourage alternatives. If you learn “The Rails Way” you’ll probably discover a tremendous increase in productivity. If you persist in bringing old habits from other languages to your Rails development, and trying to use patterns you learned elsewhere, you may have a less happy experience.

כלומר  עלייך לעבוד בגישה שלו, או בכלל לא לעבוד איתו, אחרת לא תסתדר במיוחד.

כך שאנו זקוקים לשאול את השאלה: כיצד Rails צריך להתנהג בנושא ?

האם עליו להכתיב את הדרך להגן על שדות ?

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

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

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

התגובה של מפתחי Rails היא שהאבטחה צריכה להגיע מהמתכנתים עצמם. הדעה שלי קצת חלוקה בעניין.

מה אתם חושבים ?

ככה לא עושים פיטצ'ר אבטחה

בשעה טובה ומוצלחת הפצת הלינוקס האהובה עלי – Arch הכניסה לתוכה חתימת חבילות התקנה.

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

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

אז ארצ' נכנסו סוף כל סוף לעולם של הגדולים -> דביאן וredhat. ומציעים גם חתימה של חבילות ! אבל המימוש שלהם לא נכון.

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

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

וכאן יש פתח להרבה בעיות. אז למי שאין כוח להתחיל לחפור בנושא. בשורה התחתונה, יש מספר מפתחות כלליים (master keys) שצריך לאפשר ואז אין צורך לאפשר את כל מפתחות ההצפנה פר מפתח.

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

אז כאשר האנשים הטובים בהפצה הבינו את הבעיה, הם פתרו אותה על ידי יצירת מספר מפתחות "על" (master keys  ואנחנו מייבאים אותם בצורה הבאה:

$ sudo -s
# for key in FFF979E7 CDFD6BB0 4C7EA887 6AC6A4C2 824B18E8; do
    pacman-key --recv-keys $key
    pacman-key --lsign-key $key
    printf 'trust\n3\nquit\n' | gpg --homedir /etc/pacman.d/gnupg/ \
        --no-permission-warning --command-fd 0 --edit-key $key
done

במידה ואתם לא בוטחים בי, תמיד אפשר לאשר ידנית את המפתחות בצורה הבאה:

sudo pacman-key --lsign-key

כאשר מפתח נראה בסגנון הבא: FFF979E7.

את המפתחות אתם מקבלים על ידי pacman – מנהל החבילות עצמו.

בהצלחה !

a tale about PIPA, SOPA and Copyrights

Imagine a person finding a road that everyone is using, and decide to charge money from every car that is passing by. Then that person think about it, and start taking money also from people who are walking by that road, just looking at it, or just reading about it.

The person is also limiting the number of people that can use the road, in what type of vehicles, number of passengers, the location from where the driver is from etc…

And if to add  on all of that. the person never fixes the road, or provide extra benefit of using it. You get what he provides "as-is", in the way that he think you should have it, and that's it.

When people that live beside the road, started to create their own path to the road, so they could arrive from one place to another, caused a big headache to the road owner.  Because they did not pay for the usage of the road, and did not stand in his limitation. So the road owner decided not only to sue them, but also to provide some money for public elected figures to place bills and rules, to say that without his permission, and in his conditions, it is illegal to do so.

So people started to create their own roads instead, and the traffic started to move to thar roads instead,  and the original road owner, started to loose a lot of road users -> money to that newer and better roads, that take only minor maintenance fees, but do not limit anything. Even the roads are better maintained then the original road that the person took over and start changing on it.

So now that person decided to pay again to that public figures to place more bills and call the other roads thieves, pirate etc..  And that everyone who is not using the original road hurts the right of the original road owner.

עוד פוסט חסר תועלת בנושא הפריצות

infrastructures

ב21 לנובמבר 2011 פרסמתי פוסט בנושא הבעיות של חנויות ישראליות ברשת האינטרנט.

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

אבל הפוסט זכה בעיקר להתעלמות ברשת הישראלית. ועולם כמנהגו נוהג.

ואז הגיע 0mar. הוא במקום להגיד שהמלך הוא עירום, פשוט שם לנו תמונה מול העיניים, נתן לנו כמה סטירות לחי, ועדיין ביט כמנהגו נוהג – במקום להבין את הבעיה שיש ולתקן אותה, סמוך על ביז'ו חזר, ופלוני מאשים את אלמוני, שמאשים את John Doe שמאשים את Jane Doe שבכלל עוד לא נולדו באותו היום … (כמובן שאני לא באמת רוצה לפגוע בביז'ו הוא לא באמת אשם)

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

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

אם תהיה אחריות מינימאלית של בעלי אותם אתרים כלפי הלקוחות בצורה כזו שהם יכולים להיפגע – אז אולי יבוא השינוי.

בנתיים צריך להבין כי מחשבים זה לא תחביב, וזה שהבן (או הבת) של השכנים "מבין" משהו, כמו מתי לוחצים על מקש ימני ומתי על שמאלי, ואיך לחצים על next עשרות פעמים, זה לא הופך אותו למבין. העולם הזה של המחשבים – יש בו הרבה מאוד מקצועות של אנשים שמשקיעים המון שנים ללמוד. ה Next והמקש הימני הם רק בצד המשתמש לא בצד של בעלי המקצוע.

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

אווירה קפקאית

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

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

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

מוגש כחומר למחשבה.

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

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

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

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

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

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

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

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

עצור: עסקים קטנים בישראל

The first mistake in public business is the going into it
Ben Franklin

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

  • אני מחוייב לשלם ביטוח לאומי, אבל אני לא מבוטח בו
  • אני מחוייב לשלם הרבה מיסים על דברים, אבל המדינה לא מתחייבת לי שכל רכש שלי יהיה מוכר כהוצאה. יותר מזה, הוצאות כמו רכב מוכרות רק חלקית בלבד.
  • אין לי משרד, והרבה פגישות נעשות בבתי קפה – הוצאה שלא מוכרת על ידי הרשויות
  • אם מחר למרות חוזה חתום, שבו מתחייב לקוח לשלם לי על שוטף, והוא מחליט על דעת עצמו לשלם שוטף+90 (במקרה הטוב, במקרה הרע מחליט לא לשלם) אין חוק שמגן עלי, ולרוב בתי המשפט יכריחו את החייב לשלם (במקרה הטוב) רק חצי מהסכום (קרה ליותר מבעל עסק אחד שאני מכיר)
  • אם אני מרוויח 20,000 ש"ח בחודש (או פחות), לא אקבל שום הנחות במס.
  • אם ארוויח 200,000 כל חודש, אקבל הרבה הנחות במס. למעשה אוכל לנהל משא ומתן על גובה המס שאשלם
  • עסק יכול לשים ווטו ולהגיד כי רק אם אתן לו חשבונית מס הוא ישלם לי כסף. אין שום גורם שעוזר לי מול זה. זה אומר אבל שאני משלם מע"מ, למרות שלא נכנס לי אפילו אגורה אחת מהעסקה בפועל.

זו לא כל הרשימה, אפילו לא עשירית ממה שאפשר להציג, אבל אני חושב שאתם רואים תמונה מאוד ברורה.

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

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

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

הרי מה שארוויח בשנה מההצעה האחרונה שקיבלתי, יהיה הרבה יותר מאלו אשר מנסים לרכוש את ה"עסק" שלי (כלומר אותי ובעיקר את הלקוחות שלי) עד עכשיו …

מוקדש כתמרור אזהרה

ביומטריה – הדרך לגזול ממכם עוד כסף לטובת מיזם כושל

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

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

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

בין IE ל Firefox

אתמול יצא לי לראות משהו מאוד מעניין. מחשב שלא היה בחשמל הרבה זמן, והסוללת BIOS שלו כבר לא מתפקדת הודלק, ועלה הWindows שהיה על המחשב, והשתמשו ב IE8 בשביל לגלוש לGmail.
ואז הגיעה ההפתעה: יש הודעה שמשהו לא תקין בתעודת הצפנה, אבל הכל המשיך כמו שצריך למרות זאת.

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

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

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

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

כך שהאם אתם באמת מוכנים לסמוך על הדפדפן הזה ?

עידן (אבטחת) המידע או "מידע רוצה להיות חופשי"

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

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