เจาะลึก Web Application Security (ตอนที่ 2) Knowledge Hackers Vs. Web Application Programmer
by A.Pinya Hom-anek, CISSP,CISA
ACIS Professional Team
จากข้อมูลใน web site www.netcraft.com ทำให้เราทราบว่าขณะนี้จำนวน web site ทั่วโลกได้เพิ่มขึ้นอย่างรวดเร็วกว่า 42 ล้าน web site ข้อมูลล่าสุดพบว่าใช้ web server Apache ( จาก http://httpd.apache.org ) 63.72% และ web server IIS ของ Microsoft 25.95% เราสามารถสรุปได้ว่า web server ทั่วโลกส่วนใหญ่ใช้ Apache ซึ่งเป็นโปรแกรม open source และ IIS บน Windows NT/2000 Server
คราวนี้เรามาดูฝั่งของ Hacker กันบ้างจากข้อมูลใน web site ของเหล่าบรรดา Hacker ที่ชอบมาเปลี่ยนหน้า web page ตาม web site ต่าง ๆ ทั่วโลก ดูที่http://www.zone-h-org เราพบว่าสถิติ web server ที่โดน Hack มากที่สุด (กว่า 80%) ก็คือ Platform ที่ใช้ Linux และ Windows 2000 เป็น web server
และ เมื่อเราค้นข้อมูลเพิ่มเติมจาก Search Menu ก็พบว่า web site ของไทยเราโดน Hacker ต่างชาติ เข้ามา Hack กันมากพอสมควร เราอาจจะสงสัยว่า Hacker เหล่านี้เข้ามา Hack เราได้อย่างไร ทั้ง ๆ ที่เราก็เปิด Firewall เฉพาะ port 80 และ port 443 อนุญาตก็แค่เพียง HTTP และ HTTPS Traffic เท่านั้น Hacker ก็ยังเจาะเข้ามาได้ ดูสถิติจาก www.incidents.org ก็พบว่าการเจาะระบบในเวลานี้ ส่วนใหญ่แล้วเจาะเข้ามาทาง Port 80 ก็คือผ่านทาง ช่องโหว่ของ web server เรานั่นเอง
Web Server Hacking และ Web Application Hacking จึงเป็นทิศทางใหม่ของเหล่า Hacker เพราะ web site ทุกแห่งทั่วโลกอย่างไรก็ต้องเปิดบริการ port 80 และ port 443 Hacker สามารถใช้เพียงช่อง Address ที่เราป้อง URL ใน Internet Explorer ก็สามารถเจาะระบบเราได้ โดยมุ่งเป้าหมายมาที่ Web Server และ Web Application ที่เราใช้งานอยู่ ในทางเทคนิคเราเรียกวิธีนี้ว่า “Web Subversion”
เทคนิคในการ Hack Web Application มีหลายแบบได้แก่ “Hidden Manipulation” หมายถึง Hacker จะแอบเข้ามาดูข้อมูลที่อยู่ใน Hidden Field ที่ web master ชอบใช้ในการเขียน Web Application วิธีการดูก็ง่าย ๆ คือ Right Click Mouse ที่หน้าจอใน IE แล้วเลือก View source ก็สามารถเห็นข้อมูลที่โดยปกติ IE จะไปแสดงบนจอภาพซึ่ง Hacker สามารถใช้ข้อมูลเหล่านี้ ให้เป็นประโยชน์ในการโจมตี Web server ของเรา ปัญหาก็คือ ในความเข้าใจของ web master โดยปกติคิดว่าข้อมูลใน Hidden Field จะไม่มีใครเห็น และจะไม่ถูกแก้ไขจากฝั่ง Client แต่ Hacker สามารถแก้ไขข้อมูลใน Hidden Field จะฝั่ง Client และส่งกลับมาประมวลผลในฝั่ง Server ได้ ทำให้ข้อมูลที่เรารับกลับเข้ามาจากฝั่ง Client เกิดความผิดพลาด ยกตัวอย่างเช่น เราทำ e-commerce web site ขายสินค้าผ่าน Internet พวก Hacker สามารถเข้ามาแก้ไขข้อมูลราคาสินค้าของเราให้ต่ำลงได้เวลาสั่งซื้อสินค้า ทำให้ web application คำนวณราคาผิดพลาด ส่งผลต่อยอดขายที่ไม่ถูกต้อง ซึ่งต้องใช้เวลาในการตรวจสอบกันพอสมควร
เทคนิคที่ Hacker ชอบใช้อีกวิธีหนึ่งก็คือ “Cookie Poisoning” สังเกตได้ว่า web site ส่วนใหญ่เวลานี้ชอบใช้ เทคนิค Cookie ในการเก็บข้อมูลลูกค้าหลังจากที่เราเข้าไปใน web site เหล่านั้น เช่น เวลาเข้าไป Login หรือ Sign-on เข้าสู่ web site ข้อมูล User name และ Password ของเราจะถูกเก็บอยู่ใน Cookie Text File ใน Subdirectory C:\Documents and Settings\<ชื่อผู้ใช้>\cookies บน hard disk drive c: ของเครื่องเราเอง
ข้อมูลส่วนตัวของเรานอกจาก User name และ Password ก็ถูกเก็บอยู่ใน Cookie ด้วยเช่นกัน Hacker สามารถวิเคราะห์ Pattern จากข้อมูลใน Cookie ทำให้ทราบถึงลักษณะการเก็บข้อมูลของเรา และใช้ข้อมูลเหล่านี้ในการเข้าถึงข้อมูลของลูกค้ารายอื่น ๆ ใน e-commerce site เนื่องจาก Cookie File ส่วนใหญ่เป็น Text File ที่ไม่ได้เข้ารหัส หรือไม่ก็ เข้ารหัสแบบง่าย ๆ ซึ่งทำให้ Hacker สามารถแกะ Pattern ออกมาได้ดังนั้น เราควรจัดการกับ Cookie อย่างระมัดระวัง ไม่อย่างนั้นข้อมูลลูกค้าใน Web site ของเราอาจจะรั่วไปสู่มือ Hacker ได้ง่าย ๆ web site ในต่างประเทศหลายที่ โดยเฉพาะพวก web โป๊ มักจะฝังโปรแกรมดักรอเราเมื่อเราเผลอเข้าไปใน web site พวกนี้ โปรแกรม Trojan ที่รอเราอยู่ใน web site จะถูก Download โดยอัตโนมัติเข้าสู่ hard disk ของเราโดยไม่ขออนุญาตเราก่อน ส่วนใหญ่จะเป็นโปรแกรมประเภท SpyWare หรือ AdWare
SpyWare ก็คือโปรแกรมที่เข้ามาแอบดูข้อมูลส่วนตัวในเครื่องของเราส่วนใหญ่จะวิเคราะห์จาก Cookies จากนั้นมันจะส่งข้อมูลกลับไปหา Site เหล่านั้น เพื่อนำข้อมูลเราไปขายหรือหวังผลทางด้านการตลาด เช่น ส่ง Spam Mail กลับมาหาเรา ส่วน AdWare นั้นจะคอยฝังตัวในเครื่องเราแล้วแสดงโฆษณาในลักษณะ Pop-Up AD ออกมาให้เรารำคาญอยู่เป็นระยะ ๆ
ดังนั้น เราควรตรวจสอบโปรแกรมพวกนี้อยู่เป็นประจำว่ามีฝังตัวอยู่ในเครื่องเราหรือไม่ ลองเข้าไปดูที่ http://www.spychecker.com/software/antispy.html สำหรับ web master ควรใช้งาน Cookie อย่างระมัดระวัง หรือ เราอาจจะไม่ใช้ Cookie ในฝั่ง Client เลยก็ได้ เพื่อความปลอดภัยของ user ที่เข้ามาใช้บริการ web application ของเรา
ในฉบับหน้าผมจะมากล่าวถึง วิธีการ Hack Web Application ในแบบอื่น ๆ ต่อไปนะครับ อย่าลืมติดตามนะครับ สวัสดีครับ
จาก : หนังสือ eWeekThailand
Update Information : 17 กรกฎาคม 2546