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

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

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

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

การเป็นแฮ็กเกอร์ สามารถหมายถึงวิธีการศึกษาหาคำตอบให้กับปัญหาอย่างใดอย่างหนึ่ง โดยที่มีข้อจำกัดในเรื่องของข้อมูลหรือความรู้ เพื่อให้เกิดการพัฒนาหรือความเข้าใจต่อปัญหาเหล่านั้นได้มากขึ้นhttp://sdf.lonestar.org/index.cgi?faq?HACKER?01 การได้ใช้คำว่าแฮ็กเกอร์จึงเป็นสิ่งที่น่าภูมิใจ เพราะเปรียบได้กับเป็นผู้คิดค้นสิ่งใหม่ที่สามารถทำงานหรือแก้ปัญหาได้ดีขึ้นและง่ายขึ้น แต่ถ้าการเป็นแฮ็กเกอร์ ที่อาศัยความรู้หรือความสามารถที่มีในทางที่ไม่ดี ก็จะเกิดความสับสนในการใช้คำว่าแฮ็กเกอร์  ดังนั้นคำว่าแครกเกอร์จึงถูกนำมาใช้เรียกคนที่มีความรู้ความเข้าใจต่อสิ่งใดสิ่งหนึ่งแต่ใช้ความรู้นั้นในทางที่ไม่ดีและขัดกับจริยธรรมของแฮ็กเกอร์

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

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

แต่โดยทั่วไปแล้วมักเข้าใจกันว่าเป็นพวกเดียวกันนั่นเอง คือมองว่ามีเจตนาไม่ดีทั้งคู่ ทั้งที่จริง ๆ แล้วไม่ใช่สนุก พีเดีย,HackerComputer Review ฉบับที่ 203

แต่ในปัจจุบันคำว่า Cracker กับ Hacker มักเรียกรวมทั้งสองคำว่าเป็น “Hacker” จึงเกิดคำเรียกใหม่ว่า Black hat Hacker กับ White hat Hacker ซึ่ง Black hat Hacker จะใช้แทน Cracker และ White hat Hacker จะใช้แทน HackerPots of Information,ความหมายของคำว่า Hacker โดย วีระพันธ์ แซ่โง้ว - 24 มีนาคม 2005

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

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

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

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

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

 แฮคเกอร์ 

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