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

ไวรัส เวิร์ม โทรจัน และมัลแวร์ ?

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

มัลแวร์ชนิดต่างๆ

ไวรัส Virus คือโปรแกรมคอมพิวเตอร์ชนิดหนึ่งที่สามารถคักลอกตัวเองแล้วเกาะติดคอมพิวเตอร์โดยที่เจ้าของเครื่องคอมพิวเตอร์นั้นไม่อนุญาตหรือไม่ทราบ ในบางครั้งคำว่า ไวรัส อาจจะหมายถึงโปรแกรมอันตรายชนิดอื่นๆด้วย เช่น เวิร์ม โทรจัน และสปายแวร์ เพื่อให้เกิดความง่ายต่อการสื่อถึงโปรแกรมอันตรายต่างๆเหล่านี้ ( หรือจะเรียกว่า "มัลแวร์" ) อย่างไรก็ตาม ความหมายของไวรัสขึ้นอยู่กับว่าความตั้งใขผู้เรียกว่าต้องการให้หมายถึงโปรแกรม อ ต ร ( อันตราย ) ทุกชนิด มัลแวร์ หมายถึงเฉพาะโปรแกรมไวรัสจิงๆเท่านั้นไวรัสจะแพร่กระจายตัวเองไปยังคอมพิวเตอร์เครื่องอื่นๆ โดยจะใช้พาหะ เช่น CD DVD Blu-Ray หรือจะแฟลชไดรว์ซึ่งก่อนที่ติดไวรัส ผู้ที่กำลังตกเป็นเหยื่อของไวรัสต้องมีการเข้าถึงพาหะที่ติดไวรัสนั้นก่อน เช่น รับโปรแกรมที่ติดไวรัสซึ่งถูกส่งมาทางอีเมล์ เน็ตเวิร์ก แชร์โฟลเดอร์ เว็บไซต์ หรืออินเทอร์เน็ต โปรแกรมไวรัสจะไม่สามารถแพร่กระจายได้ด้วยตัวของมันเอง เช่น หากผู้ใช้ไม่รันโปรแกรมที่ติดไวรัสหรือจะเข้าถึงสื่อที่ติดไวรัสแล้ว ตัวอย่างเช่น บู๊ตเซคเตอร์ หรือจะ autorun ต่างๆ ผู้ใช้จะไม่มีทางติดไวรัส


ไวรัสเวิร์ม ?

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


ไวรัสโทรจัน ?

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


ไวรัสสปายแวร์ ?

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




วันอังคารที่ 1 ธันวาคม พ.ศ. 2558

ไอดีเอสและไอพีเอส (IDS / IPS)

ไอดีเอสและไอพีเอส (IDS / IPS)

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

ความสำคัญของ IDS / IPS

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

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

ประเภท IDS / IPS 

เราสามารถแบ่งชนิดของ IDS / IDP ได้เป็น 3 ชนิด ได้แก่ Host based IDS Network based IDS และ IPS

Host based IDS

  Host base IDS คือ IDS ที่ทำหน้าที่ตรวจจับการโจมตีได้เฉพาะในHostนั้นๆ เช่นโปรแกรม snort ที่ติดตั้งบนเครื่องเว็บเซิร์ฟเวอร์ที่คอยตรวจสอบการโจมตีที่เข้ามายังเว็บแอพพลิเคชั่นและการโจมตีมาที่พอร์ตอื่นๆ นอกเหนือจากพอร์ต 80 และ 443 แต่มันไม่สามารถแจ้งเตือนเมื่อเมล์เซิร์ฟเวอร์ ดีเอนเอสเซิร์ฟเวอร์ หรือเซิร์ฟเวอร์อื่นๆ ที่วางอยู่ข้างๆโจมตี

ข้อดีของ Host based IDS

IDS ไม่ต้องทำงานหนักมากเนื่องจากมีหน้าที่ตรวจจับการบุกรุกเฉพาะโฮสต์ที่ติดตั้งซอฟต์แวร์
IDS ไว้ ทำให้สามารถตรวจจับการโจมตีได้ทันทุกรายระเอียด
ใช้งานง่าย เพราะปัจจุบันมี Host based IDS ที่เป็นซอฟต์แวร์ฟรีให้เลือกใช้หลากหลายตัว

ข้อเสียของ Host based IDS

โปรเซสของ IDS จะกินหน่วยความจำและ CPU ของเครื่องเซิร์ฟเวอร์ ทำให้ประสิทธิภาพการทำงานของเซิร์ฟเวอร์ลดลง
ต้องติดตั้ง ดูแล ตรวจสอบ Log file ของ IDS บนเซิร์ฟเวอร์แต่ละเครื่องทำให้เพิ่มภาระของผู้ดูแลระบบ

Network based IDS

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


ข้อดีของ Network based IDS

โปรเซสของ IDS จะไม่กินหน่วยความจำและ CPU ของเครื่องเซิร์ฟเวอร์ เพราะไม่จำเป็นต้องติดตั้ง IDS บนเซิร์ฟเวอร์
ไม่ต้องติดตั้ง ดูแล หรือตรวจสอบ log file ของ IDS บนเซิร์ฟเวอร์แต่ละเครื่องเหมือนกับ Host based IDS


  ข้อเสียของ Network based IDS

IDS ต้องทำงานหนักมากเนื่องจากมีหน้าที่ตรวจจับการบุกรุกของหลายๆโฮสต์พร้อมกัน ดังนั้น
IDS อาจจะไม่สามารถตรวจจับการโจมตีได้ทันทุกรายละเอียด
ติดตั้งใช้งานยากกว่า Host based IDS เพราะผู้ดูแลระบบจะต้องคอนฝิกให้ Switch มีพอร์ตหนึ่งทำงานเป็น Mirror Port
Network based IDS มักจะเป็นอุปกรณ์ฮาร์ดแวร์ ที่มีราคาแพง เรียกว่า Applicance

IPS

IPS นักคอมพิวเตอร์บางกลุ่มอาจจะเรียกว่า IDPS หรือ IDP เป็นอุปกรณ์ที่ทำงานเหมือนกับ Network based IDS แต่มีฟังก์ชั่นพิเศษเพิ่มเข้ามาคือ ป้องกันการโจมตีเมื่อตรวจพบการบุกรุก IPS มักจะเป็นอุปกรณ์ฮาร์ดแวร์และมีราคาสูงมากๆ ตัวอย่างเช่น IPS ได้แก่ Juniper networks IDP




วิทยาการรหัสลับ ?

  การเข้ารหัสและการถอดรหัสมักจะได้ยินว่า Cryptography คำว่า Cryptography นี้มาจากคำว่า Crypto แปลว่า การซ่อน ผนวกกับคำว่า Graph แปลว่า การเขียน ดังนั้น Cryptography จึงมีความหมายว่า การเขียนเพื่อซ่อนข้อมูล โดยมีจุดประสงค์เพื่อป้องกันไม่ให้ผู้อื่นสามารถอ่านข้อมูลได้ ยกเว้นผู้ที่เราต้องการให้อ่านได้เท่านั้น ซึ่งผู้ที่เราต้องการให้อ่านได้จะต้องทราบวิธีการถอดรหัสข้อมูลที่ซ่อนไว้ หากแบ่ง Cryptography ตามยุคสมัยแล้วเราสามารถที่จะแบ่งได้เป็น 2 ยุคคือ ยุคประวัติศาสัตร์ หรือเรียกอีกอย่างว่า ยุค Classic โบราณ และยุคปัจจุบัน กระบวนการของ Cryptography มี2 อย่างคือ Data Encryption และ Data Decryption ซึ่งหมายถึงการเข้ารหัสข้อมูล และการถอดรหัสข้อมูลตามลำดับ ส่วนประโยชน์ของ Cryptography คือการรักษาความลับของข้อมูล Cryptography = Encryption + Decryption

การเข้ารหัสยุค Classic ( โบราณ )

  จากหลักฐานทางประวัติศาสตร์ที่อาจจะตีความได้ไม่ชัดเจนมากนัก บ้างก็เชื่อว่าการเข้ารหัสเกิดขึ้นโดยชาวอียิปต์เมื่อประมาณ 4,500 ปีมาแล้ว บ้างก็เชื่อว่าคิดค้นโดยชาวอาหรับเมื่อประมาณ 500-600ปีก่อนคริสตกาล วิธีการเข้ารหัสที่สำคัญในยุคก่อนๆมีหลายวิธีการ เช่น Monoalphabetic ciphers Polyalphabetic ciphers และ Caesar cipher

Caesar cipher

  การเข้ารหัสข้อมูลแบบ Caesar cipher มีขึ้นในราว 50-70 ปีก่อนคริสตกาล ได้รับการคิดค้นโดยกษัตริย์ Julius Caesar แห่งโรมัน เพื่อใช้ในการเข้ารหัสข้อความในสารที่ส่งในระหว่างการทำศึกสงครามเพื่อป้องกันไม่ให้ศัตรูสามารถอ่านข้อความในสารนั้นได้หากสารนั้นถูกแย่งซิงไป การเข้ารหัสแบบ Caesar cipher จะใช้วิธีการแทนที่ตัวอักษรต้นฉบับด้วยตัวอักษรที่อยู่ห่างออกไปข้างหน้าสามตัว เช่น แทนที่ตัว A ด้วยตัว D และแทนที่ตัว B ด้วยตัว E เป็นต้น  ดังนั้นการเข้ารหัสแบบ Caesar cipher จึงเป็นการเลื่อนตัวอักษรโดยจำนวนครั้งของการเลื่อนเท่ากับสาม Shiftment, n = 3


วิธีการ แม็ปตัวอักษรในการเข้ารหัสแบบ Caeser cipher สามารถเขียนได้ตามนี้

plain:   ABCDEFGHIJKLMNOPQRSTUVWXYZ
cipher: DEFGHIJKLMNOPQESTUVWXYZABC

หรือเข้ารหัสแบบ Fox Code

plaintext:   the quick brown  fox jumps over the lazy dog
ciphertext: WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ

Fox Code คือประโยค the quick brown fox jumps over the lazy dog ซึ่งเป็นประโยคสั้นๆที่มีตัวอักษรภาษาอังกฤษครบทั้ง 26 ตัว

Monoalphabetic ciphers

  การเข้ารหัสข้อมูลแบบ Monoalphabetic cipher หรือจะเรียกว่า Monoalphabetic substitution ciphers คิดค้นโดยชาวอาหรับ ( อาตื่น ล้อเล่นครับ 55+ ) โดยใช้วิธีการแทนที่ตัวอักษรแบบ 1 ต่อ 1 ไม่ใช่การเลื่อน ตัวอย่าง Monoalphabetic ciphers ในยุคแรกๆคือการเข้ารหัสข้อมูลแบบ Atbash ใช้แทนที่ตัว A ด้วยตัว Z แทนที่ตัว B ด้วยตัว Y แล้วแทนที่ตัว C ด้วยตัว X ครับ


plain:   ABCDEFGHIJKLMNOPQRSTUVWXYZ
cipher: ZYXWVUTSRQPONMLKJIHGFEDCBA

Polyalphabetic Encryption

  Polyalphabetic Encryption คิดค้นโดย Blaise De Vignere ชาวฝรั่งเศสเมื่อประมาณ 500 ปี ที่แล้ว อัลกอริทึมนี้ใช้เทคนิคที่ประกอบไปด้วย Multiple Monoalpha Cipher คือมี Monoalphabetic ciphers หมายๆตัวประกอบกัน ซึ่งจะมีการกำหนดระยะห่างให้กับตัวอักษรก่อนโดยระยะห่างในแต่ละช่วงจะไม่เท่ากันตัวอย่างเช่น n = 7 ให้เป็น C และ n = 15 ให้เป็น C2 หลังจากนั้นกำหนด รูปแบบ Pattem ในการใส่ข้อมูล เช่น C1 C2 C2 C1 C2

  เทคนิคนี้จะใช้ในช่วงสงครามโลกครั้งที่ 1 และยากที่จะถอดรหัสด้วยมือเปล่า แต่ถ้าใช้คอมพิวเตอร์จะสามารถถอดรหัสได้ง่าย นอกจากนั้นหากต้องการจะเบรคโดยใช้คอมพิวเตอร์ก็จะทำการเบรคได้ง่ายเช่นกัน ผู้ที่เบรค Polyalphabetic Encryption ได้ เป็นชาวรัสเซียชื่อ Friedrich Kasiski เบรคได้ในปี 1863 โดยให้ข้อสังเกตว่าถ้าได้ Cipher text ที่มีความยาวพอ Pattem จะเริ่มซ้ำและสามารถที่จะเห็นความเหมือนของ Cipher text โดยดูที่ Frequency Analysis ตัวอักษรแต่ละตัวปรากฏบ่อยแค่ไหนบ้างครับ

One-Time Pad

  One-Time Pad คิดค้นโดย Gilbert Vernam ชาวอังกฤษในช่วงสงครามโลกครั้งที่ 1 เป็นวิธีการเพิ่มความสามารถในการเข้ารหัสให้กับ Polyaliphabetic Encryption โดยใช้การแม็ปจาก 1 ตัวอักษรให้เป็นไปได้หลายตัวอักษร ซึ่งมีวิธีตามนี้ครับ
ใช้ Key ทีมีขนาดเท่ากันกับ Plain Text
Cipher Text ที่เป็นการคำนวณออกมาได้จะมีขนาดเท่ากันกับขนาดของ Plain Text
ตัวอักษรทุกตัวจะต้องมีการเปลี่ยนหมด เช่น หาก L ตัวแรกแม็ปได้เป็น N แล้ว L ตัวที่สองจะต้องแม็ปได้เป็นตัวอื่น เช่น ตัว V เป็นต้น
ใช้ Operation ง่ายๆ เช่น (+) เพื่อเข้ารหัสและ (-) เพื่อถอดรหัส หรือใช้ XOR สำหรับทั้งการเข้ารหัสและถอดรหัส

  การเข้ารหัสแบบ One-Time Pad นี้ Cipher Text จะมีความเป็น Random มากหรือน้อยขึ้นอยู่กับความเป็น Random ของ Key ตัวอย่างการเข้ารหัสด้วยวิธี One-Time Pad

plain Text    : H E L L O
key              :  X M C K L
cipher Text :  E Q N V Z 

การเข้ารหัส

7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message ( Plain Text )
+23 (X) 12 (M) 2 (C) 10 (K) 11 (L) key
=30 16 13 21 25 message + key
= 4 (E) 16 (Q) 13 (N) 21 (V) 25 (Z) message + key ( mod 26 ) --> Cipher Text 

ไฟร์วอลล์ ( Firewall ) ความหมาย ?

ไฟร์วอลล์ ( Firewall ) ความหมาย ?

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

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


หน้าที่และการทำงานของไฟร์วอลล์

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



ไฟร์วอลล์จะเชื่อมต่อกับเครือข่ายอย่างน้อย 2 เครือข่าย โดยส่วนใหญ่แล้วจะเชื่อมต่อประมาณ 3 ถึง 4 เครือข่ายย่อย โดยมันจะทำหน้าที่ส่งผ่าน แพ็กเก็ตเหมือนกับเราเตอร์ หรือนานๆครั้งเราจะเห็นไฟร์วอลล์ของบางหน่วยงานที่มีการแลกเปลี่ยนตารางเส้นทางกับเราเตอร์ แต่ทั้งนี้ทั้งนั้นขึ้นอยู่กับการออกแบบ หากเรามองภาพรวมของอินเทอร์เน็ตทั้งโลกและพิจารณาตำแหน่งที่อยู่ของเราเตอร์ต่างๆซึ่งจะมีอยู่แทบจะทุกหนทุกแห่ง แล้วกลับมามองที่ไฟร์วอลล์ของเราก็จะเห็นได้ว่าไฟร์วอลล์จะว่างอยู่ในตำแหน่งเกือบปลายสุดของเครือข่ายอินเทอร์เน็ต ซึ่งเราสามารถกำหนดให้ส่งผ่านแพ็กเก็ตโดยใช้ Static Route ได้ดังนั้นจึงไม่จำเป็นต้องแลกเปลี่ยนตารางเส้นทางกับเราเตอร์ ไฟร์วอลล์ทำหน้าที่ส่งผ่าน แพ็กเก็ตได้เหมือนกับเราเตอร์ แต่สิ่งที่ไฟร์วอลล์แตกต่างกับเราเตอร์คืออะไร คำตอบคือ ไฟร์วอลล์จะทำหน้าที่กรองแพ็กเก็ตได้ ส่วนการกำหนด ACL : Access Control List ในเราเตอร์เพื่อให้เราเตอร์สามารถกรองแพ็กเก็ตได้ คือการทำให้เราเตอร์ทำงานได้เหมือนไฟร์วอลล์นั้นเอง

การออกแบบเครือข่ายและตำแหน่งที่ตั้งของไฟร์วอลล์

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


DMZ ( Demilitarized Zone )

  พื้นที่บริเวณที่เราจะวางเครื่อง Web Server Mail Server และ DNS Server นั้นถือได้ว่าเป็นพื้นที่ที่เราลดระดับความปลอดภัยลงมา นั้นคือยอมให้เครื่องภายนอกเข้าถึงServerบนพอร์ตต่างๆได้ จึงเรียกว่า Demilitarized Zone ตัวย่อ DMZ หากจะแปลเป็นภาษาไทยก็จะแปลว่า "เขตปลอดทหาร"  หลายคนอาจจะเคยเข้าผิดคิดว่า DMZ ซึ่งเป็นบริเวณที่วางเครื่องเซิร์ฟเวอร์เหล่านี้มีความปลอดภัย มากกว่า บริเวณที่วางเครื่องผู้ใช้ภายใน แต่ความจริงแล้ว DMZ มีความปลอดภัยน้อยกว่า เนื่องจากเราจะต้องเปิดพอร์ตเป็นจำนวนมากเพื่อให้ผู้ใช้จากอินเทอร์เน็ตเชื่อมต่อเข้ามาเพื่อใช้บริการของเซิร์ฟเวอร์ต่างๆได้ในทางปฏิบัติการแบ่งโซนสามารถทำได้หลากหลายแบบ เช่น การใช้ไฟร์วอลล์สองตัวต่อเชื่อมในลักษณะเป็นชั้นๆและการใช้ไฟร์วอลล์ตัวเดียวแต่เป็นไฟร์วอลล์ที่มีหลาย อินเทอร์เฟส ซึ่งแบบหลังนี้จะเป็นที่นิยมมากกว่า

การออกแบบลักษณะเป็นชั้น

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



การใช้ไฟร์วอลล์ที่มีหลายอินเทอร์เฟส

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

  บางหน่วยงานที่ต้องการความปลอดภัยที่สูงขึ้นอาจจะมีการใช้ทั้ง 4 อินเทอร์เฟส โดยแบ่ง DMZ เป็นสองระดับความปลอดภัยคือ แบ่งให้อยู่ต่างโซนกัน เช่น แบ่งให้เป็น DMZ1 กับ DMZ2 หรือเราอาจจะให้อินเทอร์เฟสที่ 4 สำหรับแบ่งโซนให้กับเซิร์ฟเวอร์ภายใน เช่น Database Server เพื่อจำกัดสิทธิ์ให้เฉพาะผู้ใช้ภายในและบางไอพีแอดเดรสเท่านั้นที่จะสื่อสารกับ Database Server ได้ และนอกจากนั้นยังสามารถกำหนดให้เปิดเฉพาะพอร์ตที่จำเป็นได้เช่นกันครับ













วันจันทร์ที่ 30 พฤศจิกายน พ.ศ. 2558

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

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

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

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

   การรักษาความปลอดภัยของระบบคอมพิวเตอร์และเครือข่ายและระบบสารสนเทศสามารถแบ่งเป็นหมวดใหญ่ๆ ได้ 4 หมวดหมู่ ได้แก่ การรักษาความปลอดภัยด้านกายภาพ การรักษาความปลอดภัยของคอมพิวเตอร์แม่ข่ายและลูกข่าย การรักษาความปลอดภัยของอุปกรณ์เครือข่ายและระบบเครือข่ายและการรักษาความปลอดภัยของข้อมูล ครับ

การรักษาความปลอดภัยด้านกายภาพ

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

การเข้าถึงเครื่องคอมพิวเตอร์และอุปกรณ์โดยตรง

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

การเข้าถึงระบบโดยตรงเพื่อการขโมย แก้ไข ทำลายข้อมูล และวาง Back Door

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

ขโมย หรือ ทำลายอุปกรณ์และเครื่องคอมพิวเตอร์

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

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

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

การเข้าถึงคอมพิวเตอร์แม่ข่ายที่ไม่ได้ป้องกัน 

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

การเข้าถึงคอมพิวเตอร์แม่ข่ายที่มีช่องโหว่

  ช่องโหว่ของคอมพิวเตอร์แม่ข่ายมักเกิดจากช่องโหว่ของระบบฏิบัติการ หรือช่องโหว่ของ Application หรือที่เรียกกันว่า ( โปรแกรมรันบนserver ) ช่องโหว่ของ Web Application แฮกเกอร์จะใช้การโจมตีแบบ remote exploit คือการใช้ โปรแกรมช่วยในการเจาะระบบ เช่นโปรแกรม Metasploit หากการโจมตีนั้นสำเร็จแฮกเกอร์จะ สามารถควบคุมเครื่องคอมพิวเตอร์แม่ข่าย จากนั้นเขาสามารถ ขโมย แก้ไข หรือ ทำลายข้อมูลที่สำคัญได้ผ่านทาง Linux Command หรือ Windows Command เช่น FTP TFTP scp หรือจะใช้ wget เพื่อนำ Back Door มาติดตั้งก็ได้

การโจมตีเครื่องแม่ข่ายเพื่อไม่ให้สามารถใช้การได้ หรือทำให้ประสิทธิภาพลดลง

  การโจมตีแบบ Dos เป็นการโจมตีเพื่อไม่ให้เครื่องแม่ข่ายสามารถให้บริการได้ หรืออย่างน้อยจะทำให้เครื่องแม่ข่ายมีประสิทธิภาพลดลง หากแฮกเกอร์ไม่สามารถทำการโจมตี exploit เพื่อเข้าถึงเครื่องได้ และไม่สามารถกระทำการใดๆ เพื่อให้ได้ประโยชน์จากเครื่องแม่ข่ายได้ ทางเลือกสุดท้ายก็คือ โจมตีโดยวิธี Dos เพื่อให้เครื่องแม่ข่ายหยุดทำงานการโจมตีแบบ Dos นี้สามารถทำได้หลายวิธีไม่ว่าจะเป็นการโจมตีด้วย ARP ICMP TCP หรือว่าด้วยวิธีการอื่นๆ ที่จะทำให้เป้าหมายใช้งานไม่ได้เลย

การเข้าถึงคอมพิวเตอร์ลูกข่าย เพื่อขโมย แก้ไข ทำลายข้อมูลผู้ใช้ภายในองค์กร

  ในอดีตนั้นการโจมตีมักจะมุ่งเน้นไปที่คอมพิวเตอร์แม่ข่าย แต่ปัจจุบันแฮกเกอร์หันมาสนใจการโจมตี Client มากขึ้น ซึ่งอาจจะมีเหตุมาจาก Windows XP หรือ Vista ใช้เทคโนโลยีเดียวกับ windows Server 2003 หรือ 2008 เครื่องมือแฮกที่ใช้งานได้กับ Windows Server จึงสามารถใช้งานได้กับ Windows Client และเนื่องจากเครื่องมือแฮกสามารถหาได้ง่ายและใช้งานง่าย ผู้ใช้ทั่วไปที่ไม่มีความรู้สามารถดาวน์โหลดมาใช้ในการโจมตีคอมพิวเตอร์ของผู้อื่นได้ เพื่อขโมยข้อมูลหรือโจมตีแบบ Dos ให้คอมพิวเตอร์อื่นใช้งานไม่ได้ เช่น การใช้โปรแกรม Netcut ที่สามารถตัดการสื่อสารของคอมพิวเตอร์อื่นๆภายในระบบ Lan เดียวกัน ทำให้เครื่องที่ถูกโจมตีไม่สามารถใช้อินเทอร์เน็ตได้