Skip to main content

Application security

ความมั่นคงปลอดภัยของแอปพลิเคชัน (Application Security - AppSec) อธิบายถึงกระบวนการโดยรวมในการออกแบบ สร้าง และทดสอบคุณสมบัติด้านความปลอดภัยของเวิร์กโหลดที่คุณพัฒนาขึ้น คุณควรมีบุคลากรในองค์กรที่ได้รับการฝึกอบรมอย่างเหมาะสม ทำความเข้าใจคุณสมบัติด้านความปลอดภัยของโครงสร้างพื้นฐานในการสร้างและรันระบบ (Build and Release Infrastructure) และใช้ระบบอัตโนมัติในการระบุประเด็นด้านความปลอดภัย

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

ระเบียบวิธีในการพัฒนาแอปพลิเคชันของคุณควรครอบคลุมถึงการควบคุมด้านความปลอดภัยในขณะที่ออกแบบ สร้าง ติดตั้ง และปฏิบัติงาน ในขณะเดียวกันควรปรับกระบวนการเพื่อลดจุดบกพร่องอย่างต่อเนื่องและลดหนี้ทางเทคนิค (Technical debt) ตัวอย่างเช่น การใช้การจำลองรูปแบบภัยคุกคาม (Threat modeling) ในขั้นตอนการออกแบบ จะช่วยให้คุณพบข้อบกพร่องของการออกแบบได้ตั้งแต่เนิ่นๆ ซึ่งทำให้การแก้ไขทำได้ง่ายกว่าและมีค่าใช้จ่ายน้อยกว่าการรอไปจัดการในภายหลัง

โดยปกติแล้ว ค่าใช้จ่ายและความซับซ้อนในการแก้ไขจุดบกพร่องจะยิ่งต่ำลงหากคุณตรวจพบได้เร็วในขั้นตอน SDLC วิธีที่ง่ายที่สุดในการแก้ปัญหาคือการไม่ให้มันเกิดขึ้นตั้งแต่แรก ซึ่งเป็นเหตุผลว่าทำไมการเริ่มด้วย Threat model จึงช่วยให้คุณมุ่งเน้นไปที่ผลลัพธ์ที่ถูกต้องตั้งแต่ขั้นตอนการออกแบบ เมื่อโปรแกรม AppSec ของคุณมีความสมบูรณ์มากขึ้น คุณสามารถเพิ่มปริมาณการทดสอบโดยใช้ระบบอัตโนมัติ ปรับปรุงความแม่นยำของข้อมูลตอบกลับไปยังผู้สร้าง (Builders) และลดเวลาที่ต้องใช้ในการรีวิวด้านความปลอดภัย การดำเนินการทั้งหมดนี้จะช่วยปรับปรุงคุณภาพของซอฟต์แวร์ที่คุณสร้าง และเพิ่มความเร็วในการส่งมอบฟีเจอร์เข้าสู่ระบบจริง

แนวทางการติดตั้งใช้งานเหล่านี้มุ่งเน้นไปที่ 4 ด้าน ได้แก่: องค์กรและวัฒนธรรม, ความปลอดภัยของระบบส่งมอบ (Security of the pipeline), ความปลอดภัยภายในระบบส่งมอบ (Security in the pipeline) และการจัดการส่วนประกอบที่เกี่ยวเนื่อง (Dependency management) แต่ละด้านจะมอบหลักการที่คุณสามารถนำไปใช้และให้มุมมองแบบครบวงจร (End-to-end) ตั้งแต่การออกแบบ พัฒนา สร้าง ติดตั้ง ไปจนถึงการปฏิบัติงาน

ใน AWS มีแนวทางมากมายที่คุณสามารถใช้จัดการโปรแกรมความปลอดภัยของแอปพลิเคชันได้ บางแนวทางจะพึ่งพาเทคโนโลยี ในขณะที่บางแนวทางจะเน้นไปที่บุคลากรและแง่มุมด้านองค์กร

คำถามต่อไปนี้จะเน้นที่การพิจารณาด้านความปลอดภัยของแอปพลิเคชัน:

SEC 11: คุณจะรวมและตรวจสอบคุณสมบัติด้านความปลอดภัยของแอปพลิเคชันตลอดวงจรชีวิตการออกแบบ การพัฒนา และการติดตั้งได้อย่างไร? การฝึกอบรมบุคลากร การทดสอบโดยใช้ระบบอัตโนมัติ การทำความเข้าใจส่วนประกอบที่เกี่ยวเนื่อง (Dependencies) และการตรวจสอบคุณสมบัติด้านความปลอดภัยของเครื่องมือและแอปพลิเคชัน จะช่วยลดโอกาสที่จะเกิดปัญหาด้านความปลอดภัยในเวิร์กโหลดบนระบบจริง