เช้านี้นั่งอ่านบทความเรื่อง Scaling Appsec at Netflix
เป็นอีกเรื่องที่สำคัญใน application ต่าง ๆ ของบริษัท
หน้าที่หลัก ๆ ของเหล่า engineer คือสร้าง product ที่มีคุณค่าต่อลูกค้า
แต่ถ้า application เหล่านั้นไม่ปลอดภัย
ก็น่าจะเป็นปัญหาใหญ่ที่กระทบต่อ business ของบริษัทได้
ดังนั้นทาง Netflix จึงพยายามจัดการเรื่องนี้ให้ดี
โดยที่ทาง Netflix นั้นขึ้นชื่อเรื่องของ
- Context not Control
- Freedom and responsibility
เห็นได้จาก technology ที่หลากหลาย
ขนาดและจำนวนของทีมที่โตอย่างมาก
ดังนั้นการจัดการเรื่องของ security จึงไม่ง่ายเลย
มาดูกันว่า เขาทำอย่างไรกันบ้าง
ในบทความข้างต้น อธิบายว่าจะมี 3 ส่วนสำหรับเรื่อง security คือ
- Operational Appsec capabilities
- Appsec Automation
- Security Partnerships
มาดูรายละเอียดกัน
1. Operational Appsec capabilities
ในส่วนนี้ยังคงเป็นทีมและขั้นตอนการจัดการ security แบบเดิม เช่น
- bug bounty triage
- pentesting
- threat modeling
- vulnerability management
- product security incident response
ซึ่งมีคุณค่าและประโยชน์แน่นอน
แต่ก็มีข้อเสียตรงที่มักไปขัดจังหวะการทำงานของทีมพัฒนา application
ส่งผลต่อการ scale ของทีมและ product อย่างมาก
ดังนั้นจึงทำการสร้างอีก 2 ทีมขึ้นมา
เพื่อช่วยแก้ไขปัญหาต่าง ๆ จากการขยายทีม คือ
Security Partnerships และ Appsec Automation
โดยที่ทีม Operational Appsec จะทำการร่วมกับ 2 ทีมนี้
เหมือนทีม Operational Appsec เป็นทีมช่วยเหลือและให้คำปรึกษา
2. Appsec Automation
มีเป้าหมายและหน้าที่เพื่อเตรียม guildline ต่าง ๆ
เรื่องการจัดการด้าน security ให้ทีมพัฒนา
ทั้งเรื่องการจัดการปัญหาว่าทำอย่างไร
ทั้งเรื่องของ self-service ต่าง ๆ ที่ทำได้เอง
ทำให้ทุก ๆ การกระทำของทีมพัฒนายังคงมีความปลอดภัยเสมอ (Secure by default)
โดยทีมนี้พยายามจะสร้างและเตรียมเครื่องมือไว้ให้ใช้งาน
ยกตัวอย่างเช่น Spinnaker
เป็น Continuous Delivery platform
ช่วยให้ทีมพัฒนาสามารถส่งมอบ product ได้อย่างรวดเร็ว
โดยที่ไม่ต้องมาจัดการ resource ต่าง ๆ ที่ใช้งานเอง
แน่นอนว่า เรื่องการจัดการด้าน security ก็เช่นกัน
ไม่ต้องมาจัดการเองทั้ง authentication, authorization และ secret storage เป็นต้น
ซึ่งช่วยจัดการและลดความเสี่ยงไปได้อย่างมาก
โดยก่อนหน้านี้จะลงทุนด้านการทำ Security scan แบบอัตโนมัติ
ในขั้นตอนต่าง ๆ ของการพัฒนา หรือเรียกว่า DevSecOps เช่น
- Static code scanning
- Dynamic testing
- ค้นหารูปแบบต่าง ๆ ที่ผิดปกติใน code และ configuration ต่าง ๆ
เป็นการทำงานในแต่ละ application ไม่ตอบโจทย์ของการขยายทีม
จึงทำการปรับเปลี่ยนมาเป็น The Security Paved Road Practice
เพื่อช่วยให้ระบบ automation ปัจจุบันมีความสามารถในการจัดการด้าน security ดีขึ้น
3. Security Partnerships
การจัดการความปลอดภัยเชิงลึกนั้น
แน่นอนว่าเป็นเรื่องที่ไม่ง่ายเลย
ดังนั้นการมี partnership จึงเป็นสิ่งที่สำคัญมาก ๆ
ซึ่งในบทความก็ได้อธิบายว่า นี่คือการปรับปรุงในอนาคตต่อไป
นี่น่าจะเป็นหนึ่งในแนวทางของการจัดการด้าน security ของ application
มีเป้าหมายเพื่อให้แต่ละ application มี security by default
โดยระบบ ขั้นตอนและเครื่องมือที่สร้างขึ้นมานั้น
ต้องมีประโยชน์ต่อทีม application และ business
รวมทั้งต้องมีความ transparency อีกด้วย
จะได้ช่วยให้เห็นข้อมูล ปัญหาและแนวทางการแก้ไขต่อไป