WEB HACKING Security Thailand :::::: ::127.0.0.1   :: TC.16:::::::: : : : xxx
|หน้าหลัก | บทความ | ทฤษฏี| เทคนิคแนวปฏิบัติ | เครื่องมือ| ภาพ | วิจารณ์ | เนื้อหา | หนังสือ | CD | Port  | ลิงค์| Serial  | กระทู่ | สนทนา : สมุดเยียม


password cracking(Unix)

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

ดังนั้นการ crack รหัสผ่าน จึงเป็นขั้นตอนที่เป็นไปโดยอัตโนมัติของการเดารหัสผ่านส่วนใหญ่เท่านั้น
การ crack รหัสผ่านโดยค้นหาคำใน dictionary ถูกใช้กับวิธีการเพิ่มเติมบางอย่าง
ซึ่งรวมถึงวิธีการปรับปรุงรหัสผ่านที่ได้รับการสนับสนุนมา หลายปี เช่น การเปลี่ยนตัวอักษร S,O และ I มาเป็นตัวเลข 5,0 และ 1 ถ้าจะ crack รหัสผ่านของเครื่องคอม พิวเตอร์ที่อยู่ในธุรกิจใดธุรกิจหนึ่ง ผู้ประสงค์ร้ายก็จะใช้ประโยชน์จาก dictionary ที่มีคำเกี่ยวข้องกับธุรกิจ นั้นเพื่อใช้ crack หารหัสผ่าน โปรแกรมสำหรับ crack รหัสผ่านเป็นส่วนมาตรฐานของชุดเครื่องมือของ hacker ทุกคน

ไฟล์รหัสผ่าน

ไฟล์รหัสผ่าน /etc/passwd

ประกอบด้วยเจ็ดส่วนที่แยกออกจากกันด้วยเครื่องหมาย colon (:) แต่ละส่วน คือ user name, รหัสผ่านที่ถูกเข้ารหัสไว้, user ID ที่เป็นตัวเลข, group ID ที่เป็นตัวเลข, GECOS, home directory และโปรแกรมที่จะรันเมื่อ log in เข้ามา
(startup program)user name มีความยาว 8 ตัวอักขระหรือน้อยกว่า ตัวอักขระตัวแรกต้องเป็นอักษรตัวเล็กและ
ไม่สามารถมี ตัวอักขระ # หรือ @ ตัวอักขระพิเศษสองตัวนี้ใช้สำหรับลบตัวอักขระตัวเดียวและลบตัวอักขระทั้งบรรทัด
วิธีนี้เป็นวิธีเดียวสำหรับแก้ไขตัวอักขระที่ login prompt ส่วนที่สองเป็นรหัสผ่านที่ถูกเข้ารหัสไว้ จริง ๆ แล้วมันไม่ใช่ส่วนที่ได้รับการเข้ารหัสของรหัสผ่าน แต่เป็นการ เข้ารหัสของค่า 0 โดยใช้รหัสผ่านและ "salt" เป็น key ส่วนนี้มี 13 ตัวอักษร สองตัวอักษรแรกเป็น "salt" ประกอบด้วยตัวอักษรสองตัวซึ่งเพิ่มเข้าไปในรหัสผ่าน เพื่อสร้าง key ขึ้นมา ทำให้สามารถสร้างรูปแบบการ เข้ารหัสได้ถึง 4,096 รูปแบบสำหรับรหัสผ่านเดียว ส่วนนี้อาจจะต่อท้ายด้วย comma (,)
และตัวอักขระสอง ตัวซึ่งเกี่ยวกับ password aging ตัวอักขระ

ตัวแรก
บอกถึงจำนวนสัปดาห์ที่มากที่สุดที่รหัสผ่านใช้ได้ อักขระ
ตัวที่สองบอกถึงจำนวนสัปดาห์ที่น้อยที่สุดก่อนที่รหัสผ่านสามารถเปลี่ยนได้ชุดของตัวอักขระที่ใช้ในรหัสผ่าน ที่ถูกเข้ารหัสไว้ประกอบด้วย
อักขระ 64 ตัว ที่แสดงถึงค่าจาก 0 ถึง 63 เรียงตามลำดับคือ เครื่องหมายจุด, เครื่องหมาย slash (/), 0 ถึง 9, อักษรตัวใหญ่และอักษรตัวเล็ก
ส่วนที่สาม
เป็น user ID (UID) เป็นเลขจำนวนเต็ม 16 บิตใช้สำหรับบอกความเป็นเจ้าของและการยอมให้เข้า ถึงทรัพยากรของระบบ UID
0 หมายถึงมีสิทธิ์ของผู้บริหารระบบ (superuser) UID -1 และ -2 ถูกใช้โดย NFS, UID -1 ใช้สำหรับผู้ใช้ที่ไม่ได้รับการพิสูจน์ตัว (unauthenticated user) จะได้รับการอ้างถึงเป็น nobody, UID -2 ใช้สำหรับผู้บริหารระบบของอีกระบบหนึ่งซึ่งกำลังเข้าถึง file system ที่เขาไม่มีสิทธิ์ของผู้บริหารระบบ
ส่วนที่สี่
เป็น group ID (GID) เป็นเลขจำนวนเต็ม 16 บิต
ใช้สำหรับแบ่งกลุ่มผู้ใช้เข้าด้วยกัน เพื่อให้พวกเขา สามารถใช้ไฟล์ร่วมกันได้ใน group เดียวกัน โดยไม่ต้องอนุญาตให้ทุกคนเข้าถึงได้
ส่วนที่ห้าเป็นส่วนของ GECOS เป็นส่วนที่ใส่คำอธิบายหรือบรรยายถึงผู้ใช้คนนั้น ๆ โดยทั่วไปมักจะมี
comma (,) แยกส่วนต่าง ๆ ของชื่อผู้ใช้, สถานที่, หมายเลขโทรศัพท์ที่ทำงานและหมายเลขโทรศัพท์ที่บ้าน ส่วนนี้จะถูก
ใช้โดยคำสั่ง finger และคำสั่งอื่น ๆ ที่บอกชื่อจริงของผู้ใช้ได้ข้อมูลที่เกี่ยวข้องกับ GECOS นี้ไม่ควรรวมอยู่ในไฟล์รหัสผ่าน
จริงอยู่ที่การไม่ใส่ข้อมูลนี้ลงไป ทำให้ไม่มีความสะดวก คุณอาจต้องเปลี่ยน login ของผู้ใช้ให้เป็นชื่อจริงของผู้ใช้
แต่ข้อมูลส่วนนี้ช่วย hacker ให้สามารถ crack รหัสผ่านได้อย่างมาก เพราะมันให้ข้อมูลเกี่ยวกับผู้ใช้ ซึ่งนำไปสู่การเดารหัสผ่าน
เครื่องมือที่ใช้ในการ บริหารระบบบางอย่างจะถามถึงชื่อของผู้ใช้ เบอร์โทรศัพท์ และข้อมูลขององค์กร แล้วจึงใส่ไปในส่วนของ GECOS นี้
ส่วนที่หกคือ home directory ของผู้ใช้ โดยปกติจะมีความยาวไม่เกิน 64 ตัวอักษร


-------------------------------------------------------------------------------------------------------------------------
LoginEncrypted HomeStartup
IDPasswordUIDGIDGECOSDirectoryShell

-------------------------------------------------------------------------------------------------------------------------
johns:akd8aAfv8s1sM:1204:143:John Smith, 555-2345:/users/johns:/bin/ksh
 

ส่วนที่เจ็ดเป็นส่วนของ startup program ของผู้ใช้ มีความยาวไม่เกิน 44 ตัวอักษร
ดังตัวอย่างเป็นส่วน ของผู้ใช้ John Smith ใช้ login "johns",
home directory คือ /users/johns, startup program คือ /bin/ksh, UID=1024, GID=143

ผู้ใช้ที่ไม่มีรหัสผ่านสามารถสังเกตได้ง่ายเนื่องจากในส่วนของรหัสผ่านจะเว้นว่างไว้
สคริปท์ต่อไปนี้จะแสดง ทุก ๆ account ที่ไม่มีรหัสผ่าน
awk -F: `length ($2) <1 { print $1 }` \ < /etc/passwd
ไม่ควรอนุญาตให้มี account ที่ไม่มีรหัสผ่าน


เพื่อดูสรุปเฉพาะตอน


SHADOW PASSWORD

shadow password
นำเอาส่วนของรหัสผ่านที่ถูกเข้ารหัสออกจากไฟล์รหัสผ่านที่ทุกคนสามารถเข้าถึงได้
ไปไว้ในไฟล์ที่สามารถเข้าถึงได้โดยผู้บริหารระบบ(root)เท่านั้น
ที่อยู่ของ shadow password นั้นจะแตกต่าง กันไปขึ้นอยู่กับการนำไปใช้
วิธีนี้จะขัดขวางการ crack รหัสผ่านเพราะผู้ใช้ทั่วไปไม่สามารถเข้าถึงรหัสผ่านที่ ถูกเข้ารหัสไว้ได้
ความเป็นมาของการเข้ารหัสรหัสผ่าน แต่แรกนั้นการเข้ารหัสรหัสผ่านมารากฐานมาจาก M-209 rotor cipher
ที่เคยใช้ในสมัยสงครามโลกครั้งที่สอง อย่างไรก็ตามในปลายทศวรรตที่ 1970
คอมพิวเตอร์มีความเร็วเพียงพอสำหรับการ execute อัลกอริทึมนี้ และมีช่องโหว่สำหรับการเดารหัสผ่าน

ในปีคศ.1979 Robert Moris, Sr และ Ken Thomson
เขียนรายงานที่ได้รับการตีพิมพ์ใน Communication of ACM
ซึ่งอธิบายถึงฟังก์ชันทางเดียว (one-way function)ชนิดใหม่เพื่อเข้ารหัสผ่านในระบบยูนิกซ์
มีรากฐานมาจาก National Bureau of Standard Data Encryption Standard (DES) algorithm
ระบบยูนิกซ์ยังคงใช้ DES algorithm หลากหลายชนิดมาจนถึงปัจจุบัน
รหัสผ่านของผู้ใช้ถูกใช้เป็น DES key เพื่อเข้ารหัสค่าคงที่ค่าหนึ่ง
อัลกอริทึมนี้ทำงานช้าพอที่จะป้องกันการเดารหัสผ่าน

ตั้งแต่คศ. 1979 คอมพิวเตอร์ได้เพิ่มความเร็วในการประมวลผลขึ้นอย่างมาก
ในปัจจุบันระบบ CPU เดียว เร็วขึ้นกว่าเดิม 150 เท่า
ทำให้สามารถคำนวนอัลกอริทึมที่ทำงานช้าได้อย่างรวดเร็ว นอกจากนี้ DES
encryption algorithm ได้รับการปรับปรุงในเรื่องความเร็ว
ให้เร็วกว่าเดิมถึง 100 เท่า ในขณะที่เครื่อง VAX 11/780 สามารถ execute
ได้ประมาณ 1.5 การเข้ารหัสต่อวินาที ระบบคอมพิวเตอร์ที่มี CPU
หลายตัวนั้นได้รับรายงาน ว่าสามารถทำงานได้มากกว่า 6 ล้านการเข้ารหัสต่อวินาที

รายละเอียดปลีกย่อย
ส่วนนำเข้า(input) ของ password encryption algorithm
คือรหัสผ่านของผู้ใช้ซึ่งจำกัดแค่ชุดอักขระแอสกี 7 บิต
โดยทั่วไปจะเป็นอักขระที่สามารถพิมพ์ได้ที่อยู่บนคีย์บอร์ด
อักขระเหล่านี้มีอยู่ 128 ตัว ความยาว ที่มากที่สุดของรหัสผ่านคือ 8
ตัวอักษร ดังนั้นจะมีรหัสผ่านที่เป็นไปได้มากกว่า 72,000,000,000,000,000
รหัส นอกจากนี้ยังเพิ่ม salt เข้าไปในแต่ละรหัสผ่าน ซึ่ง salt นี้จะมีค่าที่แตกต่างกันถึง 4,096 ค่า เพิ่มความ
ซับซ้อนเข้าไปในอัลกอริทึมของการเข้ารหัสยิ่งไปขึ้นอีก รหัสผ่านและ
saltจะถูกใช้เป็น key ในอัลกอริทึมการ เข้ารหัส(encryption algorithm)
key นี้จะถูกใช้เพื่อเข้ารหัสตัวเลขที่มีค่าเท่ากับ 0 ส่วนนำออก (output)
จากอัลกอริทึมนี้เป็นแถวของตัวอักขระ 13 ตัว อักขระสองตัวแรกคือ salt
ตัวอักขระในแถวนี้ประกอบด้วย ตัวอักขระจากชุดตัวอักขระ 64 ตัว
ประกอบด้วยตัวอักษรตัวใหญ่และตัวอักษรตัวเล็ก, ตัวเลข,เครื่องหมายจุด (.)
และเครื่องหมาย slash (/) อัลกอริทึมนี้ไม่สามารถย้อนกลับกระบวนการ(reverse engineered)ได้
ดังนั้นที่ crack ได้จึงมาจากการเดาอย่างแท้จริง เป็นกระบวนการอัตโนมัติของการเดารหัสผ่านเกือบทั้งหมด
ซึ่งสำเร็จได้ถึงแม้ว่าจะมีรหัสผ่านที่เป็นไปได้มากกว่า 300 quadrillion รหัส ผู้ใช้มักจะไม่ได้รับการให้ความรู้
เกี่ยวกับการเลือกใช้รหัสผ่านอย่างชาญฉลาด และเลือกรหัสผ่านที่มีเปอร์เซ็นต์ของการเป็นรหัสผ่านที่
สามารถเดาได้น้อยที่สุดเท่านั้น


การเลือกใช้รหัสผ่าน
การเลือกใช้รหัสผ่านเป็นสิ่งที่จำเป็นอย่างยิ่งสำหรับการรักษาความปลอดภัยของระบบ
รหัสผ่านที่ดีคือรหัสผ่าน ที่ไม่สามารถ crack โดยใช้วิธีการ password
cracking และสามารถจำง่ายการจัดการเกี่ยวกับรหัสผ่านเริ่มที่ประเด็นของผู้ใช้
การให้ความรู้กับผู้ใช้เป็นสิ่งที่จำเป็นอย่างยิ่งในการรักษา
ความปลอดภัยของรหัสผ่าน ความรู้นี้ควรประกอบด้วย วิธีการเซ็ตรหัสผ่าน
วิธีการเลือกรหัสผ่านที่ดี และ ความสำคัญของรหัสผ่าน
ผู้ใช้ต้องเข้าใจว่ารหัสผ่านที่ไม่ดีทำให้งานของพวกเขาตกอยู่ในความเสี่ยง
เช่นเดียว กับงานของทุก ๆ คนที่ใช้ระบบผู้จัดการระบบควรระวังเกี่ยวกับรหัสผ่านในระบบ การ crack
รหัสผ่านเป็นวิธีที่มีประสิทธิภาพมากที่สุดในการ ได้สิทธิ์ในระบบนั้น
คุณสามารถใช้โปรแกรม password cracker กับระบบของคุณได้
แต่มันจะใช้ทรัพยากร ในการประมวลผลมาก จำเป็นต้องมีซอฟท์แวร์สำหรับการ
crack รหัสผ่าน และ dictionary ทีได้รับการปรับ ปรุงให้เหมาะสมที่อยู่ในระบบที่อาจถูกใช้โดยผู้ประสงค์ร้าย
ดังนั้นจึงควรเข้ารหัสไฟล์ dictionary เหล่านี้และ เก็บไว้ในเทปแม่เหล็ก
ดังนั้นคุณไม่จำเป็นต้องรัน password cracking software
เพียงแต่หารหัสผ่านที่ เข้ารหัสที่ตรงกับ word
ที่เข้ารหัสไว้ในเทปแม่เหล็ก วิธีนี้ใช้เวลาในการประมวลผลน้อยกว่า
แต่ใช้เวลาในการ ประมวลผลของเทปแม่เหล็กมากกว่า
คุณอาจเลือกใช้วิธีการที่ดีกว่าโดยการลงซอฟท์แวร์ที่สามารถตรวจสอบคุณภาพของรหัสผ่าน
เมื่อรหัสผ่านถูกป้อนเข้าไป วิธีนี้ไม่จำเป็นต้องใช้ทรัพยากรเพื่อการประมวลผล
เพราะรหัสผ่านถูกตรวจในลักษณะของตัวอักษร (plain text) ได้อย่างรวดเร็ว
มีเครื่องมือมากมากที่จะให้เลือก รวมทั้ง Password+ และ npasswd
เครื่องมือที่คุณเลือกควรที่จะยืดหยุ่นพอให้คุณสามารถปรับปรุง
environment ของระบบได้ด้วย dictionary พิเศษที่รวมเข้าไว้ด้วยกัน
มีคำและวลีที่เจาะจงสำหรับธุรกิจหรือบริษัทของคุณหรือลูกจ้างของคุณ
ข้อมูลเหล่า นี้ไม่ควรเก็บไว้ในระบบ เพราะอาจจะตกไปอยู่ในมือของ hacker ได้


เพื่อดูสรุปเฉพาะตอน


password cracking

password cracker จะใช้ข้อมูลทุกอย่างเกี่ยวกับผู้ใช้ที่หาได้
ชื่อของผู้ใช้, ตัวอักษรขึ้นต้น, account name และข้อมูลส่วนตัวอื่น ๆ
ที่รู้ ข้อมูลเหล่านี้นำมาจากส่วนของ GECOS และจากไฟล์ใน home directory
ของ ผู้ใช้ ข้อมูลเหล่านี้จะถูกดำเนินการผ่านวิธีการจัดเรียงตามรายการข้างล่างนี้
password cracker จะพยายามค้นหาคำใน dictionary ซึ่ง dictionary
จะขึ้นอยู่กับประสบการณ์ของ hacker และความรู้เกี่ยวกับระบบที่จะโจมตี
dictionary จะประกอบด้วยชื่อแรก(first name)ทั่ว ๆ ไป
ตัวอักษร,ชื่อเรื่อง,สถานที่ จากนวนิยาย
โทรทัศน์และภาพยนตร์,การ์ตูนและเกมส์คอมพิวเตอร์, คำที่เกี่ยวกับกีฬา
คำที่เกี่ยวกับอุตสาหกรรมที่คอมพิวเตอร์นั้นใช้อยู่
คำทั้งหมดที่กล่าวมาข้างต้นจะถูกนำมาจัดเรียงด้วยลักษณะดังต่อไปนี้

- ตัวอักษรตัวใหญ่และตัวอักษรตัวเล็กหลายแบบ
- สลับที่การสะกดคำ
- เปลี่ยนตัวเลข 0,1,2 และ 5 สำหรับตัวอักษร o,i,z และz ในคำนั้น
- เพิ่มตัวเลขหนึ่งตัวเข้าไปในคำนั้น
- จับคู่คำสองคำเข้าด้วยกัน คั่นระหว่างคำสองคำด้วยอักขระพิเศษ
เนื่องจากรหัสผ่านเป็นวิธีการป้องกันหลักจากบุคคลภายนอก มีการศึกษาจำนวนมากที่เกี่ยวกับเรื่องดังกล่าว
จากการศึกษาแสดงให้เห็นว่าระหว่าง 25-30 เปอร์เซ็นต์ของรหัสผ่านจะถูก crack โดยวิธีนี้

จากการศึกษาที่ทำเสร็จในปีคศ.1989 โดย Dan Klein ที่มหาวิทยาลัย
Carnegie-Mellon ใช้วิธีการเหล่านี้ เพื่อพยายาม crack รหัสผ่านจริงจำนวน
13,797 account จากหลายแหล่งด้วยกัน dictionary ทั้งหมด ประกอบด้วยคำ
62,727 คำ ด้วยวิธีการนี้สามารถเดารหัสผ่านได้ 3,340 รหัส
จากตารางนี้ประกอบด้วยข้อมูล
ที่ถูกเปิดเผยจากการศึกษาเกี่ยวกับแหล่งของรหัสผ่านที่ถูกเลือกโดยผู้ใช้
แหล่งที่มาของรหัสผ่านจำนวนที่ค้นจำนวนที่ crack ได้เปอร์เซ็ตที่ crack ได้อัตราประสิทธิภาพ
user/account name1303682.70%2.830
การจัดเรียงอักขระ866220.20%0.025
ตัวเลข42790.10%0.021
คำที่เกี่ยวกับจีน392560.40%0.143
ชื่อสถานที่628820.60%0.131
ชื่อทั่ว ๆ ไป22395484.00%0.245
ชื่อผู้หญิง42801611.20%0.038
ชื่อผู้ชาย28661401.00%0.049
ชื่อแปลก ๆ49551300.90%0.026
ตำนานและนิทานปรัมปรา1246660.50%0.053
คำที่เกี่ยวกับเชคสเปียร์473110.10%0.023
คำที่เกี่ยวกับกีฬา238320.20%0.134
นิยายวิทยาศาสตร์691590.40%0.085
ภาพยนต์และนักแสดง99120.10%0.121
การ์ตูน9290.10%0.098
บุคคลที่มีชื่อเสียง290550.40%0.190
กลุ่มคำ9332531.80%0.271
ชื่อเล่น3390.10%0.273
ชีววิทยา5810.00%0.017
unix dictionary1968310277.40%0.052
ชื่อของเครื่องคอมพิวเตอร์90181321.00%0.015
ระบบช่วยความจำ1420.00%0.143
King James Bible7525830.60%0.011
คำเบ็ดเตล็ด3212540.40%0.017
ภาษายิว5600.00%0.000
ดาวเคราะห์น้อย2407190.10%0.007
รวมทั้งหมด62851334024.30%0.053


ความยาวของรหัสผ่าน
ถึงแม้ว่าระบบยูนิกซ์บังคับให้รหัสผ่านต้องมีความยาว 6 อักขระหรือมากกว่า
แต่การศึกษานี้พบว่า 17.5 เปอร์เซ็นต์ของรหัสผ่านที่เดาถูกมีความยาวน้อยกว่า 6 ตัวอักษร
อาจเป็นเพราะหลายเหตุผลด้วยกัน ผู้บริหารระบบสามารถเซ็ตรหัสผ่านให้มีความยาวแค่ไหนก็ได้
ดังนั้นอาจมีผู้ใช้ที่มีสิทธิ์ของผู้บริหารระบบและ มีความเกียจคร้าน
หรืออาจเป็นเพราะรหัสผ่านแรกที่ถูกเซ็ตไว้ในระบบที่ผู้บริหารระบบไม่เคยได้เปลี่ยน หรือ
ระบบนั้นยอมให้ผู้ใช้เลือกรหัสผ่านได้โดยไม่ต้องเลือกตามความต้องการของระบบถ้าผู้ใช้ยังยืนกรานที่จะใช้รหัสผ่านนั้น
อย่างเช่นระบบ Sun/OS ยอมให้ผู้ใช้เลือกรหัสผ่านอะไรก็ได้ถ้ารหัสผ่านถูกป้อนเข้าไปสามครั้ง
โดยใช้คำสั่ง passwd จากตารางนี้แสดงให้เห็นถึงการกระจายของความยาวรหัสผ่านที่เดาถูกจากการศึกษา
จำนวนของตัวอักขระจำนวนของรหัสผ่านเปอร์เซ็นต์ของรหัสผ่าน

140.=10%
250.=20%
3662.=00%
41885.=70%
53179.=50%
6116034.=70%
781324.=40%
878023.=40%


การ crack รหัสผ่าน, ผู้ใช้ต้องเลือกรหัสผ่านที่ดี และการขยายตัวอย่างรวดเร็วของการดักข้อมูลที่ผ่านไป
มาระหว่างเน็ตเวิร์ค(network snooping)
สามารถเป็นภัยต่อระบบได้ถึงแม้จะใช้รหัสผ่านที่ดีก็ตาม ทำให้
รหัสผ่านที่นำมาใช้ใหม่ได้มีคุณค่าที่จำกัดต่อระบบภายในเองและความปลอดภัยของข้อมูลที่ผ่านเน็ตเวิร์คที่
เชื่อถือไม่ได้ทำให้การใช้รหัสผ่านที่นำมาใช้ใหม่ได้เสื่อมความนิยมลง มีความพยายามที่จะผลักดันการใช้
onetime password อนาคตของรหัสผ่านมีเพียงสามอย่างเท่านั้นที่สามารถใช้เพื่อพิสูจน์ตัวผู้ใช้ คือ
สิ่งที่คุณรู้, สิ่งที่คุณมี หรือสิ่งที่คุณเป็น การรวมเอา
สองอย่างหรือมากกว่าทำให้มีการพิสูจน์ตัวผู้ใช้ที่แข็งแกร่ง
รหัสผ่านเป็นสิ่งที่คุณรู้, key เป็นสิ่งที่คุณมี access card ที่ต้องอาศัย PIN number
ได้รวมเอาสิ่งที่คุณมีและสิ่งที่คุณรู้เข้าด้วยกัน ระบบที่เชื่อถือได้
และถูกต้องแม่นยำเพื่อตรวจสิ่งที่คุณเป็น เช่น เครื่องสแกนลายนิ้วมือหรือลายมือ เครื่องตรวจเสียง หรือเครื่อง
ตรวจม่านตา เครื่องมือเหล่านี้มีราคาแพงมากแต่จำเป็นต้องใช้ถ้าต้องการพิสูจน์ตัวผู้ใช้
ความเสี่ยงทางด้านความปลอดภัยที่สำคัญสำหรับรหัสผ่านในปัจจุบัน คือ
การเดารหัสผ่านและการดักรหัสผ่าน ที่ผ่านไปมาระหว่างเน็ตเวิร์ค
ความเสี่ยงสองอย่างนี้ทำให้ระบบรหัสผ่านของยูนิกซ์ในปัจจุบันที่เป็นที่เคลือบแคลง
เห็นได้ชัดว่ามันจะไร้ประสิทธิภาพในไม่ช้า

วิธีการใช้รหัสผ่านต่อไปนี้จะกล่าวถึงประเด็นที่เป็นความเสี่ยงเหล่านี้ด้วย
computer-generated password เนื่องจากปัญหาหลักของรหัสผ่านคือ ผู้ใช้เลือกรหัสผ่านที่ง่ายต่อการเดา
วิธีแก้ไขปัญหาวิธีหนึ่งเพื่อปรับปรุง ความปลอดภัยของรหัสผ่านคือ
การใช้รหัสผ่านที่ถูกสร้างด้วยคอมพิวเตอร์
รหัสผ่านที่ถูกสร้างด้วยคอมพิวเตอร์ ทำให้การเดารหัสผ่านไร้ประโยชน์
เนื่องจากรหัสผ่านที่ถูกเลือกโดยคอมพิวเตอร์จะหาไม่เจอใน dictionary ใด ๆ
ก็ตาม แต่ทำให้รหัสผ่านนั้นยากที่ผู้ใช้จะจดจำด้วย
ผู้ใช้จึงมักเขียนบันทึกรหัสผ่านไว้ ซึ่งมีความเสี่ยงได้เช่นกัน
การเขียนบันทึกรหัสผ่านลงใน time management system หรือ pocket computer
อาจจะไม่มีความเสี่ยง เรื่องความปลอดภัยเท่าไหร่ เนื่องจากคุณจะรู้ได้ว่า
time manage ment system หรือ pocket computer ของคุณหายหรือถูกโขมยหรือไม่
และสามารถบอกให้ผู้จัดการระบบเปลี่ยนรหัสผ่านของคุณ อย่างไรก็ตาม
ผู้ใช้ส่วนมากจะเขียนบันทึกรหัสผ่านไว้ในเศษกระดาษและเก็บมันไว้ใกล้หน้าจอ (ในลิ้นชักใกล้คีย์บอร์ด,ติดอยู่
ข้าง ๆ หน้าจอ) ด้วยเหตุนี้จึงเห็นพ้องกันโดยทั่วไปว่าการบันทึกรหัสผ่านเป็นความคิดที่ไม่ดี

pass phrase

เนื่องจากจำนวนรหัสผ่านที่เป็นไปได้เติบโตอย่างรวดเร็วตามความยาวของรหัสผ่าน
บางไซต์จะแทนที่ระบบ รหัสผ่านในยูนิกซ์แบบมาตรฐานด้วยระบบที่ใช้ pass phrase
ระบบ pass phrase อนุญาตให้ผู้ใช้พิมพ์ รหัสผ่านที่ยาวซึ่งแต่ละตัวอักขระต้องตรงกันกับของระบบจึงจะเข้าระบบได้
ผู้ใช้สามารถใช้วลีหรือกลุ่มคำ ที่สามารถจำได้ ซึ่งทำให้โอกาสสำเร็จในการเดารหัสผ่านน้อยลง
challenge response system
บางไซต์ให้ความใส่ใจกับประเด็นที่เป็นความเสี่ยงทางด้านความปลอดภัยโดยการให้ผู้ใช้ตอบชุดคำถาม
เมื่อผู้ใช้ log in เข้ามา จะมีคำถามหนึ่งที่ถูกแสดงออกมาเพื่อถามผู้ใช้
เขาต้องให้คำตอบที่ถูกต้องเพื่อให้สามารถ เข้าสู่ระบบได้
ในกรณีที่รหัสผ่านถูกดักข้อหรือด้วยวิธีอื่นก็ตาม มันจะเผยจุดอ่อนเพียงเล็กน้อยเท่านั้น เนื่องจาก hacker
อาจได้คำตอบที่ไม่ตรงกับคำถาม(challenge)ที่ระบบจะถาม
โดยทั่วไปแล้วระบบเหล่านี้ จะถามคำถามเดิมไปเรื่อย ๆ จนกระทั่งได้รับคำตอบที่ถูกต้อง ป้องกัน
hacker จากความพยายามที่จะรอจน กระทั่งคำถามที่เขามีคำตอบที่ถูกต้องแสดงออกมา
onetime password
onetime password กำจัดความเสี่ยงทางด้านความปลอดภัยของการดักจับข้อมูล
(snooping)และการ crack รหัสผ่าน โดยการไม่ใช้รหัสผ่านมากกว่าหนึ่งครั้ง
ดังนั้นการได้รหัสผ่านของใครมา ไม่ได้ช่วยให้ hacker
คนนั้นเข้าสู่ระบบได้เลยทุกวันนี้ onetime password
นำไปใช้โดยการใช้หนังสือที่ได้คำนวนรหัสผ่านไว้ล่วงหน้าแล้ว ผู้ใช้สามารถ
พกพาติดตัวไปได้ ระบบจะถามผู้ใช้ถึงรายการที่เจาะจงจากในหนังสือ
หรืออาจใช้ smartcard คำนวนรหัสผ่านต่อไป ถ้ามีกลุ่มผู้ใช้ smartcard
จำนวนมากนับพันคนอาจทำให้เกิดปัญหาเรื่องค่าใช้จ่ายได้
 

Halting the Hacker : a
practical guide to computer security
เขียนโดย Donald L. Pipkin ISBN 0-13-243718-X

 

URL:http://se-ed.net/hacking Email: hacking@se-ed.net IE.5.x  800x600 16bit
หน้าหลัก | บทความ | ทฤษฏี| เทคนิค | แนวปฏิบัติ | เครื่องมือ| วิจารณ์ | เนื้อหา | อ้างอิง| Port | กระทู่ | สนทนา | ลิงค์ | รายการCD