דף הבית |   פוקוס חברות   |   שיחת היום   |   המנכ"לים   |   דרושים   |   מתחמים   |   הבמה  
 
  כניסת חברה   |   אתר סלולארי אתר סלולארי  
ידעטק - מנוע חיפוש הייטק
חברות   חדשות   אנשים   דרושים   מילון  
חיפוש מתקדם
  מציאת פתרון טכנולוגי   |   חברות הייטק   |   פרסם אצלנו  
  Private Zone:     Login     Dashboard   |   Jobs   |
 
  הישאר מעודכן!    צור התראת דוא"ל עבור:  Trinity Software and Beyond
חדשות
אבטחה ברמת קוד-מקור
 

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

גיל קיני 14/07/14 | 10:33
שלוט בפרסומת שכולם רואים - בחר את Trinity Software and Beyond
 
 
 
 
זהו חלק א' בסדרת מאמרים קצרים הדנים בשיפור האבטחה של מוצרים מבוססי תוכנה. המאמרים מיועדים למנהלים ומובילים טכניים בחברות המייצרות ו/או קונות מוצרים בעלי רכיבי תוכנה.
מאמרים אלו נגזרו מסדרת הרצאות והדרכות בנושא.
ניתן ליצור קשר עם חברת טריניטי לתיאום הרצאות, הדרכות וייעוץ בנושאי אבטחת תוכנה וקוד.

מגמות בתהליכי פיתוח תוכנה

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

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

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

איך ניתוח קוד סטטי יעזור לכם?

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

למשל פונקציה שניגשת (dereference) למצביע (pointer) שערכו נקבע על ידי פונקציה אחרת. בדיקות יחידה ידניות (Unit Testing) של מי מהפונקציות בנפרד, לא יכולות לחשוף כי המצביע עלול להיות NULL. ניתוח קוד סטטי, לעומת זאת, היה מוצא את הבעיה. אם נשקול את אותו המצב, אך שתי הפונקציות פותחו על ידי שני צוותים שונים. הסיכוי שבעיה מסוג "ניסיון גישה ל-NULL" (NULL Pointer Dereference) תתגלגל עד ללקוח, הופך להיות גבוה יותר במיוחד אם כיסוי הבדיקות (Test Coverage) אינו מספיק גבוה.
זה לא מפתיע, אם כן, כי קייפרס ג'ונס (מחברת Namcook Analytics) מצא כי כלים ותהליכים כמו ניתוח קוד סטטי, משפרים יותר מפי-2 את יעילות המפתחים במציאת באגים בתוכנה שלהם.

איך סריקת קוד פתוח תעזור לכם?

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

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

כיצד הכלים עוזרים לצמצם את סיכוני אבטחה?

כלי ניתוח סטטי כגון קלוקוורק (Klocwork) מסייע למפתחים להתמודד עם באגים ברמת קוד-המקור אשר באים לידי ביטוי כפגיעויות-אבטחה (vulnerabilities). באגים אלו קשים למציאה ולעיתים קשים להבנה. לדוגמה, גלישת חוצץ (Buffer Overflow) - כאשר חוצץ (buffer) בגודל לא מספיק, או שלא ניתן לסמוך על גודלו, משמש להעתקת זיכרון אזי היישום עלול להיות פגיע. גלישה ממערך (או חוצץ) מכסה צורות רבות ושונות של התקפות כולל פגיעות ה-
Heartbleed הידועה שהתגלתה ותוארה ע"י חברת קודנומיקון.

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

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

השילוב המושלם

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

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

טלפון - 09-7677880
אימייל - info@trinity.co.il
אתר - www.trinity.co.il

מאת: גיל קיני, מנכ"ל, טריניטי תוכנה ומעבר בע"מ
 
 
Trinity Software and Beyond
טריניטי תוכנה ומעבר הינה חברה לפיתוח מערכות משובצות והפצת מוצרי פיתוח תוכנה מובילים. טריניטי הציבה לעצמה יעד של מצוינות בפיתוח של מערכות ומודולים משובצים. לשם כך הקמנו קבוצה של מומחים בפיתוח תוכנה ובחרנו להפיץ מוצרי תוכנה מובילים שיכולים למנף את מאמצי הפיתוח. בשנים האחרונות השלימה טריניטי עשרות פרויקטים, תוך הקפדה על ע...
Open Source  |  Software  |  Security  |  Source Code  |  Static Code Analysis  |  Testing  |  OSS  |  Consultant  |  Security Testing  | 
 
תפריט על סדר היום 
 
פוקוס חברות Top 5
חדשות המנכ"לים
דרושים מתחמים
הבמה  
    בחירת הגולשים
  חדשות
 
 
  מנכ"לים
 
ברק רגב ברק עילם
עוזי נבון נדב ארבל
 
 
 
מנוע חיפוש   |   הייטק   |   דרושים   |   Goto-Mobile בניית אתרים לסלולר
 
RSS   |   תקנון   |   צור קשר
 
מחשוב ענן
ניהול קשרי לקוחות
אבטחת מידע
 
בינה עסקית
ניהול ידע
ניהול מסמכים
 
בנקאות ביטוח
תיירות מלונאות
אופנה טקסטיל
 
חינוך אקדמיה
קמעונאות
חקלאות
 
קידום אתרים
דרושים הייטק
 
Cloud Computing
Virtualization
Security
 
Storage
Network
ERP
 
CRM
BI
QA
 
KM
SaaS
SOA
 
BPM
BPO
DRP
 
Outsourcing
Semiconductor
Telecom
 
Mobile
Backup
DMS
 
ידעטק  |  ידע טק  |  ידע-טק


Navigation