บทที่10 การจัดองค์การ และการรักษาความปลอดภัยสำหรับระบบสารสนเทศ

การจัดองค์การ  

10

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

ประโยชน์ของการจัดองค์กร

1.      ทำให้การบริหารงานเป็นไปอย่างมีประสิทธิภาพ

2.      ทำให้งานทุกอย่างในองค์กรดำเนินไปด้วยความสำเร็จด้วยดี

3.      ทำให้ประหยัดและคุ้มค่าเพราะไม่เกิดปัญหาความซ้ำซ้อนและความล่าช้า

4.      ทำให้องค์กรสามารถพัฒนาและเจริญเติบโตต่อไป

5.      ทำให้สมาชิกเกิดการร่วมแรงร่วมใจกันทำงาน

6.      ทำให้สมาชิกในองค์กรมีขวัญและกำลังใจในการปฏิบัติงาน

บุคลากรในองค์กรระบบสารสนเทศแบ่งเป็น 2 กลุ่ม คือ

1.      บุคลากรในวิชาชีพเทคโนโลยีสารสนเทศ

2.      บุคลากรทางการบริหารสารสนเทศ

3.      บุคลากรในวิชาชีพเทคโนโลยีสารสนเทศ

บุคลากรในวิชาชีพเทคโนโลยีสารสนเทศ

  • ผู้ควบคุมการทำงานของเครื่องคอมพิวเตอร์ (Computer Operator) ทำหน้าที่ควบคุมและดูแลเครื่องคอมพิวเตอร์
  • ผู้บันทึกข้อมูล (Data Entry Operator) ทำหน้าที่ป้อนข้อมูลเข้าเครื่องคอมพิวเตอร์ เพื่อนำไปประมวลผลต่อไป
  • ผู้เขียนโปรแกรมประยุกต์ (Application Programmer) ทำหน้าที่เขียนโปรแกรมสั่งงานคอมพิวเตอร์
  • ผู้ควบคุมโปรแกรมระบบ (System Programmer) ทำหน้าที่ดูแลการทำงานของโปรแกรมระบบ
  • นักวิเคราะห์ระบบ (System Analyst) ทำหน้าที่ในการศึกษาและประเมินผลระบบการทำงานในปัจจุบันของหน่วยงาน วิเคราะห์และออกแบบระบบงานของหน่วยงาน
  • นักออกแบบฐานข้อมูล (Database Designer) ทำหน้าที่ออกแบบฐานข้อมูลในระบบงาน
  • ผู้บริหารฐานข้อมูล (Database Administrator) ทำหน้าที่จัดการประสานงาน และควบคุมดูแลฐานข้อมูลขององค์กร
  • วิศวกรคอมพิวเตอร์ (Computer Engineer) ทำหน้าที่ดูแลและแก้ไขปัญหาการทำงานของเครื่องคอมพิวเตอร์และอุปกรณ์คอมพิวเตอร์
  • พนักงานด้านการสื่อสารข้อมูล (Data Communication Supervisor) ทำหน้าที่ติดตั้งและดูแลการทำงานของอุปกรณ์ด้านการสื่อสารข้อมูล
  • ผู้เชี่ยวชาญด้านการสื่อสารข้อมูลหรือผู้เชี่ยวชาญด้านเครือข่าย (Data Ccommunication or Network Specialist)
  • ทำหน้าที่ในการออกแบบระบบการสื่อสารข้อมูลในระบบสารสนเทศ
  • นักวิเคราะห์สารสนเทศ หรือผู้ประสานงานด้านผู้ใช้ (Information Analyst or User Liaison) ทำหน้าที่ประสานงานและศึกษาความต้องการของผู้ใช้งานจากระบบสารสนเทศของผู้ใช้

บุคลากรทางการบริหารสารสนเทศ บุคลากรที่ทำหน้าที่ทางการบริหารงานด้านเทคโนโลยีสารสนเทศ ตามที่กำหนดกันในปัจจุบัน มีดังนี้

CIO (Chief Information Officer) เป็นผู้บริหารระดับสูงของงานด้านเทคโนโลยีสารสนเทศ มีหน้าที่และความรับผิดชอบในการกำหนดนโยบายเกี่ยวกับการนำเทคโนโลยีสารสนเทศมาใช้ในองค์กร

MIS Manager or Director ผู้บริหารสูงสุดของหน่วยงานด้านเทคโนโลยีสารสนเทศ ทำหน้าที่ในการจัดการและควบคุมดูแลการทำงานของระบบสารสนเทศทั้งหมดขององค์กร

IS Executive เป็นผู้ที่รับผิดชอบในการจัดการ และควบคุมการทำงานด้านระบบสารสนเทศภายในหน่วยงาน

การจัดตั้งหน่วยงานเพื่อรองรับระบบสารสนเทศในองค์กร

มีวัตถุประสงค์ในการดูแลบำรุงรักษาระบบสารสนเทศ ให้ตอบสนองต่อการเปลี่ยนแปลงที่เกิดขึ้นได้หน่วยงานที่ทำหน้าที่ดังกล่าว คือ “หน่วยงานระบบสารสนเทศ (Information System Unit หรือ IS Unit)” ในการจัดตั้งสามารถจัดตั้งได้ 3 ลักษณะคือ

1.      หน่วยงานระบบสารสนเทศแบบรวมศูนย์

2.      หน่วยงานระบบสารสนเทศแบบไม่รวมศูนย์

3.      หน่วยงานระบบสารสนเทศแบบกระจาย

หน่วยงานระบบสารสนเทศแบบรวมศูนย์ (Centralized Information System Unit)  มีหน้าที่ดังนี้

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

ข้อดี คือ สามารถควบคุมดูแลข้อมูลการดำเนินงานของระบบสารสนเทศตลอดจนการรักษาความปลอดภัยของฐานข้อมูลขององค์กรได้เป็นอย่างดี

ข้อเสีย คือ การพัฒนาระบบงานคอมพิวเตอร์ให้กับฝ่ายต่าง ๆ ใช้เวลานาน

หน่วยงานระบบสารสนเทศแบบไม่รวมศูนย์ (Decentralized Information System Unit)หน้าที่และความรับผิดชอบของหน่วยงานระบบสารสนเทศแบบไม่รวมศูนย์ คือ

  • วางแผนในการนำเทคโนโลยีสารสนทศมาใช้ในหน่วยงานของตน
  • พัฒนาระบบสารสนเทศให้กับหน่วยของผู้ใช้ที่ได้สังกัดอยู่
  • ดูแลฐานข้อมูลระบบสารสนเทศของหน่วยงาน
  • ให้คำปรึกษาต่อการใช้เทคโนโลยีคอมพิวเตอร์ในงานของผู้ใช้

ข้อดี คือ สามารถพัฒนาระบบสารสนเทศได้ตามความต้องการของหน่วยงานผู้ใช้

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

หน่วยงานระบบสารสนเทศแบบกระจาย (Distributed Information System Unit) เป็นการผสมผสานระหว่างหน่วยงานแบบรวมศูนย์และไม่รวมศูนย์ เพื่อลดปัญหาของทั้งสองรูปแบบ คือ แบบรวมศูนย์มีข้อจำกัดในเรื่องความล่าช้าและความคล่องตัวในการพัฒนาระบบสารสนเทศให้กับผู้ใช้ ส่วนแบบไม่ศูนย์จะเกิดความไม่เป็นอันหนึ่งอันเดียวกันของสารสนเทศ เนื่องจากต่างฝ่ายต่างดำเนินการพัฒนาระบบงานของตนเอง ขาดการประสานงานด้านการใช้ข้อมูลร่วมกัน ไม่มีการแลกเปลี่ยนข้อมูลระหว่างหน่วยงาน

การจัดองค์กรในหน่วยงานระบบสารสนเทศ

ประกอบด้วยหน่วยงานย่อยภายใต้หน่วยระบบสารสนเทศ ดังนี้

หน่วยงานปฏิบัติ (Operations Unit) มีหน้าที่ควบคุมดูแลและปฏิบัติงานที่เกี่ยวกับเรื่อง

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

หน่วยงานด้านพัฒนาระบบ (System Development Unit) มีหน้าที่

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

หน่วยงานบริการทางเทคนิค (Technical Service Unit) สนับสนุนทางเทคนิคกับหน่วยงานอื่น ๆ มีหน้าที่

  • การดูแลซอฟต์แวร์ระบบทั้งหมด
  • การควบคุมดูแลและบริหารการใช้ข้อมูลโดยรวมขององค์กร
  • การประเมินเทคโนโลยีใหม่ ๆ

หน่วยงานด้านวางแผนและบริหาร (Planning and Administration Unit) มีหน้าที่

  • บริหารงานทั่วไป
  • การวางแผนการใช้งานเทคโนโลยีที่มีอยู่
  • การจัดทำงบประมาณ
  • การบริหารงานบุคคลด้านเทคโนโลยีสารสนเทศ
  • การฝึกอบรมเจ้าหน้าที่ทางเทคนิค
  • การพัฒนาและกำหนดมาตราฐานในการทำงาน

นอกจากนี้อาจมีหน่วยงานอื่น ๆ อีก เช่น หน่วยตรวจสอบระบบการประมวลผลคอมพิวเตอร์, หน่วยงานติดตามและประเมินเทคโนโลยี เป็นต้น

แนวคิดในการรักษาความปลอดภัยของระบบสารสนเทศ

เพื่อป้องกันไม่ให้เกิดความเสียหายต่อระบบ ซึ่งสามารถจัดประเภทของความเสียหายกับระบบสารสนเทศได้ดังนี้

1. ความเสียหายที่เกิดจากการกระทำโดยเจตนาของมนุษย์ – การก่ออาชญากรรมทางคอมพิวเตอร์ การขโมยข้อมูล

2. ความเสียหายเนื่องจากภัยธรรมชาติ – ไม่ว่าจะเป็นไฟไหม้ ฟ้าผ่า พายุ เป็นต้น

3. ความเสียหายเนื่องจากขาดระบบป้องกันทางกายภาพ (Physical Security) – การขาดระบบการป้องกันที่ดี ในทาง

การวางระบบคอมพิวเตอร์

4. ความเสียหายเนื่องจากความบกพร่องของระบบสภาพแวดล้อม ของสารสนเทศ – ความเหมาะสมของอุปกรณ์ต่าง ๆ

ที่เกี่ยวข้องกับเครื่องคอมพิวเตอร์

5. ความเสียหายเนื่องจากความล้มเหลวของการทำงานของอุปกรณ์ต่าง ๆ ในระบบสารสนเทศ – ขาดการบำรุงรักษา

6. ความเสียหายเนื่องจากความล้มเหลวของระบบเครือข่าย หรือระบบสื่อสารข้อมูล

7. ความเสียหายเนื่องจากความผิดพลาดจากการทำงานภายในระบบสารสนเทศเอง – เนื่องจากซอฟต์แวร์ โปรแกรม

การรักษาความปลอดภัยให้กับระบบสารสนเทศ

สามารถแบ่งออกเป็น 3 แนวทาง คือ

1.การวางแผนรักษาความปลอดภัยในเชิงกายภาย (Physical Planning Security)

2.การวางแผนรักษาความปลอดภัยในเชิงตรรกะ (Logical Planning Security)

3.การวางแผนป้องกันความเสียหาย (Disaster Planning Security)

  การวางแผนรักษาความปลอดภัยในเชิงกายภาย (Physical Planning Security)  เกี่ยวกับสภาพต่าง ๆ ที่เกี่ยวข้องกับเครื่องคอมพิวเตอร์ มีดังนี้

1. การจัดการดูแลและป้องกันในส่วนของอาคารสถานที่ 

ทำเลที่ตั้งศูนย์คอมพิวเตอร์ หรือห้องคอมพิวเตอร์

การจัดการดูแลและป้องกันภายในศูนย์คอมพิวเตอร์

2. การจัดการดูแลและป้องกันเกี่ยวกับระบบสภาพแวดล้อม

3. การจัดการดูแลและป้องกันในส่วนของฮาร์ดแวร์

จัดการดูแลอุปกรณ์เอง

เรียกบริษัทผู้ขาย หรือบริษัทอื่นดูแลให้เป็นครั้ง ๆ ไป

ทำสัญญาการบำรุงรักษาอุปกรณ์เป็นรายปี

การวางแผนรักษาความปลอดภัยในเชิงตรรกะ (Logical Planning Security)

เกี่ยวข้องกับการรักษาความปลอดภัยในเรื่อง ดังนี้

1.      การรักษาความปลอดภัยก่อนผ่านข้อมูลเข้าสู่ระบบสารสนเทศ – เป็นการกำหนดสิทธิผู้ใช้ มีรหัสผ่าน

2.      การรักษาความปลอดภัยในการใช้ข้อมูลในระบบสารสนเทศ – กำหนดสิทธิของตัวข้อมูลในระดับต่าง ๆ

3.      การรักษาความปลอดภัยในการรับส่งข้อมูล – หรือการเข้ารหัสข้อมูล

การวางแผนป้องกันความเสียหาย (Disaster Planning Security)

มีวิธีการป้องกันดังนี้

1.      การจัดเตรียมศูนย์คอมพิวเตอร์สำรอง –

2.      การจัดเตรียมข้อมูลสำรอง

3.      การจัดเตรียมเรื่องการกู้ระบบหลังจากเกิดการเสียหายขึ้น

4.      การวางแผนป้องกันไวรัสคอมพิวเตอร์

บทที่ 9 ภัยคุกคาม ช่องโหว่ และการโจมตี

ภัยคุกคามและรูปการโจมตีแบบต่างๆ จากผู้ไม่ประสงค์ดีต่อระบบ

– การหลอกลวงเพื่อผลพลอยได้ทางธุรกิจหรือสร้างความรำคาญ

Adware โปรแกรมที่มักมากับ freeware หรือ Website แปลกๆ มักจะโผล่เป็นโฆษณาหรือ pop-up ให้เราดูเสมอๆ

Spam อีเมล์ขยะ อีเมล์โฆษณา ก่อให้เกิดความรำคาญแบบที่ทุกๆคนเจอกันเยอะๆ

Spim อันนี้บางคนอาจจะไม่ได้ยิน เป็นโฆษณาเหมือนกันแต่ต่างจาก spam ตรงที่ว่า มันจะโฆษณาผ่านทาง IM นั้นเอง

spim

Blue jacking คล้ายกับสองตัวบนครับ แต่จะส่งข้อความมาทาง bluetooth

Blue jacking

Hoax หลายคงอาจจะไม่เคยได้ยินมันคือ อีเมล์หรือข้อความที่ทำขึ้นเพื่อสร้างความตระหนกตกใจ คนทำมักจะสนุกในสิ่งที่เกิดขึ้นถ้านึกไม่ออกให้นึกถึงเมลลูกโซ่,จดหมายขู่ จำได้ไหมครับ “msn จะเริ่มเก็บเงินถ้าคุณไม่ส่งเมลนี้ต่อ “555 ไม่คิดว่าหลายคนรอบตัวผมก็เชื่อเช่นนั้น ส่งกันใหญ่เลย

Phishing คือการหลอกลวงผ่านอีเมล์(ใช้หลัก Social engineer) เช่นหลอกให้โอนเงิน แต่ถ้าหากจำเพาะเจาะจงเป็นตัวบุคคลเรียก Spear phishing

Vishing คล้ายกับด้านบนแต่จะเป็นการหลอกลวงผ่านโทรศัพท์แบบที่เราชอบเจอกันของมิฉาชีพหลอกคืนเงินภาษีแล้วให้ไปจิ้มๆๆที่ atm แล้วก็สูญเงินกันไปหลายราย

Domain name kiting เป็นการหลอกลวงโดยใช้ประโยชน์ของกฎการจดทะเบียน Domain ที่มีระยะเวลาห้าวัน หากลบ Domain ทิ้งไม่จำเป็นต้องเสียค่าใช้จ่าย

– การสอดแนม การค้นหาข้อมูล

Spyware โปรแกรม ที่เมื่อถูกติดตั้งจะส่งข้อมูลตามที่ผู้ไม่ประสงค์ดีต้องการ

Key logger โปรแกรมที่ถูกติดตั้งเพื่อจดจำการกดปุ่ม

Sniffer โปรแกรมที่ใช้ในการดักจับ Data Packet สามารถใช้ในทางที่ดีหรือร้ายได้ ซึ่งมันจะถูกใช้ร่วมกันการโจมตีแบบอื่น

IP and port? scanner ขอรวมอยู่ในหัวข้อเดียวกันเพราะลักษณะเหมือนกันคือใช้ scan โดยใช้เทคนิคต่างๆ ไม่ว่าจะ icmp,syn,etc เพื่อให้ทราบข้อมูลเกี่ยวกับ infrastructure ,service รวมถึงช่องโหว่ ของระบบนั้นๆ

Shoulder surfing การแอบมอง เชื่อไหมครับว่านี้ก็เป็นวิธีการที่ hacker ใช้และได้ผลดี ไม่ต้องอาศัยเทคนิคให้ยุ่งยากเพียงแค่แอบชำเลืองและมอง(มักใช้ควบคู่กับวิธีอื่น)

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

MAC flooding การโจมตี ตาราง CAM table ของ Switch บนเครือข่ายให้เต็ม? เพื่อให้ Switch นั้นทำงานเป็น Hub จึงทำให้ข้อมูลจะถูกกระจายส่งทุกพอร์ต hacker ก็จะสามารถได้รับ packet ได้ง่ายๆ

– การปลอมตัวหรือปลอมแปลงเพื่อจุดประสงค์ต่างๆส่วนมากจะใช้คู่กับการโจมตีรูปแบบอื่นๆ

Evil twin คือปลอม access point ประเภทหนึ่งซึ่งจะใช้ ssid เดียวกับ network ที่ถูกโจมตี เพื่อให้ผู้คนที่ access หลงเข้ามายัง access point ตัวนี้

Pharming คือการโจมตีที่ Host file ของเครื่อง เพื่อให้เวลาผู้ใช้งานเข้าwebsite หรือติดต่อ ผ่าน Domain จะติดต่อไปยัง IP ของผู้ไม่ประสงค์ดีแทน

IP spoofing,MAC spoofing ขอรวบยอดเลยครับ ตรงๆคำเลยคือการปลอม IP ปลอม MAC address เพื่อจุดประสงค์ต่างๆ

DNS Poisioning การหลอกเครื่องเหยื่อเมื่อเครื่องเหยื่อ resolve domain เครื่องของ hacker จะทำการตอบกลับ domain name นั้นเพียงแต่ IP ที่ตอบเป็น IP ของ hacker เอง

– การเข้าแก้ไขข้อมูลระหว่างการสื่อสาร

Man in the middle เป็นภัยที่เกิดขึ้นจากคนกลางคอยรับส่งข้อมูลแทนเครื่องเป้าหมาย โดยวิธีต่างๆเช่น Session Hijacking,TCP/IP Hijacking หรือทำ ARP Poisioning

Replay attack เป็นการโจมตีที่ Hacker จะทำการ Capture packet การคุยกันระหว่างสองเครื่องไว้และ ทำการนำมา replay หรือส่งไปใหม่อีกรอบ

– การเข้าถึงระบบที่ไม่ได้รับอนุญาต

Password guessing เครื่องมือในการเดารหัสผ่าน มีสามแบบใหญ่คือ dictionary attack,rainbow attack และ brute-force attack

Vampire tap เครื่องมือช่วยในการ access network โดยไม่ต้องอาศัย port หากมองไม่ออกให้นึกถึงเครื่องมือที่ มีเขี้ยวใช้เจาะเข้าไปยังลวดทองแดง ทีนี้เมื่อมีการส่งสัญญาณซึ่งอยู่ในรูป 0,1 อุปกรณ์ตัวนี้ก็จะทำให้เราดักจับข้อมูลได้

ตัวอย่าง Vampire tap

Tailgating เป็นวิธีการทางฟิสิกส์ มักพบเจอให้ บริเวณที่ผู้มีสิทธิ์ได้รับอนุญาตเท่านั้นจะเข้าถึงได้ นั้นก็คือ การตามคนข้างหน้าที่มีสิทธิ์เข้าไป

Tailgating

Rogue access point การตั้ง Access point ขึ้นโดยอาจจะตั้งใจหรือไม่ตั้งใจแต่เป็นช่องโหว่ให้คนที่อยู่ภายนอกเข้าถึงเครือข่ายได้

War driving คือการโจมตีที่มาในรูปแบบรถที่ตระเวณขับไปเรื่อยๆเพื่อหา wireless ที่มีความปลอดภัยต่ำและเจาะข้อมูลโดยมีเครื่องมีคุณภาพสามารถเจาะได้จากนอกอาคาร(บนรถ)

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

ตัวอย่าง War chalking

Remote File Inclusion เป็นรูปแบบการโจมตีชนิดหนึ่งโจมตี Website ที่มีช่องโหว่โดยการโจมตีรูปแบบนีจะเป็นการให้เรียกไฟล์อื่นๆที่ไม่ได้อยู่ในเว็บมาทำงานบนเว็บได้ ทำให้ hacker สามารถเรียกโปรแกรมของ hacker จากภายนอกเองได้

Backdoor ช่องโหว่ที่ผู้พัฒนาเปิดไว้ใช้ในการเข้าถึงระบบได้อย่างสะดวก หากถูกค้นพบโดย hacker จะไม่เป็นประโยชน์อีกต่อไป หึๆๆ

Cross site script(XSS) เป็นเทคนิคของ Hacker ใช้ช่องโหว่ Website ในการส่ง link Website นั้น แต่ฝัง script ของ hacker เพื่อขโมยข้อมูลของเหยื่อ โดยที่เหยือให้ความไว้วางใจ website นั้น ๆ และหลอกให้เหยื่อกรอก user และ pass เมื่อเหยื่อกด login ข้อมูลจะถูกส่งไปยัง Hacker

XSS

Cross Site Request Forgery (CSRF,XSRF) เป็น script ที่มากับ website ที่ประสงค์ร้ายโดยอาศัย session ที่เหยื่อเปิดค้างไว้และ Authen ผ่านเรียบร้อยในการทำงาน เช่น นาย A เปิดเว็บ bank ไว้ ขณะเดียวกันไปอ่านอีเมลมี link ให้เปิดยังเว็บ เว็บหนึ่งโดยที่ไม่คาดมาก่อนว่าเว็บนั้นฝัง script ในการโอนเงินไว้ด้วย

Blue snarfing เข้าถึงข้อมูลเหยื่อผ่านช่องทาง Bluetooth

SQL Injection การใช้ช่องโหว่ของ คำสั่ง SQL บน website ในการเจาะระบบโดยใช้ คำสั่ง SQL ลงในช่อง Input data และทำให้ hacker ได้ข้อมูลสำคัญของ datatbase ใน website นั้นไป

SQL Injection

Birthday Attack เป็นปรากฎการณ์เมื่อ Hacker สุ่มคีย์ขึ้นมาและอาจจะตรงกับ Key ที่เราเข้ารหัสไว้ ซึ่งมีความเป็นมากกว่าที่คิดที่จะเกิดเหตุการณ์แบบนี้

– การครอบครองระบบหรือได้สิทธิ์ในระบบนั้นๆ

Botnet คือภัยคุกคามที่ทำให้เครื่องที่โดนกลายเป็น Zombie โดนควบควมโดยผู้ไม่ประสงค์ดี มักถูกใช้เป็นเครื่องมือในการโจมตีแบบ DDoS(distributed denial-of-service attack)

Rootkit คือ เครื่องมือที่ทำให้ได้สิทธิ์ root หรือ admin บนเครื่องๆนั้น สามารถใช้ในทางที่ดีหรือในทางที่ไม่ดี มักมีความสามารถในการหลบซ้อนตัวสูง

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

– การสร้างความเสียหายกับระบบ

Virus โปรแกรมหรือคำสั่ง ที่สร้างความเสียหายต่อระบบอย่างที่คนรู้ๆกันแต่ลักษณะเด่นที่บ่งบอกว่ามันคือไวรัสคือมันสามารถแพร่พันธุ์ตัวเองได้แต่ต้องพึ่งพาหะในการขยายพันธุ์(flashdrive,diskdrive)

Worm บางคนแยกไม่ออกระหว่างไวรัสครับ จุดเด่นมันคือแพร่พันธุ์โดยไม่ต้องอาศัยพาหะ ประมาณว่าเสียบ LAN ปุ๊บติดปั๊บได้ง่ายอย่างนั้นเลย หรืออาศัยช่องโหว่ OS เข้ามาได้เลยผ่าน Internet หรือ LAN เข้ามาเพราะฉะนั้นผมมองว่ามันเก่งกว่า Virus ครับ

Trojan สร้างความเสียหายต่อระบบได้เหมือนด้านบน แต่ลักษณะการเข้ามาของมันจะเหมือนกับมาดีแต่จริงๆมันมาร้าย มักเจอตาม Key Gen หรือมากับโปรแกรมเถื่อนครับ

Logic bomb สร้างความเสียหายเหมือนสี่ตัวบนแต่จะมีตัวแปรเรื่องเวลาเข้ามาเกี่ยวข้องเช่น จะเริ่มทำงานในวันที่ 1 เดือน 1 หรือคือระเบิดเวลาดีๆนี่เองครับ

logicbomb

Buffer overflow เป็น script ที่เมือ่ถูกติดตั้งจะทำการส่งข้อมูลไปยัง service อื่นๆบนเครื่องเดียวกันจนไม่สามารถใช้งานได้

DoS (denial-of-service attack) การโจมตีโดยมุ่งไปที่หยุดการให้บริการของเครื่อง เช่นการ flood,Nuke,ping of death ปัจจุบันแทบไม่เห็นแล้วเนื่องจากสเปกเครื่องที่แรงขึ้นมาก แค่นี้จิ๊บๆๆ

DDoS(distributed denial-of-service attack) การโจมตีโดยมุ่งไปที่หยุดการให้บริการของเครื่องโดยอาศัยเครื่องหลายๆเครื่องในการโจมตีพร้อมๆกัน เช่น Smurf Attack ที่จะปลอมเป็นเครื่องเป้าหมายและทำการส่ง icmp ไปยัง network address แล้วเมื่อ network ทั้งวงตอบกลับมายังเหยื่อ ทำให้มีtraffic ขนาดใหญ่เข้ามายังเหยื่อ เป็นการรุมทึ้งดีๆนี่เอง

ddos

Zero-day attack การโจมตีของ hacker มุ่งโจมตีไปยังช่องโหว่ของระบบที่ยังไม่มีแก้ไข ช่องโหว่พวกนี้จะถูกเปิดเผยให้รู้กันในกลุ่ม hacker

บทที่ 8 Virus and Malware

ไวรัสคอมพิวเตอร์ (Computer Virus)

11

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

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

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

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

Virus = แพร่เชื้อไปติดไฟล์อื่นๆในคอมพิวเตอร์โดยการแนบตัวมั นเองเข้าไป มันไม่สามารถส่งตัวเองไปยังคอมพิวเตอร์เครื่องอื่นๆไ ด้ต้องอาศัยไฟล์พาหะ สิ่งที่มันทำคือสร้างความเสียหายให้กับไฟล์

Malware ย่อมาจาก Malicious Software หมายถึงโปรแกรมคอมพิวเตอร์ทุกชนิดที่มีจุดประสงค์ร้า ยต่อคอมพิวเตอร์และเครือข่าย หรือเป็นคำที่ใช้เรียกโปรแกรมที่มีจุดประสงค์ร้ายต่อ ระบบคอมพิวเตอร์ทุกชนิดแบบรวมๆ โปรแกรมพวกนี้ก็เช่น virus, worm, trojan, spyware, keylogger, hack tool, dialer, phishing, toolbar, BHO, etc

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

บทที่ 7 การเจาะระบบและวิธีป้องกัน

12

ทุกวันนี้ คงไม่มีบริษัทใดที่ไม่มี Website เป็นของตัวเอง บางบริษัทอาจจะเช่า Web Hosting อยู่ หรือ บางบริษัทอาจมี Web Site เป็นของตนเองอยู่ในระบบเครือข่ายของบริษัท โดยมีการต่อเชื่อมเครือข่ายของบริษัทด้วย Frame Relay, ADSL หรือ Leased Line เข้ากับระบบเครือข่ายของ ISP ซึ่งส่วนใหญ่ก็จะมีการจัดซื้อ Firewall มาใช้ป้องกันระบบเครือข่ายภายในของบริษัท กับ ระบบอินเทอร์เน็ตจาก ISP และ มีการเปิดให้คนภายนอกสามารถเข้ามาเยี่ยมชม Web Site ได้ โดยเปิด Port TCP 80 (http) และ Port TCP 443 (https) ในกรณีที่ใช้โปรโตคอล SSL ในการเข้ารหัสข้อมูลเพื่อเพิ่มความปลอดภัยมากยิ่งขึ้น

ปัญหาก็คือ ในเมื่อทุกบริษัทต้องเปิดทางให้มีการเข้าชม Web Site ทั้งแบบ Plain text traffic (Port 80) และแบบ Encrypted text traffic (port 443) ทำให้แฮกเกอร์สามารถจู่โจม Web Site ของเราโดยไม่ต้องเจาะผ่าน Firewall เนื่องจากเป็น Port ที่ Firewall มีความจำเป็นต้องเปิดใช้อยู่แล้ว

ในโลกของ E-Commerce มีอัตราการใช้งาน Web Server ที่เพิ่มขึ้นทุกวัน (ดูข้อมูลจากwww.netcraft.com) และ จากข้อมูลของ UNCTAD (http://www.unctad.org) พบว่า Web Server ทั่วโลก มีทั้งแบบที่เข้ารหัสด้วย SSL แล้ว และ แบบไม่เข้ารหัสด้วย SSL ก็ยังคงมีใช้กันอยู่

ในเมื่อแฮกเกอร์มองเห็นช่องที่เรามีความจำเป็นต้องเปิดใช้งานผ่านทาง Web Server และ Web Application แฮกเกอร์ในปัจจุบันจึงใช้วิธีที่เรียกว่า “Web Application Hacking” ในการเจาะเข้าสู่ระบบขององค์กรต่างๆ ทั่วโลก ขณะนี้มีการจู่โจมระบบโดยกลุ่มแฮกเกอร์ที่ต้องการทำสถิติ ในการเจาะ Web Site ดูรายละเอียดได้ที่ http://www.zone-h.org ดังนั้น ผู้ที่มี Web Site อยู่ และ โดยเฉพาะผู้ที่ต้องการหันมาทำธุรกิจในลักษณะของ E-commerce ซึ่งต้องมี Web Site ที่ใช้ Web server ที่เชื่อถือได้ และมีการเขียน Web application โดยคำนึงถึงเรื่อง “Security” เป็นหลัก จึงมีความจำเป็นอย่างยิ่งที่ต้องเรียนรู้ช่องโหว่ (Vulnerability) ของ Web application ที่แฮกเกอร์ชอบใช้ในการเจาะระบบ Web application ของเราซึ่งรวบรวมได้ทั้งหมด 5 วิธีด้วยกัน (Top 5 Web Application Hacking)

ตลอดจนเรียนรู้วิธีการป้องกันที่ถูกต้อง เพื่อที่จะไม่ให้ตกเป็นเหยื่อของเหล่าแฮกเกอร์ที่จ้องคอยเจาะระบบเราอยู่ผ่านทาง Web Site ที่ยังไงเราก็ต้องเปิดให้เข้าถึง และ ยังมี Virus Worm ตัวใหม่ๆ ที่เขียนขึ้นเพื่อจู่โจม Port 80 (HTTP)และ Port 443 (SSL) โดยเฉพาะอีกด้วย รายละเอียดของ Top 5 Web Application Hacking มี 5 วิธี ดังนี้

1. Unvalidated Input

หมายถึง การที่ข้อมูลจากฝั่ง client ที่ส่วนใหญ่แล้ว จะมาจาก Internet Explorer (IE) Browser ไม่ได้รับการตรวจสอบก่อนถูกส่งมาประมวลผลโดย Web Application ที่ทำงานอยู่บน Web Server ทำให้แฮกเกอร์สามารถดักแก้ไขข้อมูลในฝั่ง client

ก่อนที่จะถูกส่งมายังฝั่ง server โดยใช้โปรแกรมที่สามารถดักข้อมูลได้ เช่น โปรแกรม Achilles เป็นต้น ดังนั้น ถ้าเรารับข้อมูลจากฝั่ง client โดยไม่ระมัดระวัง หรือ คิดว่าเป็นข้อมูลที่เราเป็นคนกำหนดเอง เช่น เทคนิคการใช้ Hidden Field หรือ Form Field ตลอดจนใช้ข้อมูลจาก Cookies เราอาจจะโดนแฮกเกอร์แก้ไขข้อมูลฝั่ง client ด้วย โปรแกรมดังกล่าวแล้วส่งกลับมาฝั่ง server ในรูปแบบที่แฮกเกอร์ต้องการ และมีผลกระทบกับการทำงานของ Web Application ในฝั่ง web server

วิธีการป้องกัน
เราควรจะตรวจสอบข้อมูลที่รับมาจากทั้ง 2 ฝั่ง คือ ข้อมูลที่รับมาจาก client ผ่านทาง Browser และข้อมูลที่รับมาประมวลผลที่ web server โดยตรวจสอบที่ web server อีกครั้งก่อนนำไปประมวลผลด้วย Web application เราควรมีการฝึกอบรม Web Programmer ของเราให้ระมัดระวังในการรับ input จากฝั่ง client ตลอดจนมีการ Review Source code ไม่ว่าจะเขียนด้วย ASP, PHP หรือ JSP Script ก่อนที่จะนำไปใช้งานในระบบจริง ถ้ามีงบประมาณด้านรักษาความปลอดภัย ก็แนะนำให้ใช้ application level firewall หรือ Host-Based IDS/IPS ที่สามารถมองเห็น Malicious content และป้องกันในระดับ application layer

2. Broken Access Control

หมายถึง มีการป้องกันระบบไม่ดีพอเกี่ยวกับการกำหนดสิทธิของผู้ใช้ (Permission) ที่สามารถจะ Log-in /Log-on เข้าระบบ Web application ได้ ซึ่งผลที่ตามมาก็คือ ผู้ที่ไม่มีสิทธิเข้าระบบ (Unauthorized User) สามารถเข้าถึงข้อมูลที่เราต้องการป้องกันไว้ไม่ให้ Unauthorized User เข้ามาดูได้ เช่น เข้ามาดูไฟล์ข้อมูลบัตรเครดิตลูกค้าที่เก็บอยู่ใน Web Server หรือ เข้าถึงไฟล์ข้อมูลในลักษณะ ฏDirectory Browsing โดยเห็นไฟล์ทั้งหมดที่อยู่ใน web Server ของเรา ปัญหานี้เกิดจากการกำหนด File Permission ไม่ดีพอ และ อาจเกิดจากปัญหาที่เรียกว่า “Path Traversal” หมายถึง แฮกเกอร์จะลองสุ่มพิมพ์ path หรือ sub directory ลงไปในช่อง URL เช่น http://www.abc.com/../../customer.mdb เป็นต้น นอกจากนี้อาจเกิดจากปัญหาการ cache ข้อมูลในฝั่ง client ทำให้ข้อมูลที่ค้างอยู่ cache ถูกแฮกเกอร์เรียกกลับมาดูใหม่ได้ โดยไม่ต้อง Log-in เข้าระบบก่อน

วิธีการป้องกัน
พยายามอย่าใช้ User ID ที่ง่ายเกินไป และ Default User ID ที่ง่ายต่อการเดา โดยเฉพาะ User ID ที่เป็นค่า default ควรลบทิ้งให้หมด สำหรับปัญหา Directory Browsing หรือ Path Traversal นั้น ควรมีการ set file system permission ให้รัดกุม เพื่อป้องกัน ช่องโหว่ที่อาจถูกโจมตี และ ปิด file permission ใน sub directory ต่างๆ ที่ไม่ได้ใช้ และ ไม่มีความจำเป็นต้องให้คนภายนอกเข้า เพื่อป้องกันแฮกเกอร์สุ่มพิมพ์ path เข้ามาดึงข้อมูลได้ และควรมีการตรวจสอบ Web Server log file และ IDS/IPS log file เป็นระยะๆ ว่ามี Intrusion หรือ Error แปลกๆ หรือไม่

3. Broken Authentication and Session Management

หมายถึง ระบบ Authentication ที่เราใช้อยู่ในการเข้าถึง Web Application ของเรานั้นไม่แข็งแกร่งเพียงพอ เช่น การตั้ง Password ง่ายเกินไป, มีการเก็บ Password ไว้ในฝั่ง Client โดยเก็บเป็นไฟล์ Cookie ที่เข้ารหัสแบบไม่ซับซ้อนทำให้แฮกเกอร์เดาได้ง่าย หรือใช้ชื่อ User ที่ง่ายเกินไป เช่น User Admin เป็นต้น บางทีก็ใช้ Path ที่ง่ายต่อการเดาได้ เช่น http://www.abc.com/admin หมายถึง การเข้าถึงหน้า admin ของระบบ แฮกเกอร์สามารถใช้โปรแกรมประเภท Dictionary Attack หรือ Brute Force Attack ในการลองเดาสุ่ม Password ของระบบ Web Application ของเรา ตลอดจนใช้โปรแกรมประเภท Password Sniffer ดักจับ Password ที่อยู่ในรูปแบบ Plain Text หรือ บางทีแฮกเกอร์ก็ใช้วิธีง่ายๆ ในการขโมย Password เรา โดยแกล้งปลอมตัวเป็นเรา แล้วแกล้งลืม Password (Forgot Password) ระบบก็จะถามคำถามกลับมา ซึ่งถ้าคำถามนั้นง่ายเกินไป แฮกเกอร์ก็จะเดาคำตอบได้ไม่ยากนัก ทำให้แฮกเกอร์ได้ Password เราไปในที่สุด

วิธีการป้องกัน
ที่สำคัญที่สุด คือการตั้งชื่อ User Name และ Password ควรจะมีความซับซ้อน ไม่สามารถเดาได้ง่าย มีความยาวไม่ต่ำกว่า 8 ตัวอักษร และมีข้อกำหนดในการใช้ Password (Password Policy) ว่าควรมีการเปลี่ยน Password เป็นระยะๆ ตลอดจนให้มีการกำหนด Account Lockout เช่น ถ้า Logon ผิดเกิน 3 ครั้ง ก็ให้ Lock Account นั้นไปเลยเป็นต้น การเก็บ Password ไว้ในฝั่ง Client นั้น ค่อนข้างที่จะอันตราย ถ้ามีความจำเป็นต้องเก็บในฝั่ง Client จริงๆ ก็ควรมีการเข้ารหัสที่ซับซ้อน (Hashed or Encrypted) ไม่สามารถถอดได้ง่ายๆ การ Login เข้าระบบควรผ่านทาง https protocol คือ มีการใช้ SSL เข้ามาร่วมด้วย เพื่อเข้ารหัส Username และ Password ให้ปลอดภัยจากพวกโปรแกรม Password Sniffing ถ้ามีงบประมาณควรใช้ Two-Factor Authentication เช่น ระบบ One Time Password ก็จะช่วยให้ปลอดภัยมากขึ้น การใช้ SSL ควรใช้ Digital Certificate ที่ได้รับการ Sign อย่างถูกต้องโดย CA (Certificate Authority) ถ้าเราใช้ CA แบบ Self Signed จะทำให้เกิดปัญหา Man in the Middle Attack (MIM) ทำให้แฮกเกอร์สามารถเจาะข้อมูลเราได้แม้ว่าเราจะใช้ SSL แล้วก็ตาม (ข้อมูลเพิ่มเติมที่เกี่ยวข้องกับ SSL Hacking ดูที่ http://www.acisonline.net)

4. Cross Site Scripting (XSS) Flaws

หมายถึง แฮกเกอร์สามารถใช้ Web Application ของเรา เช่น ระบบ Web Board ในการฝัง Malicious Script แฝงไว้ใน Web Board แทนที่จะใส่ข้อมูลตามปกติ เมื่อมีคนเข้า Refresh หน้า Web Board ก็จะทำให้ Malicious Script ที่ฝังไว้นั้นทำงานโดยอัตโนมัติ ตามความต้องการของแฮกเกอร์ หรือ อีกวิธีหนึ่ง แฮกเกอร์จะส่ง e-mail ไปหลอกให้เป้าหมาย Click ไปที่ URL Link ที่แฮกเกอร์ได้เตรียมไว้ใน e-mail เมื่อเป้าหมาย Click ไปที่ Link นั้น ก็จะไปสั่ง Run Malicious Script ที่อยู่ในตำแหน่งที่แฮกเกอร์ทำดักรอไว้ วิธีการหลอกแบบนี้ในวงการเรียกว่า “PHISHING” ซึ่งโดนกันไปแล้วหลายองค์กร เช่น Citibank, eBay เป็นต้น (ข้อมูลเพิ่มเติมดูได้ที่ http://www.acisonline.net)

วิธีการป้องกัน
อย่างแรกเลยต้องมีการให้ข้อมูลกับผู้ใช้คอมพิวเตอร์ทั่วไป ที่ใช้ e-mail และ web browser กันเป็นประจำให้ระมัดระวัง URL Link แปลกๆ หรือ e-mail แปลกๆ ที่เข้ามาในระบบก่อนจะ Click ควรจะดูให้รอบคอบก่อน เรียกว่า เป็นการทำ “Security Awareness Training” ให้กับ User ซึ่งควรจะทำทุกปี ปีละ 2-3 ครั้ง เพื่อให้รู้ทันกลเม็ดของแฮกเกอร์ และไวรัสที่ชอบส่ง e-mail มาหลอกอยู่เป็นประจำ สำหรับในฝั่งของผู้ดูและระบบ เช่น Web Master ก็ควรจะแก้ไข source codeใน Web Board ของตนให้ฉลาดพอที่จะแยกแยะออกว่ากำลังรับข้อมูลปกติ หรือรับข้อมูลที่เป็น Malicious Script ซึ่งจะสังเกตได้ไม่ยาก เพราะ Script มักจะมีเครื่องหมาย “< > ( ) # & ” ให้ Web Master ทำการ “กรอง” เครื่องหมายเหล่านี้ก่อนที่จะนำข้อมูลไปประมวลผลโดย Web application ต่อไป

5. Buffer Overflow

หมายถึง ในฝั่งของ Client และ Server ไม่ว่าจะเป็น IE Browser และ IIS Web Server หรือ Netscape Browser และ Apache Web Server ที่เราใช้กันอยู่เป็นประจำ ล้วนมีช่องโหว่ (Vulnerability) หรือ Bug ที่อยู่ในโปรแกรม เมื่อแฮกเกอร์สามารถค้นพบ Bug ดังกล่าว แฮกเกอร์ก็จะฉวยโอกาสเขียนโปรแกรมเจาะระบบที่เราเรียกว่า “Exploit” ในการเจาะผ่านช่องโหว่ที่ถูกค้นพบ ซึ่งช่วงหลังๆ แม้แต่ SSL Modules ทั้ง IIS และ Apache web server ก็ล้วนมีช่องโหว่ให้แฮกเกอร์เจาะผ่านทาง Buffer Overflow ทั้งสิ้น

วิธีการป้องกัน

จะเห็นว่าปัญหานี้มาจากผู้ผลิตไม่ใช่ปัญหาการเขียนโปรแกรม Web application ดังนั้นเราต้องคอยหมั่นติดตามข่าวสาร New Vulnerability และ คอยลง Patch ให้กับระบบของเราอย่างสม่ำเสมอ และลง ให้ทันท่วงทีก่อนที่จะมี exploit ใหม่ๆ ออกมาให้แฮกเกอร์ใช้การเจาะระบบของเรา สำหรับ Top 10 Web Application Hacking อีก 5 ข้อ ที่เหลือผมขอกล่าวดังในฉบับต่อไปนะครับ

บทที่ 6 ระบบความปลอดภัยของข้อมูล (Data Security)

ความปลอดภัยของข้อมูล (Data security)

 

ความปลอดภัยของข้อมูล

     ข้อมูลที่ดีเป็นข้อมูลที่มีค่ามีราคา สามารถนำไปใช้ให้เกิดประโยชน์อย่างมากต่อกิจการขององค์กร
และในมุมกลับกันอาจก่อให้เกิดโทษต่อองค์กรหรือบุคคลผู้ให้ข้อมูล ถ้าข้อมูลตกลงไปอยู่ในมือผู้ไม่ประสงค์ดี
ดังนั้นความปลอดภัยของข้อมูล จึงเป็นเรื่องสำคัญที่จะต้องตระหนัก ความปลอดภัยของข้อมูล (data security)
 เป็นเรื่องที่เกี่ยวข้องกับการป้องกันไม่ให้ข้อมูลถูกทำลาย การรักษาความลับของข้อมูล
และการป้องกันไม่ให้ข้อมูลถูกทำลาย การรักษาความลับของข้อมูล และการป้องกันการกระทำการทุจริตต่อข้อมูล
ความไม่ปลอดภัยของข้อมูลมักมีสาเหตุจาก
1. ความผิดพลาดของระบบ ซึ่งอาจมีสาเหตุจากตัวเครื่องคอมพิวเตอร์ ได้แก่ เครื่องคอมพิวเตอร์เกิดขัดข้องในระหว่างการประมวลผลข้อมูล ซึ่งอาจทำให้ข้อมูลเกิดสูญเสียได้ นอกจากนี้อาจมีสาเหตุจากโปรแกรมที่ใช้ในการประมวลผลยังมีข้อผิดพลาดบางจุดซึ่งอาจทำให้ข้อมูลมีความผิดพลาดหรือสูญเสียได้เช่นกัน
2. อุบัติเหตุ เช่น ไฟไหม้ น้ำท่วม ทำให้ข้อมูลที่เก็บอยู่สูญเสียได้
3. บุคคลอาจทำให้ข้อมูลสูญเสีย เช่น มีการสั่งลบข้อมูล หรือบันทึกข้อมูลทับของเดิม หรือบุคคลอาจมีเจตนาร้ายต้องการทำให้ข้อมูลสูญเสีย เนื่องจากความโกรธแค้นจงใจทำลายข้อมูล
4. การขโมยข้อมูลซึ่งเป็นความลับเพื่อนำไปขายหรือให้คู่แข่ง ซึ่งสามารถทำได้ง่าย โดยแอบสำเนาลงบนแผ่นบันทึก
5. การกระทำทุจริตต่อข้อมูล เช่น มีการแก้ไขข้อมูลที่เกี่ยวข้องกับจำนวนเงิน เพื่อประโยชน์ของตัวเองหรือมีผู้รับจ้างให้กระทำการทุจริต
6. สาเหตุอื่น ๆ เช่น ความร้อนชื่น ฝุ่นละออง และสนามแม่เหล็ก
การรักษาความปลอดภัยของข้อมูลที่อาจถูกทำลาย หรือเสียหายด้วยสาเหตุดังนี้
1. การรักษาความปลอดภัยของอุปกรณ์ระบบคอมพิวเตอร์
2. การทำสำเนาข้อมูล ในกรณีที่ข้อมูลอยู่ในแผ่นบันทึกอาจทำสำเนา ข้อมูลทั้งแผ่นโดยใช้คำสั่ง copy แต่ถ้าข้อมูลอยู่ในจานแม่เหล็กชนิดแข็งหรือกรณีที่มีข้อมูลเป็นจำนวนมากจะทำสำเนาโดยการใช้คำสั่ง backup ลงบนแผ่นบันทึกหรือในเทปแม่เหล็ก
3. การรักษาความลับของข้อมูล มาตรการแรกในการป้องกันคือ การควบคุมการเข้าไปใช้เครื่องคอมพิวเตอร์ โดยกำหนดว่าใครบ้างที่สามารถเข้าไปใช้เครื่องคอมพิวเตอร์ได้ มาตรการต่อมาคือ การกำหนดรหัสผ่าน (password) เพื่อผ่านเข้าไปใช้โปรแกรมหรือการเข้าถึงข้อมูล นอกจากนี้อาจจะมีการกำหนดขอบเขตเฉพาะแฟ้มข้อมูลเฉพาะแฟ้มบุคคลเฉพาะบุคคล ไม่มีสิทธิไปใช้หรือเปลี่ยนแปลงแก้ไขข้อมูลของแฟ้มรายได้ เป็นต้น

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

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

 

ในระบบเครือข่ายนั้นจะมีผู้ร่วมใช้เป็นจำนวนมาก ดังนั้นจึงมีทั้งผู้ที่ประสงค์ดีและประสงค์ร้ายควบคู่กันไป สิ่งที่พบเห็นกันบ่อยๆ ในระบบเครือข่ายก็คืออาชญากรรมทางด้านเครือข่ายคอมพิวเตอร์หลายประเภทด้วยกัน
เช่น พวกที่คอยดักจับสัญญาณผู้อื่นโดยการใช้เครื่องมือพิเศษจั๊มสายเคเบิลแล้วแอบบันทึกสัญญาณ พวกแคร๊กเกอร์
(Crackers) ซึ่งได้แก่ ผู้ที่มีความรู้ความชำนาญด้านคอมพิวเตอร์แต่มีนิสัยชอบเข้าไปเจาะระบบคอมพิวเตอร์ผ่าน
เครือข่าย หรือไวรัสคอมพิวเตอร์ (Virus Computer) ซึ่งเป็นโปรแกรมคอมพิวเตอร์ที่เขียนขึ้นมาโดยมุ่งหวัง
ในการก่อกวน หรือทำลายข้อมูลในระบบ
การรักษาความปลอดภัยในระบบเครือข่ายมีวิธีการกระทำได้หลายวิธี คือ
1. ควรระมัดระวังในการใช้งาน การติดไวรัสมักเกิดจากผู้ใช้ไปใช้แผ่นดิสก์ร่วมกับผู้อื่น แล้วแผ่นนั้นติดไวรัสมา
หรืออาจติดไวรัสจากการดาวน์โหลดไฟล์มาจากอินเทอร์เน็ต
2. หมั่นสำเนาข้อมูลอยู่เสมอ การป้องกันการสูญหายและถูกทำลายของข้อมูลที่ดีก็คือ การหมั่นสำเนา
ข้อมูลอย่างสม่ำเสมอ
3. ติดตั้งโปรแกรมตรวจสอบและกำจัดไวรัส วิธีการนี้ สามารตรวจสอบ และป้องกันไวรัสคอมพิวเตอร์ได้
ระดับหนึ่ง แต่ไม่ใช่เป็นการป้องกันได้ทั้งหมด เพราะว่าไวรัสคอมพิวเตอร์ได้มีการพัฒนาอยู่ตลอดเวลา
4. การติดตั้งไฟร์วอลล์ (Firewall) ไฟร์วอลล์จะทำหน้าที่ป้องกันบุคคลอื่นบุกรุกเข้ามาเจาะเครือข่ายในองค์กร
เพื่อขโมยหรือทำลายข้อมูล เป็นระยะที่ทำหน้าที่ป้องกันข้อมูลของเครือข่าย โดยการควบคุมและตรวจสอบการรับส่ง
ข้อมูลระหว่างเครือข่ายภายในกับเครือข่ายอินเทอร์เน็ต
5. การใช้รหัสผ่าน (Username & Password) การใช้รหัสผ่านเป็นระบบรักษาความปลอดภัยขั้นแรก
ที่ใช้กันมากที่สุด เมื่อมีการติดตั้งระบบเครือข่ายจะต้องมีการกำหนดบัญชีผู้ใช้และรหัสผ่าน หากเป็นผู้อื่นที่
ไม่ทราบรหัสผ่านก็ไม่สามารถเข้าไปใช้เครือข่ายได้ หากเป็นระบบที่ต้องการความปลอดภัยสูงก็ควรมีการเปลี่ยน
รหัสผ่านบ่อย ๆ เป็นระยะ ๆ อย่างต่อเนื่อง

บทที่ 4 การเข้ารหัสและถอดรหัส (Encodes and Decoder)

การเข้ารหัสและถอดรหัส (Encodes and Decoder)
     ในการเชื่อมต่อระหว่างระบบซึ่งใช้รหัสที่แตกต่างกันนั้น จำเป็นจะต้องมีการเปลี่ยนรหัส
ซึ่งปกติวงจรดิจิตอลนั้นจะใช้รหัสเป็นเลขฐานสองเสมอ เช่น 
ถ้าหากต้องการเปลี่ยนเลขฐานสิบ  0  ถึง  9   ไปเป็นเลขฐานสอง
ก็จะต้องมีวงจรเปลี่ยนรหัส ปกติการเปลี่ยนรหัสจากวงจรสวิตช์กดที่ใช้แทนเลข ฐานสิบ
ให้เป็นเลขฐานสองเรียกกันว่าวงจรเข้ารหัส หรือวงจรเอนโค้ดเดอร์(Encoder) แต่ขณะเดียวกัน 
ถ้าหากต้องการเปลี่ยนรหัสจากรหัสบีซีดีเป็นรหัส
อย่างอื่น เรียกวงจรนั้นว่า วงจรถอดรหัสหรือวงจรดีโค้ดเดอร์ (Decoder) ซึ่งจะได้กล่าวรายละเอียดต่อไป
การออกแบบวงจรเข้ารหัส
หลักการออกแบบวงจรเข้ารหัส
	                           โครงสร้างของวงจรเข้ารหัส
  
                                          

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

 การทำงานของวงจร
      จากวงจรสถานะปกติทางอินพุตจะเป็นลอจิก “1” ขณะกดสวิตซ์จะทำให้อินพุตเป็นลอจิก “0” ทางด้านเอาต์พุตก็เช่นเดียวกันสถานะปกติจะเป็น
ลอจิก “0”แต่ขณะกดสวิตช์เอาต์พุตจะเป็นลอจิก “1” หรือ “0” นั้นขึ้นอยู่กับว่ากดสวิตซ์อันไหน ส่วนเอาต์พุตคีย์สโตรบ (Key Strobe = Ks)
จะทำหน้าที่ในการผลิตสัญญาณพัลส์ทุกๆ ครั้งที่กดสวิตช์ และใช้เป็นตัวควบคุมวงจรที่ต่อจากวงจรเข้ารหัสให้รับหรือเก็บสัญญาณที่ได้จากเอาต์พุต 
A, B, C และ D นอกจากนี้ยังมีหน้าที่อีกอย่างหนึ่ง คือ จะป้องกันไม่ให้วงจรที่ต่อจากวงจรเข้ารหัสนั้นรับสัญญาณใหม่อีกหลังการกดสวิตช์ตัวใดไป
แล้วและยังคงถูกกดอยู่ โดยปกติวงจรที่ต่อจากวงจรเข้ารหัส จะใช้ดีฟลิปฟลอปต่อเป็นตัวเก็บสัญญาณอีกขั้นตอนหนึ่ง แล้วใช้เอาต์พุตคีย์สโตรบต่อ
ผ่านวงจรโมโนสเตเบิลมัลติไวเบรเตอร์เข้าไปยังอินพุตคล็อกของดีฟลิปฟลอป การทำงานของวงจรในรูปที่ 13.2 จะเป็นไปตามตารางที่ 13.1
                                   
                                                     แสดงวงจรเข้ารหัสแปลงรหัสจากเลขฐานสิบเป็นรหัสบีซีดี
                                                  

                                   ตารางความจริงของวงจรควบคุมเอาต์พุตของวงจรเข้ารหัสเบื้องต้น
           ในระบบดิจิตอลจะใช้ตัวเข้ารหัส (Encoder) แสดงในรูปที่ 13.3  เพื่อแปลงรหัสจากเลขฐานสิบให้เป็นรหัสบีชีดี  8421   ลักษณะ
ของตัวเข้ารหัสแบบนี้เรียกว่า   10-line-to-4-line priority Encoder หน้าที่ของตัวเข้ารหัส คือ  ทำการแปลงรหัสของข้อมูล   เพื่อให้
ระบบดิจิตอลสามารถนำข้อมูล ดังกล่าวนั้นไปทำงาน หรือไปประมวลผลการทำงานต่อได้อย่างถูกต้อง เช่น ตัวอย่างในรูปที่ 13.3 ตัวเข้ารหัส
จะแปลงรหัสเลขฐานสิบที่ได้รับจากแป้นพิมพ์ เพื่อแปลงรหัสเข้าในระบบเลขฐาน สอง เช่น รหัสบีซีดี 8421 เพื่อส่งข้อมูลดังกล่าวให
้หน่วยประมวลผลและหน่วยความจำ
                

                                      แสดงระบบดิจิตอลที่ประกอบไปด้วยตัวเข้ารหัสและตัวถอดรหัส
         สำหรับตัว เข้ารหัสแบบ 10-1ine-to-4 line priority Encoder นั้น แสดงแผนภาพกรอบในรูปที่ 13.4 (ก) จะเห็นว่ามีอินพุต 1 ถึง 9
     และเอาต์พุตเป็นรหัสบีซีดี 8421 จำนวน 4 เอาต์พุต คือ A, B, C และ D ตัวเข้ารหัสนี้ทำงานด้วยลอจิก “0” (Active Low) ดังนั้นเมื่อคุณ
     ให้ลอจิก “0” (Low) ทางอินพุตขาที่ 3 เอาต์พุตบีซีดีจะมีค่า  คือ  นั่นเอง ลักษณะการจัดวางขาของแสดงในรูปที่ 13.4 (ข)
     เป็นตัวเข้ารหัสเบอร์ 74147 (10-1ine-to-4 line priority Encoder) จะเห็นว่ามีอินพุต 1 ถึง 9 และเอาต์พุต A, B, C และ D มีขา 
      ที่ขา 14 และขา GND ที่ขา 8 สำหรับขา 15 เป็นขา NC ไม่ได้ใช้งานการทำงานของตัวเข้ารหัสเบอร์ 74147 แสดงดังตารางใน
      รูปที่ 13.4 (ค) เนื่องจากตัวเข้ารหัสตัวนี้เป็นชนิดทำงานด้วยลอจิก “0” (Active Low Input) และเอาต์พุตเป็นแบบ (Active Low Output)
      พิจารณาการทำงานของตัวเข้ารหัสจากตารางความจริงในรูปที่ 13.4 (ค) ในบรรทัดแรกจะเห็นว่าเมื่อไม่ป้อนลอจิก “0” ให้กับอินพุต 1 ถึง 9
       เอาต์พุตจะเป็น “1” ทั้ง 4 บิต ต้องอินเวิร์ส ข้อมูลเอาต์พุตก่อนจึงจะถูกต้อง หรือการที่ป้อนลอจิก “0” เข้าที่ขา 9 เอาต์พุตจะแสดงข้อมูล 4 บิต
      เป็น LH HL เท่ากับ 0110 ต้องอินเวิร์ส ข้อมูลเอาต์พุตก่อน จะได้  สำหรับโครงสร้างภายในของ 10-1ine-to-4 line 
        priority Encoder
              
                         แสดงรายละเอียดของ 10-1ine-to-4 line priority Encoder เบอร์ 74147
                                                      
                                        
        เมื่อนำวงจรเข้ารหัสเบอร์ 74147 ต่อกับสวิตซ์อินพุต เพื่อป้อนค่ารหัสสวิตซ์ฐานสิบ (0 ถึง 9) และรหัสบีซีดี 8421 ด้านเอาต์พุตขนาด 4 บิต 
ต่อผ่านนอตเกต 4 ตัว เพื่อให้แสดงผลได้อย่างถูกต้องเนื่องจากเอาต์พุตของ 74147 เป็นแบบ Active Low เอาต์พุต 
                                          

                          รูปที่ 13.5 วงจรเข้ารหัสเลขฐานสิบด้วยสวิตซ์เป็นรหัสบีซีดี 8421 ขนาด 4 บิต
     วงจรเข้ารหัสเลขฐานสิบเป็นเลขฐานสอง
             วงจรเข้ารหัสจากเลขฐานสิบเป็นเลขฐานสองแสดงดังรูปที่ 13.6 โดยสวิตซ์ T แต่ละตัวจะแทนค่าเลขฐานสิบ   เช่น  T1   แทนเลข 1,  T2 
           แทนเลข 2 เป็นต้น ทางด้านเอาต์พุตเป็นเลขฐานสอง 4 บิต  D, C, B, A  เพื่อเปลี่ยนเอาต์พุตให้เป็นแบบ  Active High   จึงเพิ่ม นอตเกตเข้า
          ที่เอาต์พุต
                  

                                             แสดงวงจรเข้ารหัสเลขฐานสิบเป็นเลขฐานสอง
           จากรูปถ้ากดสวิตซ์ T1จะได้เอาต์พุต DBCA เป็น 0001 ถ้ากดสวิตซ์ T2 จะได้เอาต์พุต DCBA เป็น 0010 ในกรณีที่กด
สวิตซ์มากกว่า 1 ตัวพร้อมกัน วงจรจะเลือกทำงานตามสวิตซ์ที่มีลำดับความสำคัญสูงสุด เช่น กดสวิตซ์ T1, T3 และ T6 พร้อมกัน วงจร
จะเลือกทำงานตามสวิตซ์ T6 คือมีเอาต์พุต DCBA เป็น 0110
      วงจรเข้ารหัสเลขฐานแปดเป็นเลขฐานสอง
                    	วงจรเข้ารหัสเลขฐานแปดไปเป็นเลขฐานสองแสดง

                  

                                                                       แสดงวงจรเข้ารหัสเลขฐานแปดเป็นเลขฐานสอง
      วงจรเข้ารหัสเลขฐานสิบหกเป็นเลขฐานสอง
                     วงจรเข้ารหัสเลขฐานสิบหกไปเป็นเลขฐานสอง แสดงดังรูปที่ 13.8 ได้จากการนำไอซีเบอร์ 74148 2 ตัวมาต่อร่วมกัน โดยการต่อขา 
                EI ของ 74148 ตัวที่เป็นลอจิกค่านัยสำคัญน้อยเข้ากับขา EO ของ 74148 ตัวที่เป็นลอจิกค่านัยสำคัญมาก ถ้าเพิ่มแอนด์เกตเข้ามาที่อินพุต 
               จะได้เอาต์พุตแบบ Active Low ดังวงจรรูปที่ 13.8 (ก) ถ้าเพิ่มแนนด์เกต เข้ามาที่อินพุต จะได้เอาต์พุตแบบ Active High ดังวงจร

                                     
                                    

                                                     แสดงวงจรเข้ารหัสเลขฐานสิบหกเป็นเลขฐานสอง	
                                                                                                                       
การออกแบบวงจรเข้ารหัสด้วย VHDL
	          จากโครงสร้างของวงจรเข้ารหัสเราสามารถนำมาออกแบบด้วยภาษา VHDL ได้ดังนี้
-------------------------------------------------
-- 4:2 Encoder 
-------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
-------------------------------------------------
Entity ENCODER is
Port( I: in std_logic_vector(3 downto 0);
      O: out std_logic_vector(1 downto 0) );
End ENCODER;
-------------------------------------------------
Architecture behv of ENCODER is
    Begin
    -- process statement             
    Process (I)
    Begin

    -- use case statement 
     Case I is
      When "0001" => O <= "00";
      When "0010" => O <= "01";
      When "0100" => O <= "10";
      When "1000" => O <= "11";
      When others => O <= "XXXX";
      End Case;
      End Process;

       End behv;
Architecture when_else of ENCODERis
      Begin

    -- use when..else statement
      O <= "00" When I = "0001" Else
           "01" When I = "0010" Else
           "10" When I = "0100" Else
           "11" When I = "1000" Else
          "XXXX";
 End when_else;
                           ตัวอย่างการออกแบบวงจร 2-line-to-4-line Encoder ด้วยภาษา  VHDL
การออกแบบวงจรถอดรหัส
          วงจรถอดรหัสเป็นวงจรทำหน้าที่เปลี่ยนจากเลขฐานสองไปเป็นเลขในระบบอื่น โครงสร้างของวงจรถอดรหัสจะเหมือนกับ 
       DMUX โดยนำ Select Input ไปใช้เป็นอินพุตของวงจร และนำ Data Input  ไปใช้เป็นขา Enable (E) หรือ 
      Strobe  (G) 
       
                  
        
                                                       แสดงโครงสร้างของวงจรถอดรหัส
        เอาต์พุตของวงจรถอดรหัสจะเป็น Active Low ถ้าต้องการแบบ Active High ก็ต่อนอตเกตเข้าที่ขาเอาต์พุตขา Enable
     อาจจะมีมากกว่า 1 ขา และอาจเป็นแบบ Active High หรือ Active Low แต่ละสถานะของอินพุตจะทำให้เอาต์พุต Active
     เพียงครั้งละ 1 เอาต์พุตเท่านั้น ส่วนเอาต์พุตอื่นๆที่เหลือจะไม่ Active เอาต์พุตแบบ Active High จะสร้าง Minterm
         ในขณะที่เอาต์พุตแบบ Active Low จะสร้าง Maxterm ขนาดของวงจรถอดรหัสกำหนดในรูป “จำนวนอินพุต : จำนวน
    เอาต์พุต” หรือ “จำนวนอินพุต – to – จำนวนเอาต์พุต” หรือ “จำนวนอินพุต-line-to-จำนวนเอาต์พุต-line” หรือ
    “1-of-จำนวนเอาต์พุต” (เพราะว่า Active เพียง 1 เอาต์พุต จากจำนวนเอาต์พุตทั้งหมด)
        ไอซีที่เป็นวงจรถอดรหัส
	74138 3-Line-to-8-line Decoder/Demultiplexer เป็นไอซี ทำหน้าที่เปลี่ยนจากเลขฐานสอง (Binary) ไปเป็นเลขฐานแปด 
                 (Octal) บางครั้งเรียกว่า Binary-to-Octal Address Decoding
                  

                                                                                  แสดงสัญลักษณ์ไอซีเบอร์ 74138
          74154   4-Line-to-16-line Decoder/Demultiplexer เป็นไอซีทำหน้าที่เปลี่ยนจากเลขฐานสอง (Binary) 
     ไปเป็นเลขฐานสิบหก (Hexadecimal) บางครั้งเรียกว่า Binary-to-Hexadecimal Address Decoding
                     

                                                                                  แสดงสัญลักษณ์ไอซีเบอร์ 74154
            74159 4-line-to-16-line Decoder/Demultiplexer with Open-Collector Output มีคุณสมบัติ
    เหมือนไอซีเบอร์ 74154
    74139 Dual 2-line-to-4-line Decoder/Demultiplexer
                   
                                                 
                                                                 แสดงสัญลักษณ์ไอซีเบอร์ 74139
   74155 Dual 2-line-to-4-line Decoder/Demultiplexer

                   

                                                                                         แสดงสัญลักษณ์ไอซีเบอร์ 74155
74156 Dual 2-line-to-4-line Decoder/Demultiplexer with Open-Collector Output มีคุณสมบัติเหมือนไอซีเบอร์ 74155
74137 3-line-to-8-line Decoder/Demultiplexer with Address Latch
7442 4-line BCD-to-10-line Decimal Decoder เป็นวงจรถอดรหัส ทำหน้าที่เปลี่ยนรหัส BCD 4 บิตไปเป็นเลขฐานสิบ ซึ่งมีการใช้
                    งานอินพุตในช่วง 0000 ถึง 1001 ส่วนกรณีอื่นๆ เอาต์พุตจะไม่ Active (เอาต์พุตเป็น 1)
                  

                                                                                   รูปที่ 13.15 แสดงสัญลักษณ์ไอซีเบอร์ 7442
    การเพิ่มจำนวนเอาต์พุตของวงจรถอดรหัส
	 การเพิ่มจำนวนเอาต์พุตทำได้โดยวิธีเดียวกับ DMUX เช่นในรูปที่ 13.16 เป็นการนำ 2 :4 Decoder 2 ตัวมาต่อเป็น 3 : 8 Decoder
                                                               

                                   แสดงการต่อวงจร 2 : 4 Decoder ใช้งานเป็น 3 : 8 Decoder
        ตัวอย่าง   จงใช้ไอซีเบอร์ 74138 3-line-to-8-line Decoder ออกแบบวงจรที่มีสมการลอจิกดังนี้

                                  
      ตัวอย่างที่  จงออกแบบวงจรคูณเลขฐานสองขนาด 2 บิต โดยใช้ 74154   4-line-to-16-line  Decoder

                                     วิธีทำ
                                                                       
                                                                      ตารางความจริง
                                           

                จากตารางความจริงเขียนสมการลอจิกได้เป็น
                                            

                                                                                                                            << Go To Top
  วงจรถอดรหัสเพื่อขับตัวแสดงผล
               ตัวถอดรหัส (Decoder) ซึ่งแสดงในระบบดิจิตอลในรูปที่ 13.3 จะพบว่าตัวถอดรหัสจะรับข้อมูลจากที่หน่วยประมวลผล
         และหน่วยความจำทำงานเสร็จแล้ว ข้อมูลดังกล่าวจะเป็นรหัสใดรหัสหนึ่งในระบบเลขฐานสอง ในรูปที่ 13.3 ข้อมูลที่เข้าสู่ตัว
        ถอดรหัสคือรหัสบีซีดี 8421 ตัวถอดรหัสจะแปลงรหัสดังกล่าวให้เป็นเลขฐานสิบ และแสดงผลที่ตัวแสดงผลไดโอดเปล่งแสง 7
        ส่วน ตัวถอด รหัสลักษณะนี้อาจเรียกได้ว่า BCD-to-seven -segment Decoder/Driver ลักษณะของตัวถอดรหัสบีซีดี 
        8421 ให้ไปแสดงผลที่ตัวเลข 7 ส่วนแสดงในรูปที่ 13.17 เมื่อนำข้อมูลรหัสบีชีดี 8421 4 บิตที่มีค่า 1001 เข้าที่อินพุตของ
        ตัวถอดรหัส (อินพุต A, B, C และ D) ทางด้านเอาต์พุตของตัวถอดรหัสจะส่งสัญญาณลอจิกไปควบคุม ตัวแสดงผลไดโอดเปล่ง
        แสง 7 ส่วนให้ตัดเป็นเลขฐานสิบเท่ากับ 9 จะสังเกตเห็นว่าเอาต์พุตของตัวถอดรหัสนี้ จะมี 7 ขา คือ a ถึง g เท่ากับจำนวนอินพุต
        ของตัวแสดงผลไดโอดเปล่งแสง 7 ส่วน
                                      

                                            แสดงการต่อตัวถอดรหัสกับตัวแสดงผลไดโอดเปล่งแสง 7 ส่วน
            ตัวถอดรหัสนอกเหนือจากที่แสดงในรูปที่ 13.17 แล้ว ยังมีอีกหลายชนิด เช่น ตัวถอดรหัสเบอร์ 7442 ถอดรหัสบีซีดีเป็นเลขฐานสิบ
   (BCD-to-decimal) หรือตัวถอดรหัสเบอร์ 7443 ถอดรหัสเกิน 3 เป็นเลขฐานสิบ (Excess-3-to-decimal) หรือตัวถอดรหัสเกิน 3
   และรหัสเกรย์เป็นเลขฐานสิบ (Excess-3-gray-to-decimal) มีลักษณะการจัดวางขาดังรูปที่ 13.18 (ก) และ ตารางความจริงแสดง
    การทำงานของตัวถอดรหัสดังกล่าว ดังรูปที่ 13.18 (ข) และมีลักษณะโครงสร้างภายในของตัวถอด รหัสเบอร์ 7442, 7443 และ 7444
    ดังรูปที่ 13.18 (ค)
                                          
                                            แสดงการวางขาตัวถอดรหัสเบอร์ 7442, 7443, 7444 และโครงสร้างภายใน
                                                          พร้อมทั้งตารางความจริงแสดงการทำงานของตัวถอดรหัส

                                

                           

                                                                      

  ตัวแสดงผลไดโอเปล่งแสง 7 ส่วน
	                        หลักการพื้นฐานในการแปลงรหัสที่เครื่องดิจิตอลทำงานได้มาสู่รหัสที่มนุษย์เข้าใจ คือ การแปลงระบบเลขฐานสอง  
                 เช่น รหัสบีชีดี 8421 ดังในรูปที่ 13.3 ซึ่งผ่านการประมวลผลจากหน่วยประมวลผลกลาง และหน่วยความจำมาแล้วมา
                 แสดงผลเป็นเลขฐานสิบที่ตัวแสดงผลไดโอดเปล่ง แสง 7 ส่วน ลักษณะของไดโอดเปล่งแสง 7 ส่วน แสดงในรูปที่ 13.19
               (ก) แต่ละส่วนมีชื่อเรียกตาม ลำดับอักษร a ถึง g เมื่อไดโอดเปล่งแสงทุกตัวติดสว่างจะเป็นเลข 8 ฐานสิบ จากรูปที่ 13.19
               (ข) คือการแสดงผลเป็นตัวเลข 0-9 (ฐานสิบ) โดยตัวแสดงผลไดโอดเปล่งแสง 7 ส่วน ตัวที่ ทำหน้าแปลงรหัสที่เครื่องทำงาน
               ได้มาสู่รหัสที่มนุษย์รู้จักเรียกว่า ตัวถอดรหัส (Decoder)
                                             

                                      แสดงตัวแสดงผลไดโอดเปล่งแสง 7 ส่วน และตัวเลขฐานสิบ (0-9)
                        ลักษณะภายนอกของตัวแสดงผลไดโอดเปล่งแสง 7 ส่วนมีหลายแบบ เช่น ในรูปที่ 13.20 (ก) เป็นตัวแสดงผล 1 หลัก
          ตัวถังพลาสติกแบบ DIPปกติจะมี 14 ขา แบบที่สองแสดงในรูปที่ 13.20(ข) เป็นตัวแสดงผล 1 หลักเช่นกัน ตัวถังแบบ 10 ขา
           (10-Pin single digit package) และแบบหลายหลัก (Multidigit package) แสดงในรูปที่ 13.20 (ค)
                                                                 

                                 แสดงลักษณะภายนอกของตัวแสดงผลไดโอดเปล่งแสง 7 ส่วนแบบต่างๆ
      โครงสร้างภายในของไดโอดเปล่งแสง 7 ส่วนคือ อุปกรณ์รอยต่อพี-เอ็น โดยปกติแต่ละส่วนจะกินกระแสไม่เกิน 30 mA เมื่อต่อ
 แหล่งจ่ายไบแอส 5 V จึงต้องมีตัวต้านทานจำกัดกระแส 150   ต่ออนุกรมอยู่ด้วย ดังรูปที่ 13.21 (ก) เพราะปกติจะทำงานที่แรงดัน
เพียง 1.7 – 2.1 V เท่านั้น เนื่อง จากไดโอด เปล่งแสงมี 2 ขั้วคือ แอโนด (A) และแคโทด (K) ดังนั้นจึงมีตัวแสดงผลไดโอดเปล่งแสง 
7 ส่วน 2 ชนิดคือ ชนิดแอโนดร่วม ดังรูปที่ 13.21 (ข) และชนิดแคโทดร่วม ดังรูปที่ 13.21 (ค) เมื่อต้องการให้ตัวแสดงผลไดโอด
เปล่งแสง 7 ส่วนชนิดแอโนดร่วมทำงาน ต้องป้อนลอจิก “0” เข้าที่อินพุตของมัน และที่จุดร่วมต้องต่อกับแรงดัน +5 V ดังรูปที่ 13.21
 (ง) ในทำนองเดียวกัน เมื่อต้องการให้ตัวแสดงผลไดโอดเปล่งแสง 7 ส่วนชนิดแคโทดร่วมทำงานต้องป้อนลอจิก “1” เข้าที่อินพุตและ
ที่จุดร่วมต้องต่อกับกราวด์ 

                                                                          
  แสดงโครงสร้างภายในและการควบคุมตัวแสดงผลไดโอดเปล่งแสง 7 ส่วน ทั้งชนิดแอโนดร่วมและชนิดแคโทดร่วม
                      

                                                                               รูปที่ 13.21 (ต่อ)
ตัวถอดรหัสบีซีดีขับออกตัวแสดงผลเลข 7 ส่วน
	                   ตัวถอดรหัสที่เป็นที่นิยมใช้กันอย่างมากคือ ตัวถอดรหัสบีชีดี 8421 ให้เป็นเลขฐานสิบโดยขับสัญญาณออกที่ตัวแสดง
                 ผลไดโอดเปล่งแสง 7 ส่วน คือ วงจรรวมทีทีแอล เบอร์ 7447 และเบอร์ 7448 ดังแสดงในรูปที่ 13.22 (ก) คือเบอร์ 7447
                 มีขาอินพุดรับข้อมูลรหัสบีซีดี 8421จำนวน4 บิต (คือ A, B, C และ D) และมีขาอินพุตควบคุมอีก 3 ขาคือ ขา Lamp test 
                (LT) และ Blanking (BI/RBO) และขา Zero blanking (RBI) สำหรับขาเอาต์พุตของมันมี 7 ขาคือ ขา a ถึง g 
                ที่จะนำไปต่อขับตัวเลข 7 ส่วนเพื่อแสดงผลเลขฐานสิบได้ สำหรับเบอร์ 7447 ใช้สำหรับขับตัวเลข 7 ส่วนชนิดแอโนดร่วม
                เท่านั้น ตารางการทำงานของตัวถอดรหัสเบอร์ 7447  
                                                                     
                               

                                                                                                                      (ข)

                    แสดงลักษณะของตัวถอดรหัสเบอร์ 7447 และตารางแสดงการทำงานของตัวถอดรหัส
                                          และเอาต์พุตที่ตัวถอดรหัสขับออกที่ตัวแสดงผลไดโอดเปล่งแสง 7 ส่วน
                              
                                                                                                       
           สำหรับการทำงานของขา LT, BI/RBO และ RBI ให้ดูจากตารางในรูปที่ 13.22 (ข) ที่ข้อ 2, 3 และ 4 ของบันทึกท้ายตาราง
 ตัวถอดรหัสตัวนี้เป็น ชนิดทำงานด้วยลอจิก “0” (Active Low Input) และแสดงผลแบบ Active Low Output หมายความว่า
  เมื่อบีซีดีอินพุตเป็น 0001 เอาต์พุตที่ b และ c จะเป็น “0” (Low) ทำให้ตัวเลข 7 ส่วนชนิดแอโนดร่วมติดสว่างเฉพาะส่วน b และ c 
ปรากฏเป็นเลข 1  ดังนั้นการต่อตัวถอดรหัสเบอร์ 7447 เพื่อขับตัวเลข 7 ส่วนชนิดแอโนดร่วมที่ ถูกต้อง 
                               

                   การต่อวงจรตัวถอดรหัสเบอร์ 7447เพื่อขับตัวแสดงผลไดโอดเปล่งแสง 7 ส่วนชนิดแอโนดร่วม
                  โครงสร้างภายในของตัวถอดรหัสเบอร์ 7447  จะเห็นว่าประกอบไปด้วยบีชีดีอินพุต 4 อินพุต และอินพุต
   ควบคุม 3 อินพุต คือ LT, BI/RBO, RBI และเอาต์พุตจำนวน 7 เอาต์พุต คือ a - g
                                                    

                                               แสดงโครงสร้างภายในของตัวถอดรหัสเบอร์ 7447
             สำหรับตัวถอดรหัสเบอร์ 7448 เป็นตัวถอดรหัสที่ออกแบบมาเพื่อขับตัวแสดงผลไดโอด เปล่งแสง 7 ส่วน ชนิดแคโทดร่วม
     เท่านั้น เป็นชนิด Active Low Input แต่ Active High Output ซึ่งเป็นเอาต์พุตชนิดตรงกันข้ามกับเบอร์ 7447 แต่อินพุตรับ
     สัญญาณแบบเดียวกัน สำหรับการ จัดวางขาเหมือนกับ 7447 และตารางการทำงาน
    สำหรับโครงสร้างภายในของตัวถอดรหัสเบอร์  7448 
                                                                

                  แสดงโครงสร้างภายใน ลักษณะการจัดวางขาและตารางการทำงานของตัวถอดรหัสเบอร์ 7448

 
         
         

                                                   

                                                                              
         ตัวอย่างการใช้งานขา Blanking (BI/RBO) และขา Zero blanking (RBI) เช่น การแสดงผลของเครื่องมือวัดที่
แสดงตัวเลขฐานสิบด้วยตัวเลข 7 ส่วน จำนวน 6 หลัก ดังรูปที่ 13.26 สมมติว่าข้อมูลบีซีดี 8421 4 บิต ป้อนเข้าและหลักดังนี้
 0000, 0000, 0011, 0110, 0001, 0101 ตัวแสดงผลทั้ง  6 หลักจะแสดงเฉพาะ 4 หลักเท่านั้นคือ 36.15 แต่ 2 หลักแรก
มีข้อมูลเป็น “0” ทุกบิต แต่ไม่แสดงผลเป็นเลขศูนย์ เพราะมีวงจรตรวจสอบลอจิกอินพุต 4 บิต ของหลักสูงสุดตามลำดับ และ
ส่งสัญญาณลอจิก “0” ไปควบคุมขา Zero blanking (RBI) ให้ได้รับลอจิก “0” จากตารางการทำงานพบว่าตัวแสดงผลทุกส่วนจะดับหมด 
ดังนั้นตัวเลขสูงสุด 2 หลักซ้ายสุดจะไม่ติดสว่าง ดั
                      
                                                  

                การควบคุมขา Zero blanking เพื่อควบคุมการแสดงของตัวแสดงผลไดโอดเปล่งแสง 7 ส่วน

                                                                                                                              
การออกแบบวงจรถอดรหัสด้วย VHDL
         เราสามารถออกแบบวงจร Decoder โครงสร้างของวงจรด้วยภาษา VHDL  ซึ่งเป็นวงจร 2-line-to-4-line Decoder
-------------------------------------------------
-- 2:4 Decoder 
-- decoder is a kind of inverse process
-- of multiplexer
-------------------------------------------------
library ieee;
Use ieee.std_logic_1164.all;
-------------------------------------------------
Entity DECODER is
Port( I: in std_logic_vector(1 downto 0);
      O: out std_logic_vector(3 downto 0) );
End DECODER;
-------------------------------------------------
Architecture behv of DECODER is
    Begin
    -- process statement             
    Process (I)
    Begin

    -- use case statement 
     Case I is
      When "00" => O <= "0001";
      When "01" => O <= "0010";
      When "10" => O <= "0100";
      When "11" => O <= "1000";
      When others => O <= "XXXX";
      End Case;
      End Process;

       End behv;
Architecture when_else of DECODER is
      Begin

    -- use when..else statement
      O <= "0001" When I = "00" Else
           "0010" When I = "01" Else
           "0100" When I = "10" Else
           "1000" When I = "11" Else
          "XXXX";
 End when_else;

บทที่ 3 ระบบรักษาความปลอดภัยสำหรับระบบสารสนเทศอิเล็กทรอนิกส์

ระบบรักษาความปลอดภัยสำหรับระบบสารสนเทศอิเล็กทรอนิกส์

13

การรักษาความปลอดภัยของระบบสารสนเทศ

            1)  การใช้ Username หรือ User ID และรหัสผ่าน (Password)

            2)  การใช้วัตถุใดๆ เพื่อการเข้าสู่ระบบ

            3)  การใช้อุปกรณ์ทางชีพวภาพ (Biometric Devices)

            4)  การเรียกกลับ (Callback System)

 

ข้อควรระวังและแนวทางการป้องกันการใช้เครือ ข่ายคอมพิวเตอร์

            –  ข้อ ควรระวังก่อนเข้าไปในโลกโซเบอร์ Haag ได้เสนอกฎไว้ 2 ข้อคือ 

            1) ถ้าคอมพิวเตอร์มีโอกาสถูกขโมย ให้ป้องกันโดยการล็อคมัน

            2) ถ้าไฟล์มีโอกาสที่จะถูกทำลาย ให้ป้องกันด้วยการสำรอง (Backup)

            –  ข้อ ควรระวังในการเข้าไปยังโลกไซเบอร์

            1)  บัตรเครดิตและการแอบอ้าง

                 –  ให้หมายเลยบัตรเครดิตเฉพาะบริษัท ที่ท่านไว้วางได้เท่านั้น

                 –  ใช้เฉพาะเว็บไซต์ที่มีระบบรักษา ความปลอดภัย เช่น https://

                 –  ใช้รหัสผ่านอย่างน้อย 10 ตัวอักขระ (ควรผสมกันระหว่างตัวอักษรและตัวเลข)

                 –  ใช้รหัสผ่านที่แตกต่างกันในแต่ละ ระบบหรือเว็บไซต์

            2)  การปัองกันข้อมูลส่วนบุคคล พิจารณาอย่างรอบคอบก่อนการให้ข้อมูลส่วนตัว

            3)  การป้องกันการติดตามการท่องเว็บไซ ต์ ใช้โปรแกรม เช่น SurfSecret เพื่อป้องกันการติดตามการท่องเว็บไซต์ โปรแกรมจะทำงานคล้ายกับโปรแกรมป้องกันไวรัส และลบข่าวสาร/โฆษณาที่เกิดขี้นเมื่อผู้ใช้ท่างเว็บไซต์

            4)  การหลีกเลี่ยงสแปมเมล

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

            6)  การป้องกันไวรัสคอมพิวเตอร์

                 –  ปฏิบัติตามเคล็ดลับง่ายๆ 5 ข้อ ด้วยตัวอักษรย่อ EMAIL ดังนี้

                    E ย่อมาจาก Exempt from unknown คือ ไม่เปิดอีเมลจากคนแปลกหน้า

                    M ย่อมาจาก Mind the subject คือ หมั่นสังเกตหัวข้อของจดหมายก่อนที่จะเปิดอ่าน

                    A  ย่อมาจากประโยค Antivirus must be installed หมายความว่า ควรติดตั้งโปรแกรมป้องกันไวรัส เช่น Norton Antivirus

                    ย่อมาจาก Interest on virus news หมายความว่า ควรให้ความสนใจกับข่าวเกี่ยวกับไวรัส ติดตามข่าวสารจากสื่อต่างๆ

                    L  ย่อมาจาก Learn to be cautious หมายความว่า ให้ระวังให้มาก อย่าเปิดอีเมลแบบไม่ยั้งคิด

                 –  ติดตามข่าวสารเกี่ยวกับการป้องกัน การก่อกวนและทำลายข้อมูลได้ที่ศูนย์ประสานงานการรักษาความปลอดภัย คอมพิวเตอร์ประเทศไทย (http://thaicert.nectec.or.th/)

 

            นอกจากข้อควรระวังแล้วยัง มีข้อแนะนำบางประการเพื่อสร้างสังคมและรักษาสิ่งแวดล้อมดังนี้

            1)  การป้องกันเด็กเข้าไปดูเว็บไซต์ ที่ไม่เหมาะสม

            2)  การวางแผนเพื่อจัดการกับเครื่อง คอมพิวเตอร์ที่ไม่ใช้แล้ว

            3)  การใช้พลังงาน

บทที่ 2 ปัญหาทั่วไปในการรักษาความปลอดภัยในระบบคอมพิวเตอร์

ปัญหาทั่วไปในการรักษาความปลอดภัยในระบบคอมพิวเตอร์

14

ประเภทของภัยคุกคาม

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

ประเภทของภัยคุกคามที่เกิดขึ้นกับระบบคอมพิวเตอร์และเครือข่ายนั้น   สามารถจำแนกได้ 2   ประเภท

หลัก ๆ ดังนี้

1.  ภัยคุกคามทางตรรกะ (Logical)  หมายถึง   ภัยคุกคามทางด้านข้อมูล

2.  ภัยคุกคามทางกายภาพ (Physical)  หมายถึง  ภัยที่เกิดกับตัวเครื่องและอุปกรณ์  เช่น  ภัยภิบัติจากธรรมชาติ  และภัยจากการกระทำของมนุษย์ที่ทำความเสียหายให้กับตัวเครื่องและอุปกรณ์

 

ภัยคุกคามทางด้านข้อมูล      

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

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

Note :  ไม่ว่าจะเป็น  Hacker   หรือ Cracker  ถ้ามีการแอบเข้าใช้งานระบบคอมพิวเตอร์เครือข่ายของผู้อื่น แม้ว่าจะไม่ประสงค์ร้ายก็ถือว่าไม่ดีทั้งสิ้น  เพราะขาดจริยธรรมด้านคอมพิวเตอร์

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

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

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

ภัยคุกคามในการทำธุรกิจ  E- Commerce

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

1.  การเข้าสู่เครือข่ายโดยไม่ได้รับอนุญาต เช่น มีบุคคลอื่นแอบอ้างในการใช้ชื่อ Login Name และ  Password ในการเข้าไปทำธุรกรรมซื้อขายบน Web site แทนตัวเราเอง
2. การทำลายข้อมูลและเครือข่าย  เช่น  Cracker  เจาะระบบเข้าไปทำลาย file และข้อมูลภายในเครื่อง Server ของ Web site ผู้ขาย  ทำให้ข้อมูลสมาชิกหรือลูกค้าของระบบเกิดความเสียหาย
3. การเปลี่ยนแปลง    การเพิ่ม    หรือการดัดแปลงข้อมูล เช่น การส่ง Order หรือจดหมายอิเล็กทรอนิกส์ในการสั่งซื้อสินค้า   หรือการที่จดหมายถูกเปิดอ่านระหว่างทาง  ทำให้ข้อมูลไม่เป็นความลับ และผู้เปิดอ่านอาจเปลี่ยนแปลง แก้ไข หรือเพิ่มเติมข้อความในจดหมาย  เช่น การแก้ไขจำนวนยอดของการสั่งซื้อสินค้า เป็นต้น
4. การเปิดเผยข้อมูลแก่ผู้ที่ไม่ได้รับอนุญาต  เมื่อเราสมัครเป็นสมาชิกไว้ใน Web site ใด ๆ  Server  ของเจ้าของ Web site จะเก็บข้อมูลส่วนตัวของเราไว้   หากเจ้าของ Web  Site  ขาดจริยธรรมในการทำธุรกิจอาจนำข้อมูลส่วนตัวของเราไปขายให้องค์กรอื่น  เช่น ขายข้อมูลให้กับบริษัทบัตร  Credit  เป็นต้น
5. การทำให้ระบบบริการของเครือข่ายหยุดชะงัก  เช่น การที่  Cracker เข้ามาทำลายระบบเครือข่าย และส่งผลให้เครื่อง Server ของเจ้าของ Web site ไม่สามารถให้บริการแก่ลูกค้าของเขาได้จนกว่าระบบนั้นจะถูกแก้ไข  ดังนั้น เมื่อระบบล่มเป็นระยะเวลานานหลายชั่วโมง  หรืออาจจจะนานหลายวันก็จะส่งผลต่อยอดขายสินค้าบน Web ด้วย
6. การขโมยข้อมูล  เมื่อตัวเราเองเป็นผู้ให้ข้อมูลไว้กับ Web site ที่เราจะซื้อขายสินค้า  ข้อมูลนั้นอาจถูกขโมยจากเจ้าของ Web site     จากผู้ดูแล Web  หรือจาก Cracker  ที่นำไปใช้ประโยชน์ต่อเขาเหล่านั้น แต่ส่งผลเสียกับตัวเรา   เพราะการเปิดเผยข้อมูลส่วนตัวเขาของเราโดยไม่ได้รับอนุญาตถือเป็นการขโมย
7. การปฏิเสธการบริการที่ได้รับ  เช่น ปฏิเสธว่าไม่ได้เข้าไปกรอกรายการสั่งซื้อที่ Web  site  โดยใช้ชื่อนี้หรืออ้างว่าสั่งซื้อสินค้าแล้วแต่ไม่ได้รับการจัดส่งสินค้าจาก  web site   ดังกล่าวเพื่อใช้เป็นข้ออ้างในการชำระเงินค่าสินค้าส่วนที่เหลือ
8. การอ้างว่าได้ให้บริการ  หรือ   อ้างว่าได้ส่งมอบสินค้าและบริการแล้ว
9.  Virus ที่แอบแฝงมากับผู้ที่เข้ามาใช้บริการ  ส่งผลทำให้เครื่อง Server ของเจ้าของ web site ได้รับความเสียหาจากการที่  Virus  ทำลายข้อมูลและ file ต่าง ๆ ภายในระบบ

ภัยคุกคามบน Internet

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

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

ภัยคุกคามทางกายภาพ (Physical)

ภัยจากธรรมชาติ                    มีหลายรูปแบบ เช่น

1.               น้ำท่วม

2.               แผ่นดินไหว

3.               คลื่นซึนามิ

4.               พายุ   โคลนถล่ม

5.               ฟ้าผ่า

6.               ภัยธรรมชาติรูปแบบอื่น ๆ

ภัยจากการกระทำของมนุษย์   มีหลายรูปแบบ  เช่น

1.               การขโมยเครื่องและอุปกรณ์

2.               การทำลายอุปกรณ์ Hardware

3.               ไฟฟ้าดับ

4.               ไฟใหม้

บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับความปลอดภัยของข้อมูล

13

การรักษาความปลอดภัยทางกายภาพ

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

ซอฟต์แวร์รักษาความปลอดภัย

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

–  ชื่อผู้ใช้และรหัสผ่าน

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

–  โปรแกรมไฟร์วอลล์

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

รูปแบบการโจมตีทางเครือข่าย

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

การทำลายระบบ (destructive method)

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

การโจมตีแบบรูทฟอร์ซ (brute-force attack)

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

การโจมตีแบบพาสซีพ (passive attack)

      แครกเกอร์อาจไม่จำเป็นต้องใช้วิธีเจาะเข้าไปยังเครื่องปลายทางโดยตรง หากแต่ติดตั้งโปรแกรมตรวจจับแพ็กเกต (packet sniffing) ไว้ในที่ใดที่หนึ่ง

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

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

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

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

ซอฟต์แวร์ตรวจช่วงโหว่ระบบ
ในอินเทอร์เน็ตมีซอฟต์แวร์เป็นจำนวนมากที่ใช้ในการตรวจวิเคราะห์หารูโหว่ของระบบรักษาความปลอดภัยซอฟต์แวร์เหล่านี้เผยแพร่โดยไม่คิดมูลค่าและเป็นเสมือนดาบสองคมที่ทั้งแฮกเกอร์และแครกเกอร์นำไปใช้ด้วยจุดประสงค์ที่ต่างกัน ซอฟต์แวร์ในกลุ่มนี้ซึ่งเป็นที่รู้จักแพร่หลายได้แก่ Internet Security Scanner,SATAN COPS และ Tiger เป็นต้น

อันตรายจากไวรัสหนอน

หนอน Linux/Slapper.worm ใช้จุดโหว่ด้านความปลอดภัยเรื่อง buffer overflow ใน OpenSSL เพื่อใช้งาน shell บนระบบปลายทาง เจ้าหนอนมุ่งโจมตีจุดโหว่นี้ของ Apache web server บนระบบปฏิบัติการ Linux หลากหลายเวอร์ชันไม่ว่าจะเป็น SuSe, Mandrake, RedHat, Slackware หรือ Debian นอกจากนี้มันยังสร้างการโจมตีแบบ Distributed Denial of Service(DDoS) ได้อีกด้วย
ตามข้อมูลของ Symantec DeepSight Threat Management System พบว่ามีคอมพิวเตอร์มากกว่า 3,500 เครื่องที่ร่วมทำการโจมตีแบบ DDoS นี้ ซึ่งในจำนวนนี้มีคอมพิวเตอร์ในประเทศโปรตุเกสและโรมาเนียซึ่งเป็นแหล่งแรกที่พบการระบาดของหนอน Slapper รวมอยู่ด้วย

ม้าโทรจัน Trojan Horses

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

 อุบัติเหตุ และความเสี่ยงอื่นๆ

–  ดิสก์ขัดข้อง

–  กระแสไฟฟ้าขัดข้องหรือไม่สม่ำเสมอ

–  การถูกโจรกรรม

–  ความล้มเหลวของระบบรักษาความปลอดภัยที่เกิดขึ้นจากคน