DevSecOps แนวคิดใหม่ของการพัฒนาซอฟต์แวร์ ที่ให้ความสำคัญกับ Cybersecurity ในทุกขั้นตอน

มาถึงวันนี้คงไม่จำเป็นต้องยกสถิติใด ๆ เพื่อบอกให้ทุกคนเห็นถึงความสำคัญของ Cybersecurity อีกแล้วจากภาพรวมของระดับภัยคุกคามทางไซเบอร์ที่ทวีความรุนแรงและพัฒนารูปแบบการโจมตีใหม่ ๆ ขึ้นทุกวัน จนส่งผลกระทบวงกว้างในหลากหลายธุรกิจและองค์กร

ไม่เว้นแม้แต่ฟากฝั่งของผู้พัฒนาที่ก็ต้องมีการปรับเปลี่ยนแนวคิดและวิธีการทำงานในการพัฒนาซอฟต์แวร์ให้มีความปลอดภัยแก่ผู้ใช้งาน และยังต้องสามารถรักษาระดับการแข่งขันในแง่ของระยะเวลาในการผลิตกับผู้พัฒนารายอื่น ๆ ในตลาดอีกด้วย

โดยปกติแล้วในการพัฒนาซอฟต์แวร์ใด ๆ นั้น จะแบ่งทีมผู้พัฒนาออกเป็น 3 กลุ่ม ได้แก่

  1. Developer คือ นักพัฒนาซอฟต์แวร์ที่ทำหน้าที่ในการเขียนโค้ด และพัฒนาซอฟต์แวร์โดยตรง 
  2. Operations คือ ผู้ดูแลระบบซึ่งจะทำหน้าที่ตรวจสอบและทดสอบโค้ดที่ทาง Developer สร้างขึ้น และนำไปใช้งานบนระบบ Production
  3. Security คือ ผู้ดูแลด้านความมั่นคงปลอดภัย ซึ่งจะทำหน้าที่ตรวจสอบและทดสอบโค้ดเฉพาะในส่วนของความมั่นคงปลอดภัย

แต่ก่อนที่จะไปรู้จักกับคำว่า DevSecOps นั้น NT cyfence ขอเริ่มต้นจากการพาทุกคนย้อนกลับไปในปี 2009 ที่ DevOps กลายเป็นคำที่คนในแวดวงนักพัฒนาพูดถึงกันเป็นอย่างมากในฐานะแนวคิดใหม่ที่ช่วยให้การพัฒนาซอฟต์แวร์มีประสิทธิภาพและสามารถแข่งขันกับเวลาได้ดีขึ้น ด้วยการรวมเอาการ Development หรือ Dev มาอยู่ใน flow เดียวกันกับ Operations หรือ Ops ซึ่งได้กลายเป็นแนวคิดของ DevOps หรือ DevOps Flow นั่นเอง

DevOps Flow นั้นช่วยให้การพัฒนาซอฟต์แวร์เป็นไปอย่างราบรื่นและรวดเร็วยิ่งขึ้น ทั้งยังลดข้อผิดพลาดในการทำงานลง

ทว่า ปัญหาสำคัญของการทำ DevOps นั้น คือการนำขั้นตอนของ Security มาไว้ท้ายสุดก่อนการขึ้น Production ซึ่งหากเกิดกรณีที่ทีม Security มองเห็นปัญหาและความเสี่ยงในตัวซอฟต์แวร์แล้วก็จะไม่อนุมัติให้มีการขึ้น Production และส่งกลับไปให้ทีม Developer แก้ไข ซึ่งก็จะทำให้กระบวนการในพัฒนาต้องล่าช้าและกลับมาเริ่มกันใหม่อีกครั้ง

ดังนั้นการนำ Security หรือ Sec เข้ามาอยู่ใน DevOps Flow ตั้งแต่แรก จึงทำให้การทำงานร่วมกันระหว่าง Development, Operations และ Security เกิดขึ้นตั้งแต่วันแรก และไม่ทำให้ Security มีสถานะเป็นเพียง Blocker ในกระบวนการของการทำ DevOps เท่านั้น และเกิดเป็นแนวคิดของการทำ DevSecOps ขึ้นมาแทนซึ่งกำลังเป็นสิ่งที่คนในแวดวงนักพัฒนากำลังพูดถึงกันในช่วง 1-2 ปีหลังนี้ 

แก่นสำคัญของ DevSecOps นั้นก็คือการนำหลักคิดและเครื่องมือของการสร้าง Security เข้ามาอยู่ในทุกขั้นตอนของการทำ DevOps Flow เช่น การทำ Secure Coding ในขั้นตอนของการทำ coding การทำ SCA ในขั้นตอนของการ build การทำ PAM ในขั้นตอนของการ deploy เป็นต้น

โดยหลักคิดที่สำคัญของการทำ DevSecOps นั้นมีอยู่ด้วยกันทั้งหมด 4 ข้อ ได้แก่

  • Remove คือ ลบและทลายกำแพงที่ขวางการทำงานระหว่างทีมที่เคยมีในแนวคิด DevOps เดิม และเปลี่ยนเป็นการทำงานร่วมกันตั้งแต่ขั้นตอนแรกจนถึงขั้นตอนสุดท้าย
  • Shorten ลดขั้นตอนการกลับไปกลับมาในกระบวนการพัฒนาซอฟต์แวร์  
  • Faster  คือ เพิ่มประสิทธิภาพในการทำงานให้การพัฒนาซอฟต์แวร์ทำได้รวดเร็วยิ่งขึ้น สามารถ feedback และแก้ไขปัญหากันได้ทันทีในทุกขั้นตอนโดยไม่ต้องรอให้เกิดปัญหาบน Production แล้วค่อยกลับมาแก้กันในภายหลัง 
  • Secure คือ การให้ความสำคัญกับความปลอดภัย โดยมีหัวใจสำคัญอยู่ที่คำว่า Security in Every Step กล่าวคือทุกขั้นตอนตั้งแต่วันแรกของการพัฒนาจะต้องมีหลักคิดและวิธีการทางด้าน Cybersecurity เข้ามาเกี่ยวข้องเสมอ

โดยหากอ้างอิงจากผลการสำรวจของ Google แล้ว ก็จะพบว่าการทำ DevSecOps นั้น ช่วยลด Lead Time ในการ Deploy ลงถึง 106 เท่า นักพัฒนาสามารถใช้เวลาในการแก้ไขปัญหาได้เร็วกว่าถึง 2,604 เท่า และลดความผิดพลาดลงในกระบวนการพัฒนาซอฟต์แวร์ลงถึง 7 เท่า เลยทีเดียว

ดังนั้นโดยสรุปแล้วแนวคิด DevSecOps ก็คือการ “เพิ่ม” ข้อบังคับ เครื่องมือหรือขั้นตอนด้านความปลอดภัยเข้าไปร่วมใน Flow ของ DevOps ด้วย เพื่อทำให้การพัฒนาซอฟต์แวร์นั้นทั้งเร็ว มีประสิทธิภาพ และปลอดภัย

ซึ่งหากซอฟต์แวร์ต่าง ๆ ได้รับการพัฒนาบนพื้นฐานของการคำนึงถึงความปลอดภัยแล้ว เมื่อ user หรือองค์กรนำไปใช้งานต่อก็จะช่วยลดความเสี่ยงของการเกิดอาชญากรรมทางไซเบอร์ได้ในท้ายที่สุด

ก็หวังว่าเรื่องราวแนวคิดและที่มาของ DevSecOps ที่ NT cyfence หยิบมาเล่าให้ฟังกันในวันนี้จะเป็นประโยชน์และแรงบันดาลใจให้กับเหล่านักพัฒนาในบ้านเรา และมีส่วนช่วยยกระดับความปลอดภัยในการใช้งานซอฟต์แวร์ของ user ได้ไม่มากก็น้อย

ที่มา: