Cyber Security นับว่าเป็นประเด็นสำคัญไม่เว้นแม้แต่วงการพัฒนาซอฟต์แวร์ Tripwire ผู้ให้บริการโซลูชันด้าน Security และ Compliance ออกมาระบุว่า บริษัทพัฒนาซอฟต์แวร์หลายแห่งมักพัฒนาซอฟต์แวร์อย่างไม่ระมัดระวัง กล่าวคือ ไม่ใส่ใจด้าน Security ในการพัฒนาซอฟต์แวร์อย่างเต็มที่ ส่งผลให้ซอฟต์แวร์ที่ปล่อยออกมายังคงมีช่องโหว่และเสี่ยงต่อการถูกโจมตีในอนาคต
Bob Loihl วิศวกรซอฟต์แวร์อาวุโสและผู้เชี่ยวชาญด้านความมั่นคงปลอดภัยในการพัฒนาซอฟต์แวร์ เปิดเผยถึงข้อผิดพลาดร้ายแรง 3 ประการในการเพิ่ม Security เข้าไปในกระบวนการพัฒนาซอฟต์แวร์ ประกอบด้วย
1. เพิ่ม Security เข้าไปหลังสุดก่อนปิดโปรเจ็คท์
นักพัฒนาซอฟต์แวร์ควรพัฒนาซอฟต์แวร์ไปพร้อมๆ กับวางแผนด้าน Security ตั้งแต่ตอนเริ่มโปรเจ็คท์ เพื่อให้ซอฟต์แวร์มีความมั่นคงปลอดภัยตั้งแต่ระดับ Architecture และ Design รวมไปถึงช่วยให้สามารถวางแผนเขียนโค้ดให้ปลอดภัยได้ทุกภาคส่วน ประเด็นนี้ถือว่ามีความสำคัญมากเนื่องจากในยุคปัจจุบัน ผู้ใช้งานมักคาดหวังว่าซอฟต์แวร์ที่ตนเลือกใช้จะมีระบบรักษาความปลอดภัยอันแข็งแกร่ง เพื่อให้สามารถใช้งานได้อย่างสบายใจ
2. ถือทิฐิไม่ยอมใช้ Security Tool ของผู้อื่นในการพัฒนาซอฟต์แวร์
ซอฟต์แวร์ที่ดีไม่จำเป็นต้องเป็นซอฟต์แวร์ที่เราพัฒนาด้วยตนเองทั้งหมดเสมอไป โดยเฉพาะเรื่อง Security เช่น ระบบพิสูจน์ตัวตน การเข้ารหัสข้อมูล หรือฟังก์ชันด้านความปลอดภัยที่ซับซ้อน นักพัฒนาซอฟต์แวร์สามารถเลือกใช้งานที่มีอยู่แล้ว และถูกยืนยันเรียบร้อยแล้วว่ามีการทำ Secure Coding รวมถึงออกแบบมาอย่างปลอดภัย มาใช้ต่อยอดในการพัฒนาซอฟต์แวร์ของตนได้ ซึ่งจะช่วยลดระยะเวลาในการเขียนโปรแกรมและทดสอบการใช้งาน รวมไปถึงภาระงานของนักพัฒนาลงได้เป็นอย่างดี
3. ไม่รอบคอบในการเลือกใช้โค้ดหรือ Library ของผู้อื่น
บางครั้ง การนำงานของคนอื่นมาใช้จำเป็นต้องตรวจสอบความปลอดภัยและช่องโหว่ให้ดี ไม่ใช่ทุกงานในโลกอินเทอร์เน็ตที่แชร์กันจะปลอดภัยไร้ช่องโหว่ นักพัฒนาซอฟต์แวร์จำเป็นต้องตรวจสอบให้แน่ใจว่าโค้ดของผู้อื่นที่นำมาใช้มีการยืนยันเรื่อง Security, Threat Modeling และการรับประกันการใช้งานอื่นๆ เพื่อให้ซอฟต์แวร์ของตนเองไม่มีช่องโหว่ที่เกิดจากการใช้โค้ดหรือ Library เหล่านั้น
เหนือสิ่งอื่นใด Tripwire ให้ความเห็นว่า นักพัฒนาซอฟต์แวร์ควรเปลี่ยนความคิดที่ว่า ระบบยิ่งซับซ้อนเท่าไหร่ ระบบก็จะยิ่งมีความปลอดภัยเท่านั้น ซึ่งความเป็นจริงนั้นตรงกันข้ามอย่างสิ้นเชิง ยิ่งระบบซับซ้อน ยิ่งมีช่องทางให้แฮ็คเกอร์สามารถหาช่องโหว่หรือจุดอ่อนให้โจมตีได้มากยิ่งขึ้น รวมไปถึงการซ่อนฟังก์ชันด้าน Security ไม่ให้คนอื่นทราบก็ไม่ใช่ความคิดที่ถูกต้องเสมอไป การเปิดเผยฟังก์ชันด้าน Security ให้เกิดการทำ Peer Review จะช่วยให้นักพัฒนาซอฟต์แวร์สามารถทราบถึงจุดอ่อนและความเสี่ยงด้านความปลอดภัยของระบบ และจัดการปิดมันได้ก่อนที่จะส่งมอบซอฟต์แวร์ให้กับลูกค้า
ที่มา: http://www.informationsecuritybuzz.com/articles/top-three-mistakes-in-secure-software-development/