สิ่งที่ผมรู้ หากคุณอ่าน คุณจะรู้ตามผมไปด้วย

12-03-2008

ตั้ง Password อย่างไรดี 1

Filed under: ตั้ง Password อย่างไรดี 1 — ejeepss @ 11:27:14

Password นั้น ทุกคนรู้จักกันดี ทุกคนใช้ และเชื่อว่าทุกคนรู้ว่ามันมีความสำคัญ แต่ในเมื่อทุกๆ คนรู้ แล้วทำอย่างไรกับมัน บางคนจดรหัสผ่าน ติดไว้ที่จอภาพบ้าง ด้านหลัง คีย์บอร์ดบ้าง หรือที่หนักคือ รหัสผ่าน ตั้งชื่อว่า “password” เสียเลย เรามาดูกันดีกว่าครับ ว่า Password นั้น ควรตั้งอย่างไรกันดี .. โดยควรรู้วิธีการขโมย Password หรือ Hack พื้นฐานก่อนครับ

  1. เดาครับ Hacker หรือบุคคลที่ต้องการเข้าระบบโดยใช้ Password เรานั้น ขั้นต้น ทุกคนต้องเดาทั้งนั้น ซึ่ง Password ที่อ่อนแอ หรือตั้งง่าย ๆ เช่น ไม่ใส่อะไรเลย หรือ คำว่า “password” หรือ ตั้งปี พ.ศ.เกิด จะโดนก่อน ครับ … เช่น 1111 , 2222 , 1965 อะไรทำนองนั้น
  2. ใช้เครื่องมือครับ เช่น Tools ต่างๆ ซึ่งใช้งานดีบ้างไม่ดีบ้าง หรือไม่ก็เขียนเอง วิธีการพื้นฐานคือ
    1. ใช้ Dictionary เข้ามาช่วย เพราะโดยส่วนใหญ่ คนทั่วไป ๆ อาจตั้ง Password ตามคำที่มีอยู่ใน Dictionary โดยโปรแกรมก็วนเช็คไปเรื่อยๆ ครับ
    2. หากผ่านขั้นตอน 2.1 มาแล้ว แต่ยังไม่พบรหัสผ่าน ก็มีอีกวิธีครับ คือ ไล่เช็ค ทุก ๆ ตัว เช่น หาก Password 2 หลักก็ aa … az , ….. ไปเรื่อย ๆ ครับ

เรามาลองดูกันดีกว่าครับ หากตั้ง Password สั้น ๆ แล้วอาจเกิดอะไรได้บ้าง โดยในกรณีนี้ สมมติว่า บุคคลไม่ดี ได้เข้ามาในฐานข้อมูล ของเรา หรือของหน่วยงาน แอบขโมย Password ที่เข้ารหัสไปแล้ว แต่ยังไม่่สามารถเอาไปคีย์ได้ ซึ่ง Password ที่ถูกเข้ารหัส ส่วนใหญ่จะใช้ เทคนิค Hash ฟังก์ชั่น พวก SHA1, HD5 ในการเข้ารหัสเสียเป็นส่วนใหญ่ เพราะฉะนั้น เรามาดูดีกว่า จะเขาทำกันเบื้องต้นอย่างไร

1. หารหัสผ่าน ที่ถูกเข้ารหัสด้วย MD5 โดยนำมาจาก MySQL ซึ่งเป็นฐานข้อมูลที่นิยม ที่ OpenSource ใช้กัน ทั้ง WordPress (Blog ที่เราเขียนกันอยู่นี่แหละ), Phpbb และอื่น ๆ … (หาโดยวิธีการใด สุดแล้วแต่นะครับ ไม่แนะนำให้ไปหาโดยวิธีผิดนะครับ แนะนำให้เอาระบบของเราเอง หรือโปรแกรมเราเอง ศึกษา เพื่อความรู้เท่านั้นนะครับ)


2. เขียน PHP เพื่อทำการ Match password

ทำไมต้องเริ่มต้นที่ 33 และทำไมต้องสิ้นสุดที่ 125 ต้องลองเปิดตาราง ASCII ดูครับ Ascii ตัวที่ 33 คือ ! ……… ตัวที่ 125 คือ | นั่นหมายความว่า ตัวอักษร ตัวเลข อักขระพิเศษ ทุกตัวจะถูกนำไปเปรียบเทียบ ยกเว้น อักขระควบคุม ครับ ..

3. run PHP เพื่อหารหัสผ่าน


ผลลัพท์ ทันใจครับ เนื่องจากหลักยังน้อยอยู่

เปรียบเทียบการใช้เวลา Run โปรแกรม บนเครื่อง HP workstation rw6000 CPU 2.4G Ram 2G เป็นเวลาคร่าว ๆ นะครับ

  • 1 หลักใช้เวลา 0 วินาที
  • 2 หลักใช้เวลา 4 วินาที
  • 3 หลักใช้เวลา 321 วินาที
  • 4 หลักใช้เวลา เป็น ชม. ครับ ไม่รู้กี่ ชม.
  • 5 หลัก ………………..ฮื่ม ลองดูครับ … คงเป็นวัน เดือน …..

คำถาม

รหัสผ่านของคุณมีกี่หลักครับ หากรหัสผ่านของคุณมีน้อยกว่า 4 หลักล่ะก็ ไม่เกินอึดใจครับ ยิ่งหากมีเฉพาะตัวเลขอย่างเดียวด้วย แล้ว .. ไม่ต้่องคิดเลยครับแต่บางท่านอาจบอกว่า Password ของผมยาวมาก ไม่มีทางหาเจอแน่ .. ครับ หากรหัสผ่านยาว ๆ เป็นสิ่งที่ดีครับ แต่อย่าลืมนะครับ เครื่องคอมพิวเตอร์สมัยนี้แรง ๆ ทั้งนั้นครับ ผมสั่ง Run โปรแกรมนี้ทิ้งไว้สัก 1 เดือน หรือมีเครื่องคอมพิวเตอร์หลายๆ เครื่อง แบ่งกันหา ผมคิดว่ามีโอกาสเจอ Password ของคุณได้ครับ …

แล้วเราควรทำอย่างไร

Hacker หรือบุคคลไม่ประสงค์ดีบางคนมีความอดทนสูงครับ เขาอาจรอโปรแกรม Run ได้ เป็นเดือน เป็นปี หรือเขาอาจใช้เครื่องคอมพิวเตอร์หลาย ๆ เครื่องเพื่อหา Password ของคุณ เพราะฉะนั้น

คำแนะนำ

ควรตั้ง Password ที่มีความยาวอย่างน้อย 8 ตัว และมีทั้งตัวอักษร ตัวเล็ก ตัวใหญ่ ตัวเลข และอัขระอื่นๆ ประกอบ ๆ กัน โดยที่ไม่ควรเป็นคำที่อยู่ ใน Dictionary (เพราะหากเป็นคำอยู่ใน Dict ยิ่งหาเจอง่ายครับ เพียงแค่ก่อน Run โปรแกรม เอาคำใส Dict มาเปรียบเทียบก่อนเท่่านั้น) เพียงเท่านี้ คุณก็มีระยะเวลาปลอดภัยพอสมควร อาจถึง 6 เดือน ซึ่งก่อนถึงเวลานั้น ก็แนะนำให้คุณเปลี่ยนรหัสใหม่อีกครั้ง ..

เพียงเท่านี้ Hacker อาจท้อใจเลิก ก็เป็นได้ครับ

ขอบพระคุณที่สนใจอ่าน

ติดตามตอน 2 ครับ

1 ความเห็น »

  1. รออ่านตอนต่อไปอยู่นะคะ :)

    เนื้อความ โดย Meaningful Life — 18-03-2008 @ 13:46:21

RSS feed for comments on this post. TrackBack URL

แสดงความเห็น

Powered by WordPress