ในอุตสาหกรรมซอฟต์แวร์ งานที่สำคัญที่สุดคงหมายถึงการพัฒนาโปรแกรม , Software, หรือ เดี๋ยวนี้ มักใช้คำว่า Application ไม่ว่าจะเป็น Web Application หรือ Mobile Application
แต่ใครจะรู้ว่า ในโลกของการพัฒนา Software นั้น ยังมาโลกคู่ขนาน ที่เกิดขึ้นมาพร้อมๆ กับ Software ตลอด คือโลกของ Cyber Security นั้นเพราะ การมีอยู่ของโลกของการพัฒนาซอฟต์แวร์ เป็นต้นเหตุให้เกิด ช่องโหว่ หลุมพราง , ปัญหา ที่เกิดจาก Software เหล่านั้น ซึ่งอาจถูกสร้างขึ้นมาจากความขาดประสบการณ์ การเลินเล่อ ความชะล่าใจ หรืออื่นๆ ของเหล่า Developers เช่น การ Duplicate Code (โค้ดที่มีซ้ำๆ กันในหลายไฟล์) , Bugs ที่ไม่รับการแก้ไข Vulnerabilities (ช่องโหว่) ที่เกิดจากความรู้เท่าไม่ถึงการณ์ และการไม่ติดตามว่าภัยคุกคามทาง Cyber ที่ก้าวหน้าทุกวัน หรือแม้กระทั้ง การเขียน Code ที่ทำให้เกิด Code Smells (Code ที่ไม่ได้ทำงานผิดพลาดแต่สามารถปรับปรุงให้ดีขึ้นได้)
ดังนั้น จึงมีนักพัฒนาซอฟต์แวร์สายงานป้องกันทาง Cyber ที่เห็นโอกาสเหล่านี้ และได้สร้าง Application ขึ้นมา ซึ่งมีทั้ง Web Application และ Desktop Application (App ที่ต้อง download มาติดตั้งที่ PC , Mac Book) เพื่อเป็นเครื่องมือในการตรวจสอบ ช่องโหว่ หรือ Vulnerabilities เหล่านี้ โดยมี Application ที่ได้รับความไว้วางใจ และความนิยมใช้งานเพื่อให้บริษัทผู้ผลิดซอฟต์แวร์ ได้นำมาติดตั้ง และ ทดสอบกับ Application ของตนเอง ก่อนส่งมอบลูกค้า หรือ ก่อนประกาศใช้งานต่อสาธารณะ
สำหรับบทความนี้ จะยกตัวอย่าง เครื่องมือในการตรวจสอบ Vulnerabilities ที่ได้รับความนิยมในอุตสาหกรรมซอฟต์แวร์ และตัวผู้เขียนเองรู้จัก , เคยเห็นการสาธิต, เคยใช้งาน สัก 4 ตัว มา List ให้ผู้อ่านได้ทำความรู้จักในเบื้องต้น ได้แก่
1. SonarQube ( https://www.sonarqube.org/ )
เป็นเครื่องมือที่ช่วยให้เราสามารถตรวจสอบคุณภาพโค้ดและมีการแนะนำเพื่อปรับปรุงคุณภาพให้ดียิ่งขึ้น โดย สามารถใช้บอกแนวโน้มเรื่องคุณภาพของ Code เราได้ว่ากำลังดีขึ้นหรือกำลังแย่ลง และ สามารถแสดงผลข้อมูลต่างๆ ผ่านหน้าเว็บไซต์ในรูปแบบที่หลากหลาย
SonarQube เป็น Application สำหรับการตรวจสอบ Code ได้ในหลายๆ ด้าน ทั้ง bug , ช่องโหว่ และคุณภาพของ Code อีกทั้ง ยังสามารถทำเป็น Centralize เก็บผลในการตรวจสอบจากเครื่องต่างๆ ได้อีกด้วย โดย สามารถติดตั้งได้ในหลาย OS ไม่ว่าจะเป็น Windows, Linux, MacOS ก็ตาม
2. Acunetix ( https://www.acunetix.com/ )
เป็น Software as a services (SAAS) ที่ให้บริการ แสกนหาช่องโหว่และประเมินความเสี่ยงของ Web Application พร้อมทั้งจัดทำรายงานแบบละเอียดเพื่อช่วยให้ผู้ดูแลระบบ สามารถตรวจสอบแก้ไขช่องโหว่ได้ก่อนที่จะมีภัยคุกคามหรือการโจมตีเกิดขึ้น อีกทั้งยังสามารถวิเคราะห์ช่องโหว่ของระบบได้โดยอัตโนมัติ โดย Acunetix Web Vulnerability Scanner นั้นเป็น ซอฟต์แวร์ที่ใช้เพื่อแกน web site หรือ web browser เพื่อหาและตรวจสอบดูว่ามีสิ่งใดที่จะสามารถเข้ามาเป็นอันตรายต่อระบบหรือ Software ของเรา
Acunetix จะมี service ให้ทดลองใช้งาน ด้วย สนใจลองเข้าไป Regis ที่ https://www.acunetix.com/pricing/
3. Rapid7 ( https://www.rapid7.com/ )
Rapid7 InsightVM เป็นซอฟต์แวร์ด้านความมั่นคงปลอดภัยและวิเคราะห์ข้อมูลทางด้าน IT ถูกออกแบบมาเพื่อช่วยลดความเสี่ยงในการถูกเจาะระบบ ช่วยตรวจจับและรับมือการภัยคุกคาม และช่วยให้ฝ่าย IT ทำงานด้านความมั่นคงปลอดภัยได้อย่างเป็นระบบ เหล่านี้เพื่อเสริมความแข็งแกร่งให้แก่ระบบความมั่นคงปลอดภัยขององค์กรให้พร้อมรับมือการภัยคุกคามระดับสูงในยุคปัจจุบัน
Rapid7 ต่างจากเทคโนโลยี Vulnerability Management และ Incident Detection ทั่วไปตรงที่สามารถมองเห็น ติดตาม และดูรายละเอียดเชิงลึกเกี่ยวกับทรัพย์สินและบุคลากรภายในองค์กรตั้งแต่ระดับ Endpoint ไปจนถึงระบบ Cloud
4. Burg Suite (https://portswigger.net/burp)
Burp Suite เป็น Software สำหรับการทดสอบความปลอดภัยของ Web Application มีเครื่องมือต่างๆ ซึ่งทำงานร่วมกันเพื่อสนับสนุนกระบวนการทดสอบทั้งหมด ตั้งแต่การทำแผนที่เริ่มต้น และการวิเคราะห์พื้นผิวการโจมตีของ App ไปจนถึงการค้นหาและใช้ประโยชน์จากจุดอ่อนด้านความปลอดภัย
- Intercepting proxy ก็คือมีการดักรีเควสของ Client และมีการเก็บสถานะต่าง ๆ ว่าผู้ใช้ใช้งานอะไรบ้าง
- Application-aware Spider ทำหน้าที่เป็นตัวไต่ไปตามลำดับชั่นของลิงค์เพื่อทดสอบเว็บแอพพลิเคชั่นว่าไปที่ไหนบ้างยังไงบ้าง
- Advanced web application Scanner ก็คือจำทำหน้าที่แสกนช่องโหว่ของเว็บ
- Intruder tool ไว้ทดสอบการโจมตีเป็นจุด ๆ ที่เราต้องการ
- Sequencer tool การลองค้นหาระดับตัวโทเค็น หรือ ตัวแปลที่เราต้องการ
การพัฒนา Application เป็นความจำเป็นที่ต้องจัดทำเรื่อยๆ ยิ่งในยุค 4.0 นี้ ทุกๆ หน่วยงานทั้งรัฐ เอกชน ทั้ง Enterprise , SME ,Startup ล้วนแต่พยายามสร้าง App ขึ้นมาเพื่อ Lead Business ของตนเองทั้งนั้น แต่อยากให้เราตระหนักเริ่องความปลอดภัยมากยิ่งขึ้น ตรวจสอบ App ของหน่วยงานเรา ก่อน Public สู่ระบบ หรือ ก่อนขึ้น Cloud , Server , Host ขององค์กร เพื่อไม่ให้ App นั้น สร้างเป็นปัญหาใหม่ หรือ เปลี่ยนตัวเองเป็นภัยคุกคามทาง Cyber ตัวใหม่ภายในองค์กรครับ