DevSecOps แนวคิดใหม่ของการพัฒนาซอฟต์แวร์ ที่ให้ความสำคัญกับ Cybersecurity ในทุกขั้นตอน
18 พฤษภาคม 2022
มาถึงวันนี้คงไม่จำเป็นต้องยกสถิติใด ๆ เพื่อบอกให้ทุกคนเห็นถึงความสำคัญของ Cybersecurity อีกแล้วจากภาพรวมของระดับภัยคุกคามทางไซเบอร์ที่ทวีความรุนแรงและพัฒนารูปแบบการโจมตีใหม่ ๆ ขึ้นทุกวัน จนส่งผลกระทบวงกว้างในหลากหลายธุรกิจและองค์กร
ไม่เว้นแม้แต่ฟากฝั่งของผู้พัฒนาที่ก็ต้องมีการปรับเปลี่ยนแนวคิดและวิธีการทำงานในการพัฒนาซอฟต์แวร์ให้มีความปลอดภัยแก่ผู้ใช้งาน และยังต้องสามารถรักษาระดับการแข่งขันในแง่ของระยะเวลาในการผลิตกับผู้พัฒนารายอื่น ๆ ในตลาดอีกด้วย
โดยปกติแล้วในการพัฒนาซอฟต์แวร์ใด ๆ นั้น จะแบ่งทีมผู้พัฒนาออกเป็น 3 กลุ่ม ได้แก่
- Developer คือ นักพัฒนาซอฟต์แวร์ที่ทำหน้าที่ในการเขียนโค้ด และพัฒนาซอฟต์แวร์โดยตรง
- Operations คือ ผู้ดูแลระบบซึ่งจะทำหน้าที่ตรวจสอบและทดสอบโค้ดที่ทาง Developer สร้างขึ้น และนำไปใช้งานบนระบบ Production
- 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 ได้ไม่มากก็น้อย
ที่มา:
บทความที่เกี่ยวข้อง