You are on page 1of 76

ระบบปฏิบ ัติการ

(Operating Systems)
น.ท.ไพศาล โมลิ สกุ ล
มงคล
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 1
บทที่ 13
การรักษาความปลอดภัย
(Security)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 2
สภาพแวดล้
สภาพแวดล้ออมของการรั
มของการรักกษาความปลอดภั
ษาความปลอดภัยย
 คำว่า “การรักษาความปลอดภัย“ (security) และคำว่า “การป้องกัน“
(protection) 2 คำนี ้อาจใช้ ทดแทนกันได้
 แต่การรักษาความปลอดภัย(security) จะเป็ นสิง ่ ที่เกี่ยวข้ องกับความมัน่ ใจ
ในเรื่ องของแฟ้มข้ อมูลที่ถกู จัดเก็บไว้ ในระบบคอมพิวเตอร์ จะไม่ได้ ถกู อ่าน
หรื อแก้ ไขโดยผู้ที่ไม่ได้ รับอนุญาต
 “การรั กษาความปลอดภัย” (security) นันจะหมายถึ ้ งการอ้ างถึงปั ญหา
ทังหมด

 คำว่า “กลไกการป้องกัน” (protection mechanisms) จะใช้ ในการอ้ างถึง

กลไกเฉพาะด้ านของโปรแกรมระบบที่ใช้ ในการป้องกันข้ อมูลในเครื่ อง


คอมพิวเตอร์
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 3
สภาพแวดล้
สภาพแวดล้ออมของการรั
มของการรักกษาความปลอดภั
ษาความปลอดภัยย
 การรักษาความปลอดภัยจะมีความหมายอยูห่ ลายด้ าน แต่ที่สำคัญมีอยู่
3 ด้ านคือ
 การสร้างความเสี ยหาย
 ลักษณะของผูป้ ระสงค์ร้าย
 ข้อมูลสูญหายโดยเหตุสุดวิสยั

ระบบปฏิบต
ั ก
ิ าร (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 มีอย่างแพร่

หลายจึงทำให้ จำเป็ นต้ องมีขนตอนการล็


ั้ อกอินเข้ าระบบ เครื่ องพีซีในยุค
แรก เช่น Apple II และ IBM PC ก็ไม่มีขนตอนของการล็
ั้ อกอินเข้ าระบบ

ระบบปฏิบต
ั ก
ิ าร (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)
 รหัสผ่านอาจจะสร้ างขึ ้นมาได้ โดยระบบคอมพิวเตอร์ หรื อผู้ใช้ เป็ นผู้กำหนด
ขึ ้นมาด้ วยตัวเอง
 รหัสผ่านที่คอมพิวเตอร์ กำหนดให้ อาจจะยากต่อการจำ ทำให้ ผ้ ใู ช้ ต้องจด

รหัสผ่านเอาไว้ เพื่อกันลืม
 รหัสผ่านที่ผ้ ใู ช้ กำหนดขึ ้นเองส่วนใหญ่แล้ วจะง่ายต่อการเดา เพราะอาจ

จะเป็ นชื่อของผู้ใช้ เองหรื อเป็ นสิง่ ที่ผ้ ใู ช้ โปรดปราน


 บางระบบจะมีการกำหนดอายุของรหัสผ่าน โดยจะให้ ผ้ ใู ช้ ทำการเปลี่ยน

รหัสผ่านตามช่วงระยะเวลาที่กำหนด เช่น จะต้ องเปลี่ยนรหัสผ่านทุก 3


เดือน

ระบบปฏิบต
ั ก
ิ าร (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

จะใช้ เครื่ องคิดเลขซึง่ จะมีลกั ษณะเหมือนกับบัตรเครดิตจะมีคีย์ตวั อักษร


และจอภาพ
 ผู้ใช้ จะทำการคีย์ข้อมูลลงไปหรื อที่เรี ยกว่ารหัสประจำตัว (Personal

Identification Number, PIN) ต่อจากนันบนจอภาพก็


้ จะแสดงรหัสผ่านให้
ผู้ใช้ เห็น

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 22
รหั
รหัสสผ่ผ่าานแบบใช้
นแบบใช้ไได้ด้คครัรั้ ง้ งเดีเดียยวว(One-Time
(One-TimePasswords)
Passwords)
 อีกรูปแบบหนึง่ ของวิธีการใช้ รหัสผ่านครัง้ เดียว วิธีนี ้ผู้ใช้ จะได้ รับสมุด
รายการของรหัสผ่าน ในแต่ละครัง้ ที่ขอเข้ าไปใช้ งานระบบจะต้ องใช้ รหัส
ผ่านตัวต่อไปที่อยูใ่ นรายการเสมอ
 ถ้ ามีผ้ แ
ู อบรู้รหัสผ่านก็จะไม่สามารถทำอะไรระบบได้
 เพราะว่ารหัสผ่านจะเปลี่ยนเป็ นรหัสตัวต่อไปในสมุดรายการทุกครัง้ ที่มี

การเข้ าใช้ งานระบบ


 Leslie Lamport ได้ คิดค้ นรู ปแบบของการสร้ างรหัสผ่านโดยการใช้ ฟังก์ชน ั
 โดยผู้ใช้ สามารถจะขอเข้ าไปใช้ เครื่ องในเน็ตเวิร์คได้ อย่างปลอดภัยโดยใช้

รหัสผ่านแบบใช้ ครัง้ เดียว (Lamport, 1981)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 23
รหั
รหัสสผ่ผ่าานแบบใช้
นแบบใช้ไได้ด้คครัรั้ ง้ งเดีเดียยวว(One-Time
(One-TimePasswords)
Passwords)
 วิธีการของ Lamport ช่วยให้ ผ้ ใู ช้ เครื่ องคอมพิวเตอร์ สว่ นตัวที่บ้านสามารถ
ขอเข้ าไปใช้ เครื่ องเซิร์ฟเวอร์ ในอินเทอร์ เน็ตได้ อย่างปลอดภัย
 แม้ วา
่ จะมีผ้ ทู ี่คอยแอบดูหรื อคัดลอกข้ อมูลในระหว่างการเดินทางของ
ข้ อมูลในเน็ตเวิร์ค
 อัลกอริ ทม
ึ ของ Lamport จะอยูใ่ นรูปของฟั งก์ชนั y = f(x) ซึง่ ฟั งก์ชนั นี ้ถ้ า
ทราบค่า x จะทำให้ สามารถหาค่าของ y ได้
 แต่ถ้าทราบค่าของ y จะไม่สามารถคำนวณเพื่อหาค่าของ x ได้

 ในส่วนของข้ อมูลเข้ าและข้ อมูลออกควรที่จะมีความยาวเท่ากัน เช่น 128

บิต

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 24
รหั
รหัสสผ่ผ่าานแบบใช้
นแบบใช้ไได้ด้คครัรั้ ง้ งเดีเดียยวว(One-Time
(One-TimePasswords)
Passwords)
 ผู้ใช้ จะนำรหัสลับ (secret password) และตัวเลข n ซึง่ จะหมายถึง
จำนวนครัง้ ที่อลั กอริ ทมึ สามารถที่จะสร้ างรหัสผ่านได้
 ตัวอย่ างเช่ น ถ้ า n = 4 ซึง่ ในความเป็ นจริ งแล้ วค่า n นันจะมากกว่
้ านี ้
 สมมติวา ่ ค่าของรหัสลับคือ (secret password) = s ดังนันค่ ้ าของรหัส
ผ่านครัง้ แรกที่ได้ จากฟั งก์ชนั ที่ใช้ สร้ างรหัสผ่านจำนวน n ครัง้ คือ

 รหัสผ่านครัง้ ที่สองที่จะได้ จากทำงานของฟั งก์ชนั ที่ใช้ สร้ างรหัสผ่านจำนวน


n – 1 ครัง้ คือ

ระบบปฏิบต
ั ก
ิ าร (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) 29
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยการตอบคำถาม
ดยการตอบคำถาม(Challenge-Response
(Challenge-Response
Authentication)
Authentication)
 บัตรที่ใช้ ชิปจะแบ่งออกเป็ น 2 แบบคือ
 บัตรบันทึกมูลค่ า (Stored value card)
 บัตรอัจฉริยะ (Smart card)
 บัตรบันทึกมูลค่าจะมีหน่วยความจำประมาณ 1 กิโลไบต์
 บัตรชนิดนี ้จะไม่มีซีพียอ ู ยูบ่ นบัตร ค่าที่บนั ทึกอยูบ่ นบัตรจะถูกเปลี่ยนโดย
ซีพียทู ี่อยูบ่ นเครื่ องอ่านบัตร
 ปั จจุบนั นี ้การรักษาความปลอดภัยจะเน้ นไปที่การใช้ บตั รอัจฉริ ยะ
 มีความคงทนถาวรของชิปที่ติดลงบนบัตร ความกว้ างของแผ่นชิป และ

ชิปจะไม่เสียหายในกรณีที่ผ้ ใู ช้ ทำบัตรงอ และเรื่ องของราคา


ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 30
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยการตอบคำถาม
ดยการตอบคำถาม(Challenge-Response
(Challenge-Response
Authentication)
Authentication)
 วิธีงา่ ย ๆ ของการใช้ บตั รอัจฉริยะเป็ นอุปกรณ์ สำหรับการรับรองการขอเข้ า
ใช้ งานระบบของผู้ใช้ โดยใช้ การตอบคำถาม
 เครื่ องเซิร์ฟเวอร์ จะทำการสุม่ หมายเลขและส่งหมายเลขนันที ้ ่มีความยาว
512 บิตมายังบัตรอัจฉริยะ
 หมายเลขนันจะถู ้ กนำมาบวกกับรหัสผ่านที่อยูบ่ นบัตรอัจฉริ ยะซึง่ มีความ
ยาว 512 บิต
 จากนันจะนำผลบวกนั
้ นมาหารากที
้ ่สอง ค่ากลางของ 512 บิตก็จะถูกส่ง
กลับมายังเครื่ องเซิร์ฟเวอร์
 สามารถทำการคำนวณว่าผลลัพธ์ ที่ได้ นนถู ั ้ กหรื อผิด
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 31
การใช้ บัตรอัจฉริยะในการล็อกอินเข้ าระบบ

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 32
การรั
การรับบรองผู
รองผู้ ใ้ ใช้ช้โโดยใช้
ดยใช้คคุณุณสมบั
สมบัตตทิ ทิ างชี
างชีววภาพของผู
ภาพของผู้ ใ้ ใช้ช้
(Authentication
(AuthenticationUsing UsingBiometrics)
Biometrics)
 อีกวิธีหนึง่ ของการรับรองผู้ใช้ ระบบก็คือการรับรองโดยใช้ คณ ุ สมบัติทาง
ชีวภาพของผู้ใช้
 วิธีนี ้เป็ นวิธีที่ทำให้ ปลอมแปลงได้ ยาก การรับรองวิธีนี ้เรี ยกว่า “การใช้

คุณสมบัตทิ างชีวภาพของผู้ใช้ ” (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 ก็จะทำงานโดยทันที

 แต่ถ้าหาไม่เจอระบบก็จะไปหาที่ /usr/local/bin/prog , /usr/bin/prog ,

/bin/prog และเรื่ อย ๆ ไปจนครบ 10 ไดเรกทอรี


 สมมุติว่ามีไดเรกทอรี ใดไดเรกทอรี หนึง ่ ไม่ได้ มีการป้องกันไว้ โปรแกรมที่มีม้า
โทรจันเก็บไว้ ก็สามารถจะทำการบันทึกลงในไดเรกทอรี นนได้ ั้
 เมื่อโปรแกรมนันถู้ กเรี ยกใช้ ม้าโทรจันก็จะทำงานด้ วย
 อีกรู ปแบบหนึง ่ ของม้ าโทรจันก็คือการเขียนให้ โปรแกรมแสดงหน้ าจอของ
การหลอกให้ ผ้ ใู ช้ ใส่ชื่อและรหัสผ่านเพื่อขอเข้ าไปใช้ งานในระบบ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 41
(ก) จอล็อกอินเข้ าระบบทีถ่ ูกต้ อง (ข) จอล็อกอินปลอมทีห่ ลอกผู้เข้ าระบบ

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 42
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
 เมื่อหน้ าจอปลอมแสดงขึ ้นมาโดยผู้ใช้ คนอื่นไม่ทราบว่าเป็ นหน้ าจอปลอม ผู้
ใช้ ก็จะใส่ชื่อและระบบก็จะถามให้ ผ้ ใู ช้ ใส่รหัสผ่านลงไป
 เมื่อได้ มีการรวบรวมชื่อผู้ใช้ และรหัสผ่านของผู้ใช้ ที่มีการขอเข้ าไปใช้ งาน

เรี ยบร้ อยแล้ วโดยทำการบันทึกลงไฟล์ใดไฟล์หนึง่ ที่ได้ กำหนดเอาไว้


 โปรแกรมก็จะทำการหลอกให้ โปรแกรมที่แสดงหน้ าจอของการล็อกอินเข้ า

ระบบตัวจริ งให้ ทำงาน


 วิธีที่จะป้องกันไม่ให้ เหตุการณ์ แบบนี ้เกิดขึ ้นมาก็คือ การใช้ คีย์หลาย ๆ คีย์

ทำงานร่วมกันในการล็อกอินเข้ าระบบ
 ตัวอย่ างเช่ น Windows 2000 จะต้ องกดคีย์ CTRL+ALT+DEL สำหรับ

การขอเข้ าใช้ งานระบบ


ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 43
ม้ม้าาโทรจั
โทรจันน(Trojan
(Trojanhorses)
horses)
 เมื่อผู้ใช้ กดคีย์ CTRL+ALT+DEL ผู้ใช้ งานปั จจุบนั จะถูกให้ ออกจากการใช้
งานและหน้ าจอสำหรับการล็อกอินเข้ าระบบก็จะแสดงขึ ้นมาทันที

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 44
ประตู
ประตูกกบั บั ดัดักก(Trap
(TrapDoor)
Door)
 อีกรูปแบบหนึง่ ที่เป็ นช่องโหว่ของการรักษาความปลอดภัยให้ ระบบคือ
ประตูกบั ดัก
 การสร้ างประตูกบ ั ดักจะเกิดจากการเขียนคำสัง่ โดยโปรแกรมเมอร์ ระบบ
 โดยจะทำการแทรกคำสัง่ นันไว้ ้ ในระบบและไม่มีใครสามารถจะตรวจเช็ค
คำสัง่ นันได้

 ตัวอย่ างเช่ น โปรแกรมเมอร์ จะเขียนโปรแกรมขึ ้นมาเพื่อให้ ใครก็ได้ ที่ใส่ชื่อ

ผู้ใช้ วา่ “AAAAA” แล้ วสามารถล็อกอินเข้ าระบบได้


 โปรแกรมประตูกบ ั ดักนี ้จะมีการเรี ยกไปที่ strcmp
 การตรวจสอบสำหรับการใส่ชื่อผู้ใช้ งานระบบเป็ น “AAAAA”

ระบบปฏิบต
ั ก
ิ าร (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

Microsystem 3 เครื่ อง และเครื่ อง VAX ซึง่ ใช้ โปรแกรมระบบ UNIX


เวอร์ ชนั่ 4 BSD
 หนอนคอมพิวเตอร์ จะทำการเรี ยกใช้ รีซอร์ สระบบจนทำให้ ระบบไม่สามารถ

ทำงานต่อไปได้ และหยุดทำงานไปในที่สดุ
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 49
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
 หนอนคอมพิวเตอร์ จะประกอบด้ วยโปรแกรม 2 ส่ วนคือ
 โปรแกรมส่วนเกาะติด (grappling hook or bootstrap)
 โปรแกรมหลัก
 โปรแกรมส่วนเกาะติดจะประกอบด้ วยคำสัง่ ที่เขียนด้ วยภาษาซีจำนวน 99
บรรทัดเรี ยกว่า l1.c
 โปรแกรมส่วนนี ้จะถูกแปลและทำงานบนเครื่ องที่มน ั ติดไป
 ในขณะที่โปรแกรมส่วนเกาะติดนี ้กำลังทำงานมันจะทำการติดต่อไปยัง

เครื่ องคอมพิวเตอร์ ต้นทางที่มนั ถูกสร้ างมาซึง่ มีโปรแกรมหลักอยู่


 มันจะทำการเรี ยกโปรแกรมหลักและให้ โปรแกรมหลัก ทำการประมวลผลบน

เครื่ องที่โปรแกรมเกาะติดกำลังทำงานอยู่
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 50
หนอนคอมพิวเตอร์ ของมอร์ ริส
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 51
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
 ในการทำงานของหนอนคอมพิวเตอร์ ที่เป็ นลักษณะของการโจมตีระยะไกล
นัน้ มอร์ ริส ได้ เรี ยกใช้ คำสัง่ rsh ในระบบ UNIX
 เป็ นคำสัง่ สำหรับการประมวลผลโปรแกรมระยะไกล

 โดยการสร้ างไฟล์พิเศษขึ ้นมาเพื่อใช้ เก็บลิสต์ของผู้ใช้ งานระบบ

 ซึง
่ ทำให้ ผ้ ใู ช้ ไม่จำเป็ นต้ องใส่รหัสผ่านในการใช้ งานเครื่ องระยะไกลถ้ ามีชื่อผู้
ใช้ อยูใ่ นไฟล์พิเศษนี ้
 หนอนคอมพิวเตอร์ จะใช้ ไฟล์พิเศษนี ้เพื่อค้ นหาชื่อของที่ตงเครื ั ้ ่ องใน
เน็ตเวิร์คที่สามารถล็อกอินได้ โดยที่ไม่ต้องใส่รหัสผ่าน
 เมื่อได้ เครื่ องที่ต้องการแล้ วโปรแกรมหลักก็จะถูกเรี ยกและจะเริ่ ม ทำงานใน

เครื่ องที่โปรแกรมหลักถูกเรี ยกไป


ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 52
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
 การโจมตีระยะไกลของหนอนคอมพิวเตอร์ เป็ นวิธีหนึง่ ใน 3 วิธีของการ
ทำลาย
 อีก 2 วิธีนนจะเกี
ั้ ่ยวข้ องกับข้ อผิดพลาดในระบบปฏิบตั ิการของ UNIX คือ
โปรแกรม finger และ sendmail
 ซึง่ คำสัง่ finger จะเป็ นคำสัง่ สำหรับแสดงรายการ โดยมีรูปแบบการใช้ คำ

สัง่ ดังนี ้
finger username@hostname
 สิง่ ที่แสดงออกมาจากการใช้ คำสัง่ ก็คือชื่อจริงและชื่อในการล็อกอินเข้ า
ระบบของผู้ที่กำลังใช้ งานในระบบอยู่

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 53
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
 โปรแกรม finger เป็ นโปรแกรมที่ทำงานอยูเ่ บื ้องหลัง(daemon) ในแต่ละ
จุดที่ตงั ้
 และจะแสดงรายการทุกครัง้ ที่มีการสอบถามไม่วา ่ จะสอบถามจากจุดใด
ของอินเทอร์ เน็ต
 หนอนคอมพิวเตอร์ จะเริ่ มจากการเรี ยกใช้ โปรแกรม finger โดยส่งไปพร้ อม

กับข้ อความที่มีความยาว 536 ไบต์


 เป็ นความยาวที่เกินหน่วยความจำที่จองเอาไว้ สำหรับข้ อมูลเข้ า ซึง่ เป็ นจุด

อ่อนของระบบคือไม่มีการตรวจสอบขอบเขตของการใช้ เนื ้อที่เกิน


(overflow)

ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 54
หนอนคอมพิ
หนอนคอมพิววเตอร์
เตอร์ (worm)
(worm)
 หลังจากนันก็ ้ จะทำการเขียนข้ อมูลทับลงไปในสแต็ก (stack)
 หลังจากทำงานเสร็ จแทนที่โปรแกรมจะถูกส่งกลับไปยังโปรแกรมหลัก แต่

โปรแกรมนันจะถู้ กส่งไปยังส่วนของโปรแกรมในสแต็กที่มีข้อความยาว
536 ไบต์
 ส่วนของโปรแกรมนี ้ก็จะทำการประมวลผลคำสัง่ sh ซึง่ หมายความว่า

เครื่ องคอมพิวเตอร์ นี ้ติดหนอนคอมพิวเตอร์ แล้ ว และหนอนคอมพิวเตอร์ ก็


สามารถที่จะทำลายเครื่ องคอมพิวเตอร์ เครื่ องนี ้ได้
 วิธีที่ 3 ของการทำลายจะอยูใ่ นส่วนของข้ อผิดพลาดที่เกิดขึ ้นในระบบส่ง

เมล์ โดยใช้ คำสัง่ sendmail

ระบบปฏิบต
ั ก
ิ าร (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 ไวรัสชนิดนี ้จะอยูใ่ นหน่วยความจำหลักโดยเป็ น

ส่วนหนึง่ ของโปรแกรมระบบถาวร (resident program system) จากจุดนี ้


จะเป็ นจุดเริ่ มที่ทำให้ ไวรัสแพร่กระจายไปติดที่โปรแกรมอื่น
 Boot sector virus ไวรัสชนิดนี ้จะทำลายที่เซ็กเตอร์ แรกของระบบปฏิบต ัิ
การและจะแพร่กระจายเมื่อระบบได้ มีการเรี ยกใช้ ระบบจากแผ่นดิสก์ที่ติด
ไวรัส
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 60
ประเภทของไวรั
ประเภทของไวรัสส(Types
(Typesofofviruses)
viruses)
 Stealth virus จะเป็ นไวรัสที่มีรูปแบบแน่นอนที่ถกู ออกแบบมาเพื่อซ่อนตัว
เองจากการป้องกันจากโปรแกรมตรวจหาไวรัส
 Polymorphic 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

 ระบบการแทนแบบนี ้เรี ยกว่า monoalphabetic substitution


 ซึง
่ ใช้ คีย์ที่เป็ นตัวอักษร 26 ตัวอักษร จากตัวอย่างนี ้คีย์ของการเข้ ารหัสคือ
QWERTYUIOPASDFGHJKLZXCVBNM
ระบบปฏิบต
ั ก
ิ าร (Operating Systems) 68
การเข้
การเข้าารหั
รหัสสข้ข้ออมูมูลลโดยใช้
โดยใช้คคยี ยี ์ ล์ ลบั บั (Secret-Key
(Secret-KeyEncryption)
Encryption)
 จากคีย์นี ้ข้ อความปกติ ATTACK จะถูกแปลงให้ เป็ น QZZQEA
 ส่วนคีย์ที่ใช้ สำหรับถอดรหัสข้ อมูลที่เข้ ารหัสแล้ วให้ กลับอยูใ่ นรู ปแบบของ

ข้ อมูล
 ตัวอย่างนี ้ก็จะเป็ น KXVMCNOPHQRSZYIJADLEGWBUFT เพราะว่าตัว

อักษร A ในข้ อความที่เข้ ารหัสจะเป็ น K ในข้ อความปกติ ส่วน B ใน


ข้ อความที่เข้ ารหัสจะเป็ น X ในข้ อความปกติ

ระบบปฏิบต
ั ก
ิ าร (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

You might also like