นักเลงคอมพิวเตอร์

นักเลงคอมพิวเตอร์ (hacker) หมายถึงผู้เชี่ยวชาญในสาขาคอมพิวเตอร์ บางครั้งยังใช้หมายถึงผู้เชี่ยวชาญในสาขาอื่นนอกจากคอมพิวเตอร์ด้วย โดยเฉพาะผู้ที่มีความรู้ในรายละเอียด หรือ ผู้ที่มีความเฉลียวในการแก้ปัญหาจากข้อจำกัด ความหมายที่ใช้ในบริบทของคอมพิวเตอร์นั้นได้เปลี่ยนแปลงไปจากความหมายดั้งเดิม โดยผู้ใช้คำในช่วงหลังนั้นได้ใช้ในความหมายที่กว้างออกไป รวมทั้งในบางครั้งยังใช้ในความหมายที่ขัดแย้งกัน
ในปัจจุบัน "นักเลงคอมพิวเตอร์" นั้นใช้ใน 2 ความหมายหลัก ในทางที่ดี และ ไม่ค่อยดีนัก ความหมายที่เป็นที่นิยม และพบได้บ่อยในสื่อนั้น มักจะไม่ดี โดยจะหมายถึง อาชญากรคอมพิวเตอร์ ส่วนในทางที่ดีนั้น "นักเลงคอมพิวเตอร์" ยังใช้ในลักษณะของคำติดปาก หมายถึง ความเป็นพวกพ้อง หรือ สมาชิกของกลุ่มคอมพิวเตอร์ นอกเหนือจากนี้ คำว่า "นักเลงคอมพิวเตอร์" ยังใช้หมายถึงกลุ่มของผู้ใช้คอมพิวเตอร์ โดยเฉพาะโปรแกรมเมอร์ที่มีความสามารถในระดับผู้เชี่ยวชาญ ตัวอย่างเช่น "ลีนุส ทอร์วัลด์ส ผู้สร้างลินุกซ์ นั้นเป็นนักเลงคอมพิวเตอร์อัจฉริยะ"
จากความหมายที่แตกต่างข้างต้น จะเห็นได้ถึงความขัดแย้งในการใช้คำ บางกลุ่มที่ใช้คำนักเลงคอมพิวเตอร์นี้เพื่อเรียกกลุ่มของตน ก็ไม่ชอบที่คำนี้ถูกใช้ในความหมายที่ไม่ดี และแนะนำให้ใช้คำอื่น เช่น แบล็กแฮต หรือ แคร็กเกอร์ เพื่อเรียกอาชญากรคอมพิวเตอร์แทน ส่วนผู้ที่ใช้คำนี้ในความหมายที่ไม่ดี ซึ่งเป็นความหมายที่นิยมใช้กันนั้น ให้ความเห็นถึงความหมายในทางที่ดี นั้นนอกจากจะก่อให้เกิดความสับสนแล้ว ดูเหมือนว่าจะไม่เป็นที่นิยมอีกด้วย
ส่วนความหมายกลางนั้น ได้สังเกตถึงจุดร่วมระหว่างความหมายในทางที่ดีและไม่ดี โดยพิจารณาการเป็นนักเลงคอมพิวเตอร์ เป็นการใช้ความชำนาญ เพียงแต่อาจใช้เพื่อจุดประสงค์ที่แตกต่างกันทั้งในทางดีและไม่ดี ตัวอย่างเช่น ช่างสะเดาะกุญแจ มีความชำนาญในการปลดกลอน (เปรียบเทียบการสะเดาะกุญแจกับการเป็นนักเลงคอมพิวเตอร์) ซึ่งความชำนาญนี้อาจถูกใช้ได้ทั้งในทางที่ดีและไม่ดี
การเป็นนักเลงคอมพิวเตอร์ สามารถหมายถึงวิธีการศึกษาหาคำตอบให้กับปัญหาอย่างใดอย่างหนึ่ง โดยที่มีข้อจำกัดในเรื่องของข้อมูลหรือความรู้ เพื่อให้เกิดการพัฒนาหรือความเข้าใจต่อปัญหาเหล่านั้นได้มากขึ้น การได้ใช้คำว่านักเลงคอมพิวเตอร์จึงเป็นสิ่งที่น่าภูมิใจ เพราะเปรียบได้กับเป็นผู้คิดค้นสิ่งใหม่ที่สามารถทำงานหรือแก้ปัญหาได้ดีขึ้นและง่ายขึ้น แต่ถ้าการเป็นนักเลงคอมพิวเตอร์ ที่อาศัยความรู้หรือความสามารถที่มีในทางที่ไม่ดี ก็จะเกิดความสับสนในการใช้คำว่านักเลงคอมพิวเตอร์  ดังนั้นคำว่าแครกเกอร์จึงถูกนำมาใช้เรียกคนที่มีความรู้ความเข้าใจต่อสิ่งใดสิ่งหนึ่งแต่ใช้ความรู้นั้นในทางที่ไม่ดีและขัดกับจริยธรรมของนักเลงคอมพิวเตอร์
== นิยาม ==
ผู้เชี่ยวชาญด้านการใช้ การใช้ภาษาโปรแกรมคอมพิวเตอร์ เป็นอย่างมาก จนรู้ลึกถึงจุดอ่อนหรือช่องว่างของภาษาโปรแกรม ทำให้สามารถเจาะผ่านเข้าไปในโปรแกรมประยุกต์ที่ผู้อื่นสร้างขึ้นด้วยภาษาโปรแกรมภาษานั้นๆ โดยมีวัตถุประสงค์ในการทดสอบขีดความสามารถของตนเอง หรือทำในหน้าที่การงานของตนเอง เช่น มีหน้าที่เกี่ยวข้องกับโปรแกรมประยุกต์ขององค์กร แล้วทำเพื่อทดสอบประสิทธิภาพ ช้องว่าง จุดบกพร่อง จุดอ่อน บั๊ก ของโปรแกรมประยุกต์นั้นๆ
บุคคลที่มีความรู้ในกลไกการทำงานของระบบปฏิบัติการคอมพิวเตอร์อย่างลึกซึ้ง แม้จะมีความรู้ในการใช้ภาษาโปรแกรมหรือใช้โปรแกรมประยุกต์ได้เพียงแค่ระดับพื้นฐาน   ที่เป็นเช่นนั้นได้ เพราะพวกเขามีความหลงไหลและศึกษาหาความรู้อยู่ตลอดเวลา ทุ่มเทใส่ใจที่จะพัฒนาความรู้ระดับพื้นฐานที่ผู้อื่นมองว่าธรรมดามาปรับใช้จนได้ผล มีแนวความคิดสร้างสรรค์ใหม่ ๆ อยู่เสมอ เหมือนช่างซ่อมรถยนต์ที่จบเพียง ป.6 สามารถใช้เพียงไขควงและประแจไม่กี่อัน ก็สามารถซ่อมรถได้ สามารถเรียกพวกเหล่านี้ได้ว่า นักเลงคอมพิวเตอร์   บุคคลเหล่านี้ จะคอยติดตามข่าวสารและความรู้ใหม่ ๆ อยู่ตลอดเวลา มีความเข้าใจในจุดอ่อนของระบบและที่มาของจุดอ่อนนั้น ๆ   การกระทำใด ๆ ของนักเลงคอมพิวเตอร์ตัวจริงแท้จริง จะแน่ใจได้ว่า ไม่ก่อให้เกิดความเสียหายต่อข้อมูล นักเลงคอมพิวเตอร์ที่ทำการแฮกแล้ว ทำให้ข้อมูลเสียหาย หรือระบบใช้งานไม่ได้ จะถูกมองว่าเป็นนักเลงคอมพิวเตอร์ระดับต่ำ ระดับล่าง ไร้ความสามารถแท้จริง หรือ เป็นพวกชอบอวดเก่ง โอ้อวดในหมู่คนไร้ความรู้
บุคคลผู้มีความรู้ในระบบคอมพิวเตอร์เป็นอย่างดี สามารถเข้าไปถึงข้อมูลในคอมพิวเตอร์ โดยเจาะผ่านระบบรักษาความปลอดภัย ของคอมพิวเตอร์ได้ กลุ่มพวกนี้จะอ้างว่า ตนมีจรรยาบรรณ ไม่หาผลประโยชน์จากการบุกรุกและประณามพวก Cracker
บุคคลผู้ซึ่งสามารถประยุกต์เอาความรู้ธรรมดาให้กลายเป็นเครื่องมือพิเศษ ซึ่งสามารถนำไปใช้ประโยชน์ในทางที่สุจริตได้
Cracker (แครกเกอร์) มีความหมายอย่างเดียวกันกับ Hacker แต่ต่างกันตรงที่’’’วัตถุประสงค์ในการกระทำ’’’ จุดมุ่งหมายของ Cracker คือ บุกรุกระบบคอมพิวเตอร์อื่นโดยผิดกฎหมาย และทำให้เกิดความเสียหายต่อคอมพิวเตอร์ที่ถูกบุกรุก จะโดยมีเจตนาที่จะทำลายหรือเอาข้อมูลไปใช้เพิ่อผลประโยชน์ส่วนตัว ทั้งนี้รวมไปถึงพวก script monkey ที่บุกรุกเข้าไปและทำให้เกิดความเสียหายโดยไม่มีความรู้หรือไม่เจตนา
แต่โดยทั่วไปแล้วมักเข้าใจกันว่าเป็นพวกเดียวกันนั่นเอง คือมองว่ามีเจตนาไม่ดีทั้งคู่ ทั้งที่จริง ๆ แล้วไม่ใช่
แต่ในปัจจุบันคำว่า Cracker กับ Hacker มักเรียกรวมทั้งสองคำว่าเป็น “Hacker” จึงเกิดคำเรียกใหม่ว่า Black hat Hacker กับ White hat Hacker ซึ่ง Black hat Hacker จะใช้แทน Cracker และ White hat Hacker จะใช้แทน Hacker
==ประเภท==
=== ไวต์แฮต ===
ไวต์แฮต สามารถเจาะระบบรักษาความปลอดภัย อย่างเปิดเผย
ตัวอย่างเช่น ผู้ทดสอบระบบรักษาความปลอดภัย เหล่าแฮกเกอร์ที่มีความรู้ความสามารถ และรับจ้างให้ทำการตรวจสอบระบบรักษาความปลอดภัย หรือ หาจุดอ่อนช่องว่างของระบบหรือโปรแกรม
=== เกรย์แฮต ===
เกรย์แฮต อยู่ระหว่างแบล็กแฮตกับไวต์แฮต เกรย์แฮตจะท่องโลกอินเทอร์เน็ตและเจาะเข้าไปในระบบคอมพิวเตอร์ เพื่อเตือนผู้ดูแลว่าระบบของพวกเขาถูกแฮ็ก จากนั้นพวกเขาเสนอที่จะซ่อมแซมระบบให้ โดยมีค่าจ้างเล็กน้อย
=== บลูแฮต ===
บลูแฮต คือบุคคลนอกบริษัทที่ปรึกษาด้านความปลอดภัยของคอมพิวเตอร์ที่สามารถทดสอบหาบั๊กก่อนที่ระบบจะถูกใช้จริง
=== แบล็กแฮต ===
แบล็กแฮต หรือในบางครั้งเรียก แคร็กเกอร์ คือบุคคลที่พยายามเจาะเข้าระบบคอมพิวเตอร์ของผู้อื่น โดยไม่ได้รับอนุญาต หรือผิดกฎหมาย  ไม่ว่าจะทำให้ระบบหรือโปรแกรมที่ถูกเจาะเข้าไปนั้น ได้รับความเสียหายหรือไม่
=== แฮคเกอร์ ===
แฮคเกอร์ (Hacker) นั้นมีความหมายอยู่ 2 ประเภท โดยส่วนใหญ่เมื่อพูดถึงคำคำนี้จะเข้าใจว่า หมายถึง บุคคลที่พยายามที่จะเจาะเข้าระบบโดยไม่ได้รับอนุญาต ในอีกความหมายหนึ่งซึ่งเป็นความหมายดั้งเดิม จะหมายถึง ผู้ใช้ความรู้ความชำนาญเกี่ยวกับคอมพิวเตอร์แต่ไม่ได้มีจุดมุ่งหมายเพื่อทำลายหรือในด้านลบ เช่น สำรวจเครือข่ายเพื่อตรวจหาเครื่องแปลกปลอม เป็นต้น แต่อย่างไรก็ตามการที่เจาะเข้าระบบคอมพิวเตอร์ของผู้อื่นนั้นเป็นสิ่งผิดกฎหมายอย่างมาก
=== สคริปต์คิดดี้ส์ หรือ สคริปต์มังกี้ ===
สคริปต์คิดดี้ส์ (Script - Kiddies) หรือ สคริปต์มังกี้ (script monkey) หมายถึงกลุ่มคนซึ่งไม่มีความรู้ ความชำนาญ ความสามารถ ในเรื่องของระบบ หรือ การเขียนโปรแกรมในการเจาะระบบ แต่สามารถทำการเจาะระบบต่างๆ ทำโดยการดูด (Download) โปรแกรมหรือกระบวนการเจาะระบบที่แฮกเกอร์ตัวจริงทำไว้และทิ้งไว้ในอินเทอร์เน็ต มาใช้ในการเจาะระบบแบบเล่นไปเรื่อยๆ โดยไร้จุดประสงค์
กลุ่มคนเหล่านี้ ทำให้เกิดการเจาะระบบถึง 95% ของการเจาะระบบทั้งหมด
แต่เนื่องจากคนเหล่านี้ ไม่มีความรู้ความสามารถ ผลจากการเจาะระบบส่วนใหญ่จึงทำให้ระบบเกิดความเสียหายได้มาก
== รูปแบบของการกระทำความผิด ==
ที่พบบ่อย ๆได้แก่
=== Password Guessing ===
Password เป็นสิ่งที่ใช้ในการพิสูจน์ความเป็นตัวตนของผู้ใช้งาน เป็นความลับส่วนบุคคล ผู้ใช้มักกำหนดโดยใช้คำง่าย ๆ เพื่อสะดวกในการจดจำ สาเหตุจากต้องเปลี่ยนบ่อย หรือมี Password หลายระดับ หรือระบบห้ามใช้ Password ซ้ำเดิม Password ที่ง่ายต่อการเดา ได้แก่ สั้น ใช้คำที่คุ้นเคย ใช้ข้อมูลส่วนตัว ใช้ Password เดียวทุกระบบ จด Password ไว้บนกระดาษ ไม่เปลี่ยน Password ตามระยะเวลาที่กำหนด
Password Guessing คือการเดา Password เพื่อเข้าสู่ระบบ
=== การโจมตีโดยปฏิเสธการให้บริการ ===
การโจมตีโดยปฏิเสธการให้บริการ (DoS) คือการโจมตีลักษณะหนึ่งที่อาศัยการส่งคำสั่งลวงไปร้องขอการใช้งานจากระบบและการร้องขอในคราวละมาก ๆ เพื่อที่จะทำให้ระบบหยุดการให้บริการ แต่การโจมตีแบบ Denial of Service สามารถถูกตรวจจับได้ง่ายโดย Firewall หรือ IDS และระบบที่มีการ Update อยู่ตลอดมักจะไม่ถูกโจมตีด้วยวิธีนี้ ซึ้งมีบางกรณีก็ตรวจจับได้ยากเนื่องจากมีลักษณะคล้ายกับการทำงานของ Software จัดการเครือข่าย เนื่องจากสามารถถูกตรวจจับได้ง่ายปัจจุบันการโจมตีในลักษณะนี้ได้เปลี่ยนรูปแบบการโจมตีไปสู่แบบ การโจมตีโดยปฏิเสธการให้บริการแบบกระจาย (DDoS)  คือการอาศัย คอมพิวเตอร์หลาย ๆ เครื่องโจมตีระบบในเวลาเดียวกัน
=== Decryption ===
คือ การพยายามให้ได้มาซึ่ง Key เพราะ Algorithm เป็นที่รู้จักกันอยู่แล้ว เพื่อถอดข้อมูลที่มีการเข้ารหัสอยู่ ซึ่งการ Decryption อาจใช้วิธีการตรวจสอบดูข้อมูลเพื่อวิเคราะห์หา Key โดยเฉพาะการใช้ Weak Key ที่จะส่งผลทำให้ได้ข้อมูลที่มีลักษณะคล้าย ๆ กัน ทำให้เดา Key ได้ง่าย ควรใช้ Key ความยาวอย่างน้อย 128 bit หรืออาจใช้หลักทางสถิติมาวิเคราะห์หา Key จากตัวอักษรที่พบ
===Birthday Attacks===
เมื่อเราพบใครสักคนหนึ่ง มีโอกาสที่จะเกิดวันเดียวกัน 1 ใน 365 ยิ่งพบคนมากขึ้นก็ยิ่งจะมีโอกาสซ้ำกันมากยิ่งขึ้น
การเลือกรหัสผ่านวิธีการที่ดีที่สุดคือการใช้ Random Key โดยการ Random Key นั้นจะเป็นการสร้างหรือสุ่ม key ที่คล้ายกันขึ้นมาใหม่ จึงมีโอกาสที่จะได้ Key ที่สามารถใช้งานได้จริง
===Man in the middle Attacks===
การพยายามที่จะทำตัวเป็นคนกลางเพื่อคอยดักเปลี่ยนแปลงข้อมูลโดยที่คู่สนทนาไม่รู้ตัว มีทั้งการโจมตีแบบ Active จะมีการเปลี่ยนแปลงข้อมูล การโจมตีแบบ Passive จะไม่มีการเปลี่ยนแปลงข้อมูล และการโจมตีแบบ Replay Attack ข้อความจะถูกเก็บไว้ระยะเวลาหนึ่งแล้วค่อยส่งต่อ
ป้องกันโดยการเข้ารหัสข้อมูล ร่วมกับ Digital Signature
== อ้างอิง ==
Eric S. Raymond, Guy L. Steele (Eds.): The New Hacker's Dictionary (The MIT Press, 1996), ISBN 0-262-68092-0
http://sdf.lonestar.org/index.cgi?faq?HACKER?01
การแฮ็ก
สงครามไซเบอร์
วัฒนธรรมคอมพิวเตอร์
คำศัพท์คอมพิวเตอร์
การเขียนโปรแกรม