[קישור לקובץ mp3] פודקאסט מספר 446 של רברס עם פלטפורמה -
אורי ו
רן מארחים בסוף אוגוסט את
אליעד מחברת
noname לשיחה על APIs ועל איך לאבטח APIs ב-Web - ולא רק ב-Web.
- (אליעד) לא רק ב-Web - גם בין אפליקציות, השימוש ב-APIs ניהיה נרחב מאוד בזמן האחרון.
(רן) מעולה - אז לפני שנדבר על APIs, נכיר קצת את אליעד -
- (אליעד) אז אני אליעד, כמו שאמרתם - אני בן 26, מתל אביב.
- עקרונית, רוב השנים עבדתי בתחום ה-IR - שזה Incident Response
- שם’ בעצם - הגעת לאירוע, חקרת אותו
- בדקת מה התוקף עשה ברשת - מאיפה הוא הגיע, באילו קבצים הוא נגע
- וממש פעלת בכובע של - הייתי אומר “בלש משטרתי” כזה - של עולם האינטרנט . . .
(אורי) אני נתפסתי לרגע ל . . . “רוב החיים עבדתי ב . . .” - טוב - אתה חצי מהגיל שלי . . . .
- (אליעד) רוב החיים שלי . . .
(רן) אני דווקא הלכתי לכיוון שרלוק הולמס . . .
- (אליעד) כן . . . . אז זה בערך בחמש-שש השנים האחרונות, הייתי ב-Incident Response.
- לאחר מכן, רציתי לעשות טיפה שינוי בעבודה - והלכתי יותר לתחום המחקר
- רציתי לחקור משהו שעכשיו מעניין - שעכשיו כולם משתמשים בו
- וראיתי שכל התחום של ה-Cloud ו-APIs וכל הדברים האלה - זה באמת ניהיה הדבר-די-הכי-חם עכשיו: APIs התחילו לתפוס המון מקום עכשיו בחיים שלנו
- בין אפליקציות, בין אפליקציות ל-DB-ים, בין Cleint-ים לשרתים - הכל עכשיו עובר בעזרת API-ים.
- והעולם הזה ניהיה מאוד מעניין - והתחלתי . . .
- ואז נכנסתי לצוות המחקר בחברת noname
- והחברה - המטרה שלה זה לעשות API Security, כשהמוצר נותן לך שלושה דברים:
- אחד זה ויזיביליות (Visibility) על ה-API-ים שלך - איזה API-ים יש לך, מה הסכמות (Scheme) שלהם, איפה יש אות’נטיקציות (Authentications) - כל הדברים האלה.
- שזה עולם די מבולגן - בדר”כ, אם היית מגיע ל-CISO-ים של חברות או דברים כאלה, והיית אומר לו “תגיד, כמה API-ים יש לך?” - הוא לא יודע, הוא לא בטוח בזה.
- “באיזה מהם עוברים כרטיסי אשראי?” או “באילו אות’נטיקציות (Authentications)?” - דברים כאלה - “אני לא יודע” . . . .
- כל העולם הזה מאוד מבולגן, ובעצם מה שהמערכת עושה בהתחלה זה להביא לך ויזיביליות (Visibility) כלשהי על כל ה-API-ים שלך.
- בנוסף לזה . . .
(רן) אנחנו מדברים על APIs שפונים החוצה? - נגיד, בהקשר של כרטיס אשראי לדוגמא - או שאתה גם מדבר על כל מה שקורה “בפנוכו”?
- (אליעד) אז גם “בבפנוכו” - כל שימוש ב-API-ים, גם אם נגיד בשימוש הכי מוכר ורחב שזה מתכנת שבונה איזו אפליקצית-Web כלשהי ואנשים ניגשים אליה דרך הדפדפן או דרך הטלפון שלהם, ואז בעצם יש כל מיני API-ים שמחזירים לך מידע שהאפליקציה מבקשת או שהדפדפן מבקש.
- ואז זה מוצג על המסך, בשביל המשתמש.
- אז זה ה-API-ים הכי מוכרים . . .
(רן) בסדר . . . בכל מקרה, אנחנו מדברים על “Over-the-Network”, נכון? לא מדברים על דברים פנימיים, שקורים בתוך ה-Process?
- (אליעד) אז לא - זה לא API-ים . . . זה Web-APIs, זה API-ים שעוברים בתוך המחשב עצמו.
(אורי) אוקיי, לא
בתוך המחשב עצמו - אבל יכול להיות ש . . .זאת אומרת, אני חברה ואני חושף איזושהי אפליקציה, אבל מעבר לאפליקציה או ל-API-ים שאני חושף החוצה, יש לי עוד . . . (רן) microServices . . . (אורי) . . . מיליון-ואחת microServices שמדברים ביניהם ב-API-ים - שזה בעצם “החוזה ביניהם”, גם על . . .
- (אליעד) נכון - אז אם עכשיו יש לך איזשהו DB, או שלא משנה מה פתחת - כל מה שמתקשר באמצעות API-ים . . .
- עכשיו גם בין אפליקציות - גם בין אפליקציות אפשר לתקשר בין API-ים, גם האפליקציות וגם הDB-ים, כשאתה מאנדקס (Index) כשאתה מחזיר מידע ועושה כל מיני שליפות - הכל עובר עכשיו דרך API-ים.
- אז זו בדיוק הכוונה - כל סוג של Web-API שעובר
- אבל לא RPC לדוגמא, אם מישהו פה מכיר - Remote Procedure Call - אז זה לא כאלה, אלא API-ים שקשורים ספציפית ל-Web.
(רן) בסדר. ודרך אגב - למה “אינשם”? למה
noname?
- (אליעד) אוקיי, אז זה סיפור טיפה מצחיק, כששמעתי אותו . . .
- עקרונית, כשהם פתחו את החברה - המייסדים - הם ישר רצו לדבר כבר עם משקיעים ולהשיג השקעות ומימונים וכל זה, ואז עוד לא היה להם שם.
- וב-Email-ים שהם שלחו למשקיעים, הם רשמו להם ש-”It’s a noname API Security company ” - מתוך כוונה להגיד שאין לה שם, עדיין.
- והתגובות שהם קיבלו בחזרה היו “וואו! noname - what a great name” . . .
- אז הם אמרו אוקיי . . . אז זה השם.
- [ומה לגבי אינשם וה-API Call הראשון?]
(רן) טוב שלא הכניסו <סוגריים משולשים>, כמו שבדרך כלל עושים - היה מאוד קשה להגות את זה . . .
בסדר, אז תראה - יש לנו לא מעט דברים שאנחנו הולכים לדבר עליהם ולא נוכל לדבר כל עולם ה-Security של ה-APIs, אז בוא נבחר פה כמה דברים.אולי נתחיל מזה: אני מייצר עכשיו API שפונה החוצה ואני רוצה לאבטח אותו. מה שלל האופציות העומדות בפני? אילו כלים? מה “ה-Cool Guys” עושים היום כדי לאבטח APIs?
- (אליעד) אוקיי, אז דבר ראשון - וזה הדבר הכי חשוב - קודם כל להבין מי הם המשתמשים של ה-API שלי?
- מי צורך אותו ולאילו מטרות הוא נצרך.
- כי יש לך המון המון סוגי אות’נטיקציות (Authentications) ואות’וריזציות (Authorizations) ודברים כאלה - ואתה צריך לדעת בדיוק למי ה-API מכוון -
- אם זה למשתמשים שבדפדפן
- אם זה בין אפליקציות
- אם זה בין האפליקציה ל-DB
- ודברים כאלה.
(רן) אוקיי, אז
נניח דפדפן: אני כותב שירות-Backend שמשרת Frontend שנמצא בדפדפן - והוא שלי