Professional Documents
Culture Documents
(Operating Systems)
น.ท.ไพศาล โมลิ สกุ ล
มงคล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 1
บทที่ 13
การรักษาความปลอดภัย
(Security)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 2
สภาพแวดล้
สภาพแวดล้ออมของการรั
มของการรักกษาความปลอดภั
ษาความปลอดภัยย
คำว่า “การรักษาความปลอดภัย“ (security) และคำว่า “การป้องกัน“
(protection) 2 คำนี ้อาจใช้ ทดแทนกันได้
แต่การรักษาความปลอดภัย(security) จะเป็ นสิง ่ ที่เกี่ยวข้ องกับความมัน่ ใจ
ในเรื่ องของแฟ้มข้ อมูลที่ถกู จัดเก็บไว้ ในระบบคอมพิวเตอร์ จะไม่ได้ ถกู อ่าน
หรื อแก้ ไขโดยผู้ที่ไม่ได้ รับอนุญาต
“การรั กษาความปลอดภัย” (security) นันจะหมายถึ ้ งการอ้ างถึงปั ญหา
ทังหมด
้
คำว่า “กลไกการป้องกัน” (protection mechanisms) จะใช้ ในการอ้ างถึง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 4
การสร้
การสร้าางความเสี
งความเสียยหาย
หาย(Threats)
(Threats)
ระบบคอมพิวเตอร์ จะมีเป้าหมายทัว่ ไปอยู่ 3 ประการเพื่อทำการตอบโต้ กบั
ความเสียหายที่เกิดขึ ้นกับระบบ
เป้าหมายแรกคือความลับของข้ อมูล (data confidentiality) จะเกี่ยวข้ อง
กับการรักษาข้ อมูลลับให้ ลบั
เป้าหมายที่สอง คือ ความเชื่อถือได้ ของข้ อมูล (data integrity) จะหมาย
ถึงผู้ใช้ ที่ไม่ได้ รับอนุญาตจากเจ้ าของข้ อมูลจะไม่สามารถเข้ าไปทำการ
เปลี่ยนแปลงข้ อมูลได้
เป้าหมายที่สาม การที่ระบบยังคงทำงานอยู่ได้ (system availability)
หมายถึงการที่ไม่มีใครสามารถที่จะทำการรบกวนการทำงานของระบบ
ทำให้ ระบบไม่สามารถทำงานต่อไปได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 5
เป้ าหมาย การสร้างความเสี ยหาย
ความลับของข้อมูล เปิ ดเผยข้อมูล
ความเชื่อถือได้ของข้อมูล เข้าไปเปลี่ยนแปลงข้อมูล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 6
ผูผู้ ป้ ประสงค์
ระสงค์รร้ า้ ายย(Intruders)
(Intruders)
ประเภทต่าง ๆ ของผู้ประสงค์ร้ายคือ
ผู้ใช้ ทวั่ ไปที่ชอบสอดรู้สอดเห็น พนักงานหลาย ๆ คนในบริ ษัทจะมี
คอมพิวเตอร์ สว่ นตัวซึง่ เชื่อมต่อกับเน็ตเวิร์คในสำนักงาน
คนภายในที่ชอบสอดแนม นักศึกษา โปรแกรมเมอร์ พนักงานควบคุมเครื่ อง
และ พนักงานทางด้ านเทคนิคต่าง ๆ ส่วนใหญ่แล้ วบุคคลกลุม่ นี ้จะคิดอยู่
เสมอว่าการทำลายการรักษาความปลอดภัยของระบบนันเป็ ้ นการท้ าทาย
ความสามารถของตัวเอง
ผู้ที่พยายามสร้ างรายได้ ให้ กบั ตนเอง โปรแกรมเมอร์ ของธนาคารบางคน
พยายามขโมยเงินจากธนาคารที่เขาทำงานอยู่ รูปแบบการขโมยจะ
เปลี่ยนแปลงไปเรื่ อย ๆ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 7
ผูผู้ ป้ ประสงค์
ระสงค์รร้ า้ ายย(Intruders)
(Intruders)
ผู้ที่จารกรรมข้ อมูลทางทหารหรื อทางธุรกิจ การจารกรรมจะหมายถึงการ
พยายามอย่างจริ งจังและการสร้ างรายได้ อย่างมหาศาลโดยคูแ่ ข่งหรื อต่าง
ประเทศ เพื่อที่จะขโมยโปรแกรม ข้ อมูลลับทางด้ านการค้ า เทคโนโลยี การ
ออกแบบวงจร แผนการทำธุรกิจ ฯลฯ
อีกประเภทหนึง่ ของสิง่ ที่เข้ ามารบกวนการทำงานระบบที่เพิ่งจะปรากฎตัว
ออกมาเมื่อไม่กี่ปีมานี ้คือ ไวรัส
ไวรัสคือส่วนหนึง่ ของโค้ ดที่เขียนขึ ้นมาและมันจะเขียนตัวมันเองซ้ำ ๆ แล้ ว
สร้ างความเสียหายบางอย่าง ซึง่ คนที่เขียนไวรัสขึ ้นมาก็คือผู้ประสงค์ร้าย
ที่มีความสามารถสูงทางด้ านเทคนิค
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 8
ผูผู้ ป้ ประสงค์
ระสงค์รร้ า้ ายย(Intruders)
(Intruders)
ข้ อแตกต่างระหว่างผู้ประสงค์ร้ายและไวรัสก็คือ
ผู้ประสงค์ร้ายจะหมายถึงบุคคลที่พยายามจะผ่านเข้ าไปในระบบเพื่อสร้ าง
ความเสียหาย
ในขณะที่ไวรัสจะหมายถึงโปรแกรมซึง่ เขียนขึ ้นมาและทำให้ แพร่กระจายไป
เพื่อสร้ างความเสียหาย
ผู้ประสงค์ร้ายจะทำลายระบบที่เฉพาะเจาะจงหรื อทำลายข้ อมูลเฉพาะที่
ต้ องการทำลาย แต่ไวรัสโดยปกติแล้ วจะทำลายสร้ างความเสียหายทัว่ ๆ ไป
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 9
ข้ข้ออมูมูลลสูสูญญหายโดยเหตุ
หายโดยเหตุสสุ ดุ ดวิวิสสั ยั ย(Accidental
(AccidentalData
DataLoss)
Loss)
สาเหตุพื ้นฐานที่ทำให้ ข้อมูลสูญหายโดยเหตุสดุ วิสยั คือ
ปรากฏการณ์ทางธรรมชาติ เช่น ไฟไหม้ แผ่นดินไหว สงคราม จลาจล หรื อ
หนูกดั เทปหรื อแผ่นดิสก์
ฮาร์ ดแวร์ หรื อซอฟต์แวร์ ทำงานผิดพลาด เช่น การทำงานผิดพลาดของซีพียู
แผ่นดิสก์หรื อเทปเสียหาย เน็ตเวิร์คเสีย หรื อข้ อผิดพลาดอื่น ๆ
ข้ อผิดพลาดที่เกิดจากมนุษย์ เช่น การบันทึกข้ อมูลผิดพลาด หยิบเทปผิด
ม้ วนหรื อหยิบดิสก์ผิดแผ่น เทปหรื อดิสก์สญ
ู หาย ฯลฯ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 10
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้ (User
(UserAuthentication)
Authentication)
กระบวนการสำคัญของระบบปฏิบตั ิการในการรักษาความปลอดภัยให้
ระบบ โดยจะมีหน้ าที่ในการพิสจู น์วา่ ผู้ที่กำลังใช้ ระบบขณะนี ้คือใคร
กระบวนการนี ้เรี ยกว่า “การรับรองผู้ใช้ ” (user authentication)
มินิคอมพิวเตอร์ ในยุคแรกๆ เช่น PDP-1 และ PDP-8 จะไม่มีขนตอนการ ั้
ล็อกอินเข้ าระบบ (login)
ความนิยมในการใช้ งานระบบ UNIX ของเครื่ อง PDP-11 มีอย่างแพร่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 11
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้ (User
(UserAuthentication)
Authentication)
ขันตอนของการรั
้ บรองผู้ใช้ งานของระบบปฏิบตั ิการเพื่อทำการพิสจู น์วา่
เป็ นผู้ใช้ ตวั จริ ง ส่วนใหญ่แล้ วระบบปฏิบตั ิการจะทำเพื่อพิสจู น์ผ้ ใู ช้ ใน 3
เรื่ องคือ
บางสิง่ บางอย่างที่ผ้ ใู ช้ ระบบทราบ เช่น รหัสผ่าน
บางสิง่ บางอย่างที่ผ้ ใู ช้ มี เช่น กุญแจ บัตรผ่าน
บางสิง่ บางอย่างที่เป็ นคุณสมบัติของผู้ใช้ เช่น ลายนิ ้วมือ ม่านตา ลายเซ็น
ในขันแรกเลยจะต้
้ องเข้ าสูข่ นตอนการล็
ั้ อกอินเข้ าระบบนัน้ ซึง่ จะหมาย
ถึงว่าบุคคลนันสามารถที
้ ่จะผ่านเข้ าสูข่ นตอนของการรั
ั้ บรองผู้ใช้ แล้ ว
ซึง่ บุคคลพวกนี ้มีชื่อเรี ยกกันว่า “แฮกเกอร์ ” (hacker)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 12
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยรหั
ดยรหัสสผ่ผ่าานน(Authentication
(AuthenticationUsing
Using
Passwords)
Passwords)
การรับรองผู้ใช้ ระบบที่นิยมใช้ กนั โดยทัว่ ไปอย่างกว้ างขวางคือการที่ให้ ผ้ ใู ช้
ใส่ชื่อและรหัสผ่าน
การป้องกันระบบโดยใช้ รหัสผ่านเป็ นวิธีที่เข้ าใจง่ายและวิธีการสร้ างก็งา ่ย
ด้ วยเช่นกัน
วิธีการสร้ างที่งา
่ ยที่สดุ คือจัดเก็บรายชื่อและรหัสผ่านให้ เป็ นคูก่ นั ไป
รหัสผ่านที่พิมพ์ลงไปนันก็ ้ จะถูกนำไปเปรี ยบเทียบรหัสผ่านที่ระบบได้ อ่าน
ขึ ้นมาเก็บไว้
ถ้ ารหัสผ่านตรงกัน ผู้ใช้ คนนันก็ ้ จะสามารถจะเข้ าไปใช้ ระบบนันได้ ้
แต่ถ้ารหัสผ่านไม่ตรงกันก็จะไม่สามารถจะเข้ าไปใช้ ระบบได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 13
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยรหั
ดยรหัสสผ่ผ่าานน(Authentication
(AuthenticationUsing
Using
Passwords)
Passwords)
ขณะที่ผ้ ใู ช้ พิมพ์รหัสผ่านลงไปนัน้ ระบบคอมพิวเตอร์ จะไม่แสดงตัวอักษร
ที่เป็ นรหัสผ่านนันออกมาทางหน้
้ าจอ
เพื่อเป็ นการป้องกันการแอบดูรหัสผ่านของคนที่อยูใ่ นบริ เวณนัน
้ ใน
โปรแกรม Windows 2000 รหัสผ่านจะแสดงเป็ นเครื่ องหมายดอกจัน
(asterisk) แทนตัวอักษรของรหัสผ่าน
ส่วนในระบบ UNIX จะไม่มีการแสดงตัวอักษรใด ๆ บนหน้ าจอเลยในขณะ
ที่กำลังพิมพ์รหัสผ่าน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 14
(ก) การล็อกอินสำเร็จ (ข) ชื่อล็อกอินผิด กลับมาใส่ ชื่อใหม่ (ค) ชื่อล็อกอินและรหัส
ผ่ านไม่ ถูกต้ อง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 15
จุจุดดอ่อ่ออนของการใช้
นของการใช้รรหัหัสสผ่ผ่าานน(Password
(PasswordVulnerabilities)
Vulnerabilities)
ถึงแม้ วา่ จะมีปัญหาที่เกิดขึ ้นจากการใช้ รหัสผ่านมากมาย
แต่การใช้ รหัสผ่านยังค่อนข้ างเป็ นวิธีธรรมดา เพราะทำความเข้ าใจและใช้
งานได้ งา่ ย
ปั ญหาที่เกิดจากการใช้ รหัสผ่านนันจะเกี
้ ่ยวข้ องกับการเก็บให้ รหัสผ่านนัน้
เป็ นความลับ ไม่สามารถที่จะเดาได้ วา่ รหัสผ่านนันคื ้ ออะไร
รหัสผ่านอาจถูกเปิ ดเผยโดยไม่ได้ ตงใจ ั้
มีการบอกรหัสผ่านจากผู้ใช้ ที่มีสท ิ ธิใช้ งานระบบไปยังผู้ใช้ ที่ไม่มีสทิ ธิ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 16
จุจุดดอ่อ่ออนของการใช้
นของการใช้รรหัหัสสผ่ผ่าานน(Password
(PasswordVulnerabilities)
Vulnerabilities)
มีวิธีทวั่ ไปอยู่ 2 วิธีที่จะเดาว่ารหัสผ่านนันคื
้ ออะไร
วิธีแรกคือผู้ประสงค์ร้าย (intruder) รู้จกั กับผู้ใช้ หรื อมีข้อมูลที่เกี่ยวกับผู้ใช้ คน
นัน้ ซึง่ เกือบจะทังหมดของผู
้ ้ ใช้ จะใช้ ข้อมูล
อีกวิธีหนึง่ คือความเป็ นไปได้ ในการที่พยายามนำเอาตัวอักษร ตัวเลข หรื อ
เครื่ องหมายต่าง ๆ มาผสมกันจนกว่าจะตรงกับรหัสผ่าน การใช้ รหัสผ่านที่
สันจะทำให้
้ งา่ ยต่อการเดาโดยการทดลองซ้ำไปเรื่ อย ๆ
อีกวิธีหนึง่ ที่ทำให้ รหัสผ่านสามารถที่จะเปิ ดเผยได้ คือธรรมชาติของมนุษย์ ใน
การใช้ งานระบบคอมพิวเตอร์ โดยทัว่ ไปจะมีข้อกำหนดของการห้ ามใช้ ชื่อผู้ใช้
งานระบบร่วมกับผู้อื่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 17
จุจุดดอ่อ่ออนของการใช้
นของการใช้รรหัหัสสผ่ผ่าานน(Password
(PasswordVulnerabilities)
Vulnerabilities)
รหัสผ่านอาจจะสร้ างขึ ้นมาได้ โดยระบบคอมพิวเตอร์ หรื อผู้ใช้ เป็ นผู้กำหนด
ขึ ้นมาด้ วยตัวเอง
รหัสผ่านที่คอมพิวเตอร์ กำหนดให้ อาจจะยากต่อการจำ ทำให้ ผ้ ใู ช้ ต้องจด
รหัสผ่านเอาไว้ เพื่อกันลืม
รหัสผ่านที่ผ้ ใู ช้ กำหนดขึ ้นเองส่วนใหญ่แล้ วจะง่ายต่อการเดา เพราะอาจ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 18
การเข้
การเข้าารหั
รหัสสผ่ผ่าานน(Encrypted
(EncryptedPasswords)
Passwords)
ความลับ ในระบบ UNIX จะใช้ การแปลงรหัสผ่าน ในการทำงานระบบจะ
มีฟังก์ชนั ซึง่ ค่อนข้ างจะยากในการกลับฟั งก์ชนั
แต่จะง่ายในการคำนวณ นัน ่ คือถ้ าทราบค่า x จะสามารถทำการคำนวณ
ค่าของฟั งก์ชนั f(x) ได้
แต่ถ้าทราบค่า f(x) จะไม่สามารถหาค่าของ x ได้ เลย ฟั งก์ชน ั f(x) จะเป็ น
ฟั งก์ชนั ที่ใช้ เป็ นอัลกอริ ทมึ สำหรับการแปลงรหัสผ่านที่ใช้ กนั ทัว่ ไป
ข้ อเสียของวิธีนี ้คือระบบจะไม่สามารถควบคุมรหัสผ่านทังหมดในระบบได้
้
ใครก็ตามที่คด ั ลอกไฟล์ที่เก็บรหัสผ่านนันก็
้ สามารถที่จะทำการแปลงรหัส
ผ่านเหล่านัน้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 19
การเข้
การเข้าารหั
รหัสสผ่ผ่าานน(Encrypted
(EncryptedPasswords)
Passwords)
และจะทำการแปลงคำศัพท์ในพจนานุกรมตามไปด้ วย แล้ วนำมาเปรี ยบ
เทียบกัน
สำหรับเครื่ องคอมพิวเตอร์ ที่มีความเร็ วมาก ๆ จะใช้ เวลาในการเปรี ยบ
เทียบคำภายในเวลาไม่กี่ชวั่ โมง
เนื่องจากระบบการแปลงรหัสผ่านของระบบ UNIX เป็ นที่ร้ ู จก ั กันดีและ
สามารถจะแก้ การแปลงรหัสผ่านได้ โดยใช้ เวลาไม่นาน
ด้ วยเหตุผลนี ้เองทำให้ UNIX รุ่ นใหม่จง
ึ ต้ องทำการซ่อนไฟล์ที่เก็บรหัสผ่าน
การแปลงคำศัพท์ในพจนานุกรม บางระบบจะไม่อนุญาตให้ ใช้ คำศัพท์ใน
พจนานุกรมเป็ นรหัสผ่าน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 20
การเข้
การเข้าารหั
รหัสสผ่ผ่าานน(Encrypted
(EncryptedPasswords)
Passwords)
วิธีที่ดีของการสร้ างรหัสผ่านคือ การใช้ ตวั อักษรตัวแรกของประโยคที่งา่ ย
ต่อการจำโดยใช้ ทงตั ั ้ วอักษรตัวเล็กและตัวใหญ่
ประกอบด้ วยตัวเลขหรื อเครื่ องหมาย ตัวอย่างประโยค “My mother’s
name is Kathy.”
สามารถสร้ างเป็ นรหัสผ่านได้ วา ่ “MmnisK” รหัสผ่านจะเดาได้ แต่จะจำ
ได้ งา่ ย
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 21
รหั
รหัสสผ่ผ่าานแบบใช้
นแบบใช้ไได้ด้คครัรั้ ง้ งเดีเดียยวว(One-Time
(One-TimePasswords)
Passwords)
วิธีที่ใช้ สำหรับป้องกันการใช้ งานของผู้ไม่มีสทิ ธิโดยการเปิ ดเผยของรหัส
ผ่านให้ ผ้ อู ื่นที่ไม่มีสทิ ธิใช้ ระบบทราบ
มีหลายระบบที่เป็ นการใช้ รหัสผ่านแบบใช้ ครัง้ เดียว เช่น ระบบ SecurID
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 22
รหั
รหัสสผ่ผ่าานแบบใช้
นแบบใช้ไได้ด้คครัรั้ ง้ งเดีเดียยวว(One-Time
(One-TimePasswords)
Passwords)
อีกรูปแบบหนึง่ ของวิธีการใช้ รหัสผ่านครัง้ เดียว วิธีนี ้ผู้ใช้ จะได้ รับสมุด
รายการของรหัสผ่าน ในแต่ละครัง้ ที่ขอเข้ าไปใช้ งานระบบจะต้ องใช้ รหัส
ผ่านตัวต่อไปที่อยูใ่ นรายการเสมอ
ถ้ ามีผ้ แ
ู อบรู้รหัสผ่านก็จะไม่สามารถทำอะไรระบบได้
เพราะว่ารหัสผ่านจะเปลี่ยนเป็ นรหัสตัวต่อไปในสมุดรายการทุกครัง้ ที่มี
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 23
รหั
รหัสสผ่ผ่าานแบบใช้
นแบบใช้ไได้ด้คครัรั้ ง้ งเดีเดียยวว(One-Time
(One-TimePasswords)
Passwords)
วิธีการของ Lamport ช่วยให้ ผ้ ใู ช้ เครื่ องคอมพิวเตอร์ สว่ นตัวที่บ้านสามารถ
ขอเข้ าไปใช้ เครื่ องเซิร์ฟเวอร์ ในอินเทอร์ เน็ตได้ อย่างปลอดภัย
แม้ วา
่ จะมีผ้ ทู ี่คอยแอบดูหรื อคัดลอกข้ อมูลในระหว่างการเดินทางของ
ข้ อมูลในเน็ตเวิร์ค
อัลกอริ ทม
ึ ของ Lamport จะอยูใ่ นรูปของฟั งก์ชนั y = f(x) ซึง่ ฟั งก์ชนั นี ้ถ้ า
ทราบค่า x จะทำให้ สามารถหาค่าของ y ได้
แต่ถ้าทราบค่าของ y จะไม่สามารถคำนวณเพื่อหาค่าของ x ได้
บิต
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 24
รหั
รหัสสผ่ผ่าานแบบใช้
นแบบใช้ไได้ด้คครัรั้ ง้ งเดีเดียยวว(One-Time
(One-TimePasswords)
Passwords)
ผู้ใช้ จะนำรหัสลับ (secret password) และตัวเลข n ซึง่ จะหมายถึง
จำนวนครัง้ ที่อลั กอริ ทมึ สามารถที่จะสร้ างรหัสผ่านได้
ตัวอย่ างเช่ น ถ้ า n = 4 ซึง่ ในความเป็ นจริ งแล้ วค่า n นันจะมากกว่
้ านี ้
สมมติวา ่ ค่าของรหัสลับคือ (secret password) = s ดังนันค่ ้ าของรหัส
ผ่านครัง้ แรกที่ได้ จากฟั งก์ชนั ที่ใช้ สร้ างรหัสผ่านจำนวน n ครัง้ คือ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 25
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยการตอบคำถาม
ดยการตอบคำถาม(Challenge-Response
(Challenge-Response
Authentication)
Authentication)
วิธีของการสร้ างรหัสผ่านคือใช้ อลั กอริทมึ สร้ างรหัสผ่าน อัลกอริ ทมึ อาจจะ
เป็ นฟั งก์ชนั ของตัวเลข
ตัวอย่ างเช่ น ระบบจะเลือกตัวเลขขึ ้นมาจากการสุม ่ แล้ วให้ ตวั เลขนันกั
้ บ
ผู้ใช้
ผู้ใช้ ก็จะนำตัวเลขนันไปเข้ ้ าฟั งก์ชนั่ และได้ ผลลัพธ์จากฟั งก์ชนั่ นัน้
ส่วนระบบก็จะนำตัวเลขนันไปเข้ ้ าฟั งก์ชนั่ เหมือนกันแล้ วถ้ าผลลัพธ์ที่ระบบ
ได้ กบั ผลลัพธ์ที่ผ้ ใู ช้ ได้ ตรงกัน
ผู้ใช้ คนนันก็
้ จะสามารถเข้ าไปใช้ งานในระบบได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 26
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยใช้
ดยใช้ออุปุปกรณ์
กรณ์ (Authentication
(AuthenticationUsing
Usingaa
Physical
PhysicalObject)
Object)
วิธีที่สองที่ใช้ รับรองผู้ใช้ คือการตรวจสอบอุปกรณ์บางอย่างที่ผ้ ใู ช้ คนนันมี้
มากกว่าการตรวจสอบบางสิง่ ที่ผ้ ใู ช้ ทราบ
กุญแจที่ใช้ ลอ ็ คประตูเป็ นสิง่ ที่ใช้ กนั มานานสำหรับการรักษาความ
ปลอดภัย
แต่ในปั จจุบน ั นี ้อุปกรณ์ที่ใช้ กนั ส่วนใหญ่แล้ วจะเป็ นบัตรพลาสติคที่ใช้ ใส่ใน
ช่องเสียบบัตรที่เชื่อมต่อกับเครื่ องคอมพิวเตอร์
เพื่อเป็ นการป้องกันในกรณีบต ั รหายหรื อมีคนอื่นขโมยบัตรไปใช้ ซึง่ ก็จะ
เหมือนกับการใช้ บตั ร ATM จะเริ่มจากการที่ผ้ ใู ช้ เสียบบัตรแล้ วใส่รหัสผ่าน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 27
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยการตอบคำถาม
ดยการตอบคำถาม(Challenge-Response
(Challenge-Response
Authentication)
Authentication)
อีกวิธีหนึง่ ของวิธีนี ้คือการกำหนดคำถามหลาย ๆ คำถามให้ กบั ผู้ใช้ ใหม่ที่
เริ่มใช้ งานระบบและผู้ใช้ จะต้ องตอบคำถามนัน้
ซึง่ คำตอบจะถูกจัดเก็บไว้ ในระบบ คำถามจะถูกเลือกขึ ้นมาจากระบบเอง
ซึง่ คำถามอาจจะเป็ น
น้ องสาวของคุณชื่ออะไร
โรงเรี ยนประถมของคุณตังอยู
้ บ่ นถนนอะไร
อาจารย์สมศรี สอนวิชาอะไร
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 28
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยการตอบคำถาม
ดยการตอบคำถาม(Challenge-Response
(Challenge-Response
Authentication)
Authentication)
บัตรพลาสติคที่ใช้ เก็บข้ อมูลจะมีอยู่ 2 แบบ คือ
บัตรแถบแม่ เหล็ก (Magnetic stripe card)
บัตรที่เป็ นชิปการ์ ด (Chip card)
บัตรแถบแม่เหล็กสามารถเก็บข้ อมูลได้ ประมาณ 140 ไบต์
แถบแม่เหล็กจะติดไว้ ที่หลังบัตร ข้ อมูลจะถูกอ่านโดยเครื่ องปลายทางและ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 32
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยใช้
ดยใช้คคุณุณสมบั
สมบัตตทิ ทิ างชี
างชีววภาพของผู
ภาพของผู้ ใ้ ใช้ช้
(Authentication
(AuthenticationUsing UsingBiometrics)
Biometrics)
อีกวิธีหนึง่ ของการรับรองผู้ใช้ ระบบก็คือการรับรองโดยใช้ คณ ุ สมบัติทาง
ชีวภาพของผู้ใช้
วิธีนี ้เป็ นวิธีที่ทำให้ ปลอมแปลงได้ ยาก การรับรองวิธีนี ้เรี ยกว่า “การใช้
ก่อนหน้ านี ้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 33
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยใช้
ดยใช้คคุณุณสมบั
สมบัตตทิ ทิ างชี
างชีววภาพของผู
ภาพของผู้ ใ้ ใช้ช้
(Authentication
(AuthenticationUsing UsingBiometrics)
Biometrics)
เครื่ องอ่านลายนิ ้วมือจะมีความถูกต้ องในการทำงานและมียงั ราคาแพงอยู่
ในอนาคตอุปกรณ์ ชนิดนี ้จะเป็ นที่นิยมใช้ กน
ั อย่างกว้ างขวาง
อุปกรณ์ ชนิดนี ้จะทำการอ่านร่ องตามลายนิ ้วมือและต่อจากนันก็้ จะทำการ
เปลี่ยนข้ อมูลที่อ่านออกมาเป็ นชุดของตัวเลข
อุปกรณ์ นี ้ยังมีความสามารถในการจัดเก็บชุดของข้ อมูลบนจุดต่าง ๆ บน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 34
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยใช้
ดยใช้คคุณุณสมบั
สมบัตตทิ ทิ างชี
างชีววภาพของผู
ภาพของผู้ ใ้ ใช้ช้
(Authentication
(AuthenticationUsing UsingBiometrics)
Biometrics)
สามารถจะนำรูปแบบต่าง ๆ ของการรับรองผู้ใช้ มาใช้ ร่วมกันได้ โดยอาจมี
การให้ ผ้ ใู ช้ ใส่ชื่อ, ใส่รหัสผ่านและมีเครื่ องอ่านรูปแบบของลายนิ ้วมือ
และทำการเข้ ารหัสข้ อมูลทังหมดก่ ้ อนทำการส่ง
ซึง่ การใช้ วิธีแบบนี ้จะมีความปลอดภัยจากการขโมยข้ อมูลในระหว่าง
ที่ทำการส่งข้ อมูลสูง
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 35
จุจุดดอ่อ่ออนของการใช้
นของการใช้รรหัหัสสผ่ผ่าานน(Password
(PasswordVulnerabilities)
Vulnerabilities)
ถึงแม้ วา่ จะมีปัญหาที่เกิดขึ ้นจากการใช้ รหัสผ่านมากมาย
แต่การใช้ รหัสผ่านยังค่อนข้ างเป็ นวิธีธรรมดา เพราะทำความเข้ าใจและใช้
งานได้ งา่ ย
ปั ญหาที่เกิดจากการใช้ รหัสผ่านนันจะเกี
้ ่ยวข้ องกับการเก็บให้ รหัสผ่านนัน้
เป็ นความลับ ไม่สามารถที่จะเดาได้ วา่ รหัสผ่านนันคื ้ ออะไร
รหัสผ่านอาจถูกเปิ ดเผยโดยไม่ได้ ตงใจ ั้
มีการบอกรหัสผ่านจากผู้ใช้ ที่มีสท ิ ธิใช้ งานระบบไปยังผู้ใช้ ที่ไม่มีสทิ ธิ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 36
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
ม้ าโทรจันจะเป็ นลักษณะของโปรแกรมที่มีฟังก์ชนั ของการทำงานบางสิง่
บางอย่างที่ไม่คาดคิดหรื อทำงานที่ไม่พงึ ประสงค์
ซึง่ ฟั งก์ชน
ั นี ้อาจจะเข้ าไปเปลี่ยน ลบ หรื อ เข้ ารหัสแฟ้ มของผู้ใช้ ในระบบ
ทำการคัดลอกไฟล์ไปไว้ ในสถานที่ซงึ่ บุคคลอื่นสามารถที่จะเข้ าถึงไฟล์
เหล่านันได้้ ในภายหลัง
หรื ออาจจะทำการส่งไฟล์เหล่านันไปยั ้ งที่ใดที่หนึง่ โดยส่งไปทางอีเมล์หรื อ
ทำการโอนย้ ายไฟล์ผ่านอินเทอร์ เน็ต
เพื่อให้ ม้าโทรจันทำงานครัง้ แรกเลยเราจะต้ องตังรกรากให้
้ มนั ก่อนโดยให้
ติดไปกับโปรแกรมใดโปรแกรมหนึง่ เพื่อพามันไปประมวลผล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 37
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
ทางหนึง่ คือส่งโปรแกรมไปทางอินเทอร์ เน็ตแบบไม่เสียค่าใช้ จา่ ย เช่น
เกมส์ใหม่ ๆ
หรื อบางสิง่ บางอย่างที่ดงึ ดูดความสนใจ แล้ วชักชวนให้ คนทัว่ ไปทำการ
ดาวน์โหลด
เมื่อโปรแกรมนันทำงานม้
้ าโทรจันที่ติดไปกับโปรแกรมนันก็ ้ จะทำงานและ
จะสามารถทำได้ ทกุ อย่างเหมือนกับที่ผ้ ใู ช้ มีสทิ ธิทำได้ เช่น ลบไฟล์ ติดต่อ
กับเน็ตเวิร์ค
ยังมีอีกหนทางหนึง ่ ที่จะหลอกให้ ผ้ ใู ช้ ให้ เรี ยกม้ าโทรจันทำงานคือ ในระบบ
UNIX จะมีคำสัง่ $PATH ซึง่ เป็ นคำสัง่ สำหรับการค้ นหาไดเรกทอรี
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 38
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
ระบบแสดงไดเรกทอรี ได้ โดยการใช้ คำสัง่
echo $PATH
สมมติวา่ รูปแบบของการกำหนดไดเรกทอรี ให้ กบั ผู้ใช้ ชื่อ ast สำหรับการ
ค้ นหาไฟล์มีดงั นี ้
:/usr/ast/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/ucb:/usr/man\
:/usr/java/bin:/usr/java/lib:/usr/local/man:/usr/openwin/man
ซึง่ ผู้ใช้ คนอื่น ๆ ในระบบก็จะมีการค้ นหาในแต่ละไดเรกทอรี ต่างกันไป
เมื่อผู้ใช้ พิมพ์คำสัง่
prog
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 39
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
ทางหนึง่ คือส่งโปรแกรมไปทางอินเทอร์ เน็ตแบบไม่เสียค่าใช้ จา่ ย เช่น
เกมส์ใหม่ ๆ
หรื อบางสิง่ บางอย่างที่ดงึ ดูดความสนใจ แล้ วชักชวนให้ คนทัว่ ไปทำการ
ดาวน์โหลด
เมื่อโปรแกรมนันทำงานม้
้ าโทรจันที่ติดไปกับโปรแกรมนันก็ ้ จะทำงานและ
จะสามารถทำได้ ทกุ อย่างเหมือนกับที่ผ้ ใู ช้ มีสทิ ธิทำได้ เช่น ลบไฟล์ ติดต่อ
กับเน็ตเวิร์ค
ยังมีอีกหนทางหนึง ่ ที่จะหลอกให้ ผ้ ใู ช้ ให้ เรี ยกม้ าโทรจันทำงานคือ ในระบบ
UNIX จะมีคำสัง่ $PATH ซึง่ เป็ นคำสัง่ สำหรับการค้ นหาไดเรกทอรี
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 40
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
ครัง้ แรกในการค้ นหาไฟล์ ระบบจะไปค้ นหาโปรแกรมที่ชื่อว่า prog ที่
/usr/ast/bin/prog
ถ้ าหาโปรแกรมนี ้เจอโปรแกรม prog ก็จะทำงานโดยทันที
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 42
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
เมื่อหน้ าจอปลอมแสดงขึ ้นมาโดยผู้ใช้ คนอื่นไม่ทราบว่าเป็ นหน้ าจอปลอม ผู้
ใช้ ก็จะใส่ชื่อและระบบก็จะถามให้ ผ้ ใู ช้ ใส่รหัสผ่านลงไป
เมื่อได้ มีการรวบรวมชื่อผู้ใช้ และรหัสผ่านของผู้ใช้ ที่มีการขอเข้ าไปใช้ งาน
ทำงานร่วมกันในการล็อกอินเข้ าระบบ
ตัวอย่ างเช่ น Windows 2000 จะต้ องกดคีย์ CTRL+ALT+DEL สำหรับ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 44
ประตู
ประตูกกบั บั ดัดักก(Trap
(TrapDoor)
Door)
อีกรูปแบบหนึง่ ที่เป็ นช่องโหว่ของการรักษาความปลอดภัยให้ ระบบคือ
ประตูกบั ดัก
การสร้ างประตูกบ ั ดักจะเกิดจากการเขียนคำสัง่ โดยโปรแกรมเมอร์ ระบบ
โดยจะทำการแทรกคำสัง่ นันไว้ ้ ในระบบและไม่มีใครสามารถจะตรวจเช็ค
คำสัง่ นันได้
้
ตัวอย่ างเช่ น โปรแกรมเมอร์ จะเขียนโปรแกรมขึ ้นมาเพื่อให้ ใครก็ได้ ที่ใส่ชื่อ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 45
ประตู
ประตูกกบั บั ดัดักก(Trap
(TrapDoor)
Door)
ถ้ ามีการใส่ชื่อผู้ใช้ “AAAAA” เมื่อไหร่การล็อกอินเข้ าระบบก็จะประสบผล
สำเร็ จไม่วา่ จะใส่รหัสผ่านเป็ นอะไรก็ตาม
ถ้ าโปรแกรมประตูกบ ั ดักนี ้ถูกแทรกลงในเครื่ องคอมพิวเตอร์ โดย
โปรแกรมเมอร์ ที่ทำงานให้ กบั บริ ษัทผลิตคอมพิวเตอร์
คอมพิวเตอร์ นนถูั ้ กส่งขายให้ กบั ลูกค้ า โปรแกรมเมอร์ คนนันก็ ้ สามารถที่จะ
เข้ าไปใช้ งานเครื่ องคอมพิวเตอร์ ที่ลกู ค้ าซื ้อมาจากบริ ษัทนันได้
้
เพื่อเป็ นการป้องกันประตูกบ ั ดักจะต้ องมีการวิเคราะห์ตรวจสอบคำสัง่ แต่ละ
คำสัง่ ในโปรแกรมทังหมดที้ ่มีอยูใ่ นระบบเป็ นระยะ ๆ
หรื ออาจจะใช้ โปรแกรมเมอร์ ตรวจสอบโปรแกรมที่เขียนโดยโปรแกรมเมอร์
คนอื่น
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 46
while (TRUE) { while (TRUE) {
printf(“login: “); printf(“login: “);
get_string(name); get_string(name);
disable_echoing(); disable_echoing();
printf(“password: ”); printf(“password: ”);
get_string(password); get_string(password);
enable_echoing(); enable_echoing();
v= v = check_validity(name,password);
check_validity(name,password); if (v || strcmp (name, “AAAAA”)==0)
if (v) break; break;
} }
execute_shell(name); execute_shell(name);
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 47
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
หนอนคอมพิวเตอร์ เป็ นขบวนการของกลไกในการบังคับประสิทธิภาพการ
ทำงานของระบบ
หนอนคอมพิวเตอร์ จะทำการสำเนาตัวเองโดยใช้ รีซอร์ สระบบหรื อบางทีจะ
จะทำสำเนาตัวเองและแพร่กระจายไปในแต่ละเครื่ องในเน็ตเวิร์คและทำให้
ระบบในเน็ตเวิร์คหยุดทำงาน
ซึง
่ จะเห็นได้ จากเหตุการณ์ในปี 1988 ที่เกิดขึ ้นกับระบบ UNIX ในเครื อข่าย
อินเทอร์ เน็ตหยุดทำงานทังหมด
้ ทำให้ เกิดความเสียหายหลายล้ าน
ดอลลาร์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 48
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
หนอนคอมพิวเตอร์ มีจดุ เริ่ มมาจากเมื่อวันที่ 2 พฤศจิกายน 1988 โดย โร
เบิร์ต แทปแปน มอร์ ริส นักศึกษาระดับปริ ญญาโทปี ที่ 1 ของมหาวิทยาลัย
คอร์ แนล
ได้ ปล่อยโปรแกรมที่มีหนอนคอมพิวเตอร์ ไปในเครื่ องเซิร์ฟเวอร์ ใน
อินเทอร์ เน็ต
โดยเป้าหมายของการปล่อยหนอนคอมพิวเตอร์ คือ เครื่ อง SUN
ทำงานต่อไปได้ และหยุดทำงานไปในที่สดุ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 49
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
หนอนคอมพิวเตอร์ จะประกอบด้ วยโปรแกรม 2 ส่ วนคือ
โปรแกรมส่วนเกาะติด (grappling hook or bootstrap)
โปรแกรมหลัก
โปรแกรมส่วนเกาะติดจะประกอบด้ วยคำสัง่ ที่เขียนด้ วยภาษาซีจำนวน 99
บรรทัดเรี ยกว่า l1.c
โปรแกรมส่วนนี ้จะถูกแปลและทำงานบนเครื่ องที่มน ั ติดไป
ในขณะที่โปรแกรมส่วนเกาะติดนี ้กำลังทำงานมันจะทำการติดต่อไปยัง
เครื่ องที่โปรแกรมเกาะติดกำลังทำงานอยู่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 50
หนอนคอมพิวเตอร์ ของมอร์ ริส
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 51
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
ในการทำงานของหนอนคอมพิวเตอร์ ที่เป็ นลักษณะของการโจมตีระยะไกล
นัน้ มอร์ ริส ได้ เรี ยกใช้ คำสัง่ rsh ในระบบ UNIX
เป็ นคำสัง่ สำหรับการประมวลผลโปรแกรมระยะไกล
ซึง
่ ทำให้ ผ้ ใู ช้ ไม่จำเป็ นต้ องใส่รหัสผ่านในการใช้ งานเครื่ องระยะไกลถ้ ามีชื่อผู้
ใช้ อยูใ่ นไฟล์พิเศษนี ้
หนอนคอมพิวเตอร์ จะใช้ ไฟล์พิเศษนี ้เพื่อค้ นหาชื่อของที่ตงเครื ั ้ ่ องใน
เน็ตเวิร์คที่สามารถล็อกอินได้ โดยที่ไม่ต้องใส่รหัสผ่าน
เมื่อได้ เครื่ องที่ต้องการแล้ วโปรแกรมหลักก็จะถูกเรี ยกและจะเริ่ ม ทำงานใน
สัง่ ดังนี ้
finger username@hostname
สิง่ ที่แสดงออกมาจากการใช้ คำสัง่ ก็คือชื่อจริงและชื่อในการล็อกอินเข้ า
ระบบของผู้ที่กำลังใช้ งานในระบบอยู่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 53
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
โปรแกรม finger เป็ นโปรแกรมที่ทำงานอยูเ่ บื ้องหลัง(daemon) ในแต่ละ
จุดที่ตงั ้
และจะแสดงรายการทุกครัง้ ที่มีการสอบถามไม่วา ่ จะสอบถามจากจุดใด
ของอินเทอร์ เน็ต
หนอนคอมพิวเตอร์ จะเริ่ มจากการเรี ยกใช้ โปรแกรม finger โดยส่งไปพร้ อม
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 54
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
หลังจากนันก็ ้ จะทำการเขียนข้ อมูลทับลงไปในสแต็ก (stack)
หลังจากทำงานเสร็ จแทนที่โปรแกรมจะถูกส่งกลับไปยังโปรแกรมหลัก แต่
โปรแกรมนันจะถู้ กส่งไปยังส่วนของโปรแกรมในสแต็กที่มีข้อความยาว
536 ไบต์
ส่วนของโปรแกรมนี ้ก็จะทำการประมวลผลคำสัง่ sh ซึง่ หมายความว่า
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 55
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
เป็ นคำสัง่ ที่อนุญาตให้ หนอนคอมพิวเตอร์ ทำการส่งสำเนาของตัวเองใน
ส่วนของโปรแกรมเกาะติด (grappling hook) ให้ ไปทำงานในเครื่ องอื่น
เมื่อเครื่ องติดหนอนคอมพิวเตอร์ แล้ ว หนอนคอมพิวเตอร์ จะพยายาม
ทำลายรหัสผ่านของผู้ใช้
ทุกครัง้ ที่หนอนคอมพิวเตอร์ จะติดที่เครื่ องใดมันจะทำการตรวจสอบก่อน
ว่าเครื่ องนันมี
้ หนอนคอมพิวเตอร์ ติดแล้ วหรื อยัง
ถ้ ามีแล้ วก็จะไม่ติดอีกก็จะออกไปที่เ ครื่ องอื่นต่อ ยกเว้ นทุก 1 ใน 7 เครื่ อง
เท่านันที
้ ่มนั จะเข้ าไปติดอีกเพื่อเป็ นการทำให้ หนอนคอมพิวเตอร์ นนยั ั ้ งคง
แพร่กระจายต่อไปได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 56
ไวรั
ไวรัสส(virus)
(virus)
ไวรัสจะเป็ นโปรแกรมที่เขียนขึ ้นมาเพื่อให้ กระจายอยูใ่ นโปรแกรมอื่น
มันสามารถทำงานได้ เหมือนกับโปรแกรมทัว ่ ไป ตัวอย่างเช่น พิมพ์ข้อความ
แสดงรูปภาพบนจอภาพ เล่นเพลง หรื อทำทุกสิง่ ทุกอย่างได้ โดยที่ไม่เป็ น
อันตราย
ไวรัสจะเป็ นส่วนหนึง ่ ของโปรแกรมที่ฝังตัวอยูใ่ นโปรแกรมอื่น
ไวรัสเป็ นปั ญหาใหญ่มากของผู้ใช้ เครื่ องคอมพิวเตอร์ โดยเฉพาะผู้ใช้ เครื่ อง
พีซี
อีกอย่างหนึง ่ ที่ไวรัสสามารถทำได้ คือ ในขณะที่ไวรัสกำลังทำงานอยู่ มันจะ
ใช้ รีซอร์ สของเครื่ องทังหมดโดยไม่
้ ให้ ผ้ อู ื่นใช้ เช่น ซีพียู เขียนข้ อมูลขยะลง
บนแผ่นดิสก์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 57
ไวรั
ไวรัสส(virus)
(virus)
ตัวอย่างของการเขียนโปรแกรมบรรทัดเดียวที่สามารถทำให้ ระบบ UNIX
หยุดทำงาน
main() {while (1) fork();}
จากคำสัง่ นี ้จะเป็ นการสร้ างโปรเซสขึ ้นมาจนกระทัง่ ตารางเก็บที่อยูข่ องโปร
เซสเต็ม และจะทำการป้องกันไม่ให้ โปรเซสอื่นทำงาน
ไวรัสส่วนใหญ่แล้ วจะทำงานในลักษณะของการทำลายระบบปฏิบต ั ิการ
ระบบใดระบบหนึง่ ที่เฉพาะเจาะจง และในบางกรณีจะกำหนดลักษณะ
ของฮาร์ ดแวร์ ที่จะทำลายด้ วย
ไวรัสสามารถแพร่ กระจายได้ โดยที่ผ้ ใู ช้ ทำการดาวน์โหลดโปรแกรมที่ติด
ไวรัสมาจากที่ตา่ ง ๆ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 58
ไวรั
ไวรัสส(virus)
(virus)
กรณีตวั อย่างเมื่อเดือนกุมภาพันธ์ปี 1992 นักศึกษาจากมหาวิทยาลัย
คอร์ แนล ได้ เขียนโปรแกรมเกมส์สำหรับเครื่ องแมคอินทอชขึ ้นมา 3 เกมส์
ซึง่ มีไวรัสอยูใ่ นนัน้
ต่อจากนันก็ ้ ได้ ทำการแจกจ่ายเกมส์นนไปทางอิ
ั้ นเทอร์ เน็ต
ไวรัสในเกมส์ได้ ถก ู ค้ นพบเมื่อศาสตราจารย์ทางด้ านคณิตศาสตร์ ของเวลส์
ได้ ทำการดาวน์โหลดเกมส์นนั ้
ถึงแม้ วา่ ไวรัสไม่ได้ ถกู ออกแบบมาเพื่อทำลายข้ อมูล แต่มนั สามารถที่จะ
แพร่กระจายไปในไฟล์ตา่ ง ๆ และทำให้ โปรแกรมทำงานนานขึ ้นและ
ทำงานผิดพลาด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 59
ประเภทของไวรั
ประเภทของไวรัสส(Types
(Typesofofviruses)
viruses)
Parasitic virus เป็ นไวรัสเก่าแก่ที่สดุ เป็ นรูปแบบพื ้นฐานของไวรัสทัว่ ไป
ไวรัสชนิดนี ้จะติดเฉพาะโปรแกรมไฟล์ (executable program) และจะ
ทำการสำเนาตัวเองเมื่อโปรแกรมที่ติดไวรัสนี ้ถูกประมวลผล ต่อจากนันก็ ้
จะมองหาโปรแกรมไฟล์อื่น ๆ เพื่อจะติดไป
Memory-resident virus ไวรัสชนิดนี ้จะอยูใ่ นหน่วยความจำหลักโดยเป็ น
การแพร่กระจาย
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 61
การป้
การป้ องกั
องกันนไวรั
ไวรัสส(Antivirus
(AntivirusApproaches)
Approaches)
ใช้ ระบบปฏิบตั ิการที่มีการรักษาความปลอดภัยสูง มีการแบ่งขอบเขตของ
การใช้ งานและมีการให้ ผ้ ใู ช้ ต้องใส่รหัสผ่านซึง่ เป็ นรหัสผ่านส่วนตัว
ติดตังซอฟต์
้ แวร์ เฉพาะที่ซื ้อมาจากตัวแทนจำหน่ายซอฟต์แวร์ ที่ไว้ ใจได้ และ
ไม่หลีกเลี่ยงการสำเนาโปรแกรมที่แจกฟรี ตามแหล่งต่าง ๆ
ซื ้อโปรแกรมป้องกันไวรัสที่มีคณ ุ ภาพและมีการปรับปรุงซอฟต์แวร์ ผ่านทาง
เว็บไซต์ของผู้ผลิตเสมอ
ไม่เปิดดูสงิ่ ที่แนบมากับอีเมล์เพราะไวรัสจะทำงานทันทีที่มีการเปิ ดสิง่ ที่
แนบมาด้ วยอีเมล์ที่สง่ มาในรูปของข้ อความธรรมดาที่เป็ นรหัสแอสกี ้จะมี
ความปลอดภัยจากไวรัส
มีการทำสำรองข้ อมูลที่สำคัญไว้ ในหน่วยความจำสำรองเสมอ ๆ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 62
การเข้
การเข้าารหั
รหัสสข้ข้ออมูมูลล(Encryption)
(Encryption)
การเข้ ารหัสข้ อมูลเป็ นวิธีหนึง่ ที่ใช้ สำหรับป้องกันข้ อมูลระหว่างการส่งผ่าน
ไปในเน็ตเวิร์ค กลไกพืน้ ฐานในการทำงานคือ
ข้ อมูลจะถูกเข้ ารหัส (Encode) จากรูปแบบเดิมที่อ่านออก (Plaintext) ให้ ไป
อยูใ่ นรูปแบบที่อ่านไม่ออก (Ciphertext)
ข้ อมูลที่ถกู เข้ ารหัสแล้ ว (Ciphertext) จะถูกส่งไปตามช่องทางในเน็ตเวิร์ค
เพื่อให้ ข้อมูลที่ถกู เข้ ารหัสอ่านออก ผู้รับจะทำการถอดรหัส (Decode)
ข้ อความให้ กลับไปอยูใ่ นรูปแบบเดิมที่อ่านออกได้
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 63
กลไกการเข้ ารหัสและถอดรหัส
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 64
การเข้
การเข้าารหั
รหัสสข้ข้ออมูมูลล(Encryption)
(Encryption)
ถึงแม้ วา่ ผู้ที่สามารถจะเข้ าถึงข้ อมูลที่เข้ ารหัสแล้ วคือผู้ที่มีสทิ ธิในข้ อมูลนัน้
เท่านัน้
แต่จะไม่เกิดประโยชน์เลยถ้ าข้ อมูลนันไม่ ้ สามารถจะถูกถอดรหัสกลับให้ อยู่
ในรูปแบบที่อ่านออกได้
วิธีหนึง่ ที่เป็ นวิธีที่ธรรมดาที่สดุ คือมีการกำหนดคีย์ลบั สำหรับไขข้ อมูล
โดยกำหนดให้ P เป็ นข้ อมูลธรรมดา (plaintext) ให้ KE เป็ นคีย์สำหรับ
การเข้ ารหัสข้ อมูล C เป็ นข้ อมูลที่เข้ ารหัสแล้ ว(ciphertext) และ E เป็ นอัล
กอริทมึ สำหรับการเข้ ารหัสข้ อมูล
จะได้ นิยามของการเข้ ารหัสข้ อมูลเป็ น C = E(P, KE)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 65
การเข้
การเข้าารหั
รหัสสข้ข้ออมูมูลล(Encryption)
(Encryption)
ในลักษณะคล้ าย ๆ กัน P = D(C, KD) ซึง่ D จะเป็ นอัลกอริ ทมึ สำหรับ
การแปลข้ อมูลให้ อยูใ่ นรูปที่อ่านออก และ KD เป็ นคีย์
หมายความว่าเพื่อให้ ได้ ข้อมูลที่อ่านออกหรื อข้ อมูลที่ถก
ู ถอดรหัสแล้ วคือ P
จากข้ อมูลที่เข้ ารหัสคือ C และใช้ คีย์สำหรับการถอดรหัสคือ KD
เมื่อเรี ยกใช้ อล
ั กอริ ทมึ D ด้ วย C และ KD ความสัมพันธ์ระหว่างตัวแปร
ต่าง ๆ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 66
ความสั มพันธ์ ระหว่ างข้ อมูลธรรมดา และข้ อมูลทีเ่ ข้ ารหัสแล้ ว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 67
การเข้
การเข้าารหั
รหัสสข้ข้ออมูมูลลโดยใช้
โดยใช้คคยี ยี ์ ล์ ลบั บั (Secret-Key
(Secret-KeyEncryption)
Encryption)
จากอัลกอริ ทมึ สำหรับการเข้ ารหัสข้ อมูลซึง่ อักษรแต่ละตัวจะถูกแทนด้ วยตัว
อักษรที่ตา่ งกันไป
ตัวอย่ างเช่ น As จะถูกแทนด้ วย Qs Bs ทังหมดจะถู
้ กแทนด้ วย Ws Cs
ทังหมดจะถู
้ กแทนด้ วย Es ซึง่ จะมีลกั ษณะดังนี ้
ข้อความปกติ :ABCDEFGHIJKLMNOPQRSTUVWXYZ
ข้อความแปลง :QWERTYUIOPASDFGHJKLZXCVBNM
ข้ อมูล
ตัวอย่างนี ้ก็จะเป็ น KXVMCNOPHQRSZYIJADLEGWBUFT เพราะว่าตัว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 69
การเข้
การเข้าารหั
รหัสสข้ข้ออมูมูลลโดยใช้
โดยใช้คคยี ยี ์ ส์ สาธารณะ
าธารณะ(Public-Key
(Public-Key
Encryption)
Encryption)
ระบบการใช้ คีย์ลบั เป็ นระบบที่มีประสิทธิภาพเพราะในการทำงานจำเป็ น
ต้ องมีการจัดการทังข้ ้ อความปกติและข้ อความที่เข้ ารหัส
แต่วิธีนี ้จะมีข้อเสียคือผู้สง
่ และผู้รับข้ อความจะต้ องใช้ คีย์ร่วมกัน ซึง่ อาจจะ
ทำให้ ความลับของคีย์รั่วไหลไปสูค่ นอื่นได้
เพื่อแก้ ปัญหานี ้จึงมีอีกวิธีหนึง
่ คือ การเข้ ารหัสข้ อมูลโดยใช้ คีย์สาธารณะ
(Diffie and Hellman,1976) ระบบนี ้จะใช้ คีย์ที่ตา่ งกันสำหรับการเข้ ารหัส
ข้ อมูลและการถอดรหัสข้ อมูล
การทำงานของการเข้ ารหัสแบบคีย์สาธารณะคือทุกคนจะต้ องใช้ คีย์คซ ู่ งึ่
เรี ยกว่า คีย์สาธารณะ(public key) และคีย์สว่ นตัว (private key)
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 70
การเข้
การเข้าารหั
รหัสสข้ข้ออมูมูลลโดยใช้
โดยใช้คคยี ยี ์ ส์ สาธารณะ
าธารณะ(Public-Key
(Public-Key
Encryption)
Encryption)
คีย์สาธารณะจะเป็ นคีย์ที่ใช้ สำหรับการเข้ ารหัส
ส่วนคีย์สว ่ นตัวจะใช้ เป็ นคีย์สำหรับการถอดรหัส
โดยปกติแล้ วคีย์จะถูกสร้ างขึ ้นมาโดยอัตโนมัติ หรื อให้ ผ้ ใู ช้ เลือกรหัสผ่าน
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 71
การเข้ ารหัสทีใ่ ช้ คยี ์ สาธารณะและคีย์ส่วนตัว
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 72
การรั
การรักกษาความปลอดภั
ษาความปลอดภัยยของระบบ
ของระบบWindows
WindowsNT
NT
ระดับการรักษาความปลอดภัยของระบบที่กำหนดมาให้ นนสามารถที ั้ ่จะปรับ
เปลี่ยนได้ ตามความต้ องการของผู้ดแู ลรักษาระบบ
โปรแกรมยูทิลต ิ ี ้ที่ชื่อว่า C2config.exe จะเป็ นโปรแกรมที่ชว่ ยให้ ผ้ ดู แู ลระบบ
กำหนดระดับของการรักษาความปลอดภัย
รู ปแบบการรักษาความปลอดภัยของ NT จะอยูบ ่ นพื ้นฐานของแนวความคิด
ในเรื่ องของแอ็กเคาต์ผ้ ใู ช้ (user account)
NT จะอนุญาตให้ สร้ างแอ็กเคาต์ชื่อผู้ใช้ ได้ หลาย ๆ แอ็กเคาต์ ซึง่ จะมีการจัด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 73
การรั
การรักกษาความปลอดภั
ษาความปลอดภัยยของระบบ
ของระบบWindows
WindowsNT
NT
เมื่อผู้ใช้ ทำการล็อกอินเข้ าระบบ NT จะสร้ าง security access token ซึง่ จะ
มีข้อมูลชื่อผู้ใช้ ชื่อกลุม่ ของผู้ใช้ คนนันที
้ ่สงั กัด และ สิทธิพิเศษต่าง ๆ ที่ผ้ ใู ช้
คนนันสามารถกระทำได้
้ กบั ระบบ
NT จะใช้ ความคิดของการอยูภ ่ ายใต้ subject เพื่อให้ แน่ใจว่าโปรแกรมที่ผ้ ใู ช้
ทำการประมวลผลจะไม่ไปใช้ งานระบบมากเกินกว่าที่ผ้ ใู ช้ คนนันได้ ้ รับสิทธิ
การอยูภ ่ ายใต้ subject จะถูกใช้ เพื่อทำการติดตามและในเรื่ องของการ
จัดการการได้ รับอนุญาตสำหรับโปรแกรมแต่ละโปรแกรมที่ผ้ ใู ช้ ทำการ
ประมวลผล
โดยประกอบกับสิทธิต่าง ๆ ผู้ใช้ ที่มีในการใช้ งานระบบ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 74
การรั
การรักกษาความปลอดภั
ษาความปลอดภัยยของระบบ
ของระบบWindows
WindowsNT
NT
ในลักษณะที่ NT ทำงานเป็ นเครื่ องเซิร์ฟเวอร์ ในระบบเน็ตเวิร์ค จะมีการ
กำหนดการอยูภ่ ายใต้ ไว้ 2 ระดับเพื่อเป็ นการควบคุมการทำงาน
ระดับแรกคือ simple subject จะเป็ นระดับของโปรแกรมประยุกต์ธรรมดาที่
ผู้ใช้ ทำการประมวลผลหลังจากที่ผ้ ใู ช้ คนนันทำการล็
้ อกอินเข้ าระบบแล้ ว
ระดับของ simple subject จะถูกกำหนดใน security access token ของผู้
ใช้ แต่ละคน
อีกระดับของการอยูภ่ ายใต้ คือ server subject ซึง่ จะเป็ นกระบวนการที่
สร้ างขึ ้นมาเพื่อป้องกันเครื่ องเซิร์ฟเวอร์ โดยจะเป็ นการรักษาความปลอดภัย
ให้ กบั เครื่ องเซิร์ฟเวอร์ ในกรณีที่มีการเรี ยกใช้ งานจากเครื่ องไคลเอ็นต์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 75
การรั
การรักกษาความปลอดภั
ษาความปลอดภัยยของระบบ
ของระบบWindows
WindowsNT
NT
ในการใช้ งานระบบที่กำหนดอยู่ในไฟล์ นีค้ ือ
avi – all access
group cs – read-write access
user cliff- no access
ไฟล์ใน NT อาจจะมีรูปแบบของการให้ เข้ าถึงข้ อมูลในไฟล์ เช่น อ่านข้ อมูล
(ReadData), เขียนข้ อมูล (WriteData), เพิ่มข้ อมูล (AppendData),
ประมวลผล (Execute), อ่านคุณสมบัติ (ReadAttributes) และเปลี่ยน
คุณสมบัติ(WriteAttributes)
ออปเจ็กต์ใน NT สามารถแบ่งเป็ น container object หรื อ noncontainer
object
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 76