คำว่า Hacker Mindset คือ การมองโลกผ่านตรรกะที่คนสร้างระบบไม่ทันได้คิดไว้
4 หลักคิดพื้นฐาน แก่นของ Hacker Mindset
# 1) มองทุกอย่างเป็น "ระบบที่มีกฎเกณฑ์"
คนทั่วไปมองหน้าเว็บเป็น "ปุ่มและข้อความ" แต่คนที่คิดแบบแฮกเกอร์จะมองเป็น "กลไกรับข้อมูล (Input) - ประมวลผล (Prosess) - แสดงผล (Output)"
คำถามของคนทั่วไป: "ช่องนี้ระบบบอกให้กรอกอายุเกิน 18 ใช่ไหม?"
คำถามของ Hacker: "ใครเป็นคนตรวจว่าอายุเกิน 18? เครื่องของเรา (Client) หรือ เครื่องเขา (Server)? แล้วถ้าเราหลอกเครื่องตัวเองว่าตรวจแล้วล่ะ?"
# 2) ตั้งคำถามกับ "สมมติฐาน"
นักพัฒนา (Developers) สร้างระบบโดยตั้งสมมติฐานว่า "ผู้ใช้จะใช้งานแบบปกติ" แต่แฮกเกอร์คือคนที่หาจุดที่สมมติฐานนั้นใช้ไม่ได้
สมมติฐานของคนสร้าง: "ผู้ใช้จะกรอกตัวเลขในช่องใส่จำนวนสินค้า"
การตั้งคำถามของ Hacker:
ถ้ากรอกตัวเลขติดลบ ยอดเงินรวมจะกลายเป็นส่วนลดให้เราไหม?
ถ้ากรอกตัวอักษรยาว 1,000,000 ตัว ระบบจะค้างไหม?
ถ้ากรอกคำสั่งโปรแกรมลงไป เช่น command line ของ Dos หรือ Unix ระบบจะเผลอนำไปประมวลผลไหม?
# 3) ความอยากรู้อยากเห็นแบบถอดประกอบ
เหมือนเด็กที่ชอบแกะของเล่นออกมาดูข้างในว่าเฟืองตัวไหนหมุนตัวไหน
แฮกเกอร์จะไม่ยอมหยุดแค่ "มันใช้งานได้" แต่ต้องรู้ให้ได้ว่า "มันทำงานอย่างไรข้างหลังฉาก" เมื่อเห็นพฤติกรรมแปลกๆของระบบนิดเดียว เช่น กดแล้วหน้าเว็บหมุนนานผิดปกติ หรือมี Error Code แปลกๆโผล่มา นั่นคือเบาะแสที่ต้องเจาะลึกลงไป
# 4) ช่างสังเกตและมีความอดทนสูง
ภาพในหนังที่แฮกเกอร์รัวคีย์บอร์ด 10 วินาทีแล้วเจาะระบบได้นั้นไม่มีจริง ในความเป็นจริง การแฮ็กคือ:
1. ทดลอง 99 วิธีแล้วล้มเหลว
2. คอยสังเกตปฏิกิริยาเล็กๆน้อยๆของระบบในแต่ละครั้ง
3. นำข้อมูลที่สังเกตได้มาเชื่อมโยงจับแก่นจนเจอวิธีที่ 100 ที่สำเร็จ
ส่งท้าย
การทดลองและสังเกตเหล่าสิ่งเล็กๆน้อยๆเหล่านี้ เป็นสิ่งที่เกิดขึ้นในการเล่น Classic Rouglike อย่าง NetHack, Angband และอื่นๆกันอยู่แล้ว เป็นเกมที่ฝึก Hacker Mindset ได้ดี หรือไม่คนที่เล่นเกมแนวนี้อาจเป็นคนที่มีเมล็ดพันธุ์ของ Hacker Mindset อยู่กับตัวอยู่แล้วก็เป็นได้

ไม่มีความคิดเห็น:
แสดงความคิดเห็น