Information Security

เทคโนโลยีที่พัฒนาไปอย่างรวดเร็วทำให้เกิดช่องโหว่ในระบบ การโจมตีจากภายนอกจึงทำได้ง่าย และการพัฒนาทางด้าน hardware ก็ทำให้การ attack ทำได้รวดเร็วมากขึ้น และการที่ทุกคนเชือมต่ออยู่บนเครือข่ายเดียวกัน การใช้ Distributed Attack ก็ทำได้ง่ายและมีประสิทธิภาพมาก อีกทั้งการหยุดการโจมตียังทำได้ยากเนื่องจากไม่มี source ที่แน่นอน

ส่วนประกอบของความปลอดภัย

CIA – Confidentiality, Integrity, Availability (อ่านเพิ่มเติม)

การจะเกิด CIA กับระบบได้นั้นจะต้องประกอบไปด้วยการจัดการในเรื่องต่างๆต่อไปนี้ Physical Security( Hardware Software Communication) Personel Security (People) Organization Procedure

IEEE 802.11 Security

  • Access Control
  • Wired Equivalent Privacy (WEP)
  • Authentication

Access Control

ใช้ Mac Address ขนาด 48-bit ในการกำหนดว่าเครื่องไหนสามารถเชื่อมต่อกับ AP ได้ มีความปลอดภัยสูง แต่การจัดการค่อนข้างลำบากเนื่องจากต้องมีการป้อน mac address ของการ์ดไวร์เลส ลงใน Access point ก่อน และการส่งข้อมูลไม่มีการเข้ารหัส ทำให้สามารถดักจับ mac address มาใช้งานได้

WEP (Confidentiality)

ใช้ shared key (Symmetric)  ในการเข้ารหัส/ถอดรหัส กับ Plaintext ให้กลายเป็น Ciphertext ความแข็งแกร่งขึ้นอยู่กับรหัส Key

โดยมีขนาดของ Key ขั้นต่ำที่ 40-bit แต่ผู้ผลิตส่วนใหญ่ก็จะใช้ขนาด 104-bit โดยตามมาตราฐานนั้น Access Point สามารถเก็บ key ได้ 4 key โดยจริงๆแล้วจะมีขนาด 64, 128 bit เพราะจะต้องรวม IV ขนาด 24 bit เข้าไปด้วย

Cryptography objective

exportable : vendor สามารถเอาไปใช้ได้ง่าย

optional : ใช้หรือไม่ ก็ได้

reasonably strong : มีความปลอดภัยพอสมควร

self-synchronizing : แก้ข้อผิดพลาดในตัวมันเอง

passphrase แต่ละ vendor อาจจะimplement ไม่ตรงกันใช้งานร่วมกันไม่ได้

ขั้นตอนการทำงานของ WEP

1.เอา text มาหา CRC จะได้ Integrity Check Value (ICV) แล้วเอาข้อมูลนี้ต่อท้ายไปที่ text

2. เอา Initialize Vector (IV) กับ secret key มารวมกัน โดย IV จะเปลี่ยนทุกครั้งเมื่อมีการเข้ารหัส ทำให้มั่นใจได้ว่า เลขที่จะถูกสร้างขึ้นในขั้นต่อไปนั้น ไม่ซ้ำกัน ซึ่ง IV + Secret key = Seed

3. เอา seed มาผ่าน PRNG (Pseudo Random Noise Gen) จะได้เลขที่สุ่มมา ซึ่งเรียกว่า Keystream โดย keystream จะป็นเลข 1 และ 0 ที่มีขนาดเท่ากับ icv + text

4. เอา text+icv มา XOR กับ keystream เพื่อสร้าง cipher text

5. นำ IV ไปต่อไว้ข้างหน้า ciphertext  และพร้อมสำหรับการส่งออกไป โดย IV นี้มีความจำเป็นในการถอดรหัส ciphertext

6. เมื่อ encrypted message มาถึงผู้รับ ผู้รับจะทำการแยก IV ออก แล้วนำ IV มารวมกับ Secret Key เพื่อสร้าง keystream แล้วนำ keystream นี้ไปถอดรหัส

7. เมื่อได้ text กับ ICV แล้ว text จะถูกทำ CRC เพื่อตรวจวาส ICV ตรงกันหรือไม่

หลักการของ CRC

จะมีตัว encoder ข้อมูลที่เข้ามา แล้วไป append ต่อกับข้อมูลที่เข้ามา ส่งไปยังปลายทาง ฝั่งปลายทางจะทำการเปรียบเทียบด้วย append key ว่าตรงกับข้อมูลที่เข้ามาหรือไม่

หลักการ PRNG

ใช้ RC4 โดยมีลักษณะอัลกอรึทึมคล้ายของ LFSR

Authentication

  • Open system ส่ง association request frame ไปยัง AP โดยใช้แค่ SSID แล้ว AP ทำการเปรียบเทียบ SSID ว่าตรงกันหรือไม่ ถ้าตรงก็ OK.
  • Pre-shared Key ใช้ Key ที่ตั้งไว้ร่วมกันระหว่าง AP/Client โดย AP จะส่ง Challenge text ไปให้ client เข้ารหัสด้วย Key แล้วส่งกลับมาตรวจสอบ เช่น WEP, WPA-PSK ที่ใช้ TKIP, WPA2-PSK ที่ใช้ AES

Vulnerabilities

Brute Force Attack

Dictionary Attack

WEP Vulnerabilities เกิดจากที่ใช้ Key สั้นเกินไปทำให้สามารถ crack ได้ง่าย และตัว IV ยังสามารถซ้ำได้ โดยเมื่อมี packet ที่ใช้ iv ซ้ำกัน attacker สามารถนำเอาข้อมูลนี้ไปหา key ได้ โดยเอา Cipher text มา XOR กัน (ที่มี iv เหมือนกัน) จะได้ค่ามาค่าหนึ่ง ซึ่งจะต้องนำไป XOR กับ plaintext 1 จะได้ plaintext 2 โดย plaintext1 สามารถหาได้จาก packet ที่มีขนาดจำเพาะเช่น ARP หรือการ inject packet จากภายนอกเข้าไปให้ access point encrypt

Man-in-the-Middle

ทำการจำลองตัวเองเป็น client ของ A – B เสมือนกับว่าเป็นตัวมันเอง โดยส่วนใหญ่จะเป็นการทำเพื่อต้องการ access เข้าไปในเครื่องใดเครื่องหนึ่ง

DOS

เป็นการโจมตีที่ให้เครื่องเป้าหมายทำงานไม่ได้ โดยการส่ง request ไปเยอะๆ (Flood)