เช้านี้นั่งอ่านบทความเรื่อง Scaling Appsec at Netflix
เป็นอีกเรื่องที่สำคัญใน application ต่าง ๆ ของบริษัท
หน้าที่หลัก ๆ ของเหล่า engineer คือสร้าง product ที่มีคุณค่าต่อลูกค้า
แต่ถ้า application เหล่านั้นไม่ปลอดภัย
ก็น่าจะเป็นปัญหาใหญ่ที่กระทบต่อ business ของบริษัทได้
ดังนั้นทาง Netflix จึงพยายามจัดการเรื่องนี้ให้ดี

โดยที่ทาง Netflix นั้นขึ้นชื่อเรื่องของ

  • Context not Control
  • Freedom and responsibility

เห็นได้จาก technology ที่หลากหลาย
ขนาดและจำนวนของทีมที่โตอย่างมาก
ดังนั้นการจัดการเรื่องของ security จึงไม่ง่ายเลย
มาดูกันว่า เขาทำอย่างไรกันบ้าง

ในบทความข้างต้น อธิบายว่าจะมี 3 ส่วนสำหรับเรื่อง security คือ

  1. Operational Appsec capabilities
  2. Appsec Automation
  3. 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 อีกด้วย
จะได้ช่วยให้เห็นข้อมูล ปัญหาและแนวทางการแก้ไขต่อไป