แฮ็กเกอร์

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

ในปัจจุบัน *แฮ็กเกอร์* นั้นใช้ใน 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

## ประเภท
### ไวต์แฮต
ไวต์แฮต สามารถเจาะระบบรักษาความปลอดภัย อย่างเปิดเผย  

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

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

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

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

### แฮคเกอร์

แฮคเกอร์ (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
* 

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