ทฤษฏีการถอดรหัสผ่าน (Crack Password)
เมื่อวานนี้ ผมก็ได้ผ่านวันเกิดของผมอีกครั้ง (วันที่ 20 ธันวาคม) ซึ่งสิ่งที่ตามมาเสมอในวันเกิดก็คือ การได้รับข้อความอวยพร รวมไปถึงการพูดคุยพบปะกับคนที่รู้จักกับผมทั้งที่ติดต่ออยู่เป็นประจำกับคนที่ห่างหายไปนาน และหนึ่งสายที่ผมได้พูดคุยจนทำให้เกิดอารมณ์ที่จะเขียนบทความนี้ก็คือ เพื่อนเก่าในสมัยช่วงที่ผมชอบซนกับระบบของชาวบ้านไปเรื่อย เพื่อนคนนี้ก็เริ่มต้นด้วยการอวยพรวันเกิดซะดิบดี แต่จู่ๆมันก็ลากผมไปคุยเกี่ยวกับเรื่องเดิมๆ นั้นก็คือ “การถอดรหัสผ่าน”
คำเตือน : ถ้าคุณจะนำวิธีการในบทความนี้ไปใช้สำหรับการแฮกหรือทำลายระบบคอมพิวเตอร์อย่างมีเจตนาร้ายและผิดกฏหมาย คุณต้องเป็นผู้รับผิดชอบสิ่งที่จะเกิดขึ้น ในฐานะผู้เขียนและบุคคลที่เกี่ยวข้องกับบทความนี้ จะไม่มีส่วนร่วมรับผิดชอบในการกระทำหรืออาชญากรรมที่คุณได้ก่อขึ้นโดยใช้วิธีและเครื่องมือที่ได้เขียนไว้ในบทความ เพราะบทความนี้มีเจตนาเพียงประการเดียวสำหรับผู้ที่สนใจในด้านความปลอดภัยของระบบ ที่ประสงค์จะป้องกันระบบเพื่อไม่ให้ตกเป็นเหยื่อของผู้ไม่หวังดีซึ่งทุกวันนี้มีจำนวนเพิ่มมากขึ้น เท่านั้น
หากจะจับขโมยให้ได้ ต้องคิดให้เหมือนขโมย แต่อย่าทำในสิ่งที่ขโมยจะทำ เพราะนั้น คือ ความผิด?
ไอ้ผมก็งงๆว่า มันลากมาเรื่องนี้ได้ไงว่ะเนี้ย แต่ทำไงได้ล่ะ “ความทรงจำเก่าๆ มันก็ผลุดขึ้นมาให้หวนคิดถึงทันที”
โดยไอ้เพื่อนคนนี้ มันบอกว่า ตอนนี้มันอยู่ปี 4 กำลังจะทำรายงานส่งอาจารย์เกี่ยวกับเรื่องความปลอดภัยของระบบคอมพิวเตอร์ด้วยการใช้รหัสผ่าน ซึ่งมันก็ร่ายยาวเกี่ยวกับสิ่งที่มันจะทำ (ซึ่งผมก็ทนฟัง -*-) แต่ประโยคหนึ่งที่ผมสะดุดสนใจก็คือ
“รหัสผ่าน ไม่ใช่ความลับอีกตลอดไป ถ้าเรามีเวลาให้กับมันมากพอ”
ประโยคนี้แหละ จึ๊กเข้าไปในใจของผมเลย เพราะมันคือ “ความจริง”
โลกเราสมัยนี้ เทคโนโลยีก้าวไกลมากกว่าเมื่อก่อน คอมพิวเตอร์มีความเร็วเพิ่มมากขึ้น และทำงานได้ซับซ้อนฉลาดมากกว่าเดิม
จากที่เรามีสมการคณิตศาสตร์ยาวเป็นหางว่าว ชวนคันหู เห้ย ชวนปวดหัว
เมื่อก่อนใช้คอมพิวเตอร์คำนวณ 4 วันกว่าจะเสร็จ เดี่ยวนี้ 4 นาทีก็เสร็จแล้ว
จบ!! เข้าเรื่องกันเลยดีกว่า..
วันนี้เราจะมาพูดถึง “ทฤษฏีการถอดรหัสผ่าน” (ซึ่งไม่ใช่ทฤษฏีที่ใครตั้งหรอกครับ ผมเรียกให้ดูดีไปงั้นแหละ -*-)
การถอดรหัสผ่าน หรือ crack(แคร๊ก) นั้น มีหลายวิธี หลายประสบการณ์ แต่่ที่จะกล่าวต่อไปนี้ เป็นวิธีที่ผมประสบพบเจอกับตัวเอง มาตลอด 10 กว่าปี ตั้งแต่การตั้งรหัสผ่านครั้งแรกในชีวิตให้กับตัวเอง จนไปถึงการตั้งรหัสผ่านให้ชาวบ้านทั่วไปไม่รู้กี่ชีวิต
วิธีที่ 1 การคาดเดา ( Guessing)
1.1 ลองใช้รหัสผ่านที่พบบ่อย
คุณเชื่อไหมครับว่า ใน 100 คน ถ้าให้ตั้งรหัสผ่าน โดยให้ใช้เวลาคิดไม่เกิน 1 นาที จะพบว่ามีโอกาสมากกว่า 99.99% ที่คนในจำนวน 100 คนนี้จะตั้งรหัสผ่านที่เหมือนกัน เช่น 123456 หรือ password เป็นต้น และการตั้งรหัสผ่านแบบนี้ มักจะเกิดกับคนที่มีประสบการณ์ใช้คอมพิวเตอร์ครั้งแรก หรือ นานๆจะใช้คอมพิวเตอร์ หรือ พวกขี้เกียจ ไม่แคร์ ไม่อยากจำให้รกสมอง ขี้ลืม ขี้เหม็น ใครจะแฮกก็ชั่งแมร่ง ประมาณนี้อ่ะครับ คนประเภทเหล่านี้มักจะตกเป็นเหยื่อของการถูกแฮกค่อนข้างสูง
โดยรหัสผ่านที่พบบ่อยนี้ก็มีหลายเว็บไซต์ให้บริการแจกให้ดูกันแบบฟรีๆ เช่น
ลิงค์ : http://www.whatsmypass.com/the-top-500-worst-passwords-of-all-time
ใครที่มีรหัสผ่านโง่ๆ อยู่ในรายการบนเว็บไซต์ดังกล่าว ก็รีบปรับปรุงตัวเองก่อนจะมาเสียใจทีหลังนะครับ
1.2 การรวมชื่อ (Name Combination)
การเอาชื่อตัวเองมาตั้งเป็นรหัสผ่านก็มีหลายคนที่ใช้กันอยู่ในปัจจุบัน
ยกตัวอย่าง นาย TOM CRUISE เช่น tomcruise , tcruise, tomc เป็นต้น
1.3 สิ่งที่คนนั้นชอบ (Personal Likes)
การเอาสิ่งที่ตัวเองชอบมาตั้งรหัสผ่านก็เป็นอีกหนึ่งวิธีที่คนส่วนใหญ่นิยม เพราะมันง่ายต่อการจำ เช่น การเอาชื่อ วงศิลปินนักร้อง ,เพลง ,กีฬา ,หนัง รวมไปถึง นักแสดงที่ชอบ, แฟนปัจจุบัน, แฟนเก่า, ลูก, สถานทีต่างๆ เป็นต้น
ทั้งนี้การที่จะถอดรหัสผ่านของคนกลุ่มนี้ได้ ผู้แฮกจะต้องมีข้อมูลส่วนตัวที่เกี่ยวข้องกับเหยื่อพอสมควร
ดังนั้นทุกท่านที่อ่านบทความของผม โปรดระมัดระวังข้อมูลส่วนตัวของท่านด้วยนะจ๊ะ
1.4 ลองเพิ่มตัวเลขต่อท้ายรหัสผ่าน
การตั้งรหัสผ่านที่ดี มักจะบอกว่า ให้ตั้งรหัสผ่านด้วยตัวอักษรผสมกับตัวเลข และนี้เองก็เป็นอีกหนึ่งช่องโหว่ให้คนตั้งรหัสผ่านมักที่จะเติมเลขต่อท้ายเสมอถ้าต้องการความปลอดภัยเพิ่มมากขึ้น แต่ทั้งนี้ทั้งนั้น คนส่วนใหญ่มักจะเพิ่มเลขต่อท้ายด้วย เลขธรรมดาง่ายๆ เช่น admin1234 หรือมักจะเอาเลขปีของวันเกิด หรือ บ้านเลขที่มาตั้งต่อท้าย เช่น jay2532 เป็นต้น
วิธีที่ 2 การใช้คำศัพท์จากพจนานุกรมเข้าช่วย (Dictionary Attack)
2.1 สุ่มใช้คำศัพท์ทั่วไปที่ง่ายๆ เช่น apple, car, home, starlight เป็นต้น
2.2 ใช้คำศัพท์ทั้งหมดที่รวบรวมมาในการถอดรหัสผ่าน ซึ่งวิธีนี้จะใช้คอมพิวเตอร์ในการดึงคำศัพท์ออกมาตั้งแต่คำศัพท์แรกถึงคำศัพท์สุดท้ายของแฟ้มคำศัพท์ จนกว่าจะเจอรหัสผ่านที่ถูกต้อง ซึ่งวิธีนี้โอกาสสำเร็จขึ้นอยู่กับว่า แฟ้มคำศัพท์ที่รวบรวมมามีคำศัพท์เยอะแค่ไหน
และในบทความนี้ผมก็ใจดีเหลือเกินที่จะแจก แฟ้มคำศัพท์ ที่ผมใช้มันมาตลอด (ห้ามเอาไปใช้ในทางที่ไม่ดี ^_^)
ทั้งหมด 3,917,194 บรรทัด ขนาดไฟล์เพียวๆ แค่ 41.3 MB -*-
เชิญ สูบไปได้เลย : word_list.rar
วิธีที่ 3 ถึกเท่านั้นที่ครองโลก (Brute Force Attack)
วิธีนี้เป็นวิธีป่าเถื่อนที่สุด และจำเป็นจะต้องมีความอดทนเป็นอย่างสูง เพราะวิธีนี้เป็นการถอดรหัสผ่านที่พื้นฐานที่สุดแล้ว เนื่องจากคุณไม่ต้องทำอะไรเลย คุณเพียงแค่ปล่อยให้คอมพิวเตอร์ถอดรหัสผ่านทั้งหมด โอกาสสำเร็จ 100% เช่น
รหัสผ่าน ATM ในไทยเรา มีความยาว อยู่ที่ 4 หลัก ถ้าเราใช้วิธีนี้ เราจะต้องให้คอมพิวเตอร์ไล่รหัสผ่านตั้งแต่ 0000, 0001, 0002, 0003, … , 9999 คุณสามารถใช้เวลาในการถอดรหัสผ่านตัวเลข 4 หลักโดยใช้เวลาเพียงแค่ชั่วอึดใจเดียว ถ้าคุณใช้คอมพิวเตอร์ที่มีความเร็วในการถอดรหัสผ่าน 10,000 รหัสผ่านใน 1 วินาที เป็นต้น
ส่วนระยะเวลาที่ใช้ในการถอดรหัสผ่านจะใช้เวลาเท่าใดไหน ขึ้นอยู่หลายปัจจัย
1. รูปแบบอักขระที่ใช้ เช่น ตัวเลข, ตัวอักษรเล็ก, ตัวอักษรใหญ่ และ อักขระพิเศษ
2. จำนวนความยาวของรหัสผ่าน
3. ความสามารถ และความเร็วในการถอดรหัสผ่านของคอมพิวเตอร์ ใน 1 วินาที
4. ความซับซ้อนของรหัสผ่าน เช่น การผสมระหว่างอักขระ หรือ สลับตำแหน่งตัวอักขระ
5. ดวง (ข้อนี้สำคัญมาก ใครดวงดี เจอคนตั้งรหัสผ่านง่ายๆ ก็ไม่ต้องเสียเวลารอนาน ฮ่าๆๆ)
ใครอยากดูเวลาที่ใช้ในการถอดรหัสผ่านเพิ่มเติม ลองไปอ่านต่อที่เว็บไซต์ด้านล่างนี้นะครับ
ลิงค์ : http://www.lockdown.co.uk/?pg=combi
ภายในเว็บไซต์นั้นเท่าที่ผมลองดูแล้ว พบว่า เวลาที่ใช้ในการถอดรหัสที่นานที่สุด คือ 22,875 ปี (ซึ่งผมคงตายแล้วเกิดใหม่หลายรอบ) โดยรหัสผ่านที่ว่าก็คือ การผสมระหว่างตัวอักษรเล็ก ตัวอักษรใหญ่ ตัวเลข และอักขระพิเศษ
0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz <SP>!”#$%&’()*+,-./:;<=>?@[\]^_`{|}~
ด้วยความยาว 8 ตัว และใช้คอมพิวเตอร์ที่สามารถถอดรหัสผ่าน 10,000 รหัสผ่านใน 1 วินาที
สำหรับบทความนี้ผมก็ขอร่ายยาวหน่อยแล้วกัน เพราะช่วงหลังๆ ไม่ค่อยมีเวลามานั่งอัพเดทบทความใหม่ๆ เลย เนื่องจากต้องทำโปรเจคจบการศึกษาที่มหาวิทยาลัย ยังไงถ้าเสร็จธุระทั้งหมด หรือ มีโอกาสว่าง ผมจะแวะมาอัพเดตบทความใหม่ๆ
ขอบคุณทุกๆคนที่เฝ้าติดตามผลงานของผมครับนะครับ และขอขอบคุณ เพื่อน Ke-Otic Freedom ณ ที่นี้ด้วย
ถูกใจกดปุ่ม Share + Tweet + ถูกใจ จักเป็นพระคุณอย่างสูง ^_^
| Share |
|
Tweet
|
เรื่องที่เกี่ยวข้อง |



แค่กด like(ถูกใจ) ก็เท่ากับ "สนับสนุน" เว็บไซต์นี้ | 






อ่านแล้วโคตรมัน ถูกใจม๊ากก
ผมก็อยากทำเป็นเหมือนกัน ตอนนี้กำลังศึกษาหาข้อมูลหลายๆที่อยู่
โปรดใช้ความรู้ที่ได้ ไปในทางที่ดีนะครับ
ปล.สุขัสนต์วันเกิดย้อนหลังนะพี่ [20 ธันวา อิอิ]
ถูกต้องแล้วครับ การตั้งรหัสผ่านยากๆนั้น บางครั้งก็จะทำให้เราลืม
ทางที่ดี่ แนะนำให้ตั้งรหัสผ่านยาก เอาแบบที่เราจำง่ายๆอ่ะครับ (งงไหม ฮ่าๆๆ)
ป.ล.ขอบคุณสำหรับคำอวยพรนะครับ ^_^