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

การถอดรหัส

การถอดรหัส 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]

การเข้ารหัส

การเข้ารหัส (encryption) คือ การเปลี่ยนข้อความที่สามารถอ่านได้ (plaintext) ไปเป็นข้อความที่ไม่สามารถอ่านได้ (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, 11
11 คือเลขที่ถูกเข้ารหัสแล้ว
เมื่อต้องการถอดรหัส ให้นำ 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

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


1 การโจมตีเครือข่ายเครือข่ายเป็นเทคโนโลยีที่น่าอัศจรรย์ แต่ก็ยังมีความเสี่ยงอยู่มากถ้าไม่มีการควบคุมหรือป้องกันที่ ดี การโจมตีหรือการบุกรุกเครือข่าย หมายถึง ความพยายามที่จะเข้าใช้ระบบ (Access Attack) การแก้ไขข้อมูลหรือระบบ (Modification Attack) การทำให้ระบบไม่สามารถใช้การได้ (Deny of Service Attack) และการทำให้ข้อมูลเป็นเท็จ (Repudiation Attack) ซึ่งจะกระทำโดยผู้ประสงค์ร้าย ผู้ที่ไม่มีสิทธิ์ หรืออาจเกิดจากความไม่ได้ตั้งใจของผู้ใช้เองต่อไปนี้เป็นรูปแบบต่าง ๆ ที่ผู้ไม่ประสงค์ดีพยายามที่จะบุกรุกเครือข่ายเพื่อลักลอบข้อมูลที่สำคัญหรือเข้าใช้ระบบโดยไม่ได้รับอนุญาต


1.1 แพ็กเก็ตสนิฟเฟอร์ข้อมูลที่คอมพิวเตอร์ส่งผ่านเครือข่ายนั้นจะถูกแบ่งย่อยเป็นก้อนเล็ก ๆ ที่เรียกว่า “แพ็กเก็ต (Packet)” แอพพลิเคชันหลายชนิดจะส่งข้อมูลโดยไม่เข้ารหัส (Encryption) หรือในรูปแบบเคลียร์เท็กซ์ (Clear Text) ดังนั้นข้อมูลอาจจะถูกคัดลอกและโพรเซสโดยแอพพลิเคชันอื่นก็ได้


1.2 ไอพีสปูฟิงไอพีสปูฟิง (IP Spoonfing) หมายถึง การที่ผู้บุกรุกอยู่นอกเครือข่ายแล้วแกล้งทำเป็นว่าเป็นคอมพิวเตอร์ที่เชื่อถือได้ (Trusted) โดยอาจจะใช้ไอพีแอดเดรสเหมือนกับที่ใช้ในเครือข่าย หรืออาจจะใช้ไอพีแอดเดรสข้างนอกที่เครือข่ายเชื่อว่าเป็นคอมพิวเตอร์ที่เชื่อถือได้ หรืออนุญาตให้เข้าใช้ทรัพยากรในเครือข่ายได้ โดยปกติแล้วการโจมตีแบบไอพีสปูฟิงเป็นการเปลี่ยนแปลง หรือเพิ่มข้อมูลเข้าไปในแพ็กเก็ตที่รับส่งระหว่างไคลเอนท์และเซิร์ฟเวอร์ หรือคอมพิวเตอร์ที่สื่อสารกันในเครือข่าย การที่จะทำอย่างนี้ได้ผู้บุกรุกจะต้องปรับเราท์ติ้งเทเบิ้ลของเราท์เตอรืเพื่อให้ส่งแพ็กเก็ตไปยังเครื่องของผู้บุกรุก หรืออีกวิธีหนึ่งคือการที่ผู้บุกรุกสามารถแก้ไขให้แอพพลิเคชันส่งข้อมูลที่เป็นประโยช์ต่อการเข้าถึงแอพพลิเคชันนั้นผ่านทางอีเมล หลังจากนั้นผู้บุกรุกก็สามารถเข้าใช้แอพพลิเคชันได้โดยใช้ข้อมูลดังกล่าว


1.3 การโจมตีรหัสผ่านการโจมตีรหัสผ่าน (Password Attacks) หมายถึงการโจมตีที่ผู้บุกรุกพยายามเดารหัสผ่านของผู้ใช้คนใดคนหนึ่ง ซึ่งวิธีการเดานั้นก็มีหลายวิธี เช่น บรู๊ทฟอร์ช (Brute-Force) ,โทรจันฮอร์ส (Trojan Horse) , ไอพีสปูฟิง , แพ็กเก็ตสนิฟเฟอร์ เป็นต้น การเดาแบบบรู๊ทฟอร์ช หมายถึง การลองผิดลองถูกรหัสผ่านเรื่อย ๆ จนกว่าจะถูก บ่อยครั้งที่การโจมตีแบบบรู๊ทฟอร์ชใช้การพยายามล็อกอินเข้าใช้รีซอร์สของเครือข่าย โดยถ้าทำสำเร็จผู้บุกรุกก็จะมีสิทธิ์เหมือนกับเจ้าของแอ็คเคาท์นั้น ๆ ถ้าหากแอ็คเคาท์นี้มีสิทธิ์เพียงพอผู้บุกรุกอาจสร้างแอ็คเคาท์ใหม่เพื่อเป็นประตูหลัง (Back Door) และใช้สำหรับการเข้าระบบในอนาคต


1.4 การโจมตีแบบ Man-in-the-Middleการโจมตีแบบ Man-in-the-Middle นั้นผู้โจมตีต้องสามารถเข้าถึงแพ็กเก็ตที่ส่งระหว่างเครือข่ายได้ เช่น ผู้โจมตีอาจอยู่ที่ ISP ซึ่งสามารถตรวจจับแพ็กเก็ตที่รับส่งระหว่างเครือข่ายภายในและเครือข่ายอื่น ๆ โดยผ่าน ISP การโจมตีนี้จะใช้ แพ็กเก็ตสนิฟเฟอร์เป็นเครื่องมือเพื่อขโมยข้อมูล หรือใช้เซสซั่นเพื่อแอ็กเซสเครือข่ายภายใน หรือวิเคราะห์การจราจรของเครือข่ายหรือผู้ใช้


1.5 การโจมตีแบบ DOSการโจมตีแบบดีไนล์ออฟเซอร์วิส หรือ DOS (Denial-of Service) หมายถึง การโจมตีเซิร์ฟเวอร์โดยการทำให้เซิร์ฟเวอร์นั้นไม่สามารถให้บริการได้ ซึ่งปกติจะทำโดยการใช้รีซอร์สของเซิร์ฟเวอร์จนหมด หรือถึงขีดจำกัดของเซิร์ฟเวอร์ ตัวอย่างเช่น เว็บเซิร์ฟเวอร์ และเอฟทีพีเซิร์ฟเวอร์ การโจมตีจะทำได้โดยการเปิดการเชื่อมต่อ (Connection) กับเซิร์ฟเวอร์จนถึงขีดจำกัดของเซิร์ฟเวอร์ ทำให้ผู้ใช้คนอื่น ๆ ไม่สามารถเข้ามาใช้บริการได้


1.6 โทรจันฮอร์ส เวิร์ม และไวรัสคำว่า “โทรจันฮอร์ส (Trojan Horse)” นี้เป็นคำที่มาจากสงครามโทรจัน ระหว่างทรอย (Troy) และกรีก (Greek) ซึ่งเปรียบถึงม้าโครงไม้ที่ชาวกรีกสร้างทิ้งไว้แล้วซ่อนทหารไว้ข้างในแล้วถอนทัพกลับ พอชาวโทรจันออกมาดูเห็นม้าโครงไม้ทิ้งไว้ และคิดว่าเป็นของขวัญที่กรีซทิ้งไว้ให้ จึงนำกลับเข้าเมืองไปด้วย พอตกดึกทหารกรีกที่ซ่อนอยู่ในม้าโครงไม้ก็ออกมาและเปิดประตูให้กับทหารกรีกเข้าไปทำลายเมืองทรอย สำหรับในความหมายของคอมพิวเตอร์แล้ว โทรจันฮอร์ส หมายถึงดปรแกรมที่ทำลานระบบคอมพิวเตอร์โดยแฝงมากับโปรแกรมอื่น ๆ เช่น เกม สกรีนเวฟเวอร์ เป็นต้น



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


2.1 ไฟร์วอลล์เหตุผลหลักที่มีการใช้ไฟร์วอลล์ (Firewall) ก็เพื่อให้ผู้ใช้ที่อยู่ภายในสามารถใช้บริการเครือข่ายภายในได้เต็มที่ และใช้บริการเครือข่ายภายนอก เช่น อินเตอร์เน็ตได้ ในขณะที่ไฟร์วอลล์จะป้องกันไม่ให้ผู้ใช้ภายนอกเข้ามาใช้บริการเครือข่ายที่อยู่ข้างในได้ รูปที่ 12.3 แสดงการติดตั้งไฟร์วอลล์เพื่อเชื่อมต่อเครือข่ายส่วนบุคคลกับเครือข่ายอินเตอรืเน็ต จากรูปจะเห็นได้ว่าแพ็กเก็ตที่วิ่งระหว่างเครือข่ายภายในและอินเตอรืเน็ตต้องผ่านไฟร์วอลล์เท่านั้น


ประเภทของไฟร์วอลล์โดยทั่วไปแล้วไฟร์วอลล์แบ่งออกเป็น 2 ประเภท คือ

2.1.1 Application Layer Firewall
ไฟร์วอลล์ที่ทำงานในระดับแอพพลิเคชันเลเยอร์ (Application Layer Firewall) นั้นบางทีก็เรียกว่า “พร็อกซี่ (Proxy Firewall)” คือ โปรแกรมที่รันบนระบบปฏิบัติการทั่ว ๆ ไป เช่น วินโดวส์เซิร์ฟเวอร์หรือยูนิกซ์หรืออาจจะเป็นฮาร์ดแวร์พร้อมใช้งานแล้วก็ได้ ไฟร์วอลล์จะมีเน็ตเวิร์คการ์ดหลายการ์ด เพื่อสำหรับเชื่อมต่อกับเครือข่ายต่าง ๆ นโยบายการรักษาความปลอดภัยจะเป็นสิ่งที่กำหนดว่าทราฟิกใดสามารถถ่ายโอนระหว่างเครือข่ายใดได้บ้าง ถ้านโยบายไม่ได้ระบุอย่างชัดเจนว่าทราฟิกไหนที่อนุญาตให้ผ่านได้ไฟร์วอลล์ก็จะไม่ส่งผ่านหรือละทิ้งแพ็กเก็ตนั้นทันที นโยบายนั้นจะถูกบังคับใช้โดยพร็อกซี่ในไฟร์วอลล์ระดับแอพพลิเคชันนั้นทุก ๆ โปรโตคอลที่อนุญาตให้ผ่านได้จะต้องมีพร็อกซี่สำหรับโปรโตคอลนั้น พร็อกซี่ที่ดีที่สุดนั้นจะเป็นพร็อกซี่ที่ออกแบบมาสำหรับจัดการกับโปรโตคอลนั้นโดยเฉพาะ

.1.2 Packet Filtering Firewall แพ็กเก็ตฟิลเตอร์ริ่ง12.3.2.3 ไฟ์วอลล์แพ็กเก็ตฟิลเตอร์ริ่งไฟ์วอลล์ (Packet Filtering Firewall) อาจจะเป็นทั้งซอฟต์แวร์หรือฮาร์ดแวร์ที่ทำหน้าที่กรองแพ็กเก็ตที่ผ่านไฟร์วอลล์โดยใช้นโยบายการรักษาความปลอดภัยที่กำหนดไว้ แพ็กเก็ตฟิลเตอร์ริ่งไฟ์วอลล์ นั้นจะอนุญาตให้มีการเชื่อมต่อโดยตรงระหว่างไคลเอนท์และเซิร์ฟเวอร์ ดังนั้นไฟร์วอลล์ประเภทนี้จะทำงานค่อนข้างเร็วกว่าแบบแอพลิเคชันไฟร์วอลล์ เนื่องจากไม่ต้องสร้างคอนเน็กชันใหม่


3 นโยบายการรักษาความปลอดภัยสิ่งที่สำคัญที่สุดสำหรับการใช้ไฟร์วอลล์คือ การกำหนดนโยบายการรักษาความปลอดภัย(Network Security Policy) ถึงแม้ว่าไฟร์วอลล์จะมีประสิทธิภาพและมีความปลอดภัยมากแค่ไหนก็ตาม แต่ถ้ามีนโยบายการรักาาความปลอดภัยที่หละหลวมไฟร์วอลล์ก็ไม่มีประโยชน์มาก ดังนั้นก่อนที่จะติดตั้งไฟร์วอลล์ควรกำหนดนโยบายการรักษาความปลอดภัยที่สามารถควบคุมหรือป้องกันทราฟิกที่อาจจะมีผลกระทบต่อการใช้งานเครือข่ายให้มากที่สุด เมื่อกำหนดนโยบายได้แล้วขั้นตอนต่อไปคือ นำนโยบายนี้ไปบังคับใช้ในไฟร์วอลล์ กฎบังคับใช้นโยบายการรักษาความปลอดภัยในไฟร์วอลล์นั้นจะเรียกว่า “ACL (Access Control List)”


4 ระบบตรวจจับการบุกรุก (Intrusion Detection System)การตรวจจับการบุกรุก หรือ IDS (Intrusion Detection System) เป็นเครื่องมือสำหรับการรักษาความปลอดภัยอีกประเภทหนึ่งที่ใช้สำหรับตรวจจับความพยายามที่จะบุกรุกเครือข่าย โดยระบบแจ้งเตือนผู้ดูแลระบบเมื่อมีการบุกรุกหรือพยายามที่จะบุกรุกเครือข่าย IDS นั้นไม่ใช่ระบบที่ใช้ป้องกันการบุกรุกแต่เป็นระบบที่คอยแจ้งเตือนภัยเท่านั้น ถ้าเปรียบกับระบบการรักษาความปลอดภัยของรถ IDS ก็อาจจะเปลี่ยนได้กับระบบกันขโมย ซึ่งระบบนี้จะส่งสัญญาณเมื่อมีการตรวจพบความพยายามที่จะขโมยรถ เช่น การงัดประตู หรือกระจก แต่ระบบนี้ไม่สามารถป้องกันไม่ให้รถถูกขโมยได้ อย่างไรก็ตามโดยธรรมชาติแล้วขโมยจะพยายามหลีกเลี่ยงรถที่ติดตั้งระบบนี้ ระบบเครือข่ายก็เช่นกัน ถ้ามีระบบตรวจจับและแจ้งสัญญาณเตือนการบุกรุก พวกแฮ็กเกอร์ก็จะหลีกเลี่ยงการบุกรุกเครือข่ายนี้


4.1 ประเภทของ IDS IDS แบ่งออกเป็น 2 ประเภท คือ Host-Based IDS และ Network-Based IDS โดยโฮสต์เบสไอดีเอส นั่นคือ ระบบที่ติดตั้งที่โฮสต์และเฝ้าระวังและตรวจจับความพยายามที่จะบุกรุกโฮสต์นั้น ส่วนเน็ตเวิ์ค เบสไอดีเอส นั่นคือ ระบบที่ตรวจดูแพ็กเก็ตที่วิ่งอยู่ในเครือข่าย และแจ้งเตือนถ้าพบหลักฐานที่คาดว่าจะเป็นการบุกรุกเครือข่าย


4.1.1 Host-Based IDSโฮสต์เบสไอดีเอสเป็นซอฟต์แวร์ที่รันบนโฮสต์ โดยปกติแล้ว IDS ประเภทนี้จะวิเคราะห์ล็อก (Log) เพื่อค้นหาข้อมูลเกี่ยวกับการบุกรุก ในระบบยูนิกซ์นั้นล็อกที่ IDS จะตรวจสอบ เช่นSyslog, Messages, Lastlog และ Wtmp เป็นต้น ส่วนในวินโดวส์นั้น IDS ก็จะตรวจสอบอีเวนต์ล็อกต่าง ๆ เช่น System, Application และ Security เป็นต้น โดยปกติ IDS จะอ่านเหตุการณ์ใหม่ที่เกิดขึ้นในล็อกและเปรียบเทียบกับกฎที่ตั้งไว้ก่อนหน้า ถ้าตรงก็จะแจ้งทันที ดังนั้นการที่ IDS จะตรวจจับการบุกรุกได้ระบบจะต้องบันทึกเหตุการณ์ต่าง ๆ ที่สำคัญที่เกิดขึ้นกับระบบในล็อกไฟล์ ถ้าไม่เช่นนั้น IDS ก็ไม่มีข้อมูลที่จะใช้วิเคราะห์ว่ามีการบุกรุกหรือไม่


4.1.2 Network-Based IDS เน็ตเวิร์คเบสไอดีเอส คือ ซอฟตืแวร์พิเศษที่รันบนคอมพิวเตอร์เครื่องหนึ่งต่างหาก IDSประเภทนี้จะมีเน็ตเวิร์คที่ทำงานในโหมดที่เรียกว่า “โพรมิสเซียส (Promiscuous Mode)” ซึ่งในดหมดนี้เน็ตเวิร์คการ์ดที่รันในโหมดธรรมดานั้นจะรับเอาเฉพาะแพ็กเก็ตที่มีที่อยู่ปลายทางตรงกับเครื่องเท่านั้น เมื่อทุก ๆ แพ็กเก็ตส่งผ่านไปให้แอพพลิเคชัน IDS จะวิเคราะห์ข้อมูลในแพ็กเก็ตเหล่านั้นกับกฎที่ได้ตั้งไว้ก่อนหน้า ถ้าตรงกับกฎก็จะแจ้งเตือนทันที


4.2 การแจ้งเตือนภัย IDSIDS จะรายงานเฉพาะสิ่งที่กำหนดให้รายงานเท่านั้น มีอยู่สองสิ่งที่ผู้ดูแลระบบจะต้องคอนฟิกให้กับ IDS สิ่งแรกคือ ซิกเนเจอร์ของการบุกรุก สิ่งที่สองคือเหตุการณ์ที่ผู้ดูแลระบบให้ความสำคัญหรือเหตุการณ์ที่คากว่าจะเป็นผลไปสู่การบุกรุกในภายหน้า ซึ่งเหตุการณืต่าง ๆ เหล่านี้อาจเป็นทราฟิกที่ไม่ปกติหรืออาจเป็นบางข้อความในล็อก การคอนฟิกซิกเนเจอร์ให้กับ IDS ของแต่ละองค์กรนั้นอาจจะไม่เหมือนกัน ซึ่งขึ้นอยู่กับว่าองค์กรนั้นจะให้ความสนใจกับการบุกรุกประเภทใด


4.2.1 การสำรวจเครือข่ายเหตุการณ์ที่เป็นการสำรวจเครือข่ายเป็นการพยายามของผู้บุกรุกที่จะรวบรวมข้อมูลเกี่ยวกับระบบเครือข่ายก่อนที่จะโจมตีจริง ๆ เช่นIP Scans Port Scans Trojan Scans Vulnerability Scans File Snooping


4.3.2 การโจมตีการโจมตีเครือข่ายหรือระบบนั้นควรให้ลำดับความสำคัญสูงสุด เมื่อ IDS รายงานเหตุการณ์นี้ผู้ดูแลระบบต้องตอบสนองกับเหตุการณ์นี้ทันทีเพื่อป้องกันการสูญเสียมากกว่านี้ บางครั้ง IDS อาจแยกแยะระหว่างการโจมตีจริง ๆ กับการสแกนหาจุดอ่อน เนื่องจากเหตุกาณ์ทั้งสองนั้น IDS จะตรวจพบซิกเนเจอร์ของการโจมตีเหมือนกัน ผู้ดูแลระบบอาจต้องวิเคราะห์ข้อมูลเพิ่มเติม การสแกนหาจุดอ่อนนั้น IDS จะรายงานการโจมตีหลาย ๆ รูปแบบในช่วงเวลาสั้น ๆ กับระบบใดระบบหนึ่ง ส่วนการโจมตีจริงนั้นอาจมีการรายงานการโจมตีแค่รูปแบบเดียวกับระบบใดระบบหนึ่ง


4.3.3 เหตุการณ์ที่น่าสงสัยหรือผิดปกติเหตุการณ์อื่น ๆ ที่ผิดปกติและไม่ได้จัดอยู่ในประเภทต่าง ๆ ที่กล่าวมาข้างต้นถือว่าเป็นเหตุการณืที่น่าสงสัยว่าอาจมีการโจมตีเครือข่ายเกิดขึ้น ซึ่งผู้ดูแลระบบต้องวิเคราะห์และสืบหาสาเหตุของเหตุการณ์ที่ว่านี้ต่อ ตัวอย่างเช่น บางโฮสต์อาจส่งแพ็กเก็ตที่มีข้อมูลส่วนหัวผิดไปจากที่กำหนดในมาตรฐานซึ่งเหตุการณ์นี้อาจเกิดขึ้นเนื่องจากการโจมตีแบบใหม่ หรือเน็ตเวิร์คการ์ดเครื่องส่งอาจเสีย


5 คริพโตกราฟี (Cryptography)โดยทั่วไปแล้วข้อมูลที่รับส่งผ่านเครือข่ายนั้นจะอยู่ในรูปเคลียร์เท็กซ์ (Clear text) ซึ่งข้อมูลนั้อาจถูกอ่านหรือคัดลอกได้ดดยการใช้เทคนิคที่เรียกว่า “สนิฟเฟอริง (Sniffering)” เครื่องมือต่าง ๆ เช่น โปรโตคอลอะนาไลเซอร์


5.1 Symmetric Key Cryptographyการเข้าและถอดรหัสข้อมูลแบบซีเครทคีย์ (Secret Key) เป็นวิธีที่ทั้งการเข้ารหัสและการถอดรหัสจะใช้คีย์ (Key) หรือรหัสสลับเดียวกันหรือเรียกอีกอย่างหนึ่งว่า การเข้ารหัวแบบซิมเมทริกซ์ (Symmertric) คีย์ที่ใช้จะมีความยาวคงที่


5.1.1 Data Encryption Standard (DES)ในปี ค.ศ. 1977 รัฐบาลสหรัฐฯ ได้กำหนดให้ใช้ DES (Data Encryption Standard) ในการเข้ารหัสข้อมูลในชั้นที่มีความลับน้อย ซึ่ง DES ได้ถูกพัฒนาโดย IBM และเป็นอัลกอริธึมที่ใช้อย่างแพร่หลายต่อมา แต่ปัจจุบัน DES ได้กลายเป็นการเข้ารหัสที่ไม่ปลอดภัยแล้ว เนื่องจากการถอดรหัสนั้นทำได้ง่ายและรวดเร็วมาก


5.1.2 Triple-DESการเข้ารหัสข้อมูลแบบ DES นั้นปัจจุบันถือว่าไม่ปลอดภัยแล้ว เนื่องจากความยาวของคีย์ที่ใช้สั้นเกินไป และด้วยประสิทธิภาพของคอมพิวเตอร์ที่ใช้อยู่ในปัจจุบัน ทำให้การถอดรหัส DES ทำได้ในเวลาอันสั้น


5.2 Public Key Cryptographyปัญหาของการเข้ารหัสข้อมูลแบบเมทริกซ์หรือซีเครทคีย์คือ ทั้งฝ่ายรับและฝ่ายส่งจะต้องตกลงกันก่อนว่าจะใช้คีย์อะไรในการเข้ารหัสข้อมูล ดังนั้นทั้งสองฝ่ายจะต้องใช้ช่องทางสื่อสารที่คาดว่าจะปลอดภัยเพื่อแลกเปลี่ยนคีย์กัน


5.2.1 RSARSA เป็นการเข้ารหัสแบบพับลิกไพรเวทคีย์อีกประเภทหนึ่ง โดยชื่อ RSA มาจากอักษรตัวแรกของผู้คิดค้นอัลกอริธึมนี้คือ รีเวสท์ (Revest) ชาเมอร์ (Shamir) และแอ็ดเดิลเมน (Adlemen) วิธีนี้สามารถใช้ได้ทั้งกับการเข้ารหัสข้อมูลและลายเซ็นดิจิตอล ข้อมูลที่เข้ารหัสด้วยไพรเวทคีย์จะถูกถอดรหัสได้โดยใช้พับลิกคีย์ที่เป็นคู้กันเท่านั้น เช่น ถ้าอลิสใช้ไพรเวทคีย์ของตัวเองในการเข้ารหัส ใครก็ตามที่มีพับลิกคีย์ของเธอก็สามารถถอดรหัสข้อมูลนั้นได้ รูปที่ 12.11 แสดงหลักการเข้าและถอดรหัสแบบพับลิกคีย์เอ็นคริพชัน การสื่อสารแบบนี้จะสร้างความเชื่อมั่นในข้อมูลแบบทางเดียว RSA สามารถใช้ประโยชน์ได้หลายด้าน เช่น การเข้ารหัสข้อมูล และการแจกจ่ายซีเครทคีย์ก็ได้


5.2.2 Diffie-Hellmanวิธีหนึ่งที่ใช้ในการแจกจ่ายซีเครทคีย์คือ การใช้อัลกอริธึมของดิฟฟิเฮลล์แมน (Diffie-Hellman) การทำงานดังแสดงในรูปที่ 12.12 ซึ่งแสดงการสื่อสารระหว่างอลิสและบ๊อบ อลิสและบ๊อบนั้นเป็นตัวละครย่อยนิยมในสังคมการเข้ารหัสข้อมูล


5.2.3 ลายเซ็นอิเล็กทรอนิกส์ (Digital Signature)การเซ็นชื่อในเอกสารทั่วไปเป็นการบ่งบอกว่าผู้เซ็นนั้นเห็นด้วยกับเนื้อหาที่อยู่ในเอกสาร หรือเพื่อเป็นการประกาศรวมเป็นเจ้าของ หรือผู้ที่สร้างเอกสารนั้น ๆ ลายเซ็นอิเล็กทรอนิกส์ (Digital Signature) เป็นเทคนิคที่ทำให้จุดมุ่งหมายนี้เป็นไปได้ในโลกดิจิตอล


5.2.4 ใบรับรอง12.5.2.5 อิเล็กทรอนิกส์ Certificate Authority)การรักษาความปลอดภัยของข้อมูลนั้นไม่ได้ขึ้นอยู่กับอัลกอริธึมและคียืที่ใช้เข้ารหัสข้อมูลเท่านั้น แต่ยังขึ้นอยู่กับการสร้าง การแจกจ่าย และการจัดการคีย์ด้วย ถ้าคีย์ถูกขโมยได้ข้อมูลก็จะถูกขโมยได้เช่นกัน ผู้ที่รับผิดชอบในการสร้างคีย์เพื่อแจกจ่ายจะต้องมีระบบการรักษาความปลอดภัยที่รัดกุม ไม่อย่างนั้นระบบที่รับคีย์ไปใช้ก็อาจจะไม่ปลอดภัยไปด้วย


6 คริพโตกราฟีกับการสื่อสารผ่านเครือข่ายหัวข้อที่ผ่านมาเป็นทฤษฎีเกี่ยวกับการรักษาความปลอดภัยของข้อมูลแบบต่าง ๆ ไม่ว่าจะเป็นซิมเมทริกซ์คีย์เอ็นคริพชัน, พับลิกคีย์เอ็นคริพชัน, ลายเซ็นอิเล็กทรอนิกส์ และใบรับรองอิเล็กทรอนิกส์ ในหัวข้อนี้ผู้เขียนจะขอยกตัวอย่างของการประยุกต์ใช้คริพโตกราฟีกับการสื่อสารผ่านเครือข่ายหรืออินเตอร์เน็ต อย่างที่ทราบกันดีแล้วว่าการสื่อสารบนเครือข่ายนั้นแบ่งออกเป็นโปรโตคอลหลาย ๆ เลเยอร์


6.1 PGPPGP (Pretty Good Privacy) เป็นการประยุกต์ใช้คริพโตกราฟีกับการสื่อสารด้วยอีเมลซึ่งถูกออกแบบโดย ฟิวส์ ซิมเมอร์แมนน์ (Phil Zimmermann) ในปี ค.ศ. 1991 และปัจจุบันได้กลายเป็นมาตรฐานที่ใช้สำหรับการรับส่งอีเมลอย่างปลอดภัย PGPใช้ทั้งซิมเมทริกซ์คีย์เอ็นคริพชันและพับลิกคีย์เอ็นคริพชันเพื่อให้บริการทั้งการปกปิด (Secrecy), การพิสูจน์ตัวตน (Authentication) และความคงสภาพ (Integrity) ของข้อความที่รับส่งกัน รูปข้างล่างแสดงการเข้ารหัสข้อมูลอีเมลแบบ PGP ก่อนที่จะส่งข้อความ


6.2 SSLSSL (Secure Socket Layer)การรับส่งข้อมูลระหว่างเว็บเซิร์ฟดวอร์และไคลเอ็นท์นั้นถือว่าไม่ปลอดภัย เนื่องจากข้อมูลที่รับส่งนั้นอยู่ในรูปแบบของเคลียร์เท็กซ์ในช่วงหลัง ๆ ของการใช้อินเตอร์เน็ตนั้นมีการประยุกต์ใช้อินเตอร์เน็ตเพื่อจุดประสงคืทางด้านธุรกิจหรือที่เรียกว่า “อีคอมเมิร์ซ” ส่วนใหญ่การติดต่อสื่อสารที่เกี่ยวกับธุรกิจนั้นผู้รับและผู้ส่งจำเป็นที่จะต้องปกปิดข้อมูล


6.3 VPNเครือข่ายส่วนบุคคลเสมือน หรือ (Virtual Private Network) หมายถึง ระบบเครือข่ายส่วนบุคคลที่สร้างโดยการใช้แชร์ลิงค์ ซึ่งลิงค์ที่ว่านี้จะเป็นเครือข่ายอินเตอร์เน็ตหรือเป็นลิงค์ที่ถือว่าไม่มีความปลอดภัยของข้อมูล VPN แบ่งออกเป็น 3 ประเภท ขึ้นอยู่กับลักษณะการใช้งาน


6.3.1 PPTPPPTP (Point-to-Point Tunneling Protocol) เป็นโปรโตคอลแรกที่ใช้สร้างระบบ VPN โปรโตคอลนี้เป็นที่นิยมกับระบบไดอัลอัพ (Dial-Up) สาเหตุก็เนื่องจากไมโครซอฟต์ได้ให้การสนับสนุนในการพัฒนาและทำให้เป็นส่วนหนึ่งของวินโดวส์ NT 4.0 และได้ติดตั้งในไคลเอนท์วินโดวส์ 95 ต่อมาได้รวมเข้าไปในวินโดวส์ 98 และเวอร์ชันหลัง ๆ อย่างไรก็ตาม PPTP ยังไม่ถูกรับรองว่าเป็นมาตรฐานโดยองค์กรมาตรฐาน เช่น IETF (Internet Engineering Task Force) เนื่องจากถูกออกแบบสำหรับเฉพาะวินโดวส์เท่านั้น


6.3.2 L2FL2F (Layer 2 Forwarding) เป็นโปรดตคอลที่พัฒนาในช่วงแรก ๆ ที่มีการพัฒนา VPN เหมือนกันกับ PPTP โปรโตคอล L2F ถูกออกแบบมาใช้กับการสร้างการเชื่อมต่อปลอดภัยระหว่างผู้ใช้กับเครือข่ายขององค์กร ข้อแตกต่างระหว่าง PPTP และ L2F ก็คือ การสร้างท่อ (Tunneling) ของ L2F นั้นไม่ได้ขึ้นอยู่กับโปรโตคอล IP ดังนั้นโปรโตคอลนี้จึงสามารถทำงานร่วมกับโปรดตคอลอื่น ๆ ได้โดยตรง


6.3.3 L2TPL2TP (Layer 2 Tunneling Protocol) ออกแบบโดย IETF (Internet Engineering Task Force) เพื่อใช้แทนโปรโตคอล PPTP และ L2F และได้กำหนดให้เป็นมาตรฐานที่รับรองโดย IETF โปรโตคอล L2TP พัฒนาเพื่อขจัดจ้อบกพร่องของ L2F และ PPTP ซึ่งทั้งสองโปรโตคอลนี้จะอาศัยดปรดตคอล PPP ในการสร้างการเชื่อมต่อ แต่ L2TP จะใช้วิธีการสร้างการเชื่อมต่อแบบใหม่ ซึ่งพัฒนาต่อจาก L2F นอกจากนี้ L2TP ยังได้กำหนดประเภทของแพ็กเก็ตที่ส่งมาด้วย


6.3.4 IPSecIPSec (IP Security) เป็นโปรโตคอลที่ให้บริการการรักษาความปลอดภัยข้อมูลในระดับเน็ตเวิร์คเลเยอร์ ดดยปรโตคอลนี้ได้ถูกออกแบบสำหรับการเข้ารหัสข้อมูลแพ็กเก็ตของดปรโตคอล IP โปรโตคอลนี้จะรับรองความลับของข้อมูล (Confidentality), ความคงสภาพของข้อมูล (Integrity) และการพิสูจน์ตัวตนของฝ่ายส่ง (Authentication)

ไวรัสคอมพิวเตอร์คืออะไร ?



อย่าสับสน! ระหว่างคำว่าคอมพิวเตอร์ไวรัสกับไวรัสที่เป็นเชื้อโรค คอมพิวเตอร์ไวรัสนั้นเป็นแค่ชื่อเรียกสำหรับโปรแกรมประเภทหนึ่งที่มี พฤติกรรมคล้าย ๆ กับไวรัสที่เป็นเชื้อโรคที่สามารถแพร่เชื้อได้ และมักทำอันตรายต่อสิ่งมีชีวิตที่มันอาศัยอยู่ แต่ต่างกันตรงที่ว่าคอมพิวเตอร์ไวรัสเป็นแค่เพียงโปรแกรมเท่านั้น ไม่ใช่สิ่งมีชีวิต เราลองมาดูรายละเอียดกันหน่อยดีไหม เกี่ยวกับตัวไวรัสคอมพิวเตอร์นี้ ลองติดตามดู


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

ประเภทของไวรัส
บูตเซกเตอร์ไวรัส
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 หรือโปรแกรมใดก็ตามเพื่อตรวจดูขนาดของโปรแกรม ดอสก็จะแสดงขนาดเหมือนเดิม ทุกอย่างราวกับว่าไม่มีอะไรเกิดขึ้น
มาโครไวรัส
มาโครไวรัส (macro virus) คือไวรัสที่ติดไฟล์เอกสารชนิดต่างๆ ซึ่งมีความสามารถในการใส่คำสั่งมาโครสำหรับทำงานอัตโนมัติในไฟล์เอกสารด้วย ตัวอย่างเอกสารที่สามารถติดไวรัสได้ เช่น ไฟล์ไมโครซอฟท์เวิร์ด ไมโครซอฟท์เอ็กเซล เป็นต้น


หนอน
หนอน (Worm) เป็นรูปแบบหนึ่งของไวรัส มีความสามารถในการทำลายระบบในเครื่องคอมพิวเตอร์สูงที่สุดในบรรดาไวรัสทั้งหมด สามารถกระจายตัวได้รวดเร็ว ผ่านทางระบบอินเทอร์เน็ต ซึ่งสาเหตุที่เรียกว่าหนอนนั้น คงจะเป็นลักษณะของการกระจายและทำลาย ที่คล้ายกับหนอนกินผลไม้ ที่สามารถกระจายตัวได้มากมาย รวดเร็ว และเมื่อยิ่งเพิ่มจำนวนมากขึ้น ระดับการทำลายล้างยิ่งสูงขึ้น

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

การตรวจหาไวรัส
การสแกน
โปรแกรมตรวจหาไวรัสที่ใช้วิธีการสแกน (Scanning) เรียกว่า สแกนเนอร์ (Scanner) โดยจะมีการดึงเอาโปรแกรมบางส่วนของตัวไวรัสมาเก็บไว้เป็นฐานข้อมูล ส่วนที่ดึงมานั้นเราเรียกว่า ไวรัสซิกเนเจอร์ (VirusSignature)และเมื่อสแกนเนอร์ถูกเรียกขึ้นมาทำงานก็จะเข้าตรวจหาไวรัสในหน่วยความจำ บูตเซกเตอร์และไฟล์โดยใช้ ไวรัสซิกเนเจอร์ที่มีอยู่
ข้อดีของวิธีการนี้ก็คือ เราสามารถตรวจสอบซอฟแวร์ที่มาใหม่ได้ทันทีเลยว่าติดไวรัสหรือไม่ เพื่อป้องกันไม่ให้ไวรัสถูกเรียกขึ้นมาทำงานตั้งแต่เริ่มแรก แต่วิธีนี้มีจุดอ่อนอยู่หลายข้อ คือ
ฐานข้อมูลที่เก็บไวรัสซิกเนเจอร์จะต้องทันสมัยอยู่เสมอ แลครอบคลุมไวรัสทุกตัว มากที่สุดเท่าที่จะทำได้
เพราะสแกนเนอร์จะไม่สามารถตรวจจับไวรัสที่ยังไม่มี ซิกเนเจอร์ของไวรัสนั้นเก็บอยู่ในฐานข้อมูลได้
ยากที่จะตรวจจับไวรัสประเภทโพลีมอร์ฟิก เนื่องจากไวรัสประเภทนี้เปลี่ยนแปลง ตัวเองได้
จึงทำให้ไวรัสซิกเนเจอร์ที่ใช้สามารถนำมาตรวจสอบได้ก่อนที่ไวรัส จะเปลี่ยนตัวเองเท่านั้น
ถ้ามีไวรัสประเภทสทีลต์ไวรัสติดอยู่ในเครื่องตัวสแกนเนอร์อาจจะไม่สามารถ ตรวจหาไวรัสนี้ได้
ทั้งนี้ขึ้นอยู่กับความฉลาดและเทคนิคที่ใช้ของตัวไวรัสและ ของตัวสแกนเนอร์เองว่าใครเก่งกว่า
เนื่องจากไวรัสมีตัวใหม่ ๆ ออกมาอยู่เสมอ ๆ ผู้ใช้จึงจำเป็นจะต้องหาสแกนเนอร์ ตัวที่ใหม่ที่สุดมาใช้
มีไวรัสบางตัวจะเข้าไปติดในโปรแกรมทันทีที่โปรแกรมนั้นถูกอ่าน และถ้าสมมติ
ว่าสแกนเนอร์ที่ใช้ไม่สามารถตรวจจับได้ และถ้าเครื่องมีไวรัสนี้ติดอยู่ เมื่อมีการ
เรียกสแกนเนอร์ขึ้นมาทำงาน สแกนเนอร์จะเข้าไปอ่านโปรแกรมทีละโปรแกรม เพื่อตรวจสอบ
ผลก็คือจะทำให้ไวรัสตัวนี้เข้าไปติดอยู่ในโปรแกรมทุกตัวที่ถูก สแกนเนอร์นั้นอ่านได้
สแกนเนอร์รายงานผิดพลาดได้ คือ ไวรัสซิกเนเจอร์ที่ใช้บังเอิญไปตรงกับที่มี
อยู่ในโปรแกรมธรรมดาที่ไม่ได้ติดไวรัส ซึ่งมักจะเกิดขึ้นในกรณีที่ไวรัสซิกเนเจอร์ ที่ใช้มีขนาดสั้นไป
ก็จะทำให้โปรแกรมดังกล่าวใช้งานไม่ได้อีกต่อไป
การตรวจการเปลี่ยนแปลง
การตรวจการเปลี่ยนแปลง คือ การหาค่าพิเศษอย่างหนึ่งที่เรียกว่า เช็คซัม (Checksum) ซึ่งเกิดจากการนำเอาชุดคำสั่งและ ข้อมูลที่อยู่ในโปรแกรมมาคำนวณ หรืออาจใช้ข้อมูลอื่น ๆ ของไฟล์ ได้แก่ แอตริบิวต์ วันและเวลา เข้ามารวมในการคำนวณด้วย เนื่องจากทุกสิ่งทุกอย่าง ไม่ว่าจะเป็นคำสั่งหรือข้อมูลที่อยู่ในโปรแกรม จะถูกแทนด้วยรหัสเลขฐานสอง เราจึงสามารถนำเอาตัวเลขเหล่านี้มาผ่านขั้นตอนการคำนวณทางคณิตศาสตร์ได้ ซึ่งวิธีการคำนวณเพื่อหาค่าเช็คซัมนี้มีหลายแบบ และมีระดับการตรวจสอบแตกต่างกันออกไป เมื่อตัวโปรแกรม ภายในเกิดการเปลี่ยนแปลง ไม่ว่าไวรัสนั้นจะใช้วิธีการแทรกหรือเขียนทับก็ตาม เลขที่ได้จากการคำนวณครั้งใหม่ จะเปลี่ยนไปจากที่คำนวณได้ก่อนหน้านี้
ข้อดีของการตรวจการเปลี่ยนแปลงก็คือ สามารถตรวจจับไวรัสใหม่ ๆ ได้ และยังมีความสามารถในการตรวจจับไวรัสประเภทโพลีมอร์ฟิกไวรัสได้อีกด้วย แต่ก็ยังยากสำหรับสทีลต์ไวรัส ทั้งนี้ขึ้นอยู่กับความฉลาดของโปรแกรมตรวจหาไวรัสเองด้วยว่าจะสามารถถูกหลอกโดยไวรัสประเภทนี้ได้หรือไม่ และมีวิธีการตรวจการเปลี่ยนแปลงนี้จะตรวจจับไวรัสได้ก็ต่อเมื่อไวรัสได้เข้าไปติดอยู่ในเครื่องแล้วเท่านั้น และค่อนข้างเสี่ยงในกรณีที่เริ่มมีการคำนวณหาค่าเช็คซัมเป็นครั้งแรก เครื่องที่ใช้ต้องแน่ใจว่าบริสุทธิ์พอ คือต้องไม่มีโปรแกรมใด ๆ ติดไวรัส มิฉะนั้นค่าที่หาได้จากการคำนวณที่รวมตัวไวรัสเข้าไปด้วย ซึ่งจะลำบากภายหลังในการที่จะตรวจหาไวรัสตัวนี้ต่อไป
การเฝ้าดู
เพื่อที่จะให้โปรแกรมตรวจจับไวรัสสามารถเฝ้าดูการทำงานของเครื่องได้ตลอดเวลานั้น จึงได้มีโปรแกรมตรวจจับไวรัสที่ถูกสร้งขึ้นมาเป็นโปรแกรมแบบเรซิเดนท์หรือ ดีไวซ์ไดรเวอร์ โดยเทคนิคของการเฝ้าดูนั้นอาจใช้วิธีการสแกนหรือตรวจการเปลี่ยนแปลงหรือสองแบบรวมกันก็ได้
การทำงานโดยทั่วไปก็คือ เมื่อซอฟแวร์ตรวจจับไวรัสที่ใช้วิธีนี้ถูกเรียกขึ้นมาทำงานก็จะเข้าไปตรวจในหน่วยความจำของเครื่องก่อนว่ามีไวรัสติดอยู่หรือไม่โดยใช้ไวรัสซิกเนเจอร์ ที่มีอยู่ในฐานข้อมูล จากนั้นจึงค่อยนำตัวเองเข้าไปฝังอยู่ในหน่วยความจำ และต่อไปถ้ามีการเรียกโปรแกรมใดขึ้นมาใช้งาน โปรแกรมเฝ้าดูนี้ก็จะเข้าไปตรวจโปรแกรมนั้นก่อน โดยใช้เทคนิคการสแกนหรือตรวจการเปลี่ยนแปลงเพื่อหาไวรัส ถ้าไม่มีปัญหา ก็จะอนุญาตให้โปรแกรมนั้นขึ้นมาทำงานได้ นอกจากนี้โปรแกรมตรวจจับ ไวรัสบางตัวยังสามารถตรวจสอบขณะที่มีการคัดลอกไฟล์ได้อีกด้วย
ข้อดีของวิธีนี้คือ เมื่อมีการเรียกโปรแกรมใดขึ้นมา โปรแกรมนั้นจะถูกตรวจสอบก่อนทุกครั้งโดยอัตโนมัติ ซึ่งถ้าเป็นการใช้สแกนเนอร์ จะสามารถทราบได้ว่าโปรแกรมใดติดไวรัสอยู่ ก็ต่อเมื่อทำการเรียกสแกนเนอร์นั้นขึ้นมาทำงานก่อนเท่านั้น
ข้อเสียของโปรแกรมตรวจจับไวรัสแบบเฝ้าดูก็คือ จะมีเวลาที่เสียไปสำหรับการตรวจหาไวรัสก่อนทุกครั้ง และเนื่องจากเป็นโปรแกรมแบบเรซิเดนท์หรือดีไวซ์ไดรเวอร์ จึงจำเป็นจะต้องใช้หน่วยความจำส่วนหนึ่งของเครื่องตลอดเวลาเพื่อทำงาน ทำให้หน่วยความจำในเครื่องเหลือน้อยลง และเช่นเดียวกับสแกนเนอร์ ก็คือ จำเป็นจะต้องมีการปรับปรุง ฐานข้อมูลของไวรัสซิกเนเจอร์ให้ทันสมัยอยู่เสมอ


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

การกำจัดไวรัส
เมื่อแน่ใจว่าเครื่องติดไวรัสแล้ว ให้ทำการแก้ไขด้วยความใคร่ครวญและระมัดระวังอย่างมาก เพราะบางครั้งตัวคนแก้เองจะเป็นตัวทำลายมากกว่าตัวไวรัสจริง ๆ เสียอีก การฟอร์แมตฮาร์ดดิสก์ใหม่อีกครั้งก็ไม่ใช่ วิธีที่ดีที่สุดเสมอไป ยิ่งแย่ไปกว่านั้นถ้าทำไปโดยยังไม่ได้มีการสำรองข้อมูลขึ้นมาก่อน การแก้ไขนั้นถ้าผู้ใช้มีความรู้เกี่ยวกับไวรัสที่ กำลังติดอยู่ว่าเป็นประเภทใดก็จะช่วยได้อย่างมาก และข้อเสนอแนะต่อไปนี้อาจจะมีประโยชน์ต่อท่าน
บูตเครื่องใหม่ทันทีที่ทราบว่าเครื่องติดไวรัส
เมื่อทราบว่าเครื่องติดไวรัส ให้ทำการบูตเครื่องใหม่ทันที โดยเรียกดอสขึ้นมาทำงานจากฟลอปปีดิสก์ที่ได้เตรียมไว้ เพราะถ้าไปเรียกดอสจากฮาร์ดดิสก์ เป็นไปได้ว่า ตัวไวรัสอาจกลับเข้าไปในหน่วยความจำได้อีก เมื่อเสร็จขั้นตอนการเรียกดอสแล้ว ห้ามเรียกโปรแกรมใด ๆ ก็ตามในดิสก์ที่ติดไวรัส เพราะไม่ทราบว่าโปรแกรมใดบ้างที่มีไวรัสติดอยู่
เรียกโปรแกรมจัดการไวรัสขั้นมาตรวจหาและทำลาย
ให้เรียกโปรแกรมตรวจจับไวรัส เพื่อตรวจสอบดูว่ามีโปรแกรมใดบ้างติดไวรัส ถ้าโปรแกรมตรวจ หาไวรัสที่ใช้อยู่สามารถกำจัดไวรัสตัวที่พบได้ ก็ให้ลองทำดู แต่ก่อนหน้านี้ให้ทำการคัดลอกเพื่อสำรองโปรแกรมที่ติดไวรัสไปเสียก่อน โดยโปรแกรมจัดการไวรัสบางโปรแกรมสามารถสั่งให้ทำสำรองโปรแกรมที่ติดไวรัสไปเป็นอีกชื่อหนึ่งก่อนที่จะกำจัดไวรัส เช่น MSAV ของดอสเอง เป็นต้น
การทำสำรองก็เพราะว่า เมื่อไวรัสถูกกำจัดออกจากฌปรแกรมไป โปรแกรมนั้นอาจไม่สามารถทำงานได้ตามปกติ หรือทำงานไม่ได้เลยก็เป็นไปได้ วิธีการตรวจขั้นต้นคือ ให้ลอง เปรียบเทียบขนาดของโปรแกรมหลังจากที่ถูกกำจัดไวรัสไปแล้วกับขนาดเดิม ถ้ามีขนาดน้อยกว่า แสดงว่าไม่สำเร็จ หากเป็นเช่นนั้นให้เอาโปรแกรมที่ติดไวรัสที่สำรองไว้ แล้วหาโปรแกรมจัดการ ไวรัสตัวอื่นมาใช้แทน แต่ถ้ามีขนาดมากกว่าหรือเท่ากับของเดิม เป็นไปได้ว่าการกำจัดไวรัสอาจสำเร็จ โดยอาจลองเรียกโปรแกรมตรวจหาไวรัสเพื่อทดสอบโปรแกรมอีกครั้ง
หากผลการตรวจสอบออกมาว่าปลอดเชื้อ ก็ให้ลองเรียกโปรแกรมที่ถูกกำจัดไวรัสไปนั้นขึ้นมาทดสอบการทำงานดูอย่างละเอียดว่าเป็นปกติดีอยู่หรือไม่อีกครั้ง ในช่วงดังกล่าวควรเก็บโปรแกรมนี้ที่สำรองไปขณะที่ติดไวรัสอยู่ไว้ เผื่อว่าภายหลังพบว่าโปรแกรมทำงานไม่เป็นไปตามปกติ ก็สามารถลองเรียกโปรแกรมจัดการไวรัสตัวอื่นขึ้นมากำจัดต่อไปได้ในภายหลัง แต่ถ้าแน่ใจว่าโปรแกรมทำงานเป็นปกติดี ก็ทำการลบโปรแกรมสำรองที่ยังติดไวรัสติดอยู่ทิ้งไปทันที เป็นการป้องกันไม่ให้มีการเรียกขึ้นมาใช้งานภายหลังเพราะความบังเอิญได้

การปรับแต่ง Registry

ลิ้งไปยัง ***http://peak888.blogspot.com/***

วันอังคารที่ 4 พฤศจิกายน พ.ศ. 2551

DOS (Disk Operating System) คืออะไร

ระบบปฏิบัติการในรูปแบบของตัวอักษร (Text Mode) ถึงแม้ว่าปัจจุบันระบบคอมพิวเตอร์ส่วนใหญ่จะใช้ Windows (ระบบรูปภาพ หรือ Graphics Mode) แต่อย่างไรก็ตาม การเรียนการใช้งาน DOS ก็ยังถือว่ามีส่วนสำคัญไม่น้อย ตัวอย่างเช่น การติดตั้ง Windows การแบ่ง harddisk แต่ละ drive (Partition Harddisk) อาจจำเป็นต้องมีการ boot เข้าระบบดอสก่อน และเช่นเดียวกับบางบริษัทที่มีใช้งานในระบบเครือข่าย Novell Netware ก็ยังจำเป็นต้องทำงานใรระบบ DOS เช่นกัน
ชื่อ DOS บางท่านอาจเคยเห็นชื่อที่เป็น MS-DOS นั่นหมายถึง Microsoft Disk Operating System (บริษัทไมโครซอร์ฟเป็นผู้ผลิต)
ความยาวของชื่อ-นามสกุล ไฟล์
ความแตกต่างที่เห็นในชัดของชื่อไฟล์ในระบบ DOS กับ Windows คือ ความยาวของชื่อไฟล์ Windows สามารถตั้งชื่อให้ยาวได้มากถึง 255 ตัวอักษร ส่วนในระบบ DOS ชื่อและนามสกุลของไฟล์จะถูกจำกัดได้เพียง
ชื่อยาวไม่เกิน 8 ตัวอักษร นามสกุลยาวไม่เกิน 3 ตัวอักษร ตัวอย่าง Readme.TXT (ชื่อไฟล์ Readme หลังจุดคือนามสกุล TXT)
คำสั่งระบบ DOS พื้นฐาน
DIR (Directory) - คำสั่งในการแสดงรายชื่อไฟล์ รายชื่อไดเรกทอรี่ (Folder ใน windows ปัจจุบัน) ตัวอย่างการใช้งาน (รวมคำสั่งย่อย ๆ)Dir - แสดงรายชื่อไฟล์ ไดเรกทอรี่ทั้งหมด พร้อมทั้งขนาดไฟล์ + วันเวลาอัปเดทล่าสุด Dir /p - แสดงรายชื่อไฟล์ ไดเรกทอรี่ในแนวนอน ให้หยุดแสดงทีละหน้า (กรณีที่มีจำนวนไฟล์ยาวมากกว่า 1 หน้าจอ)Dir /w - แสดงรายชื่อไฟล์ ไดเรกทอรี่ในแนวนอน Dir /s, - แสดงรายชื่อไฟล์ ไดเรกทอรี่ และไฟล์ที่อยู่ในไดเรกทอรี่ย่อยด้วย Dir /od - แสดงรายชื่อไฟล์ ให้เรียงตามวันที่อัปเดท Dir /n - แสดงรายชื่อไฟล์ ให้เรียงตามชื่อ
CLS (Clear Screen) - คำสั่งสำหรับลบหน้าจอออก
DEL (Delete) - คำสั่งในการลบชื่อไฟล์ที่ต้องการ เช่น DEL readme.txt หมายถึงให้ลบชื่อไฟล์ README.TXT ตัวอย่างการใช้งาน (รวมคำสั่งย่อย ๆ)Del readme.txt - ลบไฟล์ชื่อ readme.txt Del *.* - ให้ลบไฟล์ทั้งหมดที่อยู่ในไดเรกทอรี่ปัจจุบัน Del *. - ให้ลบไฟล์ทั้งหมดที่อยู่ในไดเรกทอรี่ปัจจุบัน เฉพาะไฟล์ที่ไม่มีนามสกุล
MD (Make Directory) - คำสั่งในการสร้างไดเรกทอรี่ เช่น MD Photo จะได้ไดเรกทอรี่ C:Photo
CD (Change Directory) - คำสั่งในการเข้าไปในไดเรกทอรี่ (CD คือคำสั่งในการออกจากห้องไดเรกทอรี่)
RD (Remove Directory) - คำสั่งในการลบไดเรกทอรี่ เช่น RD Photo (เราจะต้องอยู่นอกห้องไดเรอทอรี่ Photo)
REN (Rename) - คำสั่งในการเปลี่ยนชื่อชือ เช่น REN readme.txt read.me หมายถึงการเปลี่ยนชื่อไฟล์เป็น READ.ME
ชนิดคำสั่ง DOS
คำสั่งของ DOS มีอยู่ 2 ชนิดคือ 1. คำสั่งภายใน (Internal Command) เป็นคำสั่งที่เรียกใช้ได้ทันทีตลอดเวลาที่เครื่องเปิดใช้งานอยู่ เพราะคำสั่งประเภทนี้ถูกบรรจุลงในหน่วยความจำหลัก (ROM) ตลอดเวลา หลังจากที่ Boot DOS ส่วนมากจะเป็นคำสั่งที่ใช้อยู่เสมอ เช่น CLS, DIR, COPY, REN เป็นต้น 2. คำสั่งภายนอก (External Command) คำสั่งนี้จะถูกเก็บไว้ในดิสก์หรือแผ่น DOS คำสั่งเหล่านี้จะไม่ถูกเก็บไว้ในหน่วยความจำ เมื่อต้องการใช้คำสั่งเหล่านี้คอมพิวเตอร์จะเรียกคำสั่งเข้าสู๋หน่วยความจำ ถ้าแผ่นดิสก์หรือฮาร์ดดิสก์ไม่มีคำสั่งที่ต้องการใช้อยู่ก็ไม่สามารถเรียกคำสั่งนั้น ๆ ได้ ตัวอย่างเช่น คำสั่ง FORMAT, DISKCOPY, TREE, DELTREE เป็นต้น
รูปแบบและการใช้คำสั่งต่างๆ ในการใช้คำสั่งต่าง ๆ ของ DOS จะมีการกำหนดอักษรหรือสัญญลักษณ์ ใช้แทนข้อความของรูปแบบคำสั่ง ดังนี้ [d:] หมายถึง Drive เช่น A:, B: [path] หมายถึง ชื่อไดเรคเตอรี่ย่อย [filename] หมายถึง ชื่อแฟ้มข้อมูล หรือ ชื่อไฟล์ [.ext] หมายถึง ส่วนขยาย หรือนามสกุล หมายเหตุ : ข้อความที่อยู่ในวงเล็บ ([ ] ) ถ้าไม่มีก็ไม่ต้องใส่ในคำสั่ง



คำสั่ง dos
1. DIR เป็นคำสั่งในการเรียกดูชื่อและรายละเอียดแฟ้มข้อมูล (file) ในแผ่น
รูปแบบ
d: ระบุไดร์ฟของแผ่น
filename ชื่อแฟ้มข้อมูลที่ต้องการค้นหา
.ext ส่วนขยายของชื่อแฟ้มข้อมูลที่ต้องการค้นหา
/P แสดงทีละจอภาพ
/W แสดงเฉพาะรายชื่อ
ตัวอย่างคำสั่งDIR
C:>DIR
C:>DIR WINDOWS
C:>DIR WINDOWS /P
C:>DIR WINDOWS /W
C:>DIR D:
C:>DIR WINDOWS*.EXE
C:>DIR t*.???


2. PROMPT เ
ป็นคำสั่งในการเปลี่ยนเครื่องหมายเตรียมพร้อม (DOS Prompt)
รูปแบบ
โดยใช้เครื่องหมาย $ นำหน้าอักษรต่อไปนี้
ตัวอย่างคำสั่ง PROMPT
C:>PROMPT $n (แสดงไดร์ฟ)
C:>PROMPT $g (แสดงเครื่องหมาย >)
C:>PROMPT $d$q (แสดงวันที่และตามด้วยเครื่องหมาย = )
C:>PROMPT $p$g (แสดงชื่อpathและตามด้วยเครื่องหมาย > )
โครงสร้างต้นไม้ (tree structure)

3. MD หรือ MKDIR
เป็นคำสั่งในการสร้างไดเรคทอรี เป็นคำย่อมาจาก MaKe DIRectory
รูปแบบ
ตัวอย่างเช่น
D:>MD SUB1
D:>MD SUB2
D:>MD SUB1SUB11

4. CD
เป็นคำสั่งในการย้ายการทำงานเข้าสู่ไดเรคทอรี เป็นคำย่อมาจาก Change Directory
รูปแบบ
ตัวอย่างเช่น
D:>CD SUB1
D: SUB1>CD SUB11
CD.. เป็นย้ายออกจากไดเรคทอรีปัจจุบัน 1 ขั้น
D:>CD SUB1SUB11 CD ย้ายกลับมาที่ root directory

5. RD
เป็นคำสั่งในการลบไดเรคทอรี ย่อมาจาก ReMove DIRectory
รูปแบบ
ตัวอย่างเช่น
D:>RD SUB2


6. TREE
เป็นคำสั่งในการขอดูโครงสร้างไดเรคทอรี
รูปแบบ
/F แสดงชื่อไฟล์ด้วย
ตัวอย่างเช่น
D:>TREE /F
D:>TREE SUB1

7. COPY CON
เป็นคำสั่งในการสร้างแฟ้มข้อมูล (โดยรับข้อมูลจากคีย์บอร์ด แล้วจบด้วย Ctrl+Z ตามด้วย Enter)
รูปแบบ
ตัวอย่างเช่น
D:>COPY CON SUB1test1.txt
พิมพ์ This is test

8. COPY
เป็นคำสั่งในการสำเนาแฟ้มข้อมูล
รูปแบบ
ตัวอย่างคำสั่ง
COPY D:>COPY SUB1test1.txt C:exam1.txt
สั่ง D:>DIR C:exam1.txt

D:>COPY C:exam1.txt C:exam2.txt
สั่ง D:>DIR C:

D:>COPY C:ex???.txt D:SUB1SUB11
สั่ง D:>DIR SUB1SUB11

9. REN
เป็นคำสั่งในการเปลี่ยนชื่อแฟ้มข้อมูล (ไฟล์ยังคงเก็บอยู่ที่เดิม)
รูปแบบ
ตัวอย่างเช่น
D:>REN SUB1test1.txt new.txt
สั่ง D:>DIR SUB1

D:>REN SUB1SUB11*.txt *.bat
สั่ง D:>DIR SUB1SUB11

10. DEL
เป็นคำสั่งในการลบแฟ้มข้อมูล DELย่อมาจาก DELete
รูปแบบ
ตัวอย่างเช่น
D:>DEL C:exam1.txt
สั่ง D:>DIR C:

D:>DEL SUB1SUB11?????.bat
สั่ง D:>DIR SUB1SUB11

11. TYPE
เป็นคำสั่งในการขอดูข้อมูลในไฟล์
รูปแบบ
ตัวอย่างเช่น
D:>TYPE SUB1new.txt

12. DATE
เป็นคำสั่งในการขอดูหรือแก้ไขวันที่ ตามรูปแบบ mm-dd-yy

13. TIME
เป็นคำสั่งในการขอดูหรือแก้ไขเวลา ตามรูปแบบ hh-mm[:ss[.xx]]


14. VER
เป็นคำสั่งในการขอดูเวอร์ชันของ DOS ที่ใช้

15. VOL เป็นคำสั่งในการขอดูชื่อแผ่น (volume label) และหมายเลขประจำแผ่นข้อมูล (serial number)

16. LABEL
เป็นคำสั่งในการขอดูหรือแก้ไขชื่อแผ่น
รูปแบบ
ตัวอย่างเช่น
D:>LABEL พิมพ์ diligence

วันเสาร์ที่ 1 พฤศจิกายน พ.ศ. 2551

Shortcut Key

แนะนำคีย์ลัดคีย์ด่วน (Shortcut Key) ของ Windows ช่วยเราได้มาก เคยใช้กันมั๊ยเอ่ย ???
CTRL+A ไฮไลต์ไฟล์ หรือข้อความทั้งหมด
CTRL+C ก๊อปปี้ไฟล์ หรือข้อความที่เลือกไว้
CTRL+X ตัด (cut) ไฟล์ หรือข้อความที่เลือกไว้
CTRL+V วาง (paste) ไฟล์ หรือข้อความที่ก๊อปปี้ไว้
CTRL+Z ยกเลิกการกระทำที่ผ่านมาล่าสุด
ปุ่ม Windows ถ้าใช้เดี่ยว ๆ จะเป็นการแสดง Start Menu
ปุ่ม Windows + D ย่อหน้าต่างที่เปิดอยู่ทั้งหมด
ปุ่ม Windows + E เปิด windows explorer
ปุ่ม Windows + F เปิด Search for files
ปุ่ม Windows + Ctrl+F เปิด Search for Computer
ปุ่ม Windows + F1 เปิด Help and Support Center
ปุ่ม Windows + R เปิดไดอะล็อคบ็อกซ์ RUN
ปุ่ม Windows + break เปิดไดอะล็อคบ็อกซ์ System Properties
ปุ่ม Windows +shift + M เรียกคืนหน้าต่างที่ถูกย่อลงไปทั้งหมด
ปุ่ม Windows + tab สลับไปยังปุ่มต่าง ๆ บน Taskbar
ปุ่ม Windows + U เปิด Utility Manager