slide11_HackforSecurity

Download Report

Transcript slide11_HackforSecurity

วิธีการ Hack
1.
2.
3.
SQL injection
Dictionary Attack
Brute Force
SQL injection
เป็ นการ Hack โดยใช้โค้ดภาษา SQL ซึ่งเป็ นภาษาที่ใช้ในการดึงข้อมูล
จากฐานข้อมูลมาใช้
SQL injection
เพียงพิมพ์ ' or '1'='1 ซึ่ งเป็ นการเปรี ยบเทียบเงื่อนในการดึงข้อมูลจาก
ฐานข้อมูล ลงในช่อง username ของเว็บเป้ าหมาย ถ้าหากมีการจัดการส่ วนหน้า
log in ไม่ดีพอก็จะสามารถlog in เข้าไปเป็ นสมาชิกของเว็บนั้นๆ ได้อย่างง่ายดาย
SQL injection
ตัวอย่างการ นา ' or '1'='1 มาใส่ ในภาษา SQL
• statement = "SELECT * FROM users WHERE name = '" + userName
+ "';"
• userName = ' or '1'='1
Dictionary Attack
เป็ นการสุ่ มเดา password จากไฟล์ที่มีการรวบรวมคาศัพท์ต่างๆ ไว้ใน
Dictionary และคาศัพท์ที่พบบ่อยๆ อีกมากมายซึ่ งเรี ยกว่า “Word list” ดังแสดงใน
รู ปประกอบ โดยโปรแกรมเหล่านี้มีความถี่ในการเดา password อย่างน้อย 1 ล้านคา
ต่อวินาที
Dictionary Attack
ดังนั้น หากตั้ง password แบบง่ายๆ ที่มีอยูใ่ น Word list นี้ ก็มีสิทธิ
ถูกเดา password ได้อย่างง่ายดายและรวดเร็ ว บางครั้ งอาจจะ
พบ password ภายในไม่ เกิน 5 วินาที
Brute Force
เป็ นการเดา password ทุกความเป็ นไปได้ของตัวอักษรในแต่ละ
หลัก
ตัวอย่าง ATM Pin code มีจานวน 4 หลัก แต่ละหลักสามารถตั้งค่าตัวเลข
0 – 9 ดังนั้น ในแต่ละหลักมีความเป็ นไปได้ 10 วิธี เพราะฉะนั้น 4 หลักจึงมีความ
เป็ นไปได้ท้ งั หมด 10,000 วิธี….โปรแกรมจะทาการไล่ตวั เลขจาก 0000 ไป
จนถึง 9999 ครบทั้งหมื่นวิธี ซึ่ งแสดงให้เห็นว่า ในที่สุดจะได้ password ที่ถกู ต้อง
Brute Force
Brute Force
แต่ในกรณี ที่เป็ นรหัสผ่านซึ่งอาจมีตวั อักษรต่างๆ ปะปนอยู่ วิธีน้ ีกจ็ ะไล่
ลาดับตัวอักษรจาก a ไปจนถึง z
ดังนั้น Brute force attack จึงเป็ นวิธีที่จะสามารถหา password ที่
ถูกต้องได้อย่างแน่นอน เพียงแต่ข้ ึนอยูก่ บั ระยะของเวลาของการสุ่ ม
หา จะมากหรื อน้อยขึ้นอยูก่ บั ความซับซ้อนของการตั้ง password
การตั้ง Password ที่ดีควรประกอบด้วย
ประกอบด้วยตัวอักษรภาษาอังกฤษตัวพิมพ์เล็ก เช่น a b c d …
ประกอบด้วยตัวอักษรภาษาอังกฤษตัวใหญ่ เช่น A B C D …
Numeric หรื อ ตัวเลข เช่น 1 2 3 4 …
Special Character หรื อ อักขระพิเศษ เช่น ! @ # $ % ^
& *()[]– _ +
• การตั้ง Password ควรผสม 3 ใน 4 แบบนี้เข้าด้วยกันและต้อง
ยาวอย่างน้อย 8 ตัว
•
•
•
•
เทคนิคการตั้ง Password คือ ตั้งให้ยากแต่จาง่าย
1. การตั้งแบบ Passphrase เนื้อเพลงโปรด, ประโยคเด็ด
ตัวอย่าง love me love my dogs 1986
ผลลัพธ์
LoveMeLoveMyDogs1986
เทคนิคการตั้ง Password คือ ตั้งให้ยากแต่จาง่าย
2. การแทนที่ตวั อักษร (Replacement)
ตัวอย่าง LoveMeLoveMyDogs1986
ผลลัพธ์ L0veMeL0veMyDog$1986
• หมายเหตุ ตัวอักษรสี แดงเป็ นตัวอักษรที่ถูกแทนที่ “โอ” ด้วย “ศูนย์ ”
และ “เอส ” ด้วย “$”
เทคนิคการตั้ง Password คือ ตั้งให้ยากแต่จาง่าย
• 3. การกด Shift ขณะพิมพ์
ตัวอย่าง LoveMeLoveMyDogs1986
ผลลัพธ์
LovEMeLovEMyDogS!(*^
• หมายเหตุ ตัวอักษรสี น้ าเงิน แสดงตัวอักษรภาษาอังกฤษตัวเล็กเป็ นตัว
ใหญ่และตัวเลขเป็ นอักขระพิเศษ
เทคนิคการตั้ง Password คือ ตั้งให้ยากแต่จาง่าย
4. การดูแป้ นไทยในขณะที่ keyboard เป็ นภาษาอังกฤษ
ตัวอย่าง
ผลลัพธ์
จะพิมพ์คาว่า “รักนะเด็กโง่จุ๊บส์ๆ”
iydotgfHdF’j06U[lNq