วิชา ITM633 : การจัดการความมั่นคงปลอดภัยสารสนเทศ (Information Security Management)
อาจารย์ผู้สอน : พ.อ.รศ.ดร. เศรษฐพงศ์ มะลิสุวรรณ
(สามารถดูประวัติอาจารย์ผู้สอนได้ในหัวข้อ "ประวัติอาจารย์ผู้สอน" หรือ คลิกที่นี่)
ปัญหาในการรับ-ส่งข้อมูลสารสนเทศผ่านระบบเครือข่าย
องค์กรที่มีระบบสารสนเทศอาจจะประสบกับปัญหาต่างๆ ในการ รับ-ส่ง ข้อมูลสารสนเทศผ่านระบบเครือข่าย จาก
1. อาชญากรรมไซเบอร์ (cyber terrorism)
2. การขโมยข้อมูล (data theft)
3. องค์กรที่มีความยืดหยุ่นและขาดความเข้าใจเรื่องการจัดการความปลอดภัยของวงจร
4. มีการ Access ข้อมูลจากทั้งภายในและภายนอกองค์กรเป็นจำนวนมาก แต่องค์กรยังจำกัดงบประมาณในการบริหารจัดการความปลอดภัยสารสนเทศ
5. การขยายตัวของอินเตอร์เน็ต ทำให้ข้อมูลสารสนเทศเป็นเป้าหมายที่ง่ายต่อการโจมตี เนื่องจากสามารถเข้าสู่เครือข่ายได้มากมายหลายจุด , มีจำนวนเครือข่ายมากมาย , เป็นระบบ “เปิด” (open system) , สามารถใช้เครื่องมือในการโจมตีได้หลากหลาย
การจัดการความปลอดภัยของวงจรสารสนเทศ แบ่งออกเป็น 3 หมวด คือ
1) Physical Security : เป็นการรักษาความปลอดภัยของข้อมูล โดยการเลือกใช้สื่อที่มีความมั่นคง ตั้งแต่การเลือกใช้ Hardware device ต่างๆ ไปจนกระทั่งการดูแลศูนย์กลางของการจัดเก็บข้อมูลให้มีความปลอดภัยมั่นคง
2) Access Control : เป็นการกำหนดกฎเกณฑ์ในการเข้าถึงข้อมูลสารสนเทศ เช่น ใครเป็นผู้ใช้งาน ใช้งานได้แค่ไหน ใช้งานอย่างไร สารสนเทศมีการปรับแก้โดยใคร และปรับแก้อย่างไรบ้าง
3) Encryption : เป็นการป้องกันการใช้งานโดยปรับเปลี่ยนข้อมูลให้เป็นข้อความที่อ่านไม่รู้เรื่อง (cipher-text) และมีการถอดรหัส (description) ให้เป็นข้อมูลที่อ่านได้

การ Implement ทางด้านการจัดการความปลอดภัยวงจรสารสนเทศ มีสิ่งที่ต้องพิจารณาอยู่ 4 ด้าน คือ
1) Overall Considerations คือ การพิจารณาภาพรวมแล้วหาจุดอ่อน ซึ่งต้องใช้เวลามากในการพิจารณาหาจุดอ่อนทุกๆด้าน ในทางปฏิบัติจำเป็นต้องใช้เครื่องมือ (tools) เทคนิคต่างๆ (techniques) และการบวนการ (processes) ที่เหมาะสม
2) Physical Security Considerations เป็นการพิจารณาสื่อที่ใช้ในการบันทึกข้อมูลและสถานที่เก็บข้อมูล โดยแบ่งเป็น 2 ระดับ
2.1) ระดับการใช้สื่อที่บันทึกข้อมูล (Media level) จะต้องคำนึงถึงด้านต่างๆ ดังนี้
• ไม่ใช้ media ที่มีปัญหา
• ไม่ใช้ media ที่ไม่ได้รับอนุญาต
• Media ที่ใช้แล้วควรทำลาย เพื่อป้องกันการแอบนำข้อมูลมาอ่าน
2.2) ระดับศูนย์ข้อมูล (Data center level) จะต้องคำนึงถึงด้านต่างๆ ดังต่อไปนี้
• การใช้โทรทัศน์วงจรปิดเพื่อเฝ้าระวังศูนย์ข้อมูล
• การปรับปรุงระบบเครือข่ายให้มีความปลอดภัย
• การตรวจสอบ ดูแล การใช้โปรแกรมประยุกต์ต่างๆ ในองค์กร
• การติดตามพฤติกรรมการใช้งานของผู้ใช้
3) Access Control Considerations เป็นการพิจารณาวิธีการควบคุมการใช้งานซึ่งทำโดยหน่วยงานกลาง เป็นการกำหนดนโยบายความปลอดภัยให้เป็นไปอย่างมีเหตุผลและความจำเป็นของการใช้งาน (ไม่ใช่ตามความต้องการของผู้ใช้) เช่น
• ผู้ใช้จะต้องมีการเซ็นสัญญาการรักษาความปลอดภัยของข้อมูล (security agreement) เมื่อต้องการเข้าใช้ข้อมูล
• การเข้าถึงข้อมูลจะต้องใช้บัญชีผู้ใช้ของตนเท่านั้น
• มีการกำหนดเวลาและสถานที่ในการเข้าถึงข้อมูล เป็นต้น
4) Encryption Considerations เป็นการพิจารณาถึงการเข้ารหัสข้อมูลเพื่อให้เกิดความปลอดภัยในระหว่างที่มีการรับส่งข้อมูล โดยเมื่อผู้ส่งจะทำการส่งข้อมูลจะต้องมีการทำให้เป็นข้อความที่อ่านไม่รู้เรื่อง (cipher-text) เมื่อข้อมูลถูกส่งไปถึงผู้รับก็ทำการ Decryption โดยใช้ Key ที่ตรงกันเพื่อทำให้ข้อมูลอ่านรู้เรื่องเพื่อนำไปใช้ต่อไป
การจัดการความปลอดภัยของวงจรสารสนเทศ เพื่อให้องค์กรได้ใช้ประโยชน์สูงสุดจากสารสนเทศนั้นควรดำเนินการ ดังต่อไปนี้
• ปรับยุทธศาสตร์ขององค์กรให้สอดคล้องกับการใช้งานสารสนเทศ
• จัดกลุ่มของผู้ใช้ให้เหมาะกับการใช้งานสารสนเทศ
• บริหารจัดการข้อมูลสารสนเทศทั้งหมด
• บริหารจัดการนโยบายทางด้านความปลอดภัยสำหรับการใช้งานสารสนเทศ
• บริหารจัดการทรัพยากรทางด้านสารสนเทศและเครือข่าย
การปฏิบัติเพื่อการจัดการความปลอดภัยของสารสนเทศขององค์กร จะประกอบด้วยขั้นตอนดังนี้
• จัดทำข้อมูลด้านความเสี่ยงของสารสนเทศขององค์กร
• จัดทำข้อกำหนดและขั้นตอนการรักษาความปลอดภัยของข้อมูล
• จัดทำให้เป็นส่วนหนึ่งของแผนงานด้าน ICT ขององค์กร
• จัดทำรายงานผลกระทบของผู้ใช้
• ปรับปรุงเพิ่มเติมและติดตามผลอย่างต่อเนื่อง
แนวทางวิธีปฏิบัติในด้านความปลอดภัยสารสนเทศของระบบงานบนเว็บ
1. ควรมีการใช้เทคนิคและการจัดการที่เหมาะสมในการยืนยันตัวตน (Authentication) โดยมีการจำกัดจำนวนครั้งในการพยายามเข้าถึงระบบด้วยการตรวจเช็คจากการทำงานของ Web Server ให้สามารถทำได้เพียง 3 ครั้งเท่านั้น หากครบ 3 ครั้ง ให้ทำการล็อคผู้ใช้งานดังกล่าวไม่ให้เข้าใช้งานระบบ โดยหลังจากทำการล็อคแล้วควรจัดทำกระบวนการอย่างใดอย่างหนึ่งดังนี้
1.1 ทำการล็อคผู้ใช้งานดังกล่าวจนกว่าจะมีการแจ้งการปลดล็อคจากผู้ใช้งานระบบโดยทำการแจ้งถึงเหตุผลให้กับผู้ดูแลระบบรับทราบ
1.2 ทำการล็อคผู้ใช้งานดังกล่าวจนกว่าจะถูก Resetโดยผู้ดูแลระบบ
1.3 ทำการล็อคผู้ใช้งานดังกล่าวเป็นระยะเวลาหนึ่ง อย่างน้อยไม่ควรต่ำกว่า 3 นาที
2. ควรสร้างมาตรฐานระบบการจัดการรหัสผ่าน (Password) ที่ดี
3. ควรมีการบันทึกความพยายามในการเข้าสู่ระบบโดยไม่ได้รับอนุญาต และเกินจำนวนครั้งที่ตั้งไว้ และเก็บรักษาบันทึกไว้ในระบบอย่างน้อยไม่ต่ำกว่า 3 เดือน (ตามความเหมาะสมในศักยภาพการจัดเก็บของระบบรวมถึงข้อบังคับต่าง ๆ ที่เกี่ยวข้องกับการดำเนินธุรกิจประกอบกัน) โดยให้บุคคลที่ได้รับอนุญาตอ่านได้เท่านั้น ในกรณีที่บันทึกดังกล่าวสามารถเข้าถึงผ่านทาง Internet ควรจะทำการสำเนาบันทึกดังกล่าวทุกวัน และทำการย้ายไปไว้ที่เครื่องอื่นที่ไม่สามารถเข้าถึงผ่านทาง Internet ได้ เพื่อป้องกันความเสี่ยงที่เกิดขึ้นในการเข้าถึงบันทึกดังกล่าวโดยผู้ที่ไม่ได้รับอนุญาต ซึ่งการบันทึกควรมีรายละเอียดดังนี้
3.1 จำนวนรายการของความพยายาม
3.2 ชื่อผู้ใช้งานระบบ
3.3 วันและเวลาที่พยายามเข้าสู่ระบบ
3.4 IP address และ Port ของเครื่อง Client ที่ผู้ใช้งานระบบใช้ในการพยายามเข้าสู่ระบบ
3.5 สถานภาพการยืนยันตัวตน ว่าทำการยืนยันตัวตนสำเร็จหรือไม่
4. ควรประยุกต์ใช้ Session ในการจัดทำการอนุญาตและการควบคุมการเข้าถึงระบบ
5. ควรทำการตรวจสอบการป้อนข้อมูลเข้าสู่ระบบ (Input Validation)
6. ควรมีการจัดเก็บข้อมูลและกำหนดสิทธิการเข้าถึงไฟล์ของระบบอย่างเหมาะสม ดังนี้
6.1 มีการกำหนดการแสดงผลของการ List กายภาพของ File ทั้งหมดที่อยู่ใน Directory (Directory Indexing) อย่างเหมาะสม โดยทำการกำหนดในส่วนการควบคุมระบบ Web Server
6.2 มีการกำหนดการเข้าถึง (Restricting Access) อย่างเหมาะสม โดยทำการกำหนดในส่วนการควบคุมระบบ Web Server
6.3 ทำการจัดเก็บ Hidden File , Backup File , Un-Referenced File , Temp File ไม่ให้เข้าถึงได้โดยผู้ใช้งานระบบ ซึ่งวิธีที่นิยมกันคือ ทำการกำหนดนามสกุลของไฟล์ดังกล่าวให้ Web Server รู้จัก และควรมีการตรวจสอบค่า Session ที่ใช้ในการป้องกันการเรียกไฟล์ดังกล่าว ผ่าน Browser โดยตรง
6.4 จัดการกับไฟล์ที่มากับการลง Web Server โดยทำการยกเลิกการเข้าถึงหรือย้ายไฟล์ดังกล่าวไปไว้ที่อื่น เพื่อป้องกันความเสี่ยงที่เกิดจากการที่ผู้โจมตีสามารถทำงานไฟล์ที่ลงมากับ Web Server เพื่อทำการโจมตีระบบ
7. ควรประยุกต์ใช้ IP Address หรือ DNS Name ในการยืนยันตัวตน เพื่อเพิ่มความมั่นใจในการรักษาความปลอดภัยของระบบ
8. ควรจัดการกับข้อความผิดพลาดของระบบ โดยสามารถจัดทำได้ 2 ลักษณะดังนี้
8.1 จัดการแสดงผลของ Web Server เมื่อเกิดข้อผิดพลาดจากการทำงานของระบบ โดย
- ผู้ดูแลระบบควรทำหน้าจอการแสดงผลข้อความผิดพลาดต่างๆ ให้เป็นหน้าจอของระบบเองแทนการแสดงผล Default
- สำหรับ Browser ของผู้ใช้งาน ควรตั้งค่าในลักษณะ User Friendly Message เพื่อป้องกันการแสดงผลข้อความผิดพลาดในลักษณะ Debugging หรือ Default ของระบบ
8.2 จัดการแสดงผลของ Web Application เมื่อเกิดข้อผิดพลาดจากการทำงานของระบบ (Error Message) ไม่ควรแสดงผลข้อมูลที่ไม่จำเป็นกับผู้ใช้งานระบบ เช่น การแสดงรายละเอียดของ Database Server หรือแสดงรายละเอียดของการทำงานผิดพลาดรวมถึงบรรทัดของ Source Code เป็นต้น
9. ควรมีการจัดทำการควบคุมข้อมูลส่วนบุคคลของผู้ใช้งานระบบ เช่น
- ข้อมูลเบอร์โทรศัพท์ ควรจะแสดงผลเป็น 01-456-77xx เป็นต้น
- ไม่อนุญาตให้ทำการเก็บหน่วยความจำไว้ในหน่วยความจำของ Browser (No Cache)
- กำหนดการหมดอายุ (Date และ Time) ของ Web Page
- ส่งค่า Parameter ทุกตัว โดยใช้ Post Method
- จัดทำข้อตกลงในการรักษาความเป็นส่วนตัวของข้อมูลลูกค้าและผู้ใช้งานในระบบ
สำหรับระบบงานที่ต้องการความปลอดภัยสูง เช่น Internet Banking ต้องมีการประยุกต์ใช้งาน SSL หรือ Protocol อื่น ๆ ที่มีการเข้ารหัสข้อมูลที่เหมาะสมในการติดต่อสื่อสารกับเครื่องลูกข่าย
การกำหนดรหัสผ่าน (Password) ที่ดี
1. มีการบังคับใช้รหัสผ่าน (Password)ในแต่ละรหัสผู้ใช้ และควรกำหนดให้เป็นลักษณะของ Strong Password หมายถึง Password ที่สามารถทำการเดาสุ่มได้ยาก ซึ่งประกอบด้วย
1.1 กำหนดให้รหัสผ่านมีความยาวไม่น้อยกว่า 8 ตัวอักษร
1.2 ใช้อักขระพิเศษประกอบ เช่น : ; < > เป็นต้น
1.3 การกำหนดรหัสผ่านใหม่ไม่ควรซ้ำกับของเดิมครั้งสุดท้าย
1.4 ไม่กำหนดรหัสผ่านอย่างเป็นแบบแผน เช่น “abcdef” , “aaaaaaa” , “123456” เป็นต้น
1.5 ไม่กำหนดรหัสผ่านที่เกี่ยวข้องกับผู้ใช้งาน เช่น ชื่อ, นามสกุล, วันเดือนปีเกิด, ที่อยู่ เป็นต้น
1.6 ไม่กำหนดรหัสผ่านเป็นคำศัพท์ที่อยู่ในพจนานุกรม
1.7 ไม่เป็นคำที่เกี่ยวข้องกับธนาคาร เช่น ชื่อธนาคาร , ชื่อหน่วยงาน เป็นต้น
2. ผู้ใช้สามารถเปลี่ยนรหัสผ่านของตัวเองได้
3. มีการสร้างรหัสผ่านเบื้องต้น (Default Password) โดยมีรายละเอียดดังนี้
3.1 ไม่เป็น Blank Password และไม่ควรเป็นการสุ่มจากระบบ
3.2 มีความยาวอย่างน้อย 8 ตัวอักษร
3.3 มีการกำหนดระยะเวลาในการใช้งานที่เหมาะสม โดยเมื่อถึงระยะเวลาดังกล่าวระบบจะทำการยกเลิกโดยอัตโนมัติ
3.4 สามารถบังคับให้ผู้ใช้เปลี่ยนรหัสผ่านเบื้องต้น (Default Password) ที่ได้รับในการเข้าสู่ระบบครั้งแรก โดยจัดทำช่องรับข้อมูล (Confirmation) ที่ทำการรับค่ารหัสผ่านเพื่อป้อนเข้าสู่ระบบซ้ำอีกครั้ง ระบบต้องทำการตรวจสอบว่าตรงกับค่าที่กรอกมาก่อนหน้านี้ จึงสามารถทำการเปลี่ยนแปลงรหัสผ่านในระบบได้
4. สามารถเก็บประวัติการใช้รหัสผ่านเพื่อป้องกันการนำกลับมาใช้ใหม่ได้
5. ปกปิดหรือไม่แสดงรหัสผ่านให้เห็นบนหน้าจอในขณะที่ทำการป้อนข้อมูลรหัสผ่าน
6. มีการเข้ารหัส Password ที่ทำการส่งจากการยืนยันตัวตน ด้วยวิธีการเข้ารหัสแบบทิศทางเดียว (One way encryption) ที่เหมาะสม เช่น MD5 เป็นต้น โดย Algorithm ที่ทำการใช้งานในการเข้ารหัส Password นั้น ควรเป็นวิธีเดียวกันกับที่ทำการเข้ารหัสไว้ใน Database Server และไม่ควรส่งข้อมูลสำหรับการยืนยันตัวตน (Credential) ที่ไม่ได้ทำการเข้ารหัสมาด้วย
7. มีการจำกัดระยะเวลาการใช้งานรหัสผ่านของผู้ใช้งานระบบ โดยบังคับให้มีการเปลี่ยนแปลงรหัสผ่านตามความเหมาะสม เช่น สำหรับผู้ใช้งานทั่วไป ควรเปลี่ยนรหัสผ่านอย่างน้อยทุกๆ 3-6 เดือน และสำหรับผู้ใช้งานที่ได้รับสิทธิสูงสุด (Super User) หรือ User ที่มีสิทธิพิเศษสูง (Privilege) ควรกำหนดให้มีการเปลี่ยนรหัสผ่านทุก 30 วัน
เทคนิคการตรวจสอบการป้อนข้อมูลเข้าสู่ระบบ
1. การป้องกันเทคนิคการโจมตีที่ถูกใช้งานโดยคำสั่ง SQL ที่มาจากการป้อนข้อมูลของผู้ใช้งานกล่าวคือทำให้เกิดการเข้าถึงระบบโดยบุคคลที่ไม่ได้รับอนุญาต และสามารถทำการเปิดเผยข้อมูลภายในระบบได้ (SQL Injection)โดยการเพิ่มความสามารถของระบบในส่วนของ Input Validation มีรายละเอียดดังนี้
1.1 ต้องจัดทำ Input Validation ให้ทำการป้องกันการป้อน Special Character (') เข้าสู่ระบบ โดยการตรวจสอบค่า Parameter ที่ส่งผ่านจากหน้าที่ทำการใช้งาน โดยให้ทำการตรวจสอบจากการทำงานของ Web Server เท่านั้น
1.2 กรณีที่ผู้ใช้งานระบบจำเป็นต้องใช้ข้อมูลสำหรับการยืนยันตัวตน (Credential) ที่มีการป้อน Special Character (') ระบบต้องทำการป้องกัน โดยการใช้วิธีการสร้าง Query โดยอาศัย Prepared Statement หรือ Parameterize Stored Procedure
2. เพื่อป้องกันเทคนิคการโจมตีที่ทำการบังคับระบบให้แสดงผลจากโปรแกรม หรือ Script ที่ผู้โจมตีได้ทำการส่งเข้าสู่ระบบ ผ่านทาง Browser ของผู้ใช้งาน กล่าวคือทำให้เกิดอันตรายต่อระบบโดยการทำงาน Script ที่ผู้โจมตีกรอกผ่านระบบ (Cross Site Scripting) โดยการเพิ่มความสามารถของระบบในส่วนของ Input Validation มีรายละเอียดดังนี้
2.1 ทุกหน้าจอของระบบในส่วนของ HTML ควรทำการกำหนด Meta Tag ในส่วนของการบังคับ Character Encoding ในการแสดงผลของหน้าจอ
2.2 ต้องระบุ Special Character ที่ต้องทำการป้องกันในส่วนต่าง ๆ ควรทำการ Filter Content ที่ทำการกรอกผ่านช่องรับข้อมูล ตามการระบุ Special Character ที่ต้องทำการป้องกันในส่วนต่าง ๆ
แหล่งอ้างอิง
- กระทรวงเทคโนโลยีสารสนเทศและการสื่อสาร. Information Security (IS) และ มาตรฐาน ISO/IEC 27001, 2549
- ชลิต วณิชยานันต์. Best Practices in Information Lifecycle Management Security, Sun Microsystems, inc. 2549
- ความรู้เบื้องต้นเกี่ยวกับการพิสูจน์ตัวตน ; http://www.thaicert.nectec.or.th/paper/authen/authentication_guide.php
- แนวโน้มด้านความปลอดภัยในอนาคตจาก SANS Institute ; http://www.thaicert.nectec.or.th/paper/basic/SANS.Trend.pdf
- เริ่มต้นอย่างไรดีเมื่อต้องการความปลอดภัย ; http://www.thaicert.nectec.or.th/paper/basic/security_start.php
ไม่มีความคิดเห็น:
แสดงความคิดเห็น