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

26
הטמעה וניהול נכון ובטוח של קוד פתוח בארגון גיל קיני

Upload: trinity-software-beyond-ltd

Post on 13-Jul-2015

204 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

הטמעה וניהול נכון ובטוח

של קוד פתוח בארגון

גיל קיני

Page 2: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

Security – Reliability – Quality

חדשנות ואיכות בפיתוח תוכנה

Page 3: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

?ולמה אני פה? מי אני

גיל קיני

טריניטי תוכנה ומעבר

אמינות ואבטחה מעל הכול

אז מה יהיה לנו...

Page 4: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

OSS is Good for Business

Page 5: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

טוב לכולם –קוד פתוח

מגמה עולה בארגונים לשימוש בקוד פתוח ומצד שלישי

ניהול רישיונות תוכנה כחלק מתהליכי איכות בפיתוח

התפתחות תהליכי ניהול איכות להכלת כל או חלק

...מהצעדים הבאים

Page 6: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

?מהיכן מגיע הקוד שלכם

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

Page 7: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

גישות לניהול רישיונות

Most effective when applied early in development life cycle

Page 8: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

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

?למה דווקא פתרונות בגישה מונעת

Page 9: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

OSSAP תהליך שמונת השלבים של

OSSAP = Open Source Software Adoption Process

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

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

, על סף פעילות רכישה (Due Diligence)מתהליכי בדיקת נאותות

ולעיתים של מוצר הכולל תוכנה לפני שחרור לשוק או ללקוח

Page 10: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

גרסה מקוצרת –שמונת השלבים

הגדרת מדיניות שימוש ברישיונות1.

הגדרת תהליך אישור מראש לתוכנה2.

ניתוח מצב הרישיונות הקיימים3.

ניתוח קוד ממקור חיצוני4.

ניתוח והערכה תקופתיים5.

בזמן מסירת קוד לשרת ניהול גרסאות, אמת-ניתוח בזמן6.

ברמת עמדת העבודה של המפתח, ניתוח בזמן אמת7.

ניתוח התוכנה לפני שחרור הגרסה8.

Page 11: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

פתוח-תהליך הטמעת קוד

Page 12: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

הגדרת מדיניות שימוש ברישיונות .1

(חובה )בשלב ראשון על הארגון להגדיר בצורה מסודרת ומרכזית

o תנאי רישיון מקובלים עליו

oתנאים אינם מתאימים

oספקים מורשים

oמוצרי תוכנה או חבילות תוכנה הארגון מאשר לשימוש

המדיניות תגדיר

oתהליך לבקשה וקבלת אישור עבור חבילות תוכנה

o נקודות בקרה של התוכנה בשלבי הפיתוח השונים

oמה יש לבצע כאשר מתגלה הפרה של המדיניות

ממוחשבת של המדיניות מאפשרת קישור " / דיגיטלית"הגדרת

לכלים אוטומטיים לניהול הרישיונות אשר עשויים להיות מופעלים

כחלק מהתהליך הכולל

Page 13: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

מראש לתוכנה-הגדרת תהליך אישור .2

(רשות ) בשלב זה מגדירים ומטמיעים תהליך לקבלת אישור

לשימוש בחבילת תוכנה חיצונית

o מבטיח שימוש עבור סט מוגבל ומבוקר היטב של חבילות שעברו ניתוח

ואשר תנאי השימוש מובנים היטב עבור גרסה ספציפית

תהליך זה כולל את השלבים הבאים :

oהבקשה צריכה . המפתח מבקש אישור לשימוש בחבילת התוכנה החיצונית

('וכואופן השימוש , גרסה, מקור)להכיל כמה שיותר פרטים על החבילה

o במאגר רלוונטי באופן שמאפשר מעקב ומתוייגתהבקשה נרשמת

o בארגון( ועדת אישורים)י גורם רלוונטי "בחינה ע –לאחר רישום הבקשה

oהבקשה מאושרת או נדחית והמפתח מקבל הודעה על כך

Page 14: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

ניתוח מצב הרישיונות הקיימים .3

(חובה ) ניתוח הפורטפוליו הקיים בארגון אל מול

המדיניות המוגדרת בשלב הראשון

מטרות הבדיקה

oחיצונית שלא בהתאם וידוא שלא נעשה שימוש בתוכנה

לתנאים המוגדרים ברישיון השימוש

o או לבצע תיקונים במקרים שבהם התגלתה אי התאמה בין

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

Page 15: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

ניתוח קוד ממקור חיצוני .4

(חובה ) או חבילת /קוד ו כלניתוח ובקרת רישיונות של

תוכנה שמקורם מחוץ לארגון

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

ניתוח של כל

oי צד שלישי"תוכנה שסופקה ע

oחוץ-י קבלן או מיקור"תוכנת צד שלישי הכוללת תוכנה שסופקה ע

oתוכנה שהארגון בוחן לשם ביצוע החלטת רכישה

o תוכנה שנרכשת מספק חיצוני

oואף תוכנות קוד פתוח

Page 16: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

ניתוח והערכה תקופתיים .5

(רשות ) סקירה של כלל הקוד בתדירות קבועה מראש בכדי לבחון

את השינויים שבוצעו בתוכנה

כ סקירה זו נעשית אחת לשבוע או אחת לחודש"בד

o מביצוע סקירה חד פעמית לפני הוצאת גרסה או בהתאם להימנעיש

לבקשת לקוח בלבד

o משום שעלות תיקון התוכנה בשלבים אלו גבוהה באופן משמעותי ביחס

לתיקונים שמתבצעים תוך כדי העבודה השוטפת

אם בארגון מתבצעות סקירות -ניתן לדלג על שלב זה אך ורקאו /ו (Library Check-in)אוטומטיות בשלבי מסירת הקוד לשרת

בזמן אמת בסביבות הפיתוח

ההמלצה היא להשאיר שלב זה בכל מקרה כמעגל בקרה נוסף

Page 17: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

SCMניתוח בזמן מסירת קוד לשרת .6

(רשות ) כל קובץ חדש או שעבר שינויים נבדק לפני הכנסתו (check-in)למערכת ניהול הקוד

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

הרישיונות שהוא כולל

במהלך הבדיקה נעשית השוואה מהירה בין הרישיונות בהם נעשה

שימוש ובין ספריית הרישיונות המאושרים לשימוש בהתאם

למדיניות החברה

חוסר התאמה מדווח לגורם הרלוונטי בארגון לשם בדיקה ומתן

הנחיות בהתאם

Page 18: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

ניתוח ברמת עמדת העבודה של המפתח .7

(רשות )קצרה ומהירה אשר מתבצעת באופן אוטומטי בדיקה

תוך כדי פיתוח, בעמדת העבודה של המפתח, (ברקע)ושקוף

למפתח האם החבילה שבה עשה שימוש מיידיהניתוח נותן מענה

באותו רגע מאושרת לשימוש בהתאם למדיניות החברה או לא

היזון חוזר מיידי למפתח המאפשר

oתיקון מהיר וקל של הבעיה הפוטנציאלית

oאין פגיעה בשטף )י המפתח תוך המשך עבודה "לחילופין הוספת הערה ע

או /י מנהל הפרויקט ו"הערה זו נרשמת בלוג ומפוקחת ע(. תהליך הפיתוח

לאחראי על הקניין הרוחני

Page 19: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

ניתוח התוכנה לפני שחרור גרסה .8

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

לפני , מלאה של תכולת המוצר והמחויבויות הקשורות אליו

לשוק וחשיפה ללקוחות שיחרורו/ הוצאתו

כחלק בפועלשלב זה כולל ניתוח של הקוד הנצרך

מתהליך בניית התוכנה מיפוי הרישיונות ומשמעות

השימוש בהם

שלב זה צריך להוות חלק

o מתהליך בקרת האיכות

o ומרשימת התנאים לשחרור גרסה(release check-list)

Page 20: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

נקודות עיקריות

הגדרת וגיבוש מדיניות

אוטומציה מקסימאלית בכדי להבטיח

oיעילות

oדיוק

oכיסוי מלא

oעמידה במדיניות

Page 21: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

סיכום/ כללי

שילוב של מספר מעגלי בקרה ברמות שונות ובמספר נקודות

בקרה תוך כדי תהליך הפיתוח מאפשר רמה מקסימאלית של

בטחון תוך מינימום פגיעה בשטף תהליך הפיתוח

חדש/תהליך מסודר ומדיניות ברורה לגבי הכנסת קוד חיצוני ,

יבטיחו זיהוי יעיל של בעיות פוטנציאליות בשלבים מוקדמים של

תהליך הפיתוח

מצמצם באופן , מוקדם בתהליך הפיתוח, איתור של קוד בעייתי

לפני ( או החלפתו)משמעותי את העלויות הכרוכות בתיקון הקוד לאחר ששוחרר, שהוא שוחרר או גרוע מכך

Page 22: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

פתוח-תהליך הטמעת קוד

Page 23: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי
Page 24: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

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

Page 25: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

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

חדשנות ואיכות בפיתוח תוכנה

Page 26: הטמעה וניהול נכון ובטוח של קוד פתוח בארגון - טריניטי

...בואו נדבר

!תודה

גיל קיני

Gil @ Trinity.co.il