Wednesday, January 5, 2011

Tuesday, January 4, 2011

דעות קדומות ומוטעות על מה שמכנים בציבור שיטת סינגפור




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

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




הנה תגובתי לדברים שכתב:

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

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

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

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

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

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

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

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

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

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

חסר מעש הגיב בבלוג שלו: (ביום ג', 4 בינואר, 2011)

שלמה, לצערי אני נאלץ לומר שאני לא משוכנע שהבנת את מה שרציתי לומר בפוסט.

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

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

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


והנה תגובתי: (ביום ג', 4 בינואר 2011)

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

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

מניין המסקנה שלך שלימוד בשיטות קשות יותר מניח בסיס טוב יותר לעתיד?

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

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


חסר מעש מגיב: (יום ד', 5 בינואר, 2011)


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

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

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

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

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

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


והנה תגובתי: (יום ד', 5 בינואר, 2011)


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

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

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

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

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

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

ועתה, צא ולמד!





Friday, December 31, 2010

פורסם מאמר שלי בדיגיטל ויספר

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

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

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

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



הגליון השישה-עשר כולל את המאמרים הבאים:

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

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

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

התקפות על כלים לעבוד ולנתוח XML (נכתב ע"י שלמה יונה):
במאמר זה, הפותח סדרת מאמרים חדשה, מציג שלמה את עולם נַתָּחֵי ה-XML והרבדים הקיימים בו, במהלכו מציג שלמה את המתקפות אשר ניתן לבצע על אותן השכבות מימוש שמרכיבות את מנועי ניתוח ה-XML בשירותים השונים.

Client Side Web Attacks And Identity Theft (נכתב ע"י שלומי נרקולייב):
במאמר זה, מציג שלומי סיכום קצר של עולם מתקפות ה-Web מזווית ה-Client Side, מה הן ההגנות הקיימות כיום למשתמש הפשוט והאם הן באמת עונות על הקריטריונים. בנוסף, מציג שלומי מערכת חדשה אשר תפקידה להגן מפני אותם מתקפות.

Thursday, December 30, 2010

CSRF



CSRF

תקפה באינטרנט שאוהבים לדבר עליה ולהזכיר אותה והיא סוג של להיט בשנים האחרונות בשיחות על Web Application Security.

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

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


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

אפשר לקרוא חומר על ההתקפה בוויקיפידה. לארגון OWASP שמפרסם מידע על Web Application Security ומפרסם על פתרונות זמינים לבעיות יש עמוד שמסביר על CSRF הדף מכיל גם קישורים עם עוד מידע מעמיק.

בצד השרת הנסיונות למנוע את ההתקפה היא באמצעות HTTP Headers כגון, Referer (שגיאת הכתיב היא במקור), Origin או הלהיט האחרון, X-Requested-With.

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

דרך קלה לטפל בכך בצד השרת (בד"כ על ידי שכבה או שרות שמולבש בין הגשת דפי האינטרנט לבין הלקוח, למשל על ידי Apache באחד ממודולי ה-Mod שלו או למשל על ידי Application Delivery Controller, כמו למשל F5 BIGIP שיש לו גם Web Application Firewall אינטגרטיבי, ה-ASM) היא להחליף את כל הקישורים בעמוד. החלפת הקישור כולו היא דוגמה לשיטה של ההצפנה והחלפה שמוסיפה את אותה פיסת מידע אקראית (לכאורה) היא דוגמה אחרת, שנפוצה יותר. בעייתיות של גישה זו היא מתי מבצעים את ההתערבות בקישורים ובכתובות. אם מדובר בקישורים סטטיים ב-HTML אז אין בעייה -- אבל ישנן כתובות שנוצרות באופן דינאמי בצד הלקוח ואז האופן להחליף אותן כראוי היא או במקור (זה דורש תמיכה ושיתוף פעולה עם המפתחים של האתר, זה לא קורה בדרך כלל -- ) או בדיעבד באופן דינאמי בצד הלקוח על ידי JavaScript או טכנולוגיית client side אחרת (למשל Flash).

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

הדרך להצליח בדיעבד ורק בצד הלקוח לשנות את הכתובת (על ידי הוספת אותו חלק מידע משתנה כאשר ניגשים לשרת) כאשר מדובר ב-Ajax היא לחטוף את הגישה. למה הכוונה? הכוונה היא להתחבר למודל האובייקטים ולהתערב בשרשרת הקריאות למתודות שמבצעות את הפעולות של Ajax כך שיהיה אפשרי להריץ קוד כאשר נוצרת בקשת Ajax: הקוד ישנה את הכתובת לפי הצורך. לפעמים גם אין דיי בכך ורוצים גם לחטוף את ה-Ajax Response ולבדוק אותו ולהכניס בו שינויים לפני שהאפליקציה בצד הלקוח משתמשת בו. מנסיוני האישי בפיתוח טכנולוגיות client side ב-F5 הנושא אינו פשוט כלל לפתרון כללי ובפרט קשה כאשר מדובר בתמיכה רחבה בדפדפנים מכל היצרנים, מכל הסוגים ומגרסאות שונות. קל וחומר כאשר קוד ה-JavaScript שמורץ גם הוא בא בטעמים שוניים ובשנים האחרונות גם בא בשימוש ב-JavaScript Frameworks שונים. גישה מקובלת לחטיפת תהליך של בקשת Ajax מובא להלן:
אפשר לקרוא את הקוד המלא (וללמוד כמה דברים) של הפתרון של OWASP בקישור.


XMLHttpRequest.prototype._open = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url, async, user, pass) {
this.url = url;

this._open.apply(this, arguments);
}


XMLHttpRequest.prototype._send = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(data) {
if(this.onsend != null) {
this.onsend.apply(this, arguments);
}
this._send.apply(this, arguments);
}


הכלי של OWASP משתמש ב X-Requested-With כדי להכריע האם בקשה מגיעה לשרת מ-Ajax או שלא. סיבה טובה לכך היא הקשר ההדוק ל-Same Origin Policy. לא ניתן לזייף ב-JavaScript בקשה בשימוש ב-XMLHttpRequest למתחם מסויים כך שתראה כאילו באה ממתחם אחר.