เทคนิคที่เรียกว่า Proactive Controls for Software Developers นั้นเป็นการอธิบายถึงงานส่วนหนึ่งที่สำคัญของนักพัฒนาซอฟต์แวร์ ที่ต้องให้ความสำคัญเพื่อพัฒนาแอพพลิเคชั่นที่ปลอดภัย ดังนั้น ทาง OWASP จึงได้รวบรวมรายการ 10 สุดยอด Proactive Control ประจำปี 2018 ออกมา
รายการดังกล่าวเป็นการรวบรวมเทคนิคด้านความปลอดภัยที่นักพัฒนาทุกคนควรใช้พิจารณากับการพัฒนาซอฟต์แวร์ทุกโครงการ แม้จะมีลักษณะคล้ายกับรายการ OWASP Top 10 แต่จะเป็นการให้ความสำคัญกับเทคนิคการป้องกัน และควบคุมที่ใช้ต่อกรกับความเสี่ยงต่างๆ แทน
รายการ Proactive Control นี้เกิดขึ้นจากการวิเคราะห์ความต้องการด้านความปลอดภัย จากทั้งมาตรฐานของวงการต่างๆ กฎหมายที่เกี่ยวข้อง รวมทั้งประวัติการเกิดช่องโหว่ที่ผ่านมา โดยเรียงจากข้อ 1 ถึง 10 ตามลำดับความสำคัญดังต่อไปนี้
1. กำหนดความต้องการด้านความปลอดภัย ได้แก่ ฟังก์ชั่นที่ซอฟต์แวร์ต้องมี โดยพิจารณาจากมาตรฐานในอุตสาหกรรม กฎหมายที่เกี่ยวข้อง ประวัติที่ผ่านมา ซึ่งอาจนำไปใช้กับแอพอื่นๆ ได้ด้วย
2. ยกระดับกรอบการทำงานและไลบรารีด้านความปลอดภัย ไลบรารีหรือเฟรมเวิร์กจากเธิร์ดปาร์ตี้ที่จะเข้ามาอยู่ในซอฟต์แวร์ของคุณ ต้องมาจากแหล่งที่เชื่อถือได้
3. รักษาความปลอดภัยการเข้าถึงฐานข้อมูล ไล่ตั้งแต่การรักษาความปลอดภัยของการร้องขอข้อมูล การตั้งค่า การยืนยันตัวตน และการสื่อสาร
4. เข้ารหัสข้อมูล และหลบเลี่ยงการถูกดูดข้อมูล มีบทบาทสำคัญมากในเทคนิคการป้องกันการโจมตีแบบ Injection
5. ตรวจสอบความถูกต้องของข้อมูลป้อนเข้าทุกอย่าง ให้แน่ใจว่ามีแค่ข้อมูลที่อยู่ในรูปแบบที่เหมาะสมถึงจะเข้าสู่ระบบซอฟต์ฉวร์ได้
6. ติดตั้งระบบตรวจสอบตัวตนแบบดิจิตอล เป็นวิธีที่ใช้แสดงหลักฐานการทำธุรกรรมออนไลน์
7. บังคับใช้ระบบควบคุมการเข้าถึง เป็นกระบวนการให้อนุญาตหรือปฏิเสธคำร้องขอการเข้าถึง
8. ปกป้องข้อมูลจากทุกที่ โดยเฉพาะข้อมูลที่สำคัญอย่างรหัสผ่าน เลขบัตรเครดิต บันทึกประวัติทางการแพทย์ ข้อมูลส่วนตัว และความลับทางธุรกิจ
9. วางระบบบันทึก Log และตรวจสอบด้านความปลอดภัยระหว่างการรันการทำงานของแอพพลิเคชั่น
10. จัดการกับข้อผิดพลาด และข้อยกเว้นทุกอย่าง เป็นการเปิดให้แอพพลิเคชั่นตอบสนองกับความผิดพลาดแต่ละอย่างในหลากหลายรูปแบบ
ที่มา : GBhackers