ระบบความมั่นคงความปลอดภัย (system...
TRANSCRIPT
System Security 1
บทท 14การรกษาความ
ปลอดภยระบบ (System Security)
System Security 2
หวขอบรรยาย System Security เปาหมายของการปองกน (Goals of Protection) การรกษาความปลอดภยของระบบ พนฐานการปองกนของระบบ ขอบเขตการปองกนของระบบ ตวอยางการปองกนของระบบ UNIX พนฐานการรกษาความปลอดภยของระบบปฏบตการ การเปลยนแปลง
System Security 3
หวขอบรรยาย (ตอ) ขดจำากดของการกระจายของสทธการเขาถง การเรยกกลบคน ระบบไฮดรา (Hydra) ระบบเคมบรดจ (Cambridge CAP System) ขอบเขต การอนญาตใชงาน
System Security 4
System Security ระบบทมหนาทในการรกษาความปลอดภย
ควบคมดและระบบใหมความถกตองมนคงและ สามารถทจะทำางานไดอยางถกตองไมมขอผดพลาด
ขอผดพลาดสามารถทจะเกดไดในหลายรปแบบ การโดนโจมตจากฝายนอก หรอการเกดขอผดพลาด
จากภาพ ระบบปฏบตการนนมหนาทแกปญหาตาง ๆ ทเกดขน
มาเพอใหมความถกตองและสามารถทจะทำางานไปไดอยางมประสทธภาพสงสด
System Security 5
เปาหมายของการปองกน (Goals of Protection) เกยวของกบการเพมความเชอถอใหกบระบบทยงยากซบซอน และในเรองของการแบงการเรยกใชรซอรสของแตละโปรเซส เหตผลทเหนชดทสดคอความจำาเปนในการปองกนความเสย
หายไมใหเกดขนกบระบบ เปนการสรางความมนใจใหกบโปรแกรม ไมไปใชรซอรสอนท
ระบบไมอนญาตใหใช
System Security 6
เปาหมายของการปองกน (Goals of Protection) (ตอ)
กฎของการปองกนระบบคอมพวเตอรนนจะเปนการสรางกลไก (mechanism)
เพอบงคบใหการใชรซอรสของระบบเปนไปตามขอกำาหนด (policy)
สงทเปนขอแตกตางระหวางขอกำาหนด และกลไก คอ กลไกจะเปนเรองของวธการทจะทำาใหสงใดสงหนงใหสำาเรจได
อยางไร
System Security 7
การรกษาความปลอดภยของระบบ ทพงระวงเปนอยางมาก คอการบกรกจากผไมพงประสงค
ไมวาจะมาจากความออนแอของระบบ Virus
spyware เนองจากขอมลทอยในเครองคอมพวเตอรถอวาเปนสงมคา
ไมวาจะเปน E-mail file
ขอมลสวนตว
System Security 8
พ นฐานการปองกนของระบบ การปองกนคอ พนฐานของความคดรเรมเปนสวน
ประกอบของระบบปฏบตการ การปองกนจะเกยวของกบกลไกเมอการควบคมการเขา
ถงของโปรแกรม, โปรเซส หรอผใชคนหาทรพยากรจาก ระบบคอมพวเตอร
กลไกนจะตองเตรยมพาหนะสำาหรบรายละเอยดของการควบคมเพอกำาหนดใหมการบงคบใช
แบงเปนสองลกษณะ คอการปองกน และความปลอดภย
System Security 9
พ นฐานการปองกนของระบบ (ตอ) การปองกนสวนใหญทำาไวเพอปองกนการประสงคราย
การละเมดสทธจากผใช การปองกนสามารถปรบปรงความนาเชอถอไดโดยการสบหา
ขอผดพลาดในสวนทตดตอระหวางสวนยอยของระบบ การสบหาขอผดพลาดของสวนทตดตอไวลวงหนาสามารถ
ปองกนการถกทำาลายสวนยอยในระบบได การยกเลกการปองกนทรพยากรไมสามารถยกเลกการปองกนผใชไดจะทำาไดโดยหามไมใหผใชปฏบตงานเทานน
System Security 10
ขอบเขตการปองกนของระบบ ระบบปฏบตการประกอบดวยการรวมกนของโปรเซสกบ
object แตละ Object จะมชอพเศษทแตกตางกน ไดมาจาก
Objectอน ๆ ทงหมดในระบบ และสามารถทำาการแอกเซสไดเปนอยางด
ในการปฏบตมความเปนไปไดทจะขนอยกบ Object โปรเซสควรจะถกยอมรบเพอการเขาใชทรพยากรไดถก
กำาหนดสทธใหเขาถงแคนน
System Security 11
ขอบเขตการปองกนของระบบ (ตอ)
ณ เวลาใด ๆ ทมนสามารถเขาใชทรพยากรไดถามนตองการใหเสรจสน อางถงหลกการ Need – to- Know เพอเปนประโยชนในการจำากดความเสย
หายของโปรเซสซงเปนสาเหตททำาใหระบบเสยหาย เชน ถาโดเมน D มสทธการเขาถง (file F, {read,right})
ดงนนโปรเซสจะเอกซควในโดเมน D สามารถทจะอานและเขยนไฟล F ไดเทานน
System Security 12
ขอบเขตการปองกนของระบบ (ตอ) โดเมนไมตองการทดสอบความตอเนอง
เชน เราม 3 โดเมน D1, D2, และ D3 สทธการเขาถงคอ
(O4, { Print}) เปนการแชรโดยจด D2 และ D3
โปรเซสจะเอกซคว 1 ใน 2 โดเมน สามารถสงพมพ O4 ได
System Security 13
ขอบเขตการปองกนของระบบ (ตอ)
รปแสดงขอบเขตการปองกนของระบบAccess-right = <object-name, rights-set>Rights- set is a subset of all valid operations that can be performed on the object.Domain = set of access-rights
System Security 14
ตวอยางการปองกนของระบบ UNIX
UNIX แตละโดเมนจะประกอบไปดวยผใช การเปลยนโดเมนจะทำาใหลกษณะประจำาตวของผใชเปลยน
ตามไปดวย เปนการเปลยนแบบชวคราว ซงจะเกยวของกบบต (bit) ทชอ
วา setuid bit หรอเรยกวา domain bit วธอน ๆ ทโปรแกรมระบบใชในการเปลยนโดเมนในระหวาง
การประมวลผล โดยการใช user-id เปนตวกำาหนดโดเมน
System Security 15
ตวอยางการปองกนของระบบ UNIX (ตอ)
อกทางเลอกหนงของวธนทใชในระบบปฏบตการอนคอ ใชวธของการเกบโปรแกรมทมสทธพเศษไวใน
ไดเรกทอรพเศษ โปรแกรมระบบจะทำาหนาทเปลยน user-id ใหกบ
โปรแกรมทประมวลผลทอยในไดเรกทอรพเศษน เปนการขจดปญหาในเรองของการกำาหนดสถานะของ
setuid bit ใหกบโปรแกรม โปรแกรมทงหมดจะรวมอยในทเดยวกน
วธนจะมความยดหยนนอยกวาวธทใชในระบบ UNIX
System Security 16
พ นฐานการรกษาความปลอดภยของระบบปฏบตการ เรามโครงสรางของระบบปฏบตการ และเครองมอทดใน
การสรางการปองกน งานของการปกปองขอมลในระบบปฏบตการไดรบความ
สำาคญเมอไมกปมาน คำาถามทสำาคญมากมายไดถกตงขนมา ซงการแก
ปญหาไมงายทงหมด ( หรอเปนไปได)
System Security 17
การเปลยนแปลง เมอผใชสงผาน object เปน อากวเมนตใหโพรซเดอร
มนอาจจะจำาเปนเพอทำาใหแนใจวาโพรซเดอรไมสามารถแกไขวตถได เราสามารถเพมขอจำากดนใหพรอม โดยการผานสทธทการเขาถงไมมการแกไขได
ถาขยายออก (เชน ใน Hydra ) สทธเพอแกไขอาจจะคนกลบทเดม ความตองการปองกนผใช สามารถใชอบายจำากดไดโดยทวไป
ผใชอาจจะไวใจวาโพรซเดอร ไดกระทำาหนาทของมนอยางถกตอง ไมถกตองเสมอ เพราะวาขอผดพลาดอปกรณ หรอซอฟแวร.
System Security 18
ขดจำากดของการกระจายของสทธการเขาถง
เมอผครอบครอง object ตองการยอมผใชจำานวนหนงเพอ แชรเขาถงสวตถนน
ผครอบครองอาจจะยงตองการทำาใหแนใจวา ผใชเหลานนไมสามารถกระจายสทธทเขาถงใหผใชคนอน ๆ ได
ผครอบครองสามารถทำาใหการปองกนนเสรจโดยการใชสทธการ copy
และการเปนเจาของกบ ผเปนเจาของวตถเทานน
System Security 19
ขดจำากดของการกระจายของสทธการเขาถง (ตอ)
เมอผใช A ( ซงมการอนญาตทเขาถงเพอวตถ ) อาจจะยอมผใช B ( ซงไมมการอนญาตทเขาถงเพอวตถ
นน ) เพอการเขาใชภายใตผใชชอ A และเพอเขาถง object
System Security 20
การเรยกกลบคน1. เรยกคนสทธทนทหรอเลอนการเรยกคนสทธออกไป
(Immediate versus delayed) 2. กระทบกบผใชทงหมดหรอผใชบางคน (Selective
versus general)3. เรยกคนสทธเปนบางสวนหรอเรยกคนสทธทงหมด
(Partial versus Total) การเรยกคนสทธนน จะเรยกคนสทธทงหมดทผใชคนนน
สามารถกระทำากบออปเจกต หรอเรยกคนสทธบางอยางทผใชสามารถกระทำาไดกบ
ออปเจกต
System Security 21
การเรยกกลบคน (ตอ)
เปนการเรยกคนสทธชวคราวหรอถาวร (Temporary versus Permanent)
การใชรปแบบของ ACL การเรยกคนสทธนนจะกระทำาไดงาย โดยจะทำาการคนหาสทธของการเรยกใชออปเจกตใน access list ทจะ
เรยกคนกอน จากนนกจะทำาการลบสทธนนออกจาก access list ซงการเรยกคนสทธนนจะมผลในทนททนใด
System Security 22
การเรยกกลบคน (ตอ) สวน capability list จะเปนรปแบบทกอใหเกดปญหา
ในการเรยกคนสทธของการใชงานระบบ เนองจาก capability จะกระจดกระจายอยในระบบซง
ตองหา capability ทเกยวของใหพบกอน จงจะสามารถเรยกคนสทธ ในการเขาใชงานระบบได การไดสทธคนมาอกครงหนง (Reacquisition) การลบ
capability ออกจากโดเมนนนจะมการทำาเปนระยะ ๆ
System Security 23
การเรยกกลบคน (ตอ) ถาโปรเซสตองการทจะใช capability ทไดถกลบไปแลว
จะทำาใหโปรเซสนนหา capability ไมพบ โปรเซสอาจจะทำาการพยายามทจะเรยก capability อกครง
หนง ถาโปรเซสนนไดถกเรยกคนสทธในการใชงานระบบ โปรเซสน
นกไมสามารถทจะใช capability ไดอก ทางเดนพอยเตอร (Back-pointers) แตละออปเจกตประกอบ
ดวยพอยเตอร(pointer) หลาย ๆ ตว พอยเตอรของแตละออปเจกตจะช ไปยง capability ทงหมดท
เกยวของกบออปเจกตนน
System Security 24
การเรยกกลบคน (ตอ) เมอตองการทจะเรยกคนสทธการใชงานออปเจกตใด สามารถเดนตามไปยงเสนทางเดนพอยเตอร ของ
ออปเจกตนน วธนคอนขางเปนวธทธรรมดาถง แมวาจะเปนวธทเสย
คาใชสงในการดแลรกษา โดยทางออม (Indirection) แตละ capability จะชไปท
ขอมลทไมซำ ากนในตาราง ทำาการสรางการเรยกคนสทธ โดยจะทำาการคนในตาราง
ทงหมดเพอหาขอมลทตองการ และลบขอมลนนทงไป
System Security 25
ระบบไฮดรา (Hydra) เปนระบบทใชการปองกนทเปนแบบ capability
มความยดหยนในการทำางานมาก มการกำาหนดชดคำาสงของสทธ ในการเรยกใชงานระบบ
ระบบไฮดรายงมวธการทจะใหผใชงาน สามารถกำาหนดสทธการใชงานระบบเพมเตมได
ระบบจะมกลไกในการปองกนในการใชสทธตาง ๆ ของผใชแตละคน
ระบบไฮดรานถอวาเปนระบบทมเทคโนโลยของการปองกนทมประสทธภาพมากระบบหนง
System Security 26
ระบบไฮดรา (Hydra) (ตอ) การปฏบตการทเกยวกบออปเจกตนน จะมการกำาหนด
เปนขนตอนอยางมระเบยบแบบแผน แตละโปรซเดอร (Procedure) ทประกอบไปดวยชดคำา
สงของการปฏบตการนน ถอวาเปนออปเจกตหนง และถกเรยกใชงานโดยทางออมจาก capability
สทธของการเรยกใชคำาลงปฏบตการจะเรยกวา สทธสนบสนน (auxiliary rights)
System Security 27
ระบบไฮดรา (Hydra) (ตอ) แนวความคดหนงของระบบไฮดราซงนาสนใจกคอ
การขยายสทธ (right amplification) ซงแนวความคดนจะเปนการใหการรบรองโปรซเดอรวา
เปนโปรซเดอรทไวใจได (trustworthy) อกกลไกหนงของระบบไฮดราทถกออกแบบมาเพอแก
ปญหาทเรยกวา problem of mutually suspicious subsystems
ระบบยอย ๆ ของไฮดราจะสรางอยบน kernel ของมนเองและมการปองกนตวเอง
System Security 28
ระบบไฮดรา (Hydra) (ตอ)
ระบบยอยจะทำาการตดตอกบเคอรเนล โดยจะทำาการเรยกชดคำาสงทกำาหนดไวใน kernel-defined
ในชดคำาสงนนจะเปนการกำาหนดสทธการใชงานของผใชทกำาหนดโดยระบบยอย
System Security 29
ระบบเคมบรดจ (Cambridge CAP System) มกลไกการปองกนแบบ capability มประสทธภาพในการทำางานนอยกวาระบบไฮดรา จะแบง capability ออกเปน 2 ประเภท data capability ใชสำาหรบกำาหนดสทธของการใชงานออปเจกต
System Security 30
ระบบเคมบรดจ (Cambridge CAP System) (ตอ)
แตสทธการใชงานออปเจกตจะเปนการอาน, เขยน หรอเอกซควตกบหนวยความจำาทกำาหนดไวใหสำาหรบ
ใชสวนตวเทานน software capability
จะถกปองกนโดย CAP ไมโครโคด(CAP microcode) และจะถกแปลโดยเมอโปรซเดอรนถกประมวลผล โปรซเดอรนนจะมสทธชวคราวในการอานหรอเขยน
ขอมลทอยใน software capability
System Security 31
ขอบเขต การเตรยมสทธ การ copy และการครอบครองกบกลไก
ใหจำากดการกระจายของสทธ ไมไดตระเตรยมเครองมอจดสรรสำาหรบการปองกน
การกระจายของขอมล (สงนนคอการเปดเผยของขอมล)
ปญหาของการรบรองนน ไมมขอมลการยดครองขน object สามารถยายออกไปอยภายนอกของการเอกซคว
ถกเรยกวาปญหาขอบเขต
System Security 32
การอนญาตใชงาน
เราจะเตรยมการเขาถงทคอนโทรล การเขยนโปรแกรมขอมลทตงอยในระบบคอมพวเตอรไดอยางไร?
ซงระบบการปองกนภายในจะไมเปนประโยชน ถาผดแลคอลโซลถกเปดเผย
ปญหาความปลอดภยเหลานคอการจดการอยางจำาเปน ซงทำาใหระบบปฏบตการไมเกดปญหา
System Security 33
การอนญาตใชงาน (ตอ) โดยทวไปการรบรองเปนพ นฐาน บนการรวมเขาดวยกนของ
3 ชดของวตถ ความครอบครองผใช (คย หรอ การด) ความรผใช (ผคนหาผใชและรหสผาน)
และลกษณะผใช (แสกนลายมอ,แสกนมานตา หรอ ลายเซน) การเรมตนสวนใหญใหรบรองชอผใช คอการใชของรหสผานผใช
System Security 34
การอนญาตใชงาน (ตอ) รหสผานสวนใหญถกใช เพอปองกนออบเจคในระบบ
คอมพวเตอร เมอไรกตามทความตองการถกทำาเพอใชทรพยากร ตองใชรหส
ผาน รหสผานทแตกตางอาจจะถกเกยวของกบสทธทเขาถงทแตกตาง ปญหากบรหสผานเกยวเนองกนเพอ ความยากของการเกบความ
ลบรหสผาน รหสผานสามารถถกใชจากผใชอน ๆโดยการถกเดาหรอนำาออก
แสดงอยางเหตโดยบงเอญ