Hacking Web Application (ตอนที่ 2) "ช่องโหว่ใน SSL Protocol และ ความเข้าผิดในการใช้งาน SSL กับ Web Application" by A.Pinya Hom-anek, CISSP,CISA ACIS Professional Team E-mail: |
ยกตัวอย่าง Internet Banking ในประเทศไทยนั้น ทุกธนาคารใช้ SSL ในการป้องกันข้อมูล Username และ Password ของลูกค้าธนาคาร เวลาลูกค้าต้องการทำ Transaction ผ่านทาง Internet เช่นขอดูยอดคงเหลือ, ขอดู statement หรือ โอนเงินไปยังบุคคลอื่นที่ผูกบัญชีอยู่กับตนเอง เป็นต้น
ปัญหาก็คือ ตัว SSL Module ที่ถูกนำมาใช้ทำงานร่วมกับ Web Server เช่น Apache Web Server นั้นมีช่องโหว่ (Vulnerability) ที่ Hacker สามารถยิงโปรแกรมจำพวก Exploit เข้ามาโจมตีได้โดย Hacker จะสามารถเข้ายึด (Compromised) เครื่องที่ขาดการดูแล ไม่ได้มีการ update หรือ patch ตัว SSL Module ให้เรียบร้อย โดย Hacker สามารถได้สิทธิเป็น "root" ของระบบ UNIX ที่เราใช้งานอยู่ไม่ว่าจะเป็น SUN Solaris, AIX, HP-UX หรือ LINUX จากนั้น Hacker สามารถเข้ามาฝัง Trojan Module ไว้เพื่อครั้งหน้าจะได้สามารถเข้าถึง Web Server เราได้อีกไม่ว่าเราจะเปลี่ยน Username และ Password ไปสักกี่ครั้งก็ตาม เพราะ Trojan Module เช่นพวก Rootkit ไม่จำเป็นต้องใช้ Username และ password ปกติที่เก็บอยู่ใน file /etc/shadow แต่มันจะใช้ username และ password ที่อยู่ในตัว Trojan Module เอง
ทางแก้ปัญหาก็คือ ต้องหมั่นตรวจสอบว่า SSL Modules ที่เราใช้อยู่ไม่ว่าจะเป็นOpenSSL หรือ mod_SSL มีช่องโหว่ที่เรายังไม่ได้ Patch หรือไม่ ถ้ามีก็ควรรีบ Patch เสียตั้งแต่เนิ่นๆ ก่อน Hacker จะเข้าสู่ระบบเราแล้วฝัง Trojan Module เราจะแก้ไขและตรวจสอบได้ลำบากมาก
การเจาะระบบที่ใช้ SSL นั้นไม่ได้มีเพียงวิธีที่กล่าวมาแล้วแค่นั้น แต่ Hacker สามารถดักจับ Session ที่เข้ารหัสด้วย SSL โดยการใช้โปรแกรมประเภท Packet Sniffer ที่ถูกออกแบบมาพิเศษ ซึ่งโปรแกรมประเภทนี้สามารถดักจับข้อมูลในสภาวะแวดล้อมที่ใช้ Switching ได้ด้วย ปกติแล้ว Sniffer จะทำงานกับสภาวะแวดล้อมที่ใช้ HUBเท่านั้น แต่โปรแกรม Hack รุ่นใหม่ๆ สามารถ Sniff หรือดักดูข้อมูลในสภาวะแวดล้อมที่ใช้ Switching ได้อย่างสบายๆ โดยใช้เทคนิคเช่น ARP Spoofing หรือเทคนิคใหม่ล่าสุด "Port Stealing" นอกจากนี้ session ที่ใช้ SSL หรือ SSH (Secure Shell) ที่มีการเข้ารหัสข้อมูลด้วย KEY อันซับซ้อน โปรแกรม Hack เหล่านี้ก็สามารถดักจับข้อมูลระหว่างทาง ในลักษณะที่เรียกว่า MIM Attack (Man-in-the-Middle Attack) และมีการดักจับ KEY ที่ทั้ง 2 ฝ่าย (Web Browser และ Web Server) กำลังแลกเปลี่ยนกันเพื่อต่อเชื่อม session SSL หรือ SSH เมื่อ Hacker ดักจับ KEY ได้ Hacker ก็จะใช้ KEY ในการถอดรหัสข้อมูลที่ถูกเข้ารหัส (Cipher Text) ออกมาเป็น Plain Text ซึ่งสามารถดูข้อมูลได้อย่างง่ายดาย
บางคนอาจคิดว่าอย่างนี้ Internet Banking ก็ไม่ปลอดภัยแล้วสิ? อย่าเพิ่งเครียดนะครับ เพราะ Hacker ไม่สามารถดักจับข้อมูลเราได้ง่ายๆ Hacker ต้องดักอยู่ระหว่างทางที่ข้อมูลส่งกันไปมาระหว่าง Web Browser และ Web Server ดังนั้น ถ้า Hacker ไม่อยู่ในตำแหน่งที่เหมาะสมก็ไม่สามารถทำได้ง่ายๆ จุดที่เราควรระวังก็คือบริเวณ DMZ (Demilitarized Zone) ของเราเอง อาจมีเครื่องอื่นที่ถูก Hacker ยึดไปเรียบร้อยแล้ว และกำลัง Run โปรแกรมประเภท SSL/SSH Password Sniffer อยู่ หรือ บริเวณจุดเชื่อมต่อที่ ISP ก็เป็นไปได้ และท้ายสุดคือ วง LAN ที่เรากำลังใช้งาน Web Browser อยู่ ก็อาจมีมือดีมาดักจับ Username และ Password ตลอดจน เลขที่บัญชีและเลขที่บัตรเครดิตต่างๆ ของเราได้โดยใช้เทคนิค MIM Attack
ทางแก้ปัญหาคือ ในวง DMZ ที่เราวาง Web Server อยู่ ควรมีการ Set "Port Security" ที่ตัวอุปกรณ์ Switching เพื่อป้องกัน ARP Spoofing และ ARP Poisoning และเราต้องมีโปรแกรมตรวจสอบประเภท Intrusion Detection System (IDS) เพื่อดักดูว่ามีอะไรผิดปกติและสิ่งแปลกปลอมใน Network ของเราหรือไม่ ถ้าเราใช้ SSH ก็ควร Update เป็น version 2 เพราะ SSH Version 1 นั้น Hacker สามารถดักข้อมูลและถอดรหัสได้
จาก : หนังสือ eLeaderThailand
ฉบับที่174 ประจำเดือนสิงหาคม2546
Update Information : 17 กรกฎาคม 2546
ไม่มีความคิดเห็น:
แสดงความคิดเห็น