חודש: ינואר, 2010

תיאוריית ההשוואה החברתית

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

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

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

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

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

תגים: , ,

איך להוריד את הכולסטרול בלי תרופות

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

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

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

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

תגים: , , , , ,

אימון אישי

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

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

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

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

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

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

תגים: , , , , ,

הצפת אינטגר – int overflow

מבוא:

integer overflow הינו אחד מהbuffer overflows הפחות נפוצים.
למעשה, הניצול של int overflow  הוא למעשה "עזר" לניצול של heap overflow או stack overflow.
הנזק שint overflow יכול לגרום בכוחות עצמו הינו אפסי.
ובדיוק מהסיבה הזו, לא נ יתן למצוא מידע רב על הנושא ברחבי האינטרנט.
int overflow הרבה יותר קשה לגילוי מאשר שאר הbuffer overflows.
כמו כן, הנזק שלהם לא גדול, וקשה לנצלם.

כיצד נגרם int overflow:

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

להלן תוכנית דוגמא על מנת להמחיש את העניין:

הערה: הגודל המאקסימאלי של חלק מהטיפוסים, למשל int תלוי במערכת, במסגרת מאמר זה אשתמש רק בטיפוסים אשר הערך המאקסימאלי שלהם גלובאלי לכל מערכות ההפעלה.
#include <iostream>
using namespace::std;
int main()
{
unsigned long n = 4294967295;
n++;
cout<<n<<endl;
return 0;
}

הערך המאקסימאלי של unsigned long הוא 4,294,967,295, כמו שאתם רואים, התוכנית מוסיפה לערך הזה אחד.
הפלט של התוכנית הוא 0.

הפלט הלא צפוי הזה נשלח אל המשתמש כיוון שההקצאה של המספר בתוך המשתנה  מתבצעת בעזרת החישוב הבא:
(4294967295 + 1) % 4294967295, כאשר המשתנה אמור להכיל את השארית, שכרגע היא 0.

ניצול int overflow:

אז כמו שציינתי מקודם, הניצול של int overflow משמש בעצם לניצול של stack overflow או heap overflow,אפשרות לניצולם של פגיעויות אלו
מתרחשת כאשר מבוצע וידוי קלט בעזרת האינטיג'ר.
אני אדגים כיצד לנצל stack overflow בעזרת int overflow.

להלן תוכנית דוגמא, ומיד אחריה הסבר קצר:
#include <iostream>
using namespace::std;
int main(int argc, char *argv[])
{
char buffer[10];
unsigned short n;
int i=0;
if(argc<2)
{
cout<<"Usage: <buffer>"<<endl;
return 0;
}
n = strlen(argv[1]);
if(n > 10)
{
cout<<"Error, buffer size is too big"<<endl;
}
else
{
strcpy(buffer, argv[1]);
}
return 0;
}

כמו שאתם רואים, השתמשתי הפעם בunsigned short, שהערך המאקסימאלי שלו הוא 65535.
ממבט ראשון ניראה שבלתי אפשרי לגרום בקוד לstack overflow, כיוון שיש בדיקה שהbuffer בגודל המתאים.

בשביל לגרום לstack overflow, משתמשי לינוקס יכולים להשתמש בפקודה
perl -e 'print "A"x65537.
משתמשי ווינדאוס יכולים להוסיף לולאה קטנה בתוך התוכנית.

הסיבה שהstack overflow נגרם היא עקב העובדה שהאם נכניס 65536 תווים הערך של n, שמכיל את האורך המזוייף של הbuffer יהיה 1.

התגוננות:

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

int underflows:

סוגייה הקשורה לint overflow, היא הint underflow.

פגיעות זאת נדירה עוד יותר מהint overflow, אך עלולה לגרום ללא מעט צרות.

להלן קוד דוגמא, ומיד אחריו הסברים:
#include <iostream>
using namespace::std;
void allocbuffer(unsigned int size)
{
char *buffer;
size--;
buffer=new char[size];
}

ניראה תמים לחלוטין.
אבל, אם נריץ אות הפונקצייה עם פרמטר 0 בצורה הזו:
int main()
{
allocbuffer(0);
}

יווצר מצב בו הsize יהיה שווה ל-1,ומכאן השם של ההתקפה, underflow-הערך מתחת ל0.
אצל רובנו ההקצאה תיכשל, כי לא יהיה מספיק זיכרון ונקבל הודעת שגיאה.
ואצל מחשבים חזקים מספיק ההקצאה תיקח המון זיכרון.
מצב זה נגרם עקב העובדה ש-1 במקרה של unsigned integer ,שיכול להכיל רק מספרים חיוביים,שווה למספר גדול מאד.

סיום:

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

תגים: ,