לינוקס

You are currently browsing the archive for the לינוקס category.

שאלה שנשאלתי היום על ידי סטודנט – איזה מבין שני הקבצים של תרגיל בית 1 בשפות תכנות הוא העדכני יותר, PL Spring-2009 Ex1.pdf או PL Spring-2009 Ex1-1.pdf ?

את התשובה ניתן למצוא על ידי שימוש בתוכנה curl (התקנה באובונטו על ידי התקנת החבילה curl).

יש להריץ בשורת הפקודה את הפקודה:

$ curl --head http://webcourse.cs.technion.ac.il/234319/Spring2009/hw/WCFiles/PL%20Spring-2009%20Ex1.pdf

התוצאה:

HTTP/1.1 200 OK
Date: Wed, 01 Apr 2009 15:47:21 GMT
Server: Apache/1.3.37 Ben-SSL/1.57 (Unix)
Last-Modified: Sun, 29 Mar 2009 06:22:15 GMT
ETag: "a28035-185fc-49cf1397"
Accept-Ranges: bytes
Content-Length: 99836
Content-Type: application/pdf

ועבור הקובץ השני:

HTTP/1.1 200 OK
HTTP/1.1 200 OK
Date: Wed, 01 Apr 2009 15:50:07 GMT
Server: Apache/1.3.37 Ben-SSL/1.57 (Unix)
Last-Modified: Wed, 01 Apr 2009 07:25:56 GMT
ETag: "a28036-184c8-49d31704"
Accept-Ranges: bytes
Content-Length: 99528
Content-Type: application/pdf

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

Tags: , ,

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

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

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

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

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

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

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

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

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

Tags: , ,

מה אני עושה בין הסמסטרים?

סרטון סתלבט ביוטיוב:

The video cannot be shown at the moment. Please try again later.

Tags: , , , , ,

אותכם, אותי, ולדעתי צריך לעניין את כולם.

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

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

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

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

– – –

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

שינוי כזה בוצע בחבילת OpenSSL/OpenSSH, שאחראית על ההצפנות במערכת.

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

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

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

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

– – –

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

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

טעות מספר 1 – תיקנו "באג" שלא הבינו אותו – השיטה המשונה לקבלת מספר אקראי.

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

– – –

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

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

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

e5378b9299a5b0b000da
e538f98984504a808620
e539ae75479e565630a1
e539b10c83ece8fd730a
e53b50b3d25ab2a0bcb4
e53b87bbcc06e165ae61
e53cfde8882f1e79ee50
e53cfe5b5c86f754b3f1
e53d08db18313a7bf195
e53d122743999e6dcb2f
e53d5f69d1261e676693
e54629634a243fa1dc23

– – –


– – –

קריאה נוספת:

DSA-1571 openssl

DSA-1576 openssh

SSLkeys

תגובת המפתחים

התייחסות שחר שמש

Tags: , , , , ,

« Older entries