Wednesday, October 24, 2007

Cryptoanalysis באמצעות GRID

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

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

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

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

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

מאמר מעניין בנושא ניתן לקרוא בקישור הבא.

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

Labels: , , , , ,

Saturday, September 01, 2007

הגנה על סיסמאות - Salt כנגד Rainbow Tables

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

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

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

ויש פתרון - SALT.

הקונספט מאחורי עיקרון הSALT הוא פשוט ביותר - בניית תוספים אקראיים למחרוזות הסיסמה בעלי אורך מחושב לפי הסיסמה עצמה - וביצוע HASH רק לאחר התוספת . מה שקורה בעצם הוא הדבר הבא :
מתבצע קלט של סיסמה - נניח - ABcd12!@ שהוא סיסמה מוכרת במילונים רבים ...
על סמך חישוב ערך ASCII של כל תו וביצוע פעולה מתמטית עליהם - מתקבלים ערכים מסויימים שהם ערך מספרי , וערכים תוויים לכל מספר כזה- נניח שיצא - 3 , ולידו zxc למשל.
המספרים מתווספים בנקודת צירוף לסיסמה המקורית - ABcd12!@zxc ורק אז עושים HASH.
החשוב כאן כמובן שהאורך יהיה מחושב לפי התווים בסיסמה , ואז כל כמות התווים שיש לייצר תתבצע לפי אלגוריתם פרטי שנובע מחישוב על הסיסמה ( כדי שיהיה ניתן לבצע השוואת HASH למתן סיסמה )

מה שקורה הוא שבעצם הקשחנו את הסיסמה , כי כעת במקום 8 בתים , היא עכשיו בת 11 בתים , ובשל המילון לא יוכל לזהות את המילים בגלל כל מיני סיבות - למשל - לא יהיו מילים באורך כזה במילון , ובעצם יצרנו סוג של PRIVATE HASH UNDER PUBLICH HASH - לא מושג רשמי , אלא ככה אני נוהג לתאר זאת. בעצם הוספנו מלח לתבשיל שלנו ...

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

Labels: , ,

Friday, July 13, 2007

קצת על BruteForce ופיצוח סיסמאות בכלל.

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

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

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

אנו כבר יודעים שיש מילים מסויימות נפוצות שהן הסיסמאות הנפוצות ... האמינו או לא , אבל המילה "password" וסיסמה "nimda" ( שהיא admin הפוך ) נפוצות אף הן . ולכן נעדיף לקרוא את אלו ראשונות

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

בנוסף , וזה החלק הנחמד , ישנו חלק דינאמי נוסף אשר בעצם בריצה על כל ססמה אפשרית מעל 6 תווים , מתבצע ריבוי פעולות בתצורת FUZZY אשר אותה אני מגדיר כך ...
למשל אם מצאתי או הגעתי לססמה שהיא spartacus, כדאי לי לנסות בפעמים הבאות צירופים שונים על גבי אותה ססמה , אשר נראים לעין כאותה ססמה ולכן משתמשים אוהבים לבחור בה
לדוגמא : Sp@rtacus וכדומה - אשר מתבססים על שינויי צורה באותיות ( אני ממליץ על כ20 וריאציות שונות לכל סיסמה שכבר גיליתם שקיימת וכ10 על כאלה שלא )

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

Labels: , ,


About

    My Name is Barry Shteiman, im a devoted tech junkie, and this is my blog.
    E: barry.shteiman -at- gmail.com
    Twitter : bshteiman

Tags & Categories

Mailing List & RSS

Stay Updated  
Add to Technorati Favorites