วันพุธที่ 14 มกราคม พ.ศ. 2552

1.ไวรัสมีกี่ประเภท อะไรบ้าง
ตอบ ไวรัสมี 5 ประเภท ได้แก่
1. บูตไวรัส
2.ไฟล์ไวรัส
3.มาโครไวรัส
4.โทรจัน
5.หนอน

2.ระบบการรักษาความปลอดภัย
ตอบ . การรักษาความปลอดภัย (Security)
13.1 สภาพแวดล้อมของการรักษาความปลอดภัยคำว่า “การรักษาความปลอดภัย” (Security) และคำว่า “การป้องกัน” (protection)
2 คำนี้ อาจใช้ทดแทนกันได้ แต่การรักษาความปลอดภัย จะเป็นสิ่งที่เกี่ยวข้องกับการสร้างความมั่นใจว่าแฟ้มข้อมูลที่ถูกจัดเก็บไว้ในระบบคอมพิวเตอร์จะไม่ได้ถูกอ่อนหรือแก้ไขโดยผู้ที่ไม่ได้รับอนุญาต ซึ่งข้อมูลอาจจะรวมถึง ข้อมูลอาจจะรวมถึง ข้อมูลทางด้านเทคนิค ข้อมูลด้านการจัดการ ข้อมูลทางด้านกฎหมาย และ ข้อมูลทางด้านการเมือง โดยโปรแกรมระบบจะมีหน้าที่ในการรักษาความปลอดภัยให้กับข้อมูลนั้น ๆ“การรักษาความปลอดภัย” (security) นั้นจะหมายถึงการอ้างถึงปัญหาทั้งหมด และคำว่า “กลไกการป้องกัน” (protection mechanisms) จะใช้ในการอ้างถึงกลไกเฉพาะด้านของโปรแกรมระบบที่ใช้ในการป้องกันข้อมูลในเครื่องคอมพิวเตอร์ อย่างไรก็ตาม ในขั้นตอนแรกเราจะเช้าไปดูถึงการรักษาความปลอดภัย เพื่อจะเข้าไปศึกษาว่าธรรมชาติของปัญหานั้นคืออะไร และตอนท้ายจะกล่าวถึงรูปแบบต่างๆ ของระบบการรักษาความปลอดภัยการรักษาความปลอดภัยจะมีความหมายอยู่หลายด้าน แต่ที่สำคัญมีอยู่
3 ด้าน คือ การสร้างความเสียหายลักษณะของผู้ประสงค์ร้าย และข้อมูลสูญหายโดยเหตุสุดวิสัย
13.1.1 การสร้างความเสียหาย (Threats) จากแนวความคิดของการรักษาความปลอดภัย ระบบคอมพิวเตอร์จะมีเป้าหมายทั่วไปอยู่ 3 ประการเพื่อทำการตอบโต้กับความเสียหายที่เกิดขึ้นกับระบบ
13.1 เป้าหมายแรกคือความลับของข้อมูล (Data confidentiality) จะเกี่ยวข้องกับการรักษาข้อมูลลับให้ลับ เช่น เจ้าของข้อมูลนั้นจะอนุญาตให้ผู้ที่สามารถเข้าถึงข้อมูลได้เฉพาะผู้ที่ได้รับอนุญาตนั้นเข้าถึงข้อมูลได้ยิ่งละเอียดลงไปอีก เจ้าของข้อมูลสามารถจะกำหนดได้ว่าจะให้ใครสามารถดูข้อมูลอะไรในส่วนไหนได้บ้าง และระบบก็ควรจะทำตามข้อกำหนดนี้ได้เป้าหมาย การสร้างความเสียหายความลับของข้อมูลความเชื่อถือได้ของข้อมูลระบบยังคงทำงานอยู่ได้ เปิดเผยข้อมูลเข้าไปเปลี่ยนแปลงข้อมูลปฏิเสธการให้บริการเป้าหมายของการรักษาความปลอดภัยและการสร้างความเสียหายเป้าหมายที่สอง คือ ความเชื่อถือได้ของข้อมูล (Data integrity) จะหมายถึงผู้ใช้ที่ไม่ได้รับอนุญาตจากเจ้าของข้อมูลจะไม่สามารถเข้าไปทำการเปลี่ยนแปลงข้อมูลได้ การเปลี่ยนแปลงข้อมูลในที่นี้จะรวมถึงการลงข้อมูลและการเพิ่มข้อมูลที่ผิดๆ ลงไปด้วย ระบบจะต้องการป้องกันข้อมูลไม่ให้มีการเปลี่ยนแปลงเกิดขึ้นจนกว่าเจ้าของข้อมูลจะทำการเปลี่ยนแปลงข้อมูลนั้นด้วยตัวเจ้าของข้อมูลเองเป้าหมายที่สอง การที่ระบบยังคงทำงานอยู่ได้ (System availability) หมายถึงการที่ไม่มีใครสามารถที่จะทำการรบกวนการทำงานของระบบ ทำให้ระบบล่มไม่สามารถทำงานต่อไปได้
13.1.2 ผู้ประสงค์ร้าย (Intruders)ในการออกระบบเพื่อให้ปลอดภัยจากผู้ที่บุกรุกเข้ามาเพื่อประสงค์ร้ายกับระบบนั้น จำเป็นที่เราต้องระลึกอยู่เสมอว่าผู้ที่บุกรุกเข้ามานั้นคือผู้ที่เข้ามาต่อสู้กับการรักษาความปลอดภัยของเรา ประเภทต่างๆ ของผู้ประสงค์ ร้ายคือ
1. ผู้ใช้ทั่วไปที่ชอบสอดรู้สอดเห็น พนักงานหลาย ๆ คนในบริษัทจะมีคอมพิวเตอร์ส่วนตัวซึ่งเชื่อมต่อกับเน็ตเวิร์คในสำนักงาน ถ้าในเน็ตเวิร์คไม่มีการป้องกันข้อมูลที่ดีก็จะทำให้พนักงานบางคนสามารถแอบเข้าไปอ่านจดหมายอิเล็กทรอนิกส์ (e-mail) หรือไฟล์ของพนักงานคนอื่นๆได้ ตัวอ่างในระบบ UNIX ระบบจะมีการตั้งค่าให้กับไฟล์ที่สร้างขั้นใหม่โดยให้คนอื่นสามารถอ่านไฟล์ที่สร้างขึ้นใหม่นั้นได้
2. คนภายในที่ขอบสอดแนม นักศึกษา โปรแกรมเมอร์ พนักงานควบคุมเครื่อง และพนักงานทางด้านเทคนิคต่างๆ ส่วนใหญ่แล้วบุคคลกล่อมนี้จะคิดอยู่เสอดว่าการทำลายการรักษาความปลอดภัยของระบบนั้นเป็นการท้าทายความสามารถของตัวเอง พวกนี้จะมีทักษะและจะใช้ความมานะพยายามอย่างสูงเพื่อที่จะทำลายการรักษาความปลอดภัยของระบบ
3. ผู้ที่พยายามสร้างรายได้ให้กับตนเอง โปรแกรมเมอร์ของธนาคารบางคนพยายามขโมยเงินจากธนาคารที่เขาทำงานอยู่ รูปแบบการขโมยจะเปลี่ยนแปลงไปเรื่อยๆ จากเปลี่ยนโปรแกรมการคำนวณดอกเบี้ยโดยให้ปัดเศษดอกเบี้ยทิ้งแทนที่จะให้ปัดเศษดอกเบี้ยขึ้น โดยจะเก็บเศษของดอกเบี้ยที่ทิ้งไปนั้นให้ไปเป็นของตัวเอง ไปจนถึงการลักลอบเข้าไปดูแอ็กเคาต์ที่ไม่ได้ใช้เป็นเวลานาน แล้วข่มขู่เพื่อเรียกร้องเงิน มิฉะนั้นจะทำลายเรกคอร์ดของธนาคาร
4. ผู้ที่จารกรรมข้อมูลทางทหารหรือทางธุรกิจ การจารกรรมจะหมายถึงการพยายามอย่างจริงจัง และการสร้างรายได้อย่างมหาศาลโดยคู่แข่งหรือต่างประเทศ เพื่อที่จะขโมยโปรแกรมข้อมูลลับทางด้านการค้า เทคโนโลยีการออกแบบวงจร แผนการทำธุรกิจ ฯลฯ การกระทำแบบนี้จะใช้การดังฟังหรือใช้เสาอากาศเพื่อใช้ดักรับสัญญาณ13.1.3 ข้อมูลสูญหายโดยเหตุสุดวิสัย (Accidental Data Loss)นอกจากภัยคุกคามที่เกิดจากผู้ประสงค์ร้ายแล้ว ข้อมูลยังสามารถสูญหายโดยอุบัติเหตุได้เหมือนกันสาเหตุพื้นฐานที่ทำให้ข้อมูลสูญหายโดยเหตุสุดวิสัย คือ1. ปรากฏการณ์ทางธรรมชาติ เช่น ไฟไหม้ แผ่นดินไหว สงคราม จลาจล หรือ หนูกัดเทปหรือแผ่นดิสก์2. ฮาร์ดแวร์หรือซอฟต์แวร์ทำงานผิดพลาด เช่น การทำงานผิดพลาดของซีพียู แผ่นดิสก์หรือเทปเสียหายเน็ตเวิร์คเสีย หรือข้อผิดพลาดอื่นๆ
3. ข้อผิดพลาดที่เกิดจากมนุษย์ เช่น การบันทึกข้อมูลผิดพลาด หยิบเทปิดหรือหยิบดิสก์ผิดแผ่น เทปหรือดิสก์สูญหาย ฯลฯ13.2 การรับรองผู้ใช้ (User Authentication)กระบวนการสำคัญของระบบปฏิบัติการในการรักษาความปลอดภัยให้ระบบ โดยจะมีหน้าที่ในการพิสูจน์ว่าผู้ที่กำลังใช้ระบบขณะนี้คือใคร กระบวนการนี้เรียกว่า “การรับรองผู้ใช้” (user authentication) เครื่องมินิคอมพิวเตอร์ในยุคแรกๆ เช่น POP- และ POP-8 จะไม่มีขั้นตอนการล็อกอินเข้าระบบ (login) แต่เนื่องจากความนิยมในการใช้งานระบบ UNIX ของเครื่อง POP-11 มีอย่างแพร่หลายจึงทำให้จำเป็นต้องมีขั้นตอนการล็อกอินเข้าระบบ เครื่องพีซี ในยุคแรก เช่น Apple ll และ IBM PC ก็ไม่มีขั้นตอนของการล็อกอินเข้าระบบ แต่เนื่องจากระบบปฏิบัติการของเครื่องพีซีนับวันจะมีความทันสมัยและมีความซับซ้อนมากขึ้น เช่น ระบบ Windows 2000 จึงจำเป็นต้องมีขั้นตอนของการล็อกอินเข้าระบบขั้นตอนของการรับรองผู้ใช้งานของระบบปฏิบัติการเพื่อทำการพิสูจน์ว่าเป็นผู้ใช้ตัวจริง ส่วนใหญ่แล้วระบบปฏิบัติการจะทำเพื่อพิสูจน์ผู้ใช้ใน 3 เรื่อง คือ
1. บางสิ่งบางอย่างที่ผู้ใช้ระบบ เช่น รหัสผ่าน
2. บางสิ่งบางอย่างที่ผู้ใช้มี เช่น กุญแจ บัตรผ่าน
3. บางสิ่งบางอย่างที่เป็นคุณสมบัติของผู้ใช้ เช่น ลายนิ้วมือ ม่านตา ลายเซ็นใครก็ตามที่ต้องการจะสร้างความเสียหายให้กับระบบใดระบบหนึ่ง ในขั้นแรกเลยจะต้องเข้าสู่ขั้นตอนการล็อกอินเข้าระบบนั้น ซึ่งจะหมายถึงว่าบุคคลนั้นสามารถที่จะผ่านเข้าสู่ขั้นตอนของการรับรองผู้ใช้แล้ว ซึ่งบุคคลพวกนี้มีชื่อเรียกว่า “แฮกเกอร์” (hacker)
13.2.1 การรับรองผู้ใช้โดยรหัสผ่าน (Authentication Using Passwords)การรับรองผู้ใช้ระบบที่นิยมใช้กันโดยทั่วไปอย่างกว้างขวางคือการที่ให้ผู้ใช้ใส่ชื่อและรหัสผ่าน การป้องกันระบบโดยใช้รหัสผ่านเป็นวิธีที่เช้าใจง่ายและวิธีการสร้างก็ง่ายด้วยเช่น กัน วิธีการสร้างที่ง่ายที่สุดคือ จัดเก็บรายชื่อและรหัสผ่านให้เป็นคู่กันไป เมื่อผู้ใช้พิมพ์ชื่อลงไประบบก็จะไปหาชื่อนั้นจากรายการและอ่านรหัสผ่านที่คู่กับชื่อผู้ใช้นั้น และเมื่อผู้ใช้พิมพ์รหัสผ่าน รหัสผ่านที่พิมพ์ลงไปนั้นก็จะถูกนำไปเปรียบเทียบรหัสผ่านที่ระบบได้อ่านขึ้นมาเก็บไว้ ถ้ารหัสผ่านตรงกัน ผู้ใช้คนนั้นก็จะสามารถจะเข้าไปใช้ระบบนั้นได้ แต่ถ้ารหัสผ่านไม่ตรงกันก็จะไม่สามารถจะเข้าไปใช้ระบบได้ลักษณะการรับรองผู้ใช้โดยการใส่ชื่อผู้ใช้และรหัสผ่านจะแสดงดังรูป 13.2 (ก) การใส่ชื่อและรหัสผ่านที่สามารถล็อกอินเข้าระบบได้ (ข) (ค) แสดงถึงการที่ระบบปฏิเสธไม่ให้เข้าใช้งานเนื่องจากใส่ชื่อหรือรหัสผ่านไม่ถูกต้องLOGIN: phaisanPASSWORD: phaisanMSUCCESSFUL LOGIN(ก) LOGIN: somsakINVALID LOGIN NAMELOGIN:(ข) LOGIN: somsakPASSWORD: sweetLOGIN: (ค)(ก) การล็อกอินสำเร็จ (ข) ชื่อล็อกอินผิด กลับมาใส่ชื่อใหม่ (ค) ชื่อล็อกอินและรหัสผ่านไม่ถูกต้อง
13.2.1.1 จุดอ่อนของการใช้รหัสผ่าน (Password Vulnerabilities)ถึงแม้ว่าจะมีปัญหาที่เกิดขึ้นจากการใช้รหัสผ่านมากมาย แต่การใช้รหัสผ่านยังค่อนข้างเป็นวิธีธรรมดา เพราะเข้าใจและใช้งานง่าย ปัญหาที่เกิดจากการใช้รหัสผ่านนั้นเป็นความลับ ไม่มีใครสามารถเดาได้ว่ารหัสผ่านนั้นคืออะไร รหัสผ่านอาจถูกเปิดเผยโดยไม่ได้ตั้งใจ หรือ มีการบอกรหัสผ่านจากผู้ใช้ที่มีสิทธิใช้งานระบบไปยังผู้ใช้ที่ไม่มีสิทธิ์รหัสผ่านอาจจะสร้างขึ้นมาได้โดยระบบคอมพิวเตอร์หรือผู้ใช้เป็นผู้กำหนดขึ้นมาด้วยตัวเอง รหัสผ่านที่คอมพิวเตอร์กำหนดให้อาจจะยากต่อการจำ ทำให้ผู้ใช้ต้องจดรหัสผ่านเอาไว้เพื่อกันลืม รหัสผ่านที่ผู้ใช้กำหนดขึ้นเองส่วนใหญ่แล้วจะง่ายต่อการเดา เพราะอาจจะเป็นชื่อของผู้ใช้เองหรือเป็นสิ่งที่ผู้ใช้โปรดปราน บางระบบจะมีผู้ดูแลระบบจะทำการตรวจสอบรหัสผ่านของผู้ใช้และแจ้งไปยังผู้ใช้ถ้าพบว่ารหัสผ่านสั้นเกิดไปหรือเป็นรหัสผ่านที่เดาได้ง่าย บางระบบจะมีการกำหนดอายุของรหัสผ่าน โดยจะให้ผู้ใช้ทำการเปลี่ยนรหัสผ่านตามช่วงระยะเวลาที่กำหนด เช่น จะต้องเปลี่ยนรหัสผ่านทุก 3 เดือน แต่วิธีนี้ก็ยังไม่ใช่หนทางที่ดีเพราะว่าจะทำให้ผู้ใช้จำสับสนกันระหว่างรหัสผ่าน หนทางที่จะใช้แก้ปัญหานี้ก็คือจะต้องทำการสร้างระบบที่ใช้ทำการบันทึกรายการของรหัสผ่านที่ผู้ใช้แต่ละคนเคยใช้มาทั้งหมด นั่นคือรหัสผ่านที่เคยใช้มาแล้วจะไม่สามารถนำมาเป็นรหัสผ่านได้อีก
13.2.1.2 การเข้ารหัสผ่าน (Encrypted Passwords)ปัญหาหนึ่งของการใช้รหัสผ่านคือการเก็บรักษารหัสผ่านให้เป็นความลับ ในระบบ UNIX จะใช้การเข้ารหัสผ่าน ในการทำงานระบบจะมีฟังก์ชันซึ่งค่อนข้างยากในการกลับฟังก์ชั่น f(X) ได้ แต่ถ้าทราบค่า f(X) จะไม่สามารถหาค่าของ x ได้เลย ฟังก์ชั่น f(X) จะเป็นฟังก์ชันที่ใช้เป็นอัลกอริทึมสำหรับการแปลงรหัสผ่านที่ใช้กันทั่วไปข้อเสียของวิธีนี้คือระบบจะไม่สามารถควบคุมรหัสผ่านทั้งหมดในระบบได้ ถึงแม้ว่ารหัสผ่านจะถูกแปลงคำศัพท์ในพจนานุกรมตามไปด้วย แล้วนำมาเปรียบเทียบกัน ถ้าผู้ใช้คนนั้นใช้คำศัพท์ในพจนานุกรมเป็นรหัสผ่าน ก็จะสามารถทราบได้ทันทีว่ารหัสผ่านนั้นคืออะไร สำหรับเครื่องคอมพิวเตอร์ที่มีความเร็วมากๆ จะใช้เวลาในการเปรียบเทียบคำภายในเวลาไม่กี่ชั่วโมง เนื่องจากระบบการแปลงรหัสผ่านของระบบ UNIX เป็นที่รู้จักกันดีและสามารถจะแก้การแปลงรหัสผ่านได้โดยใช้เวลาไม่นาน ด้วยเหตุผลนี้เองทำให้ UNIX รุ่นใหม่จึงต้องทำการซ่อนไฟล์ที่เก็บรหัสผ่าน
13.2.1.3 รหัสผ่านแบบใช้ได้ครั้งเดียว (One-Time Passwords)ในระบบของรหัสผ่านแบบใช้ครั้งเดียวนี้ รหัสผ่านจะแตกต่างกันทุกครั้งที่มีการขอเข้าไปใช้งานระบบ ระบบนี้จะเป็นอีกหนึ่งวิธีในอีกหลายๆ วิธีที่ใช้สำหรับป้องกันการใช้งานของผู้ไม่มีสิทธิโดยการเปิดเผยของรหัสผ่านให้ผู้อื่นที่ไม่มีสิทธิ์ใช้ระบบทราบ มีหลายระบบที่เป็นการใช้รหัสผ่านแบบใช้ครั้งเดียว เช่น ระบบ SecurID จะใช้เครื่องคิดเลขซึ่งจะมีลักษณะเหมือนกับบัตรเครดิตจะมีคีย์ตัวอักษรและจอภาพ ผู้ใช้จะทำการคีย์ข้อมูลลงไปหรือที่เรียกว่ารหัสประจำตัว (Personal Idetifjcation Numbe,} PIN) ต่อจากนั้นบนจอภาพก็จะแสดงรหัสผ่านให้ผู้ใช้เห็นอีกรูปแบบหนึ่งของวิธีการใช้รหัสผ่านครั้งเดียว วิธีนี้ผู้ใช้จะได้รับสมุดรายการของรหัสผ่าน ในแต่ละครั้งที่ขอเข้าไปใช้งานระบบจะต้องใช้รหัสผ่านตัวต่อไปที่อยู่ในรายการเสมอ ถ้ามีผู้แอบรู้รหัสผ่านก็จะไม่สามารถทำอะไรระบบได้ เพราะว่ารหัสผ่านจะเปลี่ยนเป็นรหัสตัวต่อไปในสมุดรายการทุกครั้งที่มีการเข้าใช้งานระบบLeslie Lamport ได้คิดค้นรูปแบบของการสร้างรหัสผ่านโดยการใช้ฟังก์ชัน โดยผู้ใช้สามารถจะขอเข้าไปใช้เครื่องในเน็ตเวิร์คได้อย่างปลอดภัยโดยใช้รหัสผ่านแบบใช้ครั้งเดียว (Lamport, 1981) วิธีการของ Lamport ช่วยให้ผู้ใช้เครื่องคอมพิวเตอร์ส่วนตัวที่บ้านสามารถขอเข้าไปใช้เครื่องเซิร์ฟเวอร์ในอินเทอร์เน็ตได้อย่างปลอดภัยแม้ว่าจะมีผู้ที่คอยแอบดูหรือคัดลอกข้อมูลในระหว่างการเดินทางของข้อมูลในเน็ตเวิร์คอัลกอริทึมของ Lamport จะอยู่ในรูปของฟังก์ชัน y = f(X) ซึ่งฟังก์ชันนี้ถ้าทราบค่า x จะทำให้สามารถหาค่าของ y ได้ แต่ถ้าทราบค่าของ y จะไม่สามารถคำนวณเพื่อหาค่าของ x ได้ ในส่วนของข้อมูลเข้าและข้อมูลออกควรที่จะมีความยาวเท่ากัน เช่น 128 บิตผู้ใช้จะนำรหัสลับ (secret password) และตัวเลข n ซึ่งจะหมายถึงจำนวนครั้งที่อัลกอริทึมสามารถที่จะสร้างรหัสผ่านได้ ตัวอย่างเช่น ถ้า n = 4 ซึ่งในความเป็นจริงแล้วค่า n นั้นจะมากกว่านี้ สมมติว่าค่าของรหัสลับคือ (secret password)= s ดังนั้นค่าของรหัสผ่านครั้งแรกที่ได้จากฟังก์ชันที่ใช้รหัสผ่านจำนวน n ครั้งคือรหัสผ่านครั้งที่สองที่จะได้จากทำงานของฟังก์ชันที่ใช้สร้างรหัสผ่านจำนวน n – 1 ครั้งคือรหัสผ่านครั้งที่สามจะเรียกใช้ f สองครั้ง และรหัสผ่านครั้งที่สี่จะเรียกใช้ f ครั้งเดียว นั้นคือ P1 = f(P) ซึ่งฟังก์ชันจะให้รหัสผ่านเรียงตามลำดับ ในการคำนวณหารหัสผ่านตัวที่ผ่านมาจะทำได้แต่จะคำนวณรหัสผ่านตัวต่อไปจะทำไม่ได้ เช่น ถ้ารู้ค่า p2 ก็สามารถหาค่า p1 ได้แต่จะไม่สามารถหาค่าของ P3 ได้13.2.2 การรับรองผู้ใช้โดยการตอบคำถาม (Challenge – Response Authentication)วิธีของการสร้างรหัสผ่านก็คือใช้อัลกอริทึมสร้างรหัสผ่าน อัลกอริทึมอาจจะเป็นฟังก์ชั่นของตัวเลขตัวอย่างเช่น ระบบจะเลือกตัวเลขขึ้นมาจากการสุ่มแล้วให้ตัวเลขนั้นกับผู้ใช้ ผู้ใช้ก็จะนำตัวเลขนั้นไปเข้าฟังก์ชั่นและได้ผลลัพธ์จากฟังก์ชั่นนั้น ส่วนระบบก็จะนำตัวเลขนั้นไปเข้าฟังก์ชั่นเหมือนกันแล้วถ้าผลลัพธ์ที่ระบบได้กับผลลัพธ์ที่ผู้ใช้ได้ตรงกัน ผู้ใช้คนนั้นก็จะสามารถเข้าไปใช้งานในระบบได้ เช่น ผู้ใช้งานในระบบได้ เช่น ผู้ใช้เลือกฟังก์ชัน X2 เมื่อผู้ใช้ขอเข้าไปใช้งานในระบบ ระบบจะทำการสุ่มตัวเลขให้กับผู้ใช้อาจะเป็นเลข 7 ซึ่งผู้ใช้จะต้องพิมพ์ 49 ลงไป ฟังก์ชั่นที่ผู้ใช้เลือกใช้จะต่างกันไปในแต่ละวันใน 1 สัปดาห์อีกวิธีหนึ่งของวิธีนี้คือการกำหนดคำถามหลายๆ คำถามให้กับผู้ใช้ใหม่ที่เริ่มใช้งานระบบและผู้ใช้จะต้องตอบคำถามนั้น ซึ่งคำตอบจะถูกจัดเก็บไว้ในระบบ คำถามจะถูกเลือกขึ้นมาจากระบบเอง ซึ่งคำถามอาจจะเป็น
1. น้องสาวของคุณชื่ออะไร
2. โรงเรียนประถมของคุณตั้งอยู่บนถนนอะไร
3. อาจารย์สมศรีสอนวิชาอะไรในขณะที่ผู้ใช้กำลังขอล็อกอินเข้าระบบ ระบบจะสุ่มเลือกคำถามขึ้นมาและจำทำการตรวจสอบคำตอบจากผู้ใช้เพื่อให้วิธีนี้เป็นวิธีที่ใช้การได้อย่างจริงจังในทางปฏิบัติ จึงจำเป็นที่จะต้องใช้คำถามหลายๆ คำถามเพื่อให้ผู้ใช้ตอบคำถามเหล่านั้น
13.2.3 การรับรองผู้ใช้โดยใช้อุปกรณ์ (Authentication Using a Physical Object)วิธีที่สามที่ใช้รับรองผู้ใช้คือการตรวจสอบอุปกรณ์บางอย่างที่ผู้ใช้คนนั้นมี มากกว่าการตรวจสอบบางสิ่งที่ผู้ใช้ทราบ กุญแจที่ใช้ล็อคประตูเป็นสิ่งที่ใช้กันมานานสำหรับการรักษาความปลอดภัย แต่ในปัจจุบันนี้อุปกรณ์ที่ใช้กันส่วนใหญ่แล้วจะเป็นบัตรพลาสติคที่ใช้ใส่ในช่องเสียบบัตรที่เชื่อมต่อกับเครื่องคอมพิวเตอร์ ตามปกติแล้วผู้ใช้ไม่เพียงแต่ใส่บัตรลงในช่องเท่านั้นแต่จะต้องใสรหัสผ่านด้วย เพื่อเป็นการป้องกันในกรณีบัตรหายหรือมีคนอื่นขโมยบัตรไปใช้ ซึ่งก็จะเหมือนกับการใช้บัตร ATM จะเริ่มจากการที่ผู้ใช้เสียบบัตรแล้วใส่รหัสผ่านบัตรพลาสติกที่ใช้เก็บข้อมูลจะมีอยู่ 2 แบ คือ บัตรแถบแม่เหล็ก (Magnetic stripe card) กับบัตรที่เป็นชิปการ์ด (chip card) บัตรแถบแม่เหล็กสามารถเก็บข้อมูลได้ประมาณ 140 ไบต์ ซึ่งแถบแม่เหล็กจะติดไว้ที่หลังบัตร ข้อมูลจะถูกอ่านโดยเครื่องปลายทางและส่งข้อมูลไปยังเครื่องคอมพิวเตอร์ ซึ่งข้อมูลที่เก็บไว้คือรหัสผ่านของผู้ใช้โดยปกติแล้วรหัสผ่านจะถูกแปลงโดยอัลกอริทึมซึ่งจะทราบโดยธนาคารเจ้าของบัตรเท่านั้น การใช้บัตรแถบแม่เหล็กจะเป็นการเสี่ยงเพราะว่าอุปกรณ์ที่ใช้อ่านและเขียนบัตรชนิดนี้มีราคาถูกและมีใช้กันอย่างแพร่หลาย13.2.4 การรับรองผู้ใช้โดยใช้คุณสมบัติทางชีวภาพของผู้ใช้ (Authentication Using Biometrics) อีกวิธีหนึ่งของการรับรองผู้ใช้ระบบก็คือการรับรองโดยใช้คุณสมบัติทางชีวภาพของผู้ใช้ ซึ่งวิธีนี้เป็นวิธีที่ทำให้ปลอมแปลงได้ยาก การรับรองวิธีนี้เรียกว่า “การใช้คุณสมบัติทางชีวภาพของผู้ใช้ “ตัวอย่างเช่น การใช้เครื่องอ่านลายนิ้วมือผู้ใช้ซึ่งทำให้เครื่องสามารถพิจารณาได้ว่าเป็นผู้ใช้ตัวจริงหรือปลอม โดยเครื่องจะทำการเปรียบเทียบกับข้อมูลคุณสมบัติที่เก็บเอาไว้ในระบบก่อนหน้านี้ ซึ่งคุณสมบัติที่เก็บไว้จะเป็นข้อมูลเกี่ยวกับอุณหภูมิ ความยาวและความกว้างของนิ้วมือ และรูปแบบของลายเส้น ในปัจจุบันนี้อุปกรณ์เหล่านี้ยังมีขนาดใหญ่และราคาแพงสำหรับการใช้งานสำหรับการรับรองผู้ใช้ในระบบที่ใช้งานทั่ว ๆ ไป
13.3 โปรแกรมอันตราย (Program Threats)ในสภาพแวดล้อมที่ผู้เขียนโปรแกรมและผู้ใช้งานโปรแกรมไม่ใช่บุคคลคนเดียวกัน ทำให้มีโอกาสของการใช้งานโปรแกรมผิดวัตถุประสงค์และทำให้เกิดเหตุการณ์ที่ไม่คาดคิดขึ้นได้กับระบบ ซึ่งโดยทั่วไปเหตุการณ์ที่ไม่คาดคิดนั่นก็คือ ม้าโทรจัน (Trojan horses) และประตูกับดัก (trap doors)13.3.1 ม้าโทรจัน (Trojan Horses) ม้าโทรจันจะเป็นลักษณะของโปรแกรมที่มีฟังก์ชันของการทำงานบางสิ่งบางอย่างที่ไม่คาดคิด หรือทำงานที่ไม่พึงประสงค์ ซึ่งฟังก์ชันนี้อาจจะเข้าไปเปลี่ยน ลบ หรือ เข้ารหัสไฟล์ของผู้ใช้ในระบบ ทำการก็อปปี้ไฟล์ไปไว้ในสถานที่ซึ่งบุคคลอื่นสามารถที่จะเข้าถึงไฟล์เหล่านั้นได้มาภายหลัง หรือาจจะทำการส่งไฟล์เหล่านั้นไปยังที่ใดที่หนึ่งโดยส่งไปทางอีเมล์หรือทำการโอนย้ายๆฟล่านอินเทอร์เน็ต เพื่อให้ม้าโทรจันทำงานครั้งแรกเลยเราจะต้องตั้งรกรากให้มันก่อนโดยให้ติดไปกับโปรแกรมหนึ่งเพื่อพามันไปประมวลผลทางหนึ่งคือส่งโปรแกรมไปทางอินเทอร์เน็ตแบบไม่เสียค่าใช้จ่าย เช่น เกมส์ใหม่ๆ หรือบางสิ่งบางอย่างที่ดึงดูดความสนใจแล้วชักชวนให้คนทั่วไปทำงานดาวน์โหลด เมื่อโปรแกรมนั้นทำงานม้าโทรจันที่ติดไปกับโปรแกรมนั้นก็จะทำงานและจะสามารถทำได้ทุกอย่างเหมือนกับที่ผู้ใช้มีสิทธิทำได้ เช่น ลบไฟล์ ติดต่อแบบเน็ตเวิร์ค ฯลฯยังมีอีกหนทางหนึ่งทีจะหลอกให้ผู้ใช้ให้เรียกม้าโทรจันทำงาน คือ ในระบบ UNIX จะมีคำสั่ง $PATH ซึ่งเป็นคำสั่งสำหรับการค้นหาไดเรกทอรี่ ซึ่งสามารถให้ระบบแสดงไดเรกทอรี่ได้โดยการใช้คำสั่งสมมติว่ารูปแบบของการกำหนดไดเรกเทอรี่ให้กับผู้ใช้ชื่อ Ast สำหรับการค้นหาไฟล์มีดังนี้ซึ่งผู้ใช้คนอื่นๆ ในระบบก็จะมีการค้นหาในแต่ละไดเรกทอรีต่างๆกันไป เมื่อผู้ใช้พิมพ์คำสั่งครั้งแรกในการค้นหาไฟล์ ระบบจะไปค้นหาโปรแกรมที่ชื่อว่า prog ที่ /usr/ast/bin/prog ถ้าหาโปรแกรมนี้เจอโปรแกรม prog ก็จะทำงานโดยทันที แต่ถ้าหาไม่เจอระบบก็จะไปหาที่ /usr/local/bin/prog , /usr/bin/prog, /bin/prog และเรื่อยๆไปจนครบ 10 ไดเรกทอรี่ สมมุติว่ามีไดเรกทอรีหนึ่งไม่ได้มีการป้องกันไว้โปรแกรมที่มีม้าโทรจันเก็บไว้ก็สามารถจะทำการบันทึกลงในไดเรกทอรีนั้นได้ เมื่อโปรแกรมนั้นถูกเรียกใช้ม้าโทรจันก็จะทำงานด้วย13.3.2 ประตูกับดัก (Trap Door)อีกรูปแบบหนึ่งที่เป็นช่องโหว่ของการรักษาความปลอดภัยให้ระบบคือ ประตูกับดัก การสร้างประตูกับดักจะเกิดจากการเขียนคำสั่งโดยโปรแกรมเมอร์ระบบโดยจะทำการแทรกคำสั่งนั้นไว้ในระบบและไม่มีใครสามารถจะตรวจเช็คคำสั่งนั้นได้ ตัวอย่างเช่น โปรแกรมเมอร์จะเขียนโปรแกรมขึ้นมาเพื่อให้ใครก็ได้ที่ใส่ชื่อผู้ใช้ว่า “AAAAA” แล้วสามารถล็อกอินเข้าระบบได้ ซึ่งคำสั่งปกติที่ใช้สำหรับการล็อกอินเข้าระบบจะเป็นดังโปรแกรมรูป
13.5 (ก) ส่วนประตูกับดักจะเป็นโปรแกรมดังรูป
13.5(ข) ในโปรแกรมประตูกับดักนี้จะมีการเรียกไปที่ strcmp ซึ่งจะเป็นการตรวจสอบสำหรับการใส่ชื่อผู้ใช้งานระบบเป็น “AAAAA” ถ้ามีการใส่ชื่อผู้ใช้ “AAAAA” เเมื่อไหร่การล็อกอินเข้าระบบก็จะประสบผลสำเร็จไม่ว่าจะใส่รหัสผ่านเป็นอะไรก็ตาม ถ้าโปรแกรมประตูกับดักนี้ถูกแทรกลงในเครื่องคอมพิวเตอร์โดยโปรแกรมเมอร์ทีทำงานให้กับบริษัทผลิตคอมพิวเตอร์ แล้วคอมพิวเตอร์นั้นถูกส่งขายให้กับลูกค้า โปรแกรมเมอร์คนนั้นก็สามารถที่จะเข้าไปใช้งานเครื่องคอมพิวเตอร์ที่ลูกค้าซื้อมาจากบริษัทนั้นได้(ก) โปรแกรมปกติ (ข) โปรแกรมที่มีประตูกับดักแทรกอยู่ [MOS:P610]13.4 ระบบอันตราย (System Threats)ระบบปฏิบัติการหลาย ๆ ระบบจะมีวิธีของการที่ให้โปรเซสใดๆ สามารถที่จะสร้างโปรเซสใหม่ได้ ในบางสภาพแวดล้อมจะเป็นการง่ายที่จะสร้างสถานการณ์โดยให้รีซอร์สของระบบและไฟล์ถูกนำไปใช้ในทางที่ผิด วิธีที่นิยมใช้กันโดยทั่วไปมี 2 วิธีที่คือ หนอนคอมพิวเตอร์ (worm) และไวรัส (virus)
13.4.1 หนอนคอมพิวเตอร์ (worm)หนอนคอมพิวเตอร์เป็นขบวนการของกลไกในการบังคับประสิทธิภาพการทำงานของระบบ หนอนคอมพิวเตอร์จะทำการสำเนาตัวเอง โดยใช้รีซอร์สระบบหรือบางทีจะทำการป้องกันไม่ให้โปรเซสอื่นๆ ใช้รีซอร์สของระบบ ในระบบเน็ตเวิร์คหนอนคอมพิวเตอร์จะมีความสามารถมาก คือสามารถที่จะทำสำเนาตัวเองและแพร่กระจายไปในแต่ละเครื่องในเน็ตเวิร์คและทำให้ระบบในเน็ตเวิร์คหยุดทำงาน ซึ่งจะเห็นได้จากเหตุการณ์ในปี 1988 ที่เกิดขึ้นกับระบบ UNIX ในเครือข่ายอินเทอร์เน็ตหยุดทำงานทั้งหมด ทำให้เกิดความเสียหายหลายล้านดอลลาร์หนอนคอมพิวเตอร์มีจุดเริ่มมาจากเมื่อวันที่ 2 พฤศจิกายน 1988 โดยโรเบิร์ต แทปแปน มอร์ริส นักศึกษาระดับปริญญาโทปีที่ 1 องมาหาวิทยาลัยคอร์แนบล ได้ปลอ่ยโปรแกรมที่มีหนอนคอมพิวเตอร์ไปในเครื่องเซิร์ฟเวอร์ในอินเทอร์เน็ต โดยเป้าหมายของการปล่อยหนอนคอมพิวเตอร์ คือ เครื่อง SUN Microsystem 3 เครื่องและเครื่อง VAX ซึ่งใช้โปรแกรมระบบ UNIX เวอร์ชั่น 4 BSD หนอนคอมพิวเตอร์ได้แพร่กระจายอย่างรวดเร็วภายในเวลาไม่กี่ชั่วโมงที่ได้ปล่อยออกไป โดยหนอนคอมพิวเตอร์จะทำการเรียกใช้รีซอร์สระบบจนทำให้ระบบไม่สามารถทำงานต่อไปได้และหยุดทำงานไปในที่สุดหนอนคอมพิวเตอร์จะประกอบด้วยโปรแกรม 2 ส่วนคือ โปรแกรมส่วนเกาะติด (grapping hook or bootstrap) และโปรแกรมหลัก โปรแกรมส่วนเกาะติดจะประกอบด้วยคำสั่งที่เขียนด้วยภาษาซี จำนวน 99 บรรทัดเรียกว่า l1.c โปรแกรมส่วนนี้จะถูกแปลและทำงานบนเครื่องที่มันติดไป ในขณะที่โปรแกรมส่วนเกาะติดนี้กำลังทำงานมันจะทำการติดต่อกลับไปยังเครื่องคอมพิวเตอร์ต้นทางที่มันถูกสร้างมาซึ่งมีโปรแกรมหลักอยู่ มันจะทำการเรียกโปรแกรมหลักและให้โปรแกรมหลักทำการประมวลผลบนเครื่องที่โปรแกรมเกาะติดกำลังทำงานอยู่
13.6 หลังจากนั้นโปรแกรมหลักก็จะทำการมองหาเครื่องเซิร์ฟเวอร์อื่นๆ ที่อยู่ในเน็ตเวิร์คเพื่อที่จะทำการแพร่กระจายโปรแกรมเกาะติดไปยังเครื่องเหล่านั้นในการทำงานของหนอนคอมพิวเตอร์ที่เป็นลักษณะของการโจนตีระยะไกลนั้น มอร์ริสได้เรียกใช้คำสั่ง rsh ในระบบ UNIX ซึ่งเป็นคำสั่งสำหรับการประมวลผลโปรแกรมระยะไกล โดยการสร้างไฟล์พิเศษขึ้นมาเพื่อใช้เก็บลิสต์ของผู้ใช้งานระบบ ซึ่งทำให้ผู้ใช้ไม่จำเป็นต้องใส่รหัสผ่านในการใช้งานเครื่องระยะไกลถ้ามีชื่อผู้ใช้อยู่ในไฟล์พิเศษนี้ หนอนคอมพิวเตอร์จะใช้ไฟล์พิเศษนี้เพื่อค้นหาชื่อของที่ตั้งเครื่องในเน็ตเวิร์คที่สมารถล็อกอินได้โดยที่ไม่ต้องใส่รหัสผ่าน เมื่อได้เครื่องที่ต้องการแล้วโปรแกรมหลักก็จะถูกเรียกและจะเริ่มทำงานในเครื่องที่โปรแกรมหลักถูกเรียกไปการโจมตีระยะไกลของหนอนคอมพิวเตอร์เป็นวิธีหนึ่งใน 3 วิธีของการทำลาย อีก 2 วิธีนั้นจะเกี่ยวข้องกับข้อผิดพลาดในระบบปฏิบัติการของ UNIX คือโปรแกรม finger และ srndmail ซึ่งคำสั่ง finger จะเป็นคำสั่งสำหรับแสดงรายการ โดยมีรูปแบบการใช้คำสั่งดังนี้สิ่งที่แสดงออกมาจากการใช้คำสั่งก็คือชื่อจริง และชื่อในการล็อกอินเข้าระบบของผู้ที่กำลังใช้งานในระบบอยู่ โดยจะแสดงข้อมูลอื่นๆ ด้วย เช่น ที่อยู่ สำนักงาน หมายเลขโทรศัพท์ ซึ่งจะคล้ายๆ กับรายการในสมุดโทรศัพท์อิเล็กโทรนิกส์ finger เป็นโปรเซสที่ทำงานอยู่เบื้องหลัง (daemon) ในแต่ละจุดที่ตั้ง และบนหน้าจอจะแสดงรายการทุกครั้งที่มีการสอบถามไม่ว่าจะสอบถามจากจุดใดของอินเทอร์เน็ต หนอนคอมพิวเตอร์จะเริ่มจากการเรียกใช้งานโปรเซส finger โดยส่งไปพร้อมกับข้อความที่มีความยาว 536 ไบต์ ซึ่งเป็นความยาวที่เกินหน่วยความจำที่จองเอาไว้สำหรับข้อมูลเข้า ซึ่งเป็นจุดอ่อนของระบบคือไม่มีการตรวจสอบของเขตของการใช้เนื้อที่เกินและก็จะทำการเขียนข้อมูลนั้นลงไปในสเต็ก หลักจากทำงานเสร็จแทนที่โปรเซส finger จะถูกส่งกลับไปยังโปรแกรมหลัก แต่โปรเซสนั้นลงไปยังโปรแกรมในสเต็กที่มีข้อความยาว 536 ไปต์ โปรแกรมนี้ก็จะทำการประมวลผลคำสั่ง sh ซึ่งหมายความว่าเครื่องคอมพิวเตอร์นี้ติดหนอนคอมพิวเตอร์แล้ว และหนอนคอมพิวเตอร์ก็สามารถที่จะทำลายเครื่องคอมพิวเตอร์เครื่องนี้ได้13.4.2 ไวรัส (virus)อีกรูปแบบหนึ่งของการโจมตีเครื่องคอมพิวเตอร์คือ ไวรัส โดยไวรัสจะเป็นโปรแกรมที่เขียนขึ้นมาเพื่อให้กระจายอยู่ในโปรแกรมอื่น มันสามารถทำงานได้เหมือนกับโปรแกรมทั่วไป ตัวอย่างเช่น พิมพ์ข้อความ แสดงรูปภาพบนจอภาพ เล่นเพลง หรือทำทุกสิ่งทุกอย่างได้โดยที่ไม่เป็นอันตราย แต่มันสามารถที่จะลบไฟล์ แก้ไข ทำลายขโมยไฟล์ (โดยการส่งไปทางอีเมล์) หรือ ทำให้ระบบเกิดความเสียหายได้ ในขณะที่หนอนคอมพิวเตอร์จะเป็นโปรแกรมที่สมบูรณ์และเป็นโปรแกรมทำงานเองโดยลำพังด้วยตัวของมันเอง ส่วนไวรัสจะเป็นส่วนหนึ่งของโปรแกรมที่ฝังตัวอยู่ในโปรแกรมอื่น ไวรัสเป็นปัญหาใหญ่มากของผู้ใช้เครื่องคอมพิวเตอร์ โดยเฉพาะผู้ใช้เครื่องพีซี ส่วนเครื่องคอมพิวเตอร์แบบผู้ใช้หลายคนจะไม่มีปัญหาในเรื่องไวรัสเนื่องจากมีการป้องกันจากโปรแกรมระบบในเรื่องของการบันทึกข้อมูลส่งไฟล์ ถึงแม้ว่าจะติดไวรัสแต่ ความสามารถของไวรัสก็จะถูกจำกัดเนื่องจากระบบมากป้องกันเป็นอย่างดี ซึ่งเครื่องพีซีไม่มีระบบป้องกันแบบนั้นเลยทำให้ไวรัสสามารถแพร่กระจายได้อย่างอิสระอีกอย่างหนึ่งที่ไวรัสสามารถทำได้คือ ในขณะที่ไวรัสกำลังทำงานอยู่ มันจะใช้รีซอร์จองเครื่องทั้งหมดโดยไม่ใช้ผู้อื่นใช้ เช่น ซีพียู เขียนข้อมูลขยะลงบนแผ่นดิสก์
13.4.2.1 ประเภทของไวรัส (Types of viruses)ประเภทของไวรัสพอจะแบ่งเป็นประเภทย่อยๆ ได้ดังนี้1. Parasitic virus เป็นไวรัสเก่าแก่ที่สุดเป็นรูปแบบพื้นฐานของไวรัสทั่วไป ไวรัสชนิดนี้จะติดเฉพาะโปรแกรมไฟล์ (executable program) และจะทำการสำเนาตัวเองเมื่อโปรแกรมที่ติดไวรัสนี้ถูกประมวลผล ต่อจากนั้นก็จะมองหาโปรแกรมไฟล์อื่น เพื่อจะติดไป
2. Memory-resident virus ไวรัสชนิดนี้จะอยู่ในหน่วยความจำหลักโดยเป็นส่วนหนึ่งของโปรแกรมระบบถาวร (resident program system) ไวรัสชนิดนี้จะเป็นจุดเริ่มที่ทำให้ไวรัสแพร่กระจายไปติดที่โปรแกรมอื่นเมื่อระบบได้มีการเรียกใช้ระบบจากแผ่นดิสก์ที่ติดไวรัส
3. Boot sector virus ไวรัสชนิดนี้จะทำลายที่เซ็กเตอร์แรกของระบบปฏิบัติการและจะแพร่กระจายโปรแกรมตรวจหาไวรัส
4. Steailth virus จะเป็นไวรัสที่มีรูปแบบแน่นอนที่ถูกออกแบบมาเพื่อซ่อนตัวเองจากการป้องกันจากโปรแกรมตรวจหาไวรัส
5. Polymorphic virus ไวรัสชนิดนี้จะทากรเปลี่ยนแปลงตัวเองทุกครั้งที่มีการแพร่กระจาย13.4.2.2 การป้องกันไวรัส (Antivirus Approaches)เพื่อเป็นการป้องกันไวรัสที่อาจจะติดระบบได้ คุณอาจจะป้องกันได้ดังนี้1. ใช้ระบบปฏิบัติการที่มีการรักษาความปลอดภัยสูง มีการแบ่งขอบเขตของการใช้งานและมีการให้ผู้ใช้ต้องใส่รหัสผ่านซึ่งเป็นรหัสผ่านส่วนตัว
2. ติดตั้งซอฟต์แวร์เฉพาะที่ซื้อมาจากตัวแทนจำหน่วยซอฟต์แวร์ที่ไว้ใจได้ และไม่หลีกเลี่ยงการสำเนาโปรแกรมที่แจกฟรีตามแหล่งต่างๆ
3. ซื้อโปรแกรมป้องกันไวรัสที่มีคุณภาพและมีการปรับปรุงซอฟต์แวร์ผ่านทางเว็บไซต์ของผู้ผลิตเสมอ
4. ไม่เปิดดูสิ่งที่แนบมากับอีเมล์เพราะไวรัสจะทำงานทันที่ที่มีการเปิดสิ่งที่แนบมาด้วย อีเมล์ที่ส่งมาในรูปในรูปของข้อความธรรมดาที่เป็นรหัสแอสกี้จะมีความปลอดภัยจากไวรัส
5. มีการทำสำรองข้อมูลที่สำคัญไว้ในหน่วยความจำสำรองเสมอๆ เช่น แผ่นดิสก์ แผ่นซีดี หรือ เทปโดยมีการทำสำรองข้อมูลไว้เป็นระยะ
13.5 การเข้ารหัสข้อมูล (Encryption)ขั้นตอนต่างๆ ของระบบปฏิบัติในการอนุญาตให้ผู้ใช้ที่มีสิทธิเท่านั้นที่สามารถเข้าใช้งานในระบบได้นั้นอาจจะเป็นวิธีการป้องกันที่ยังไม่เพียงพอสำหรับข้อมูลที่มีความสำคัญมากๆ ยิ่งไปกว่านั้นการใช้คอมพิวเตอร์เชื่อมต่อเป็นเน็ตเวิร์คและต้องกมีการส่งผ่านข้อมูลไปตามช่องทางในเน็ตเวิร์ค ซึ่งในระหว่างที่ข้อมูลเดินทางนั้นอาจจะมีผู้ทำการลอบดักฟังข้อมูลหรือทากรขัดขวางการส่งข้อมูลได้ เพื่อที่จะป้องกันข้อมูลสำคัญนั้นให้ปลอดภัยจำเป็นต้องมีกลไกเพื่อให้ผู้ใช้สามารทากรป้องกันข้อมูลในระหว่างการส่งผ่านข้อมูลการเข้ารหัสข้อมูลเป็นวิธีหนึ่งที่ใช้สำหรับป้องกันข้อมูลระหว่างการส่งผ่านไปในเน็ตเวิร์ค กลไกพื้นฐานในการทำงาน คือ1. ข้อมูลจะถูกเจ้ารหัส (Encode) จากรูปแบบเดิมที่อ่านออก (Plaintext) ให้ไปยู่ในรูปแบบที่อ่านไม่ออก (Ciphertext)2. ข้อมูลที่ถูกเข้ารหัสแล้ว (Ciphertext) จะถูกส่งไปตามช่องทางในเน็ตเวิร์ค
3. เพื่อให้ข้อมูลที่ถูกเข้ารหัสอ่านออก ผู้รับจะทำการถอดรหัส (Decode) ข้อความให้กลับไปอยู่ในรูปแบบเดิมที่อ่านออกได้
13.5.1 การเข้ารหัสข้อมูลโดยใช้คีย์ลับ (Secret – Key Encryption)จากอัลกอริมทึกสำหรับการเข้ารหัสข้อมูลซึ่งอักษรแต่ละตัวจะถูกแทนด้วยตัวอักษรที่ต่างกันไป ตัวอย่างเช่น A จะถูกแทนด้วย Q, B ทั้งหมดจะถูกแทน W, C ทั้งหมดจะถูกแทนด้วย E ซึ่งจะมีลักษณะดังนี้ระบบการแทนแบบนี้เรียกว่า monoalphabetic substitution ซึ่งใช้คีย์ที่เป็นตัวอักษร 26 ตัวอักษรจาตัวอย่างนี้คีย์ของการเช้ารหัสคือ QWERTYUIOPASDFGHJKLZXCVBNM จากคีย์นี้ข้อความปกติ ATTACK จะถูกแปลงให้เป็น QZZQEA ส่วนคีย์ที่ใช้สำหรับถอดรหัสข้อมูลที่เข้ารหัสแล้วให้กลับอยู่ในรูปแบบของข้อมูลปกติจาตัวอย่างนี้ก็จะเป็น KXVMCNOPHQRSZYIJADLEGWBUFT เพราะว่าตัวอักษร A ในข้อความที่เข้ารหัสจะเป็น K ในข้อความปกติ ส่วน B ในข้อความที่เข้ารหัสจะเป็น X ในข้อความปกติ13.5.2 การเข้ารหัสข้อมูลโดยใช้คีย์สาธารณะ (Public – Key Encryption)ระบบที่ใช้คีย์ลับเป็นระบบที่มีประสิทธิภาพเพราะในการทำงานจำเป็นต้องมีการจัดการทั้งข้อความปกติและข้อความที่เข้ารหัส แต่วิธีนี้จะมีข้อเสียคือผู้ส่งและผู้รับข้อความจะต้องใช้คีย์ร่วมกัน ซึ่งอาจจะทำให้ความลับของคีย์รั่วไหลไปสู่คนอื่นๆได้ เพื่อแก้ปัญหานี้จึงมีอีกวิธีหนึ่งคือ การเข้ารหัสข้อมูลโดยใช้คีย์สาธารณะ ระบบนี้จะใช้คีย์ที่ต่างกันสำหรับการเข้ารหัสข้อมูลและการถอดรหัสข้อมูลการทำงานของการเข้ารหัสแบบคีย์สาธารณะคือทุกคนจะต้องใช้คีย์คู่ซึ่งเรียกว่า คีย์สาธารณะ (public key) และคีย์ส่วนตัว (private key) คคีย์สาธารณะจะเป็นคีย์ที่ใช้สำหรับการเข้ารหัส ส่วนคีย์ส่วนตัวจะใช้เป็นคีย์สำหรับการถอดรหัส โดยปกติแล้วคีย์จะถูกสร้างขึ้นมาโดยอัตโนมัติ หรือให้ผู้ใช้เลือกรหัสผ่านขึ้นมาแล้วเรียกใช้อัลกอริทึกเนื่องจากผู้รับข้อมูลจะมีคีย์ส่วนตัวซึ่งจะทำให้ผู้รับสามารถที่จะถอดรหัสข้อมูลได้โดยใช้คีย์ส่วนตัวที่มีอยู่13.6 การรักษาความปลอดภัยของระบบ Windows NTWindows NT เป็นระบบปฏิบัติการที่ถูกออกแบบมาเพื่อให้สนับสนุนการรักษาความปลอดภัยในหลายๆ รูปแบบ ระดับการรักษาความปลอดภัยของระบบที่กำหนดมาให้นั้นสามารถที่จะปรับเปลี่ยนได้ตามความต้องการของผู้ดูแลรักษาระบบ โปรแกรมยูทิลิตี้ที่ชื่อว่า C2config.exe จะเป็นโปรแกรมที่ช่วยให้ผู้ดูแลระบบกำหนดระดับของการรักษาความปลอดภัยรูปแบบการรักษาความปลอดภัยของ NT จะอยู่บนพื้นฐานของแนวความคิดในเรื่องของแอ็กเคาต์ผู้ใช้ (user account) NT จะอนุญาตให้สร้างแอ็กเคาต์ชื่อผู้ใช้ได้หลายๆ แอ็กเคาต์ ซึ่งจะมีการจัดกลุ่มของแอ็กเคาต์ชื่อผู้ใช้ตามลักษณะการใช้งาน การล็อกอินเข้าระบบสามารถจะอนุญาตหรือไม่อนุญาตได้ตามความต้องการ ผู้แต่ละคนจะมีแอ็กเคาต์ผู้ใช้ระบบเพื่อแสดงตัวในการล็อกอินเข้ระบบโดยไม่ซ้ำกัน เมื่อผู้ใช้ทำการล็อกอินเข้าระบบ NT จะสร้าง Security token ซซึ่งจะมีข้อมูลชื่อผู้ใช้ ชื่อกลุ่มของผู้ใช้คนนั้นที่สังกัด และสิทธิพิเศษต่างๆ ที่ผู้ใช้คนนั้นสามารถกระทำได้กับระบบ ตัวอย่างของสิทธิพิเศษ เช่น การทำสำรองไฟล์ การสร้างไดเรกทอรี การปิดเครื่องคอมพิวเตอร์ เปลี่ยนวันที่และเวลาของระบบ ระบบจะทำการตรวจสอบสิทธิต่างๆ ของผู้ใช้กับ securty access token ตลอดเวลาที่ผู้ใช้คนนี้กำลังใช้งานระบบอยู่ว่าสามารถจะกระทำสิ่งใดกับระบบได้หรือไม่ได้NT จะใช้ความคิดของการอยู่ภายใต้ subject เพื่อให้แน่ใจว่าโปรแกรมที่ผู้ใช้ทำการประมวลผลจะไม่ไปใช้งานระบบมากเกินกว่าที่ผู้ใช้คนนั้นได้รับสิทธิ การอยู่ภายใต้ subject จะถูกใช้เพื่อทำการติดตามและในเรื่องของการจัดการได้รับอนุญาตสำหรับโปรแกรมแต่ละโปรแกรมที่ผู้ใช้ทำการประมวลผล โดยประกอบกับสิทธิต่างๆ ผู้ใช้ที่มีในการใช้งานระบบ ในลักษณะที่ NT ทำงานเป็นเครื่องเซิร์ฟเวอร์ในระบบเน็ตเวิร์ค จะมีการกำหนดการอยู่ภายใต้ไว้ 2 ระดับเพื่อเป็นการควบคุมการทำงาน ระดับแรกคือ sample subject จะเป็นระดับของโปรแกรมประยุกต์ธรรมดาที่ผู้ใช้ทำการประมวลผลหลังจากที่ผู้ใช้คนนั้นทำการล็อกอินเข้ระบบแล้ ระดับของ simple subject จะถูกกำหนดใน security access token ของผู้ใช้แต่ละคน อีกระดับของการอยู่ภายใต้ คือ sever subject ซซึ่งจะเป็นกระบวนการที่สร้างขึ้นมาเพื่อป้องกันเครื่องเซิร์ฟเวอร์โดยจะเป็นการรักษาความปลอดภัยให้เก็บเครื่องกอล์ฟเวอร์ในกรณีที่มีการเรียกใช้งานจากเครื่องไคลเอ็นต์คุณสมบัติของการรักษาความปลอดภัยการเรียกใช้ออปเจ็กต์ของ NT จะกำหนดอยู่ใน security descriptor ซซึ่งใน securiry descriptor จะเก็บชื่อผู้ใช้ระบบที่สามารถเปลี่ยนสิทธิต่างๆ ด้วยตนเอง กลุ่มของผู้ใช้ที่สังกัด สิทธิต่างๆ ที่ผู้ใช้คนนั้นสามารถกระทำได้หรือไม่ได้ ตัวอย่างเช่น securiry descriptor ของไฟล์ foo.bar โดยเจ้าของไฟล์นี้ คือ avi และสิทธิต่างๆ ในการใช้งานระบบที่กำหนดอยู่ในไฟล์นี้คือ? Avi – all access? Group cs – read – write access? User cliff – no accessไฟล์ใน NT อาจจะมีรูปแบบของการให้เข้าถึงข้อมูลในไฟล์ เช่น อ่านข้อมูล (ReadData) , เเขียนข้อมูล (Write Data), เพิ่มข้อมูล (AppendData), ประมวลผล (Execute) อ่านคุณสมบัติ (Read Attributes) และเปลี่ยนคุณสมบัติ (Write Attributes)ออปเจ็กต์ใน NT สามารถแบ่งเป็น container object หหรือ noncontainer object ตัวอย่างของ container object ได้แก่ ไดเรทอรี เมื่อออปเจ็กต์ได้ถูกสร้างขี้นภายใต้ container object ออปเจ็กต์ใหม่ที่ถูกสร้างขึ้นนั้นจะเป็นออปเจ็กต์ลูกซึ่งจะอยู่ติดและจะต้องได้รับอนุญาตจากออปเจ็กต์แม่ที่สร้างมันขึ้นมา ซึ่งการอนุญาตต่างๆ จะอยู่ติดไปกัลป์ตัวออปเจ็กต์ แม้ว่าออปเจ็กต์นั้นจะถูกก็อปปี้จากไดเรกทอรีเดิมไปไว้ทีไดเร็กทอรีอื่นก็ตาม หรือถ้าผู้ใช้ทำการย้ายไฟล์ไปที่ไดเรกทอรี่ใหม่คุณสมบัติไฟล์ก็จะติดไปกับไฟล์นั้นด้วย13.7 สรุปการรักษาความปลอดภัยนั้นเป็นเรื่องที่เกี่ยวข้องกับกลไกการป้องกันข้อมูลต่างๆ ที่จัดเก็บไว้ในระบบคอมพิวเตอร์ไม่ให้ได้รับความเสียหายถูกอ่านหรือแก้ไขโดยผู้ที่ไม่ได้รับอนุญาต ป้องกันไม่ให้ผู้ประสงค์ร้ายบุกรุกเข้ามาทำลายระบบ และต้องมีการป้องข้อมูลสูญหายจากเหตุวิสัยนั้นกระทำได้ง่ายกว่าการป้องกันข้อมูลจากผู้ประสงค์ร้าย ซึ่งผู้ประสงค์ร้ายหรือผู้ที่บุกรุกเข้ามาในระบบนั้นอาจจะเป็นพนักงานในบริษัท นักศึกษาโปรแกรมเมอร์ ผู้ควบคุมระบบ ผู้ชื่อชอบสร้างรายได้ให้กับตนเอง พวกจารกรรมข้อมูลทางทหารหรือทางธุรกิจวิธีการหนึ่งที่ใช้สำหรับการรักษาความปลอดภัยให้ระบบคือ การรับรองผู้ใช้ จะเป็นวิธีของการพิสูจน์ว่าผู้ใช้ระบบในขณะนั้นคือใคร ซึ่งวิธีต่างๆ ของการรับรองผู้ใช้ที่นิยมใช้กันโดยทั่วไปคือ? การรับรองผู้ใช้โดยใช้รหัสผ่าน? การรับรองผู้ใช้โดยการตอบคำถาม? การรับรองผู้ใช้โดยใช้อุปกรณ์? การรับรองผู้ใช้โดยใช้คุณสมบัติทางชีวภาพของผู้ใช้การสร้างความเสียหายให้กับระบบนั้นอาจจะมาในรูปของโปรแกรม ที่เรียกว่าโปรแกรมอันตราย ซึ่งโปรแกรมพวกนี้จะเป็นโปรแกรมมีลักษณะการทำงานที่ไม่พึงประสงค์ เช่น เข้าไปเปลี่ยนหรือลบข้อมูล ทำการโอนย้ายไฟล์ ซึ่งโปรแกรมประเภทนี้ได้แก่ ม้าโทรจัน และประตูกับดักอีกวิธีหนึ่งของการสร้างความเสียหายให้กับระบบคอมพิวเตอร์ก็คือระบบอันตราย ลักษณะการทำงานของระบบอันตรายที่เป็นขบวนการของการทำสำเนาตัวเองขึ้นมาและแพร่กระจายไปในเน็ตเวิร์ค ใช้รีซอร์สของระบบทั้งหมดและป้องกันไม่ให้โปรเซสอื่นใช้รีซอร์สของระบบทำให้ระบบหยุดทำงานไปในที่สุดเรียกว่า หนอนคอมพิวเตอร์อีกรูปแบบหนึ่งของการโจมตีระบบคอมพิวเตอร์ คือ ไวรัส จะเป็นลักษณะของโปรแกรมที่ทำงานได้เหมือนกับโปรแกรมทั่วไป แต่ไวรัสจะเป็นส่วนหนึ่งของโปรแกรมที่เขียนขึ้นมา โดยให้ไวรัสนั้นผังตัวอยู่ในโปรแกรมอื่น ไวรัสสามารถแพร่กระจายได้โดยการที่ผู้ใช้ ทำการดาวน์โหลดโปรแกรมที่ติดไวรัสมาจากที่ต่างๆ หรือใช้แผ่นดิสก์ที่ติดไวรัส ไวรัสจะไม่ทำลายข้อมูลแต่มันจะทำให้โปรแกรมทำงานนานขึ้นและทำงานผิดพลาด ซึ่งเราสามารถป้องกันการแพร่กระจายของไวรัสได้การใช้คอมพิวเตอร์เชื่อมต่อกันเป็นเน็ตเวิร์คและมีการส่งข้อมูลไปในช่องทางของเน็ตเวิร์คนั้น จำเป็นที่จะต้องมีกลไกในการป้องกันข้อมูลในระหว่างที่ทำการส่งเพื่อให้ปลอดภัยจากการลอบดักฟังข้อมูลหรือขัดขวางการส่งข้อมูล วิธีการที่ใช้สำหรับการรักษาความปลอดภัยก็คือการเข้ารหัสข้อมูล เป็นแปลงข้อมูลปกติให้อยู่ในรูปแบบที่อ่านไม่ออกจนกว่าข้อมูลนั้นจะถึงปลายทางวิธีการต่างๆ ของการเข้ารหัสข้อมูลคือ การเข้ารหัสข้อมูลโดยใช้คีย์ลับ และการเข้ารหัสข้อมูลโดยใช้คีย์สาธารณะ โดยข้อมูลจะถูกเข้ารหัสเพื่อให้อ่านไม่ออก และข้อมูลนั้นจะถูกถอดรหัสเพื่อให้อ่านออกก็ต่อเมื่อผู้ใช้ทราบคีย์ของการถอดรหัสข้อมูลนั้น
3.การเข้ารหัส
ตอบ การเข้ารหัสข้อมูล (Encryption)ระบบเข้ารหัสสามารถแบ่งตามวิธีการใช้กุญแจได้เป็น 2 วิธีดังต่อไปนี้
1. ระบบเข้ารหัสแบบกุญแจสมมาตร (Symmetric-key cryptography)เป็นการเข้ารหัสข้อมูลด้วยกุญแจเดี่ยว (Secret Key) ทั้งผู้ส่งและผู้รับ โดยวิธีการนี้ผู้รับกับผู้ส่งต้องตกลงกันก่อนว่าจะใช้รูปแบบไหนในการเข้ารหัสข้อมูลครับ ซึ่งรูปแบบไหนในการเข้ารหัสข้อมูลที่ผู้รับกับผู้ส่งตกลงกันแท้ที่จริงก็คือ กุญแจลับ (Secret Key)
2. ระบบเข้ารหัสแบบกุญแจอสมมาตร (Asymmetric-key cryptography or Public Key Technology)ระบบการเข้ารหัสแบบนี้ได้ถูกคิดค้นโดยนักวิจัยแห่งมหาวิทยาลัยสแตนฟอร์ด สหรัสอเมริกา ในปี พ.ศ. 2518 โดยการเข้ารหัสแบบนี้จะใช้หลักกุญแจคู่ทำการเข้ารหัสและถอดรหัส โดยกุญแจคู่ที่ว่านี้จะประกอบไปด้วย กุญแจส่วนตัว (private key) และกุญแจสาธารณะ (public key) โดยหลักการทำงานจะทำดังนี้ครับ.. ถ้าใช้กุญแจลูกใดเข้ารหัส ก็ต้องใช้กุญแจอีกลูกหนึ่งถอดรหัสครับ สำหรับการเข้ารหัสและถอดรหัสด้วยกุญแจคู่นี้จะใช้ฟังก์ชั่นทางคณิตศาสตร์เข้ามาช่วยโดยที่ฟังก์ชั่นทางคณิตศาสตร์ที่นำมาใช้ นั้นได้รับการพิสูจน์แล้วว่าจะมีเฉพาะกุญแจคู่ของมันเท่านั้นที่จะสามารถถอดรหัสได้ และไม่สามารถนำกุญแจคู่อื่นมาถอดรหัสได้

4.การถอดรหัส
ตอบ
การถอดรหัสข้อมูลใน File (Decryption)
1. เปิด Text file ที่ต้องการจะถอดรหัส
2. เลือกลักษณะการเข้ารหัสข้อมูล (Encryption method) ที่ถูกต้อง
- ถ้ามีการเลือกลักษณะผลลัพธ์ (output)ของการเข้ารหัส ต้องเลือกลักษณะผลลัพธ์(output)ให้ถูกต้องด้วย
3. ใส่รหัสผ่าน (Password) ให้ถูกต้อง
4. กดปุ่ม "DCRPT" เพื่อถอดรหัสข้อมูลเมื่อเสร็จสิ้นขั้นตอนดังกล่าว ข้อมูลจะถูกถอดรหัสเรียบร้อย

ไม่มีความคิดเห็น: