วันพฤหัสบดีที่ 10 ธันวาคม พ.ศ. 2552

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

ประเภทของไวรัส

ประเภทของไวรัส บูตเซกเตอร์ไวรัส Boot Sector Viruses หรือ Boot Infector Viruses คือไวรัสที่เก็บตัวเองอยู่ในบูตเซกเตอร์ ของดิสก์ การใช้งานของบูตเซกเตอร์คือ เมื่อเครื่องคอมพิวเตอร์เริ่มทำงานขึ้นมาตอนแรก เครื่อง จะเข้าไปอ่านบูตเซกเตอร์ โดยในบูตเซกเตอร์จะมีโปรแกรมเล็ก ๆ ไว้ใช้ในการเรียกระบบปฎิบัติการขึ้นมาทำงานอีกทีหนึ่ง บูตเซกเตอร์ไวรัสจะเข้าไปแทนที่โปรแกรมดังกล่าว และไวรัส ประเภทนี้ถ้าไปติดอยู่ในฮาร์ดดิสก์ โดยทั่วไป จะเข้าไปอยู่บริเวณที่เรียกว่า Master Boot Sector หรือ Parition Table ของฮาร์ดดิสก์นั้น ถ้าบูตเซกเตอร์ของดิสก์ใดมีไวรัสประเภทนี้ติดอยู่ ทุก ๆ ครั้งที่บูตเครื่องขึ้นมาโดย พยายามเรียก ดอสจากดิสก์นี้ ตัวโปรแกรมไวรัสจะทำงานก่อนและจะเข้าไปฝังตัวอยู่ใน หน่วยความจำเพื่อเตรียมพร้อมที่ จะทำงานตามที่ได้ถูกโปรแกรมมา แล้วตัวไวรัสจึงค่อยไปเรียกดอสให้ขึ้นมาทำงานต่อไป ทำให้เหมือนไม่มีอะไรเกิดขึ้น โปรแกรมไวรัส Program Viruses หรือ File Intector Viruses เป็นไวรัสอีกประเภทหนึ่งที่จะติดอยู่กับโปรแกรม ซึ่งปกติก็คือ ไฟล์ที่มีนามสกุลเป็น COM หรือ EXE และบางไวรัสสามารถเข้า ไปติดอยู่ในโปรแกรมที่มีนามสกุลเป็น sys และโปรแกรมประเภท Overlay Programsได้ด้วย โปรแกรมโอเวอร์เลย์ปกติจะเป็นไฟล์ที่มีนามสกุลที่ขึ้นต้นด้วย OV วิธีการที่ไวรัสใช้เพื่อที่จะ เข้าไปติดโปรแกรมมีอยู่สองวิธี คือ การแทรกตัวเองเข้าไปอยู่ในโปรแกรมผลก็คือหลังจากท ี่ โปรแกรมนั้นติดไวรัสไปแล้ว ขนาดของโปรแกรมจะใหญ่ขึ้น หรืออาจมีการสำเนาตัวเองเข้าไปทับส่วนของโปรแกรมที่มีอยู่เดิมดังนั้นขนาดของโปรแกรมจะไม่เปลี่ยนและยากที่ จะซ่อมให้กลับเป็นดังเดิม การทำงานของไวรัส โดยทั่วไป คือ เมื่อมีการเรียกโปรแกรมที่ติดไวรัส ส่วนของไวรัสจะทำงานก่อนและจะถือโอกาสนี้ฝังตัวเข้าไปอยู่ในหน่วยความจำทันทีแล้วจึงค่อยให้ โปรแกรมนั้นทำงานตามปกติต่อไป เมื่อไวรัสเข้าไปฝังตัวอยู่ในหน่วยความจำแล้ว หลัง จากนี้ไปถ้ามีการเรียกโปรแกรมอื่น ๆ ขึ้นมาทำงานต่อ ตัวไวรัสก็จะสำเนาตัวเองเข้าไป ในโปรแกรมเหล่านี้ทันที เป็นการแพร่ระบาดต่อไป วิธีการแพร่ระบาดของโปรแกรม ไวรัสอีกแบบหนึ่งคือ เมื่อมีการเรียกโปรแกรมที่มีไวรัสติดอยู่ ตัวไวรัสจะเข้าไปหาโปรแกรมอื่น ๆ ที่อยู่ในดิสก์เพื่อทำสำเนาตัวเองลงไปทันทีแล้วจึงค่อยให้โปรแกรมที่ถูกเรียก นั้นทำงานตามปกติต่อไป ม้าโทรจัน ม้าโทรจัน (Trojan Horse) เป็นโปรแกรมที่ถูกเขียนขึ้นมาให้ทำตัวเหมือนว่าเป็น โปรแกรมธรรมดาทั่ว ๆ ไป เพื่อหลอกล่อผู้ใช้ให้ทำการเรียกขึ้นมาทำงาน แต่เมื่อ ถูกเรียกขึ้นมาแล้ว ก็จะเริ่มทำลายตามที่โปรแกรมมาทันที ม้าโทรจันบางตัวถูกเขียนขึ้นมาใหม่ทั้ง ชุด โดยคนเขียนจะทำการตั้งชื่อโปรแกรมพร้อมชื่อรุ่นและคำอธิบายการใช้งานที่ดูสมจริง เพื่อหลอกให้คนที่จะเรียกใช้ตายใจ จุดประสงค์ของคนเขียนม้าโทรจันอาจจะเช่นเดียวกับคนเขียนไวรัส คือ เข้าไปทำ อันตรายต่อข้อมูลที่มีอยู่ในเครื่อง หรืออาจมีจุดประสงค์เพื่อที่จะล้วงเอาความลับของระบบ คอมพิวเตอร์ ม้าโทรจันนี้อาจจะถือว่าไม่ใช่ไวรัส เพราะเป็นโปรแกรมที่ถูกเขียนขึ้นมาโดด ๆ และจะไม่มีการเข้าไปติดในโปรแกรมอื่นเพื่อสำเนาตัวเอง แต่จะใช้ความรู้เท่าไม่ถึงการณ์ของ ผู้ใช้เป็นตัวแพร่ระบาดซอฟต์แวร์ที่มีม้าโทรจันอยู่ในนั้นและนับว่าเป็นหนึ่งในประเภทของโปรแกรม ที่มีความอันตรายสูง เพราะยากที่จะตรวจสอบและสร้างขึ้นมาได้ง่าย ซึ่งอาจใช้แค่แบตซ์ไฟล์ก็สามารถโปรแกรมประเภทม้าโทรจันได้ โพลีมอร์ฟิกไวรัส Polymorphic Viruses เป็นชื่อที่ใช้ในการเรียกไวรัสที่มีความสามารถในการแปรเปลี่ยนตัวเอง ได้เมื่อมีสร้างสำเนาตัวเองเกิดขึ้น ซึ่งอาจได้หถึงหลายร้อยรูปแบบ ผลก็คือ ทำให้ไวรัสเหล่านี้ยากต่อการถูกตรวจจับ โดยโปรแกรมตรวจหาไวรัสที่ใช้วิธีการสแกนอย่างเดียว ไวรัสใหม่ ๆ ในปัจจุบันที่มีความสามารถนี้เริ่มมีจำนวนเพิ่มมากขึ้นเรื่อย ๆ สทีลต์ไวรัส Stealth Viruses เป็นชื่อเรียกไวรัสที่มีความสามารถในการพรางตัวต่อการตรวจจับได้ เช่น ไฟล์อินเฟกเตอร์ ไวรัสประเภทที่ไปติดโปรแกรมใดแล้วจะทำให้ขนาดของ โปรแกรมนั้นใหญ่ขึ้น ถ้าโปรแกรมไวรัสนั้นเป็นแบบสทีลต์ไวรัส จะไม่สามารถตรวจดูขนาดที่แท้จริง ของโปรแกรมที่เพิ่มขึ้นได้ เนื่องจากตัว ไวรัสจะเข้าไปควบคุมดอส เมื่อมีการใช้คำสั่ง DIR หรือโปรแกรมใดก็ตามเพื่อตรวจดูขนาดของโปรแกรม ดอสก็จะแสดงขนาดเหมือนเดิม ทุกอย่างราวกับว่าไม่มีอะไรเกิดขึ้นหนอนหนอน (Worm) เป็นรูปแบบหนึ่งของไวรัส มีความสามารถในการทำลายระบบในเครื่องคอมพิวเตอร์สูงที่สุดในบรรดาไวรัสทั้งหมด สามารถกระจายตัวได้รวดเร็ว ผ่านทางระบบอินเทอร์เน็ต ซึ่งสาเหตุที่เรียกว่าหนอนนั้น คงจะเป็นลักษณะของการกระจายและทำลาย ที่คล้ายกับหนอนกินผลไม้ ที่สามารถกระจายตัวได้มากมาย รวดเร็ว และเมื่อยิ่งเพิ่มจำนวนมากขึ้น ระดับการทำลายล้างยิ่งสูงขึ้น

ระบบรักษาความปลอดภัยคอมพิวเตอร์

ระบบรักษาความปลอดภัยของคอมพิวเตอร์ระบบรักษาความปลอดภัยของคอมพิวเตอร์ นั้นเปรียบเสมือนกับกุญแจประตูเข้าบ้าน สำหรับป้องกันขโมย โดยกุญแจของคอมพิวเตอร์ จะใช้รหัสผ่าน(Password) เป็นมือป้องกันรักษาความปลอดภัย ดังนั้นใครที่รู้รหัสผ่าน ซึ่งตามปกติมักจะตั้งไว้เป็นตัวอักษร ตัวเลขหรือสัญญลักษณ์ ก็จะสามารถผ่านเข้าไปใช้งาน หรือใช้ข้อมูลในคอมพิวเตอร์นั้นได้ แต่เนื่องจากคอมพิวเตอร์ยังไม่สามารถแยกแยะได้ว่า คนที่มีรหัสผ่านนั้น เป็นเจ้าของคอมพิวเตอร์หรือไม่ ดังนั้น ใครก็ตาม ที่บอกรหัสผ่านถูกต้อง ก็จะสามารถเข้าไปใช้คอมพิวเตอร์นั้นได้ทุกคน ซึ่งจุดอ่อนของคอมพิวเตอร์ตรงนี้เอง จึงมีผลทำให้เกิดแฮกเกอร์ หรือนักเจาะระบบเครือข่ายคอมพิวเตอร์เกิดขึ้นมากมาย ดังนั้น เพื่อป้องกันการแฮก หรือเจาระบบคอมพิวเตอร์ จึงมีการคิดค้นวิธีการตั้งรหัสผ่านมากมาย เพื่อรักษาความปลอดภัยอย่างเข้มแข็ง จะพบได้ว่าระบบรักษาความปลอดภัย ของเครือข่ายคอมพิวเตอร์บางแห่ง มีการตั้งรหัสผ่าน ได้อย่างสลับซับซ้อน จนยากแก่การเจาะระบบของบรรดาแฮกเกอร์ทั้งหลาย แต่จากความฉลาด และความสามารถของคอมพิวเตอร์ในปัจจุบัน ทำให้คอมพิวเตอร์เองสามารถที่จะถอดรหัสผ่าน ได้ไม่ยากนัก ดังนั้นคอมพิวเตอร์ที่มีประสิทธิภาพสูง จึงถือว่าเป็นเหมือนดาบสองคม เพราะตัวคอมพิวเตอร์เอง ก็มีความสามารถในการถอดรหัสผ่านได้เหมือนกัน โดยมีโปรแกรมที่สามารถจะค้นหา และแยกแยะรหัสผ่าน ได้ซึ่งจะบอกให้เราได้รู้ถึง รหัสผ่านคอมพิวเตอร์อีกเครื่องหนึ่งได้ในเวลาอันรวดเร็ว การถอดรหัสผ่านห รือการเจาะระบบป้องกันรักษา ความปลอดภัยนั้น ทำได้กับหลายกิจการ ไม่ใช่เฉพาะเครือข่ายคอมพิวเตอร์เท่านั้น รหัสเครื่องโทรศัพท์เคลื่อนที่ หรือถอดรหัสการใช้โทรศัพท์ทางไกลระหว่างประเทศ ถอดรหัสการใช้โปรแกรมคอมพิวเตอร์ราคาแพง ถอดรหัสการเข้าเว็บไซต์ต่าง ๆ ได้โดยไม่ต้องเสียเงิน ซึ่งวิธีการถอดรหัสนั้น ได้มาจากหลากหลายวิธีด้วยกัน อย่างไรก็ตาม การเข้าไปเจาะระบบคอมพิวเตอร์ของผู้อื่น หรือการเข้าล้วงข้อมูลของผู้อื่นนั้น ถือว่าเป็นการกระทำที่ผิดกฎหมาย ระบบรักษาความปลอดภัยของคอมพิวเตอร์ลูกข่ายการรักษาความปลอดภัยบนระบบปฏิบัติการ LINUX เริ่มจากความปลอดภัยของเครื่องคอมพิวเตอร์ลูกข่ายหรือเวิร์กสเตชัน (Workstation) เนื่องจากความปลอดภัยของระบบเครือข่ายในองค์กรเริ่มจากคอมพิวเตอร์เพียงเครื ่องเดียวที่มีปัญหาเรื่องความปลอดภัย จนเป็นช่องโหว่ที่ทำให้เกิดความเสียหายได้การประเมินความปลอดภัยของเวิร์กสเตชันเมื่อใดที่ท่านพิจารณาความปลอดภัยของเวิร์กสเตชันให้พิจารณาประเด็นสำคัญต่อไปนี้*ความปลอดภัยของ BIOS และ Boot Loader : ตรวจสอบให้แน่ใจว่าเวิร์กสเตชันปลอดภัยจากผู้ไม่มีสิทธิ์ที่จะเข้ามาใช้งานในทางกายภาพ และไม่สามารถบูตเข้าสู่โหมด Single User หรือโหมดที่เรียกว่า Rescue Mode โดยไม่มีรหัสผ่านหรือพาสเวิร์ด (Password)*ความปลอดภัยเกี่ยวกับรหัสผ่าน : ตรวจสอบให้แน่ใจว่ารหัสผ่านหรือพาสเวิร์ดของผู้ใช้งานมีความรัดกุมมากเพียงพอ*ขอบข่ายของการควบคุม : ตรวจสอบสิทธิ์ของผู้ใช้งานบนเครือข่าย ทั้งผู้ใช้งานที่มีสิทธิ์จำกัด รวมทั้งท่านที่มีเอกสิทธิ์ทั้งหลาย โดยตรวจสอบสิทธิ์การใช้งานทรัพยากรบนเครื่องหรือเครือข่ายให้รัดกุมที่สุด*การตรวจสอบการให้บริการเครือข่ายบนเครื่อง : ตรวจสอบให้แน่ใจในขณะเครื่องกำลังทำงานอยู่ โดยตรวจสอบว่ามีบริการของเครือข่ายใดบ้างที่เครื่องของท่านกำลังรอคอยการให้บริการจากเครือข่าย โดยที่การรอคอยบริการจากเครือข่ายเหล่านี้มีความจำเป็นต้องใช้ทั้งหมดหรือไม่?*ตรวจสอบไฟร์วอลล์ (Firewall) ที่ติดตั้งบนเวิร์กสเตชัน : ประเภทของไฟร์วอลล์ที่ใช้ รวมทั้งความจำเป็นที่จะต้องใช้*ตรวจสอบเครื่องมือในรูปแบบของซอฟต์แวร์สำหรับสื่อสารกับเครื่องอื่น ๆ บนเครือข่ายความปลอดภัยของ BIOS และ Boot Loaderการติดตั้งรหัสผ่านให้กับ BIOS รวมทั้ง Boot Loader จะช่วยให้สามารถป้องกันการเข้ามาใช้งานเวิร์กสเตชันของท่านโดยไม่ได้รับอนุญาต การติดตั้งรหัสผ่านให้กับ BIOS หลังจากที่ท่านได้ปิดการใช้งานอุปกรณ์บางอย่างบนเวิร์กสเตชันจะสามารถช่วยให้ป้องกันการก๊อบปี้แฟ้มข้อมูล รวมทั้งป้องกันมิให้ผู้ประสงค์ร้ายจัดตั้งค่า BIOS ให้มีการบูตระบบจากฟลอปปี้ดิสก์หรือซีดีรอม ซึ่งจะทำให้สามารถแฮก (Hack) เข้าสู่ระบบได้การติดตั้งรหัสผ่านให้กับ BIOSต่อไปนี้เป็นเหตุผลหลักที่ท่านจะต้องพิจารณาใส่รหัสผ่านให้กับ BIOS1. ป้องกันมิให้ผู้อื่นสามารถตั้งค่า Configure ใน BIOS : หากสามารถตั้งค่า BIOS ได้ จะทำให้มีการบูตจากฟลอปปี้ดิสก์ ซึ่งเป็นวิธีหนึ่งที่เข้าสู่ Rescue Mode หรือ Single User Mode และเมื่อเข้าสู่โหมดนี้ได้แล้ว จะสามารถส่งโปรแกรมที่ทำอันตรายเข้าไปในระบบ รวมทั้งสามารถทำสำเนาข้อมูลข่าวสารอันมีค่าของท่านได้ ท่านจะต้องใส่รหัสผ่านหลังจากที่ท่านได้จัดตั้งค่า BIOS ดังต่อไปนี้*Disable Floppy Disk Drive*ปิดพอร์ต Serial ทั้ง Com1 และ Com2*ปิดพอร์ต USB ด้วยการ Disable On-Board USB Devices*ปิดพอร์ต Parallel โดยการ Disableรหัสผ่านที่ท่านใส่อาจต้องมีถึง 2 ชั้น โดยชั้นแรกเป็นรหัสผ่านสำหรับเซตอัป CMOS ส่วนรหัสผ่านอีกชั้นหนึ่งเป็นรหัสผ่านที่จะต้องใส่ก่อนที่จะบูตฮาร์ดดิสก์หมายเหตุการปิดพอร์ตต่าง ๆ เหล่านี้ทำในกรณีที่ท่านคิดว่าจะไม่ใช้งานเครื่องสักระยะหนึ่ง หรือต้องการป้องกันเครื่องในยามคับขัน อย่างไรก็ดีรหัสผ่านของ BIOS ไม่ใช่วิธีการที่ป้องกันได้เด็ดขาด เนื่องจากผู้ไม่ประสงค์ดีสามารถถอดแบตเตอรี่หรือตั้งจั๊มเปอร์ (Jumper) เพื่อให้ข้อมูลข่าวสาร เช่น รหัสผ่านของ BIOS สูญหายไปได้ ทางที่ดีใช้โปรแกรมเข้ารหัสแฟ้มข้อมูลจะดีกว่า เนื่องจากหากใครก๊อบปี้ไปก็ไม่สามารถเปิดดูได้หากไม่มีรหัสผ่านที่ป้องกันมาอย่างดีเหล่านี้2. ป้องกันการบูตระบบ : การใส่รหัสผ่านที่ BIOS ยังสามารถป้องกันการบูตระบบได้ โดยที่ผู้ใช้งานจะต้องใส่รหัสผ่านเสียก่อน จึงจะบูตระบบปฏิบัติการได้การใส่รหัสผ่านให้กับ Boot Loaderต่อไปนี้เป็นเหตุผลสำคัญที่ท่านจะต้องพิจารณาใส่รหัสผ่านเพื่อป้องกัน LINUX Boot Loader1. ป้องกันมิให้สามารถ Access เข้าสู่ Single User Mode : หากผู้ไม่ประสงค์ดีสามารถบูตเข้าสู่ Single Mode ได้ เขาจะสามารถเป็นผู้ใช้ในระดับ Root ได้2. ป้องกันมิให้สามารถ Access เข้าสู่ GRUB Console : ถ้าเครื่องของท่านใช้ GRUB เป็น Boot Loader ผู้ไม่ประสงค์ดีจะสามารถใช้ GRUB Editor เพื่อเปลี่ยนค่า Configuration หรือรวบรวมข้อมูลข่าวสารเกี่ยวกับค่า Configuration บนเครื่องจากคำสั่ง cat3. ป้องกันมิให้มีการ Access เข้ามาที่เครื่องโดยระบบปฏิบัติการที่ไม่มีความปลอดภัยที่เพียงพอปกติ Boot Loader ที่มากับ LINUX สำหรับทำงานบนเครื่องพีซีที่ใช้ซีพียูตระกูล x86 จะมีอยู่ 2 รายการ ได้แก่ GRUB และ LILO (รายะเอียดเกี่ยวกับการทำงานของ Boot loader แต่ละตัวให้ดูจาก Red Hat Reference Guideการใช้รหัสผ่านเพื่อปกป้อง GRUBท่านสามารถจัด Configure เพื่อใส่รหัสผ่านให้กับ GRUB ใน Configuration Files ได้ ประการแรกให้กำหนดรหัสผ่านที่ต้องการ จากนั้นเปิด Shell Prompt แล้ว Login เข้าไปด้วย Root ก่อนที่จะพิมพ์ข้อความดังนี้/sbin/grub-md5-cryptเมื่อหน้าจอปรากฏ Prompt เพื่อให้ท่านใส่รหัสผ่านบนหน้าจอ ให้ท่านใส่ชื่อรหัสผ่านลงไป จากนั้นกดปุ่ม Enter จะปรากฏข้อความดังนี้password: xxxxxxxx < ----- ใส่รหัสผ่าน$1$bv0350$PZHL35jVyF01a5eL02R7V/ < ----- ค่าที่เครื่องสร้างขึ้นมาหลังจากใส่รหัสผ่านต่อไปให้แก้ไข GRUB Configuration Files ที่มีชื่อว่า /boot/grub/grub.conf ให้เปิดไฟล์ จากนั้นเลื่อนไปใต้บรรทัดที่มีข้อความว่า Time-out = จากนั้นแทรกข้อความต่อไปนี้ลงไปPassword --md5 ให้เปลี่ยน เป็นค่าที่เครื่องคอมพิวเตอร์สร้างขึ้นหลังจากที่ใส่รหัสผ่านใน /sbin/grub-md5-cryptครั้งต่อไปที่ท่านบูตระบบขึ้นมา ที่เมนูของ GRUB จะไม่ยอมให้ท่านสามารถ Access เข้าตัว Editor หรือคำสั่งโดยไม่กดปุ่ม "p" จากนั้นตามด้วยรหัสผ่านของท่านเองเสียก่อนอย่างไรก็ดีวิธีนี้ก็ยังไม่สามารถป้องกันการบูตเข้าสู่ระบบปฏิบัติการที่ไม่ปลอดภัยสำหรับฮาร์ดดิสก์ที่เป็นระบบ Multi-Boot ดังนั้นเพื่อให้การป้องกันมีความสมบูรณ์ยิ่งขึ้น ดังนั้นท่านจะต้องแก้ไขบางส่วนในไฟล์ /boot/grub/grub.confหมายเหตุGRUB ยอมรับรหัสผ่านที่มีรูปแบบอักษรเปล่า ๆ ไม่ต้องเข้ารหัส อย่างไรก็ดีเพื่อป้องกันปัญหาที่อาจเกิดขึ้นควรเลือกใช้ MD5 ซึ่งเป็นการเข้ารหัสจะดีกว่าภายใน /boot/grub/grub.conf ให้ท่านมองบรรทัดที่เป็นไตเติล (Title) ของระบบปฏิบัติการที่ไม่ปลอดภัย จากนั้นเพิ่มบรรทัดที่มีคำว่า lock เข้าไปใต้บรรทัดนั้น ตัวอย่างเช่นTitle DOSLockระบบปฏิบัติการที่ไม่ปลอดภัยในที่นี้หมายถึงระบบปฏิบัติการ DOS ซึ่งขณะที่จะบูตท่านสามารถเลือกบูตจาก DOS หรือ LINUX โดยตรงบนฮาร์ดดิสก์แบบ Multi-Bootข้อควรระวังท่านควรจะต้องมีบรรทัดที่เป็นรหัสผ่านอยู่ภายใน /boot/grub/grub.conf เพื่อให้การทำงานเป็นไปตามปกติ มิเช่นนั้นผู้ประสงค์ร้ายสามารถ Access เข้าไปที่ GRUB Editor Interface เพื่อนำบรรทัดที่มีข้อความว่า Lock ออกไปได้หากท่านต้องการที่จะมีรหัสผ่านสำหรับ Kernel หรือระบบปฏิบัติการเป็นการเฉพาะ ให้เพิ่มคำว่า Lock เข้าไปที่ Stanza จากนั้นตามด้วยบรรทัดที่เป็นรหัสผ่านในแต่ละ Stanza ที่ท่านต้องการมีรหัสผ่านเป็นการเฉพาะเพื่อป้องกัน ท่านจะต้องกำหนดรหัสผ่านให้เป็นไปในรูปแบบดังต่อไปนี้Title DOSLockPassword -md5 อีกเรื่องหนึ่งที่ต้องตระหนักคือข้อความที่อยู่ภายใน /boot/grup/grup.conf ปกติจะมีข้อความที่สามารถอ่านได้ทันที ดังนั้นเป็นเรื่องที่ดีถ้าท่านจะเปลี่ยนแปลงสักนิดเพื่อป้องกัน โดยไม่ทำให้การทำงานของไฟล์นี้เปลี่ยนแปลง ท่านจะต้องกำหนดด้วยคำสั่งดังนี้cmod 600 /boot/grub/grub.confการติดตั้งรหัสผ่านให้กับ LILOLILO เป็น Boot Loader ที่เรียบง่ายกว่า GRUB และไม่มี Command Interface ดังนั้นท่านไม่ต้องกังวลใจว่าผู้โจมตีจะสามารถ Access เข้าไปที่ระบบก่อนที่จะโหลด Kernel เสร็จ อย่างไรก็ดี LILO มีจุดอ่อนที่ผู้โจมตีสามารถบูตเข้าสู่โหมด Single User หรือบูตที่ระบบปฏิบัติการที่ไม่มีความปลอดภัยได้ท่านสามารถกำหนดให้ LILO จะต้องสอบถามหารหัสผ่านทุกครั้งก่อนที่จะบูตระบบปฏิบัติการรวมทั้ง Kernel ได้โดยการเพิ่มรหัสผ่านเข้าไปที่ส่วน Global ของ Configuration Files ของมัน วิธีการปฏิบัติคือให้ไปที่ Shell Prompt แล้ว Login ด้วย Root จากนั้นให้แก้ไขไฟล์ที่ชื่อ /etc/lilo.conf โดยใส่รหัสผ่านไว้ที่บริเวณก่อนหน้า image Stanza โดยรหัสผ่านที่ใส่มีลักษณะดังนี้Password= < -----------ใส่ชื่อรหัสผ่านที่ท่านต้องการจะใช้งานหมายเหตุทุกครั้งที่ท่านแก้ไขข้อความใน /etc/lilo.conf ท่านจะต้องรันคำสั่ง /sbin/lilo -v เพื่อให้การเปลี่ยนค่าใน /etc/lilo.conf นั้นมีผลในทางปฏิบัติเช่นเดียวกับ /boot/grub/grub.conf และ Lilo.conf เป็นไฟล์ที่สามารถเปิดอ่านได้ เป็นข้อความชัดเจน หากท่านต้องการป้องกัน LILO ด้วยรหัสผ่าน ท่านควรอนุญาตให้ Root สามารถอ่าน รวมทั้งสามารถ Edit ได้เพียงผู้เดียว และเนื่องจากรหัสผ่านอาจเป็นแบบอักษรเปล่า ดังนั้นท่านสามารถกำหนดรหัสผ่านที่มีการเข้ารหัสดังนี้cmod 600 /etc/lilo.confการติดตั้ง LILO ส่วนใหญ่จะใช้ Configuration Files ดังต่อไปนี้boot = /dev/hda # or your root partitiondelay = 10 # delay, in tenth of a second (so you can interact)vga = 0 # optional. Use "vga=1" to get 80x50#linear # try "linear" in case of geometry problems.image = /boot/vmlinux # your zImage fileroot = /dev/hda1 # your root partitionlabel = Linux # or any fancy nameread-only # mount root read-onlyother = /dev/hda4 # your dos partition, if anytable = /dev/hda # the current partition tablelabel = dos # or any non-fancy name

การเข้าระหัส

การเข้ารหัส (encryption)การเข้ารหัส (encryption) คือ การเปลี่ยนข้อความที่สามารถอ่านได้ (plain text) ไปเป็นข้อความที่ไม่สามารถอ่านได้ (cipher text) เพื่อเหตุผลด้านความปลอดภัย ปัจจุบันการเข้ารหัสมี 2 รูปแบบคือประโยชน์ของการเข้ารหัสการเข้ารหัสนั้น นอกจากเป็นการทำให้ข้อมูลถูกสับเปลี่ยนเพื่อไม่ให้ผู้อื่นสามารถเข้าใจ และใช้ประโยชน์จากข้อมูลนั้นได้แล้ว การเข้ารหัสยังมีประโยชน์ในด้านอื่นๆ อีก เช่น สามารถนำมาประยุกต์ใช้ในการตรวจสอบว่าผู้ที่กำลังใช้เครือข่ายคอมพิวเตอร์ หรือทำรายการบนเว็บเพจเป็นผู้ที่เราต้องการติดต่อจริง ไม่ใช่ผู้อื่นที่แอบอ้างเข้ามาใช้ระบบ นอกจากนี้ยังสามารถนำไปใช้เป็นลายเซ็นดิจิตอลในการระบุ หรือยืนยันว่าอีเมล์หรือแฟ้มข้อมูลที่ส่งไปให้ผู้อื่นนั้นมาจากเราจริงๆ ได้อีกด้วยวิธีการเข้ารหัสมีความสำคัญต่อ 3 ส่วนหลักของระบบการค้าทางอิเล็กทรอนิกส์ คือ 1. ระบบตรวจสอบว่าเป็นเอกสารจริง (Authentication) 2. การพิสูจน์หลักฐานว่าได้กระทำการรายการจริง (Non-Repudiation) 3. การรักษาสิทธิส่วนตัว (Privacy) นอกจากนี้การเข้ารหัสยังนำไปใช้ในการตรวจสอบการแสดงตัว (Identification) ซึ่งอยู่ในการทำ Authentication โดยใช้พิสูจน์ว่าคนที่ส่งหรือรับข้อมูลนั้นเป็นบุคคลที่เขาอ้างตัวจริงๆ และยังสามารถตรวจสอบไปอีกขั้นว่าข้อมูลที่ส่งมานั้นได้ถูกดัดแปลงโดยผู้อื่นก่อนถึงมือเราหรือไม่สำหรับในเรื่องของการพิสูจน์หลักฐานว่าได้กระทำรายการจริง (Non-Repudiation) จะมีความสำคัญอย่างมากต่อการทำรายการทางธุรกิจ เนื่องจากจะใช้เป็นหลักฐานป้องกันการปฏิเสธในภายหลังว่าไม่ได้เป็นผู้ส่ง / รับ แฟ้มข้อมูล หรือไม่ได้ทำรายการทางธุรกิจนั้นๆการเข้ารหัสแบบสมมาตรการเข้ารหัสแบบสมมาตรจะใช้กุญแจตัวเดียวกันสำหรับการเข้าและถอดรหัส อัลกอริทึมที่ได้รับความนิยมได้แก่ DES, AES, IDEAยกตัวอย่างการเข้ารหัสของ Caesar cipher (รหัสของซีซาร์) เช่น ต้องการเข้ารหัสคำว่า CAT โดยมีคีย์คือ 3 วิธีเข้ารหัสทำได้โดย นับขึ้นไป 3 ตัวอักษร ดังนั้นC กลายเป็น D E F A กลายเป็น B C D T กลายเป็น U V W ผลลัพธ์จากการเข้ารหัสคือ คำว่า FDW เมื่อจะถอดรหัส ก็ให้นับย้อนกลับ 3 ตัวอักษรF กลายเป็น E D C D กลายเป็น C B A W กลายเป็น V U T ได้ผลลัพธ์จากการถอดรหัสคือ CAT เหมือนเดิม ซึ่งจะเห็นได้ว่าคีย์ที่ใช้เข้าและถอดรหัสคือ 3 เหมือนกันการเข้ารหัสแบบอสมมาตรการเข้ารหัสแบบอสมมาตรจะใช้กุญแจตัวหนึ่งสำหรับการเข้ารหัส และกุญแจอีกตัวหนึ่งสำหรับการถอดรหัส กุญแจที่ใช้เข้ารหัสเป็นกุญแจที่เปิดเผยสู่สาธารณชน นั่นคือใครๆก็สามารถใช้กุญแจนี้เพื่อเข้ารหัสได้ แต่ถ้าการถอดรหัสจะต้องใช้กุญแจอีกดอกหนึ่งที่ไม่เปิดเผย อัลกอริทึมที่ได้รับความนิยมได้แก่ RSAตัวอย่าง ให้นึกถึงหน้าปัดนาฬิกาที่มีเลข 12 ตัวเรียงกันเป็นวงกลม ต้องการส่งเลข 4 ไปให้เพื่อนโดยการเข้ารหัสโดยใช้คีย์เท่ากับ 7ให้นับตามเข็มนาฬิกาไป 7 ครั้ง -- จาก 4 นับ 5, 6, 7, 8, 9, 10, 1111 คือเลขที่ถูกเข้ารหัสแล้วเมื่อต้องการถอดรหัส ให้นำ 11 มานับตามเข็มนาฬิกา 5 ครั้ง -- จาก 11 นับ 12, 1, 2, 3, 4ก็จะได้เลข 4 กลับมาเหมือนเดิม ซึ่งคีย์ในที่นี้คือ 7 และ 5 นั่นเอง มีความสัมพันธ์กันคือ 7+5 = 12 ตามจำนวนตัวเลขในนาฬิกาเขียนแบบคณิตศาสตร์plain text = 4เข้ารหัสเลข4 ด้วยคีย์ตัวแรกคือ 7 ได้แก่ 4+7 mod 12 = 11คำนวณคีย์อีกตัว คือ 12 - 7 = 5 ถอดรหัสเลข11 ด้วยคีย์ตัวที่สองคือ 5 ได้แก่ 11+5 mod 12 = 4การเข้ารหัสข้อมูลมีจุดประสงค์เพื่อรักษาความลับของข้อมูล ข้อมูลนั้นจะถูกเปิดอ่านโดยบุคคลที่ได้รับอนุญาตเท่านั้น หลักการของการเข้ารหัสข้อมูลคือแปลงข้อมูล (encrypt) ไปอยู่ในรูปของข้อมูลที่ไม่สามารถอ่านได้โดยตรง ข้อมูลจะถูกถอดกลับด้วยกระบวนการถอดรหัส (decryption) ดังรูปที่ 1ข้อมูลที่สามารถอ่านได้ เรียกว่า plain text หรือ clear text ข้อมูลที่เข้ารหัสแล้วเราเรียกว่า cipher text ข้อมูลเมื่อเสร็จสิ้นการเข้ารหัสแล้ว ผลที่ได้ก็คือ cipher text ในการอ่านข้อความ cipher text นั้น การเข้ารหัสแบ่งออกเป็น 2 ประเภทใหญ่ๆคือ 1. Symmetric Cryptography (Secret key) หรือบางทีอาจเรียกว่า Single-key algorithm หรือ one-key algorithm คือ การเข้ารหัสและถอดรหัสโดยใช้กุญแจรหัสตัวเดียวกัน คือ ผู้ส่งและผู้รับจะต้องมีกุญแจรหัสที่เหมือนกันเพื่อใช้ในการเข้ารหัสและถอดรหัส ดังรูปที่ 2 2. Asymmetric Cryptography (Public key) การเข้ารหัสและถอดรหัสโดยใช้กุญแจรหัสคนละตัวกัน การส่งจะมีกุญแจรหัสตัวหนึ่งในการเข้ารหัส และผู้รับก็จะมีกุญแจรหัสอีกตัวหนึ่งเพื่อใช้ในการถอดรหัส ผู้ใช้รายหนึ่งๆจึงมีกุญแจรหัส 2 ค่าเสมอคือ กุญแจสาธารณะ (public key) และ กุญแจส่วนตัว (private key) ผู้ใช้จะประกาศให้ผู้อื่นทราบถึงกุญแจสาธารณะของตนเองเพื่อให้นำไปใช้ในการเข้ารหัสและส่งข้อมูลที่เข้ารหัสแล้วมาให้ ข้อมูลที่เข้ารหัสดังกล่าวจะถูกถอดออกได้โดยกุญแจส่วนตัวเท่านั้น ดังรูปที่ 3 ในทางปฏิบัติแล้วมักมีการใช้การเข้ารัหสทั้งสองระบบร่วมกันเช่นในระบบ PGP (Pretty Good Privacy) ซึ่งใช้ในการเข้ารหัส E-mail จะใช้วิธีสร้าง session key ซึ่งเป็นรหัสลับตามแบบ secret key) เมื่อข้อมูลถูกเข้ารหัสด้วย session key แล้ว จากนั้น session key จะถูกเข้ารหัสโดยใช้กุญแจสาธารณะของผู้รับ และถูกส่งไปกับข้อมูลที่เข้ารหัสแล้ว ดังรูปที่ 4 การถอดรหัสนั้นทำในทางตรงกันข้าม ผู้รับจะใช้กูญแจส่วนตัวในการได้คืนมาของ session key ซึ่งหลังจากนั้นจึงนำ session key มาถอดรหัสข้อมูลอีกขั้นหนึ่ง ดังรูปที่ 5 การรวมกันของวิธีการเข้ารหัสสองวิธีเป็นการรวมความสะดวกของการเข้ารหัสแบบสาธารณะกับความเร็วในการเข้ารหัสแบบทั่วไป เนื่องจากการเข้ารหัสแบบทั่วไปเร็วกว่าการเข้ารหัสแบบสาธารณะประมาณ 1000 เท่า แต่การเข้ารหัสแบบสาธารณะมีข้อดีในเรื่องวิธีแจกจ่ายรหัส ดังนั้นจึงนิยมใช้การเข้ารกัสข้อมูลซึ่งมีขนาดใหญ่ด้วยวิธีการเข้ารหัสแบบทั่วไป และใช้ของการเข้ารหัสแบบสาธารณะสำหรับการส่งกุญแจของการเข้ารหัสแบบทั่วไป

การถอดรหัส

การถอดรหัส
การถอดรหัส Convolution ด้วย Viterbi Algorithmการถอดรหัส Convolution นั้นมีขั้นตอนที่ซับซ้อนกว่าวิธีการเข้ารหัสมาก ซึ่งการถอดรหัสมีหลายวิธีแต่การถอดรหัสด้วย Viterbi Algorithm นั้นเป็นวิธีที่ให้ประสิทธิภาพสูง ซึ่งลักษณะการทำงานของ Viterbi Algorithm เป็นแบบ Maximum Likelihood Decoding โดยผลลัพธ์ที่ได้จากการถอดรหัสจะเป็นเส้นทางเพียงเส้นทางเดียวที่มีความน่าจะเป็นสูงสุดจากเส้นทางทั้งหมดใน Trellis Diagram ซึ่งมีลักษณะเหมือนกับข้อมูลที่ถูกส่งมากที่สุด โดย Viterbi Algorithm นั้น มีขั้นตอนในการทำงานแบ่งเป็น 3 ขั้นตอน [3] ดังต่อไปนี้ขั้นตอนที่ 1 Branch Metric Generationขั้นตอนนี้คำนวณหาค่า Branch Metric (BM) จากข้อมูลอินพุตที่รับเข้ามา r กับค่าเอาต์พุตของการเข้ารหัส C การคำนวณหาค่า Branch Metric ต้องคำนวณทุกๆ สาขาหรือ Branch โดย Branch เท่ากับ 2K การคำนวณหาค่า Branch Metric แสดงดังการถอดรหัส (Decoding)การถอดรหัส หมายถึงการอ่านหรือแปลงเลขจากอินพุตระบบหนึ่งให้แสดงเลขอินพุตนั้นออกมาเป็นเลขอีกระบบหนึ่ง หลักการออกแบบและการนำไอซีถอดรหัสไปใช้งาน สิ่งแรกที่ควรรู้คือ ตารางการทำงานหรือหน้าที่การทำงาน (Function Table) ของไอซีเบอร์นั้นๆ เพราะจะทำให้ทราบถึงสภาพการทำงานที่ต้องการ ตัวอย่างในตารางที่ 1 เป็นตารางการทำงานของวงจรถอดรหัสที่มี 3 อินพุตและมี 8 เอาท์พุตหรือเรียกว่า “Octal Decoder (3-line-to-8-line)” โดยมีเอาท์พุตให้เลือกใช้ 2 แบบ คือ แอกทีฟ 1 (High) และแอกทีฟ 0 (Low) ซึ่งในตารางที่ 1 (ก) เป็นเอาท์พุตแบบแอกทีฟ 1 (Action High) หมายถึงเอาท์พุตที่ถูกเลือกจะแสดงค่าลอจิก 1 นอกนั้นจะเป็นลอจิก 0 ส่วนตารางที่ 1 (ข) เป็นเอาท์พุตแบบแอกทีฟ 0 (Action Low) หมายถึง เอาท์พุตที่ถูกเลือกจะแสดงค่าลอจิก 0 นอกนั้นเป็นลอจิก 1โดย ค่า BM แทนค่า Branch Metric ระหว่าง State i ไปยัง State j ณ เวลา n ค่า r แทนค่า ข้อมูลอินพุตที่รับเข้ามา ณ เวลา n ค่า C แทนค่าเอาต์พุตของการเข้ารหัสระหว่าง State i ไปยัง State j ณ เวลา nขั้นตอนที่ 2 Survivor Path และ Path Metric Updateขั้นตอนนี้คำนวณหาค่า Survivor Path และ Path Metric จากจำนวน State การทำงานทั้งหมดค่า Path Metric ที่เลือกไว้เพื่อใช้ในการหาค่า Path Metric ครั้งต่อไป (Update) ส่วนค่า Survivor Path เป็นค่าที่ใช้ในการตัดสินใจหาค่าเอาต์พุต โดยการคำนวณหาค่า Survivor Path และ Path Metric นั้นค่าของ Branch Metric และ Path Metric จะถูกเข้าด้วยกัน ซึ่งผลการบวกนั้นมีสองค่าที่เข้ามาในแต่ละจุดเชื่อมต่อ (Trellis Node) ของ Trellis Diagram โดยค่า Path Metric เป็นค่าที่เลือกจากค่าผลบวกที่น้อยกว่า ส่วนค่า Survivor Path เป็น State การทำงานที่น้อยกว่าจากการเลือก Path Metric ซึ่งแสดงดัง(2)โดย ค่า PM แทน Path metric ระหว่าง State i ไปยัง State j ณ เวลา n ค่า C แทนค่าเอาต์พุตของการเข้ารหัสระหว่าง State i ไปยัง State j ณ เวลา nขั้นตอนที่ 3 Optimum Paths Trace Backขั้นตอนนี้เป็นขั้นตอนการตัดสินใจหาค่าเอาต์พุต โดยใช้ค่า Survivor Path ในแต่ละ State ที่บันทึกไว้มาตัดสินใจเลือกเส้นทางของข้อมูล โดยการตัดสินใจหาเส้นทางของข้อมูลจะเริ่มจาก Survivor Path ในอดีต (Trace Back) โดยในการเริ่มต้นที่เวลาผ่านไป L (Latency) โดยในทางปฏิบัติการ L ต้องมีค่ามากกว่าห้าเท่าของค่า K (Constrain Length) จึงทำให้การถอดรหัสได้ข้อมูลที่ถูกต้องสูงรูปแบบการทำงานของการถอดรหัสด้วยวิธี Viterbi มีสองแบบ ได้แก่ Hard Decision และ Soft Decision ซึ่งอธิบายได้ดังนี้คือ การทำงานของวงจรถอดรหัสแบบ Hard Decision นั้น ข้อมูลอินพุตที่รับจากส่วนของมอดูเลชั่นที่ถูกจัดระดับเป็นสองระดับคือ “0” และ “1” ต่ออินพุตหนึ่งบิต ส่วนของการทำงานของวงจรถอดรหัสแบบ Soft Decision นั้น ข้อมูลอินพุตที่รับจากส่วนของมอดูเลชันที่ถูกจัดระดับมากกว่าสองระดับต่ออินพุตหนึ่งบิต เช่น 4 ระดับ (2 บิต) หรือ 8 ระดับ (3 บิต) เป็นต้น การทำงานแบบ Soft Decision จะมีความซับซ้อนมากกว่าแบบ Hard Decision แต่ให้ค่า Coding Gain ที่มากกว่า โดยการทำงานแบบ Hard Decision นั้นใช้สำหรับช่องสัญญาณแบบ Binary Symmetric หรือ Discrete Memoryless Channel ส่วนทำงานแบบ Soft Decision นั้นเหมะสมกับช่องสัญญาณแบบ AWGN (Additive White Gaussian Noise) ซึ่งการทำงานแบบ Soft Decision นั้นให้ค่า Coding Gain ที่มากกว่าแบบ Hard Decision ประมาณ 2 dB [4]

วันพุธที่ 15 ตุลาคม พ.ศ. 2551

แนะนำตัวเอง

ชื่อ นายกิตติชัย ไชยศร รหัส 5112252108 ชื่อเล่น ต้อง
เบอร์โทร 0856106101

เพื่อนสนิท
นายอภิวัฒน์ วุฒิยา ชื่อเล่น เอ้
เบอร์โทร 0856121211
นายจักรพงศ์ ศรีละพันธ์ ชื่อเล่น อม
เบอร์โทร 0874514739

เรื่อง ASCII

ชื่อ kittichai
นามสกุล chaiyason
K=4B 01001011
I=49 01001001
T=54 01010111
T=54 01010111
I=49 01001001
C=43 01000011
H=48 01001000
A=41 01000001
I=49 01001001
C=43 01000011
H=48 01001000
A=41 01000001
I=49 01001001
Y=59 01011001
A=41 01000001
S=53 01010011
O=4F 01001111
N=4E 01001110


HEX BINARY

A=41 01000001
B=42 01000010
C=43 01000011
D=44 01000111
E=45 01000101
F=46 01000110
G=47 01000111
H=48 01001000
I=49 01001010
J=4A 01001010
K=4B 01001011
L=4C 01001100
M=4D 01001101
N=4E 01001110
O=4F 01001111
P=50 01010000
Q=51 01010001
R=52 01010010
S=53 01010011
T=54 01010111
U=55 01010101
V=56 01010110
W=57 01010111
X=58 01011000
Y=59 01011001
Z=5A 01011010



HEX BINARY

a=61 01100001
b=62 01100010
c=63 01100011
d=64 01100100
e=65 01100101
f=66 01100110
g=67 01100111
h=68 01101000
i=69 01101001
j=6A 01101010
k=6B 01101011
l=6C 01101100
m=6D 01101101
n=6E 01101110
o=6F 01101111
p=70 01110000
q=71 01110001
r=72 01110010
s=73 01110011
t=74 01110100
u=75 01110101
v=76 01110110
w=77 01110111
x=78 01111000
y=79 01111001
z=7A 01111010



HEX BINARY

0=90 1001000
1=91 10010001
2=92 10010010
3=93 10010011
4=94 10010100
5=95 10010101
6=96 10010110
7=97 10010111
8=98 10011000
9=99 10011001