none
profiler מעקב אחרי פונקציית EncryptByPassPhrase RRS feed

  • שאלה

  • סתם שאלה שלא קשורה, אשמח אם תוכלו לענות לי- אני מעוניין לנתר את השאילתות בssms 2008R2 ולצורך כך השתמשתי בprofiler, הבעיה היא שפונקציות מסויימות הפרופיילר מציג רק את המילה הראשונה של השאילתא או הפרוצדורה וכל השאר נמחק על ידי קוים או סתם לא רואים. הפונקציה המבוקשת היא EncryptByPassPhrase, וכנראה יש מנגנון שמגן על פונקציות רגישות כאלה. יש דרך לעקוף אותו? אולי בהגדרות או בכלי אחר? תודה רבה ושוב סליחה אם לא פה זה המקום.
    יום שלישי 20 דצמבר 2011 09:54

תשובות

  • אכן מה שנאמר נכון וכן ניתן לנטר את הפעולות בכמה דרכים שונות בדרך כלל

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

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

    ועוד...

    *** ממשק הניטור של הפרופיילר להערכתי מסתיר את הנתון במכוון אבל ברור שהנתון הועבר כטקסט נקי ולכן רק צריך למצוא את הדרך לתפוס אותו :-)


    signature

    • נערך על-ידי pituachMVP, Editor יום שלישי 20 דצמבר 2011 12:13
    • סומן כתשובה על-ידי nry123 יום שלישי 20 דצמבר 2011 12:27
    יום שלישי 20 דצמבר 2011 12:12
    מנחה דיון
  • הי,

    ברגע שיש איזה אלמנט ואפילו מילה שמזכירה הצפנה ה- Profiler לא יציג את ה- Text data.

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

    יום טוב,


    אסף שלם
    • סומן כתשובה על-ידי nry123 יום שלישי 20 דצמבר 2011 11:51
    יום שלישי 20 דצמבר 2011 10:43

כל התגובות

  • הי,

    במידה והקוד מופצן לא תוכל לראות אותו מכוון שה- Sql server לא חושף אותו בצורה מפורשת.

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

    אולי מערכות מתקדמות יותר כמו I3 או Quest יאפשרו אבל זו לא אופציה בשבילך.

    יום טוב,


    אסף שלם
    יום שלישי 20 דצמבר 2011 10:11
  • תודה רבה על התשובה המהירה, אבל אני לא מנסה לראות את תהליך ההצפנה עצמו, שהוא לא שקוף, אלא את המפתח שיוכנס לשאילתא.

    לדוגמא בקוד הזה

    select encryptedData,

    convert(varchar,decryptByPassPhrase('secretkey',encryptedData)) as decrypted

    from MyPassTable

    secretkey זה מה שאני ארצה לראות, ובפועל, רואים בפרופיילר רק select וכל השאר זה קווים (צינזור כלשהו).

    יום שלישי 20 דצמבר 2011 10:32
  • הי,

    ברגע שיש איזה אלמנט ואפילו מילה שמזכירה הצפנה ה- Profiler לא יציג את ה- Text data.

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

    יום טוב,


    אסף שלם
    • סומן כתשובה על-ידי nry123 יום שלישי 20 דצמבר 2011 11:51
    יום שלישי 20 דצמבר 2011 10:43
  • כן, הרעיון הוא כשאין לי גישה...

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

    תודה רבה בכל מקרה.

    יום שלישי 20 דצמבר 2011 11:51
  • אכן מה שנאמר נכון וכן ניתן לנטר את הפעולות בכמה דרכים שונות בדרך כלל

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

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

    ועוד...

    *** ממשק הניטור של הפרופיילר להערכתי מסתיר את הנתון במכוון אבל ברור שהנתון הועבר כטקסט נקי ולכן רק צריך למצוא את הדרך לתפוס אותו :-)


    signature

    • נערך על-ידי pituachMVP, Editor יום שלישי 20 דצמבר 2011 12:13
    • סומן כתשובה על-ידי nry123 יום שלישי 20 דצמבר 2011 12:27
    יום שלישי 20 דצמבר 2011 12:12
    מנחה דיון