แฮ็กเกอร์

แฮ็กเกอร์ (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
หมวดหมู่:การแฮ็ก
หมวดหมู่:สงครามไซเบอร์
หมวดหมู่:วัฒนธรรมคอมพิวเตอร์
หมวดหมู่:คำศัพท์คอมพิวเตอร์
หมวดหมู่:การเขียนโปรแกรม