הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי
TRANSCRIPT
הטמעה וניהול נכון ובטוח
של קוד פתוח בארגון
גיל קיני
Security – Reliability – Quality
חדשנות ואיכות בפיתוח תוכנה
?ולמה אני פה? מי אני
גיל קיני
טריניטי תוכנה ומעבר
אמינות ואבטחה מעל הכול
אז מה יהיה לנו...
OSS is Good for Business
טוב לכולם –קוד פתוח
מגמה עולה בארגונים לשימוש בקוד פתוח ומצד שלישי
ניהול רישיונות תוכנה כחלק מתהליכי איכות בפיתוח
התפתחות תהליכי ניהול איכות להכלת כל או חלק
...מהצעדים הבאים
?מהיכן מגיע הקוד שלכם
6 © Copyright 2008 Protecode Inc. Proprietary
Outsource
Company
Own Commercia
l
Open
Source
Firm’s
Code base
Load Build
Do we know what
is in our software?
End Product
Organization
גישות לניהול רישיונות
Most effective when applied early in development life cycle
8
Early detection is cost-effective
No delays, no resource wastage, no higher management involved
Fixing problems is costly
Project delays, Resource costs & frustration
Automated Prevention, integrated into development environment
© Copyright 2009 Protecode Inc. Proprietary
Economics of IP Management
?למה דווקא פתרונות בגישה מונעת
OSSAP תהליך שמונת השלבים של
OSSAP = Open Source Software Adoption Process
מבוסס על מחקר רוחב של תהליכים ארגוניים כיום ועל הניסיוןחלק . בשנים האחרונות פרוטקודהמעשי של מומחי חברת
IP) מהניסיון הזה נרכש תוך כדי ביצוע שירותי בקרת קניין רוחני Audit) כחלק , עבור מספר רב של ארגונים וחברות טכנולוגיות
, על סף פעילות רכישה (Due Diligence)מתהליכי בדיקת נאותות
ולעיתים של מוצר הכולל תוכנה לפני שחרור לשוק או ללקוח
גרסה מקוצרת –שמונת השלבים
הגדרת מדיניות שימוש ברישיונות1.
הגדרת תהליך אישור מראש לתוכנה2.
ניתוח מצב הרישיונות הקיימים3.
ניתוח קוד ממקור חיצוני4.
ניתוח והערכה תקופתיים5.
בזמן מסירת קוד לשרת ניהול גרסאות, אמת-ניתוח בזמן6.
ברמת עמדת העבודה של המפתח, ניתוח בזמן אמת7.
ניתוח התוכנה לפני שחרור הגרסה8.
פתוח-תהליך הטמעת קוד
הגדרת מדיניות שימוש ברישיונות .1
(חובה )בשלב ראשון על הארגון להגדיר בצורה מסודרת ומרכזית
o תנאי רישיון מקובלים עליו
oתנאים אינם מתאימים
oספקים מורשים
oמוצרי תוכנה או חבילות תוכנה הארגון מאשר לשימוש
המדיניות תגדיר
oתהליך לבקשה וקבלת אישור עבור חבילות תוכנה
o נקודות בקרה של התוכנה בשלבי הפיתוח השונים
oמה יש לבצע כאשר מתגלה הפרה של המדיניות
ממוחשבת של המדיניות מאפשרת קישור " / דיגיטלית"הגדרת
לכלים אוטומטיים לניהול הרישיונות אשר עשויים להיות מופעלים
כחלק מהתהליך הכולל
מראש לתוכנה-הגדרת תהליך אישור .2
(רשות ) בשלב זה מגדירים ומטמיעים תהליך לקבלת אישור
לשימוש בחבילת תוכנה חיצונית
o מבטיח שימוש עבור סט מוגבל ומבוקר היטב של חבילות שעברו ניתוח
ואשר תנאי השימוש מובנים היטב עבור גרסה ספציפית
תהליך זה כולל את השלבים הבאים :
oהבקשה צריכה . המפתח מבקש אישור לשימוש בחבילת התוכנה החיצונית
('וכואופן השימוש , גרסה, מקור)להכיל כמה שיותר פרטים על החבילה
o במאגר רלוונטי באופן שמאפשר מעקב ומתוייגתהבקשה נרשמת
o בארגון( ועדת אישורים)י גורם רלוונטי "בחינה ע –לאחר רישום הבקשה
oהבקשה מאושרת או נדחית והמפתח מקבל הודעה על כך
ניתוח מצב הרישיונות הקיימים .3
(חובה ) ניתוח הפורטפוליו הקיים בארגון אל מול
המדיניות המוגדרת בשלב הראשון
מטרות הבדיקה
oחיצונית שלא בהתאם וידוא שלא נעשה שימוש בתוכנה
לתנאים המוגדרים ברישיון השימוש
o או לבצע תיקונים במקרים שבהם התגלתה אי התאמה בין
תנאי הרישיון לשימוש בפועל
ניתוח קוד ממקור חיצוני .4
(חובה ) או חבילת /קוד ו כלניתוח ובקרת רישיונות של
תוכנה שמקורם מחוץ לארגון
הארגון הוא זה שנושא באחריות עבור המוצר המוגמר הכולל גם חבילות תוכנה מצד שלישי ולכן עליו לבצע
ניתוח של כל
oי צד שלישי"תוכנה שסופקה ע
oחוץ-י קבלן או מיקור"תוכנת צד שלישי הכוללת תוכנה שסופקה ע
oתוכנה שהארגון בוחן לשם ביצוע החלטת רכישה
o תוכנה שנרכשת מספק חיצוני
oואף תוכנות קוד פתוח
ניתוח והערכה תקופתיים .5
(רשות ) סקירה של כלל הקוד בתדירות קבועה מראש בכדי לבחון
את השינויים שבוצעו בתוכנה
כ סקירה זו נעשית אחת לשבוע או אחת לחודש"בד
o מביצוע סקירה חד פעמית לפני הוצאת גרסה או בהתאם להימנעיש
לבקשת לקוח בלבד
o משום שעלות תיקון התוכנה בשלבים אלו גבוהה באופן משמעותי ביחס
לתיקונים שמתבצעים תוך כדי העבודה השוטפת
אם בארגון מתבצעות סקירות -ניתן לדלג על שלב זה אך ורקאו /ו (Library Check-in)אוטומטיות בשלבי מסירת הקוד לשרת
בזמן אמת בסביבות הפיתוח
ההמלצה היא להשאיר שלב זה בכל מקרה כמעגל בקרה נוסף
SCMניתוח בזמן מסירת קוד לשרת .6
(רשות ) כל קובץ חדש או שעבר שינויים נבדק לפני הכנסתו (check-in)למערכת ניהול הקוד
מאובחן ונבדקים סוגי , בכך מבטיחים שקוד חדש שנכנס למערכת
הרישיונות שהוא כולל
במהלך הבדיקה נעשית השוואה מהירה בין הרישיונות בהם נעשה
שימוש ובין ספריית הרישיונות המאושרים לשימוש בהתאם
למדיניות החברה
חוסר התאמה מדווח לגורם הרלוונטי בארגון לשם בדיקה ומתן
הנחיות בהתאם
ניתוח ברמת עמדת העבודה של המפתח .7
(רשות )קצרה ומהירה אשר מתבצעת באופן אוטומטי בדיקה
תוך כדי פיתוח, בעמדת העבודה של המפתח, (ברקע)ושקוף
למפתח האם החבילה שבה עשה שימוש מיידיהניתוח נותן מענה
באותו רגע מאושרת לשימוש בהתאם למדיניות החברה או לא
היזון חוזר מיידי למפתח המאפשר
oתיקון מהיר וקל של הבעיה הפוטנציאלית
oאין פגיעה בשטף )י המפתח תוך המשך עבודה "לחילופין הוספת הערה ע
או /י מנהל הפרויקט ו"הערה זו נרשמת בלוג ומפוקחת ע(. תהליך הפיתוח
לאחראי על הקניין הרוחני
ניתוח התוכנה לפני שחרור גרסה .8
(חובה ) צעד זה הכרחי ומטרתו להבטיח שקיימת הבנה
לפני , מלאה של תכולת המוצר והמחויבויות הקשורות אליו
לשוק וחשיפה ללקוחות שיחרורו/ הוצאתו
כחלק בפועלשלב זה כולל ניתוח של הקוד הנצרך
מתהליך בניית התוכנה מיפוי הרישיונות ומשמעות
השימוש בהם
שלב זה צריך להוות חלק
o מתהליך בקרת האיכות
o ומרשימת התנאים לשחרור גרסה(release check-list)
נקודות עיקריות
הגדרת וגיבוש מדיניות
אוטומציה מקסימאלית בכדי להבטיח
oיעילות
oדיוק
oכיסוי מלא
oעמידה במדיניות
סיכום/ כללי
שילוב של מספר מעגלי בקרה ברמות שונות ובמספר נקודות
בקרה תוך כדי תהליך הפיתוח מאפשר רמה מקסימאלית של
בטחון תוך מינימום פגיעה בשטף תהליך הפיתוח
חדש/תהליך מסודר ומדיניות ברורה לגבי הכנסת קוד חיצוני ,
יבטיחו זיהוי יעיל של בעיות פוטנציאליות בשלבים מוקדמים של
תהליך הפיתוח
מצמצם באופן , מוקדם בתהליך הפיתוח, איתור של קוד בעייתי
לפני ( או החלפתו)משמעותי את העלויות הכרוכות בתיקון הקוד לאחר ששוחרר, שהוא שוחרר או גרוע מכך
פתוח-תהליך הטמעת קוד
Protecode Solution Portfolio Complete Portfolio
o Full implementation of Open Source Software Adoption Process (OSSAP)
Advanced, Easy-to-adopt Solution
Workflow for license management
o Intelligent: Scanned files will not be re-analyzed unless they are modified
o Seamless interworking
o Intuitive, fast
Real-time and on-demand analysis
o Unique in industry
Choice of
o Global IP Signatures (GIPS) reference database
o On-premises Enterprise IP Signature (EIPS) database
24
Klocwork – analyze your code to find security issues & bugs
Metaforic – protect your code against Tampering, Reverse-Engineering & Code-Lifting
Codenomicon – intelligent fuzzing of protocols for security & robustness
PlasticSCM – the most advanced and flexible SCM & ALM solutions
חדשנות ואיכות בפיתוח תוכנה
...בואו נדבר
!תודה
גיל קיני
Gil @ Trinity.co.il