Web application security คืออะไร มีผลอะไรในการใช้ชีวิตประจำวัน

Web Application Security

    เว็บแอปพลิเคชั่นหมายถึง แอปพลิเคชั่นที่สามารถเข้าใช้งานผ่านเว็บบราวเซอร์ หรือ HTTP(s) agent (พอร์ต 80 หรือ 443) นั่นเอง

 

Web Architecture

 

    เป็นรูปของการทำงาน ของเว็ปไซต์ทั่วไป โดย ยูเซอร์ จะเชื่อมต่อ เว็ปเซิฟเวอร์ ผ่าน Internet และในส่วนของ เซิฟเวอร์นั้น จะมีความปลอดภัยในตัวมันคือ ตัว Firewall ที่จะป้องกันได้ในระดับนึง

 

ปัญหาของ เว็ปเซิฟเวอร์

Layer ปัญหาในระบบ
  HTTP Client / User การโจมตีแบบ Cross-Site Scripting
ถูกโจมตีโดยการปลอมแปลงหน้าเพจ หรือผู้ใช้งาน (Spoofing)
การใช้ Javascript Injection เพื่อเปลี่ยนแปลงข้อมูลใน Browser
  Transport Layer HTTP(s) การดักจับข้อมูล (Passive Monitoring)
การโจมตีจากคนกลาง (Man-in-the-Middle Attack)
การขโมย Session (Session Hijack)
  Firewall การโจมตีระบบผ่าน SSL Session
  Web Server การทำ Buffer Overflow และ Format String
การทำ Directory Traversal
การตั้งค่า Default Accounts
การตั้งค่า Default ใน Applications
  Web Applications การป้อนค่า Metacharacters
การป้อนค่า Null Characters
การทำ Buffer Overflow
  Firewall การโจมตีจาก Internal Network ซึ่งสามารถผ่าน Firewall ได้
  Database การทำ Direct SQL Commands หรือ SQL Injection
การเข้าไป Query ใน Restricted Database
การทำ Database Exploit

 

การโจมตีระบบ

ในการโจมตีระบบเว็บแอปพลิเคชั่นนั้นสามารถโจมตีได้หลายๆ อย่าง โดยมีสาเหตุจาก
• ความผิดพลาดของผู้ดูแลระบบที่ติดตั้งและตั้งค่าระบบต่างๆ ไม่ดีพอ
• ความผิดพลาดจากผู้เขียนซอฟต์แวร์ที่เกี่ยวข้องกับการทำงานเช่น MS IIS เป็นต้น
• ความผิดพลาดจากผู้เขียนเว็บแอปพลิเคชั่นและองค์ประกอบที่เกี่ยวข้องอื่นๆ ที่ไม่ได้ตระหนักถึงการ
ทำงานให้เกิดความปลอดภัยในระบบ

ตัวอย่างเทคนิคต่างๆ ที่ใช้ในการโจมตีเว็บแอปพลิเคชั่น

Hidden Field

สาเหตุเกิดจากเว็บแอปพลิเคชั่น ส่งข้อมูลส่วนหนึ่งไปเก็บไว้ที่ไคลเอนต์ โดยใช้ hidden field แล้วนำค่า
ดังกล่าวมาใช้งานอีกครั้งหนึ่งตอนโพรเซสเพื่อแสดงหน้าเพจถัดไป ในการทำงานลักษณะนี้ผู้บุกรุกสามารถ
เปลี่ยนแปลงค่า hidden field เพื่อ สร้างความเสียหาย เปลี่ยนแปลงการทำงานของเว็บแอปพลิเคชั่น หรือให้ได้
ผลลัพธ์ที่ต้องการ ในการโจมตีในลักษณะนี้ผู้โจมตีจะดูโค้ดของเว็บเพจนั้นๆ (View Source) แล้วแก้ไข Tag
HIDDEN ให้กลายเป็นค่าอื่นๆ ที่สามารถนำไปประมวลผลต่อในเซิร์ฟเวอร์ หรือ Application ได้

 

Cookie Poisoning

ในการเก็บข้อมูลของ Cookie สำหรับการให้บริการเว็บนั้น โดยวัตถุประสงค์คือการเก็บข้อมูล
รายละเอียดบางอย่างของผู้ใช้งานเว็บเพจนั้นๆ หรือผู้ใช้คนนั้นๆ ว่ามีความสนใจด้านใดเป็นพิเศษ ต้องการ
ปรับแต่งค่าการนำเสนอข้อมูลอย่างไร รวมถึงอาจมีการเก็บข้อมูลเกี่ยวกับ Session ของการเชื่อมต่อไปยังเว็บ
แอปพลิเคชั่น เมื่อมีการเปลี่ยนแปลงค่าใน cookie ย่อมสามารถเปลี่ยนแปลงค่าต่างๆ แม้กระทั่งการเปลี่ยนแปลง
ค่า Session ID ของการเชื่อมต่อได้ ซึ่งทำให้เกิดปัญหาการเข้าถึงทรัพยากรของบุคคลอื่นๆ ได้ สำหรับข้อมูลที่
เก็บอยู่ใน cookie นั้นจะไม่มีความปลอดภัยหากไม่มีการเข้ารหัส หรือเข้ารหัสไว้ไม่ดีพอ

 

หลักการในการใช้งาน Cookies เพื่อความปลอดภัย

• ไม่ควรเก็บข้อมูลใน Cookies เป็น Plaintext หรือเข้ารหัสข้อมูลแบบหลวมๆ
• ควรคำนึงไว้เสมอๆ ว่าข้อมูลใน Cookies นั้นไม่ปลอดภัย
• ถ้าใช้งาน Cookies ควรระมัดระวังสองกรณีคือ ไม่ควรมีคนอื่นๆ มาใช้งาน Cookies ได้ และไม่ควรมี
ใครรู้ข้อมูลใน Cookies ไม่ว่ากรณีใดๆ
• ควรมีการเซต restrictive path ใน Cookies
• ในการตรวจสอบ Authentication นั้นไม่ควร valid ถ้าทำงานเกินช่วงเวลาที่ตั้งไว้
• ข้อมูลที่เก็บไว้ใน Cookies ควรเป็นข้อมูลที่ใช้ชั่วคราวเท่านั้น
• ในการสร้าง Token ID ควรใช้อัลกอริทึมที่มีประสิทธิภาพ ไม่สามารถคาดเดาได้
• ใช้ Cookies Timeout สำหรับลบ Cookies ที่ไม่มีการใช้งานออกจากระบบ
• การทำ Authentication ควรใช้ข้อมูลของไอพีแอดเดรสมาประกอบด้วยโดย สำหรับ Business Intranet
ควรใช้ไอพีแอดเดรสทั้ง 32 บิต สำหรับการใช้งานเว็บทั่วๆ ไป ควรใช้ข้อมูล 16 บิต มาประกอบการทำ
authentication ด้วย
• ในการทำ Authentication ควรใช้ข้อมูลเกี่ยวกับไคลเอนต์มาประกอบด้วยเช่นการใช้ header ที่เป็น
ค่าคงที่และแตกต่างกันในแต่ละไคลเอนต์เช่น User-Agent , Accept-Language , Etc.

• สำหรับ Authentication Cookies ถ้านำมาใช้งานครั้งหนึ่งแล้ว ก็ไม่ควรนำมาใช้งานอีก

 

credit: www.ce.kmitl.ac.th

at GlurGeek.Com
รู้ บางอย่าง...อาจทำให้เสียใจ
ไม่รู้ บางอย่าง...อาจทำให้สบายใจ
แต่ “ยังไม่รู้” เมื่อรู้บางอย่าง...แต่ไม่รู้ต้องทำยังไง

แต่ถ้าอยากรู้ เรื่อง Phototherapy ให้ถามผม

Leave a Reply

© 2022 GlurGeek.Com
Exit mobile version