Database Security

Database Security

ในทุกวันนี้ถ้าหากมีการพูดถึงเรื่อง IT Security ขึ้นมาแล้ว เชื่อว่าทุกคนมักจะนึกถึงเรื่องของ Firewall หรือไม่ก็ Anti-Virus ซะเป็นส่วนใหญ่

โดยที่มักจะหลงลืมไปว่ายังมี Security ในส่วนของ Database อยู่อีกด้วย ลองพิสูจน์ได้โดยให้ลองนึกชื่อของ Product Vendor ที่ขายสินค้าทางด้าน IT Security ขึ้นมา โดยมากแล้วชื่อที่จะผุดขึ้นมาก็มักจะเป็นลักษณะประเภท Firewall หรือ Anti-Virus กันแทบจะ ทั้งนั้น โดยที่แทบจะไม่มีประเภท Database Security ขึ้นมาเลย

ทั้งๆ ที่เป้าหมายสุดท้ายส่วนใหญ่ของการบุกรุกก็มักจะ เป็นตัว Database นั่นเอง ไม่ว่ารูปแบบของการบุกรุก จะเป็นการขโมยข้อมูล เช่น หมายเลขบัตรเครดิต ข้อมูล ทางด้านการเงิน ไปจนถึงข้อมูลทรัพย์สินทางปัญญาและอื่นๆ หรือ บางครั้งที่ไม่ได้เป็นการเข้ามาขโมยข้อมูล แต่ก็จะเป็นการเข้ามา แก้ไขข้อมูลเลย ซึ่งโดยมากก็มักจะเป็นข้อมูลทางด้านการเงินหรือ ทรัพย์สินที่มีมูลค่าที่อยู่ในรูปแบบของ Digital ต่างๆ เช่น บัตรเติม เงิน, Debit Card

ลองมาคิดดูเล่นๆ กันว่าถ้าหากองค์กรของเราตกอยู่ในสถานการณ์ ดังต่อไปนี้ แล้วระบบ IT Security ของเรามีกลไกครบถ้วนมากพอที่ จะรับมือกับสิ่งที่เกิดขึ้นนี้ได้อย่างมีประสิทธิภาพเพียงพอหรือไม่

  • ผู้บุกรุกสามารถผ่านด่านของ Network Security เข้ามา ได้ ทำ ให้สามารถเข้าถึง Database ได้โดยตรง โดยที่ Database เองไม่ได้มีกลไกต่างหากในการป้องกันตัวเองเลย ซึ่งโดยมากแล้วในการออกแบบ IT Security มักจะให้มี ด่านป้องกันหลายๆ ชั้น โดยที่ในแต่ละชั้นจะใช้เทคโนโลยีที่ แตกต่างกันไป เพื่อให้การบุกรุกเป็นไปได้ยากยิ่งขึ้น
  • ผู้บุกรุกอยู่ในฐานะที่จะเข้ามา Access Network ภายในของ องค์กรได้ในระดับเดียวกับที่พนักงานใช้อยู่ เช่น เป็นพนักงาน ของ Vendor, Outsource, Partner หรือแม้กระทั่งตัว พนักงานเอง ซึ่งสถานการณ์นี้จะเห็นได้ว่าผู้บุกรุกสามารถทะลุ เข้าไปถึงตัว Database ได้โดยอาศัยสิทธิจากหน้าที่งานที่ ทำอยู่ (Vendor, Outsource, Partner, IT Staff) โดยไม่ต้อง ใช้เทคนิคหรือความสามารถพิเศษใดๆ เลย
  • Database Admin ซึ่งมีสิทธิที่จะทำอะไรก็ได้ทุกอย่างใน ระบบ Database แล้วถ้าหาก DBA นี้เกิดทำ Password รั่วไหลไปสู่บุคคลอื่นไม่ว่าจะโดยเจตนาหรือไม่เจตนา หรือ แม้กระทั่งตัว DBA เกิดทุจริตซะเอง จะเห็นได้ว่าข้อมูลทุกอย่าง ขององค์กรซึ่งนั่นก็จะรวมถึงข้อมูลสำคัญประเภทที่ว่าสามารถ ทำให้องค์กรสั่นคลอนได้ถ้าหากเกิดปัญหาขึ้นกับข้อมูลเหล่านี้ ไม่ว่าจะเป็น ข้อมูลหาย ถูกแก้ไข ถูกขโมย ซึ่งผลเสียก็จะมี ทั้งที่เป็นทางตรงที่คิดเป็นมูลค่าได้แล้วยังมีที่เป็นผลเสียแบบ ประเมินค่าไม่ได้ ซึ่งก็คือชื่อเสียงขององค์กร ที่อาจจะเป็น เรื่องใหญ่กว่าความเสียหายทางตัวเงินด้วยซ้ำ โดยเฉพาะ อย่างยิ่งสำหรับองค์กรที่มีธุรกิจที่ต้องขายความน่าเชื่อถือ เช่น ธนาคาร ประกัน โรงพยาบาลหรือหน่วยงานราชการ บางประเภท ซึ่งปัญหาทั้งหมดนี้สามารถที่จะเกิดขึ้นได้จากการกระทำของบุคคลเพียงบุคคลเดียว ไม่ว่าจะเป็นการ กระทำที่ตั้งใจหรือไม่ตั้งใจ
  • ข้อมูล Database ซึ่งมักจะมีการทำ Backup เก็บลง Tape ไว้ ถ้าหาก Tape เหล่านี้ถูกขโมยแล้วนำ ไป Restore ข้อมูล ออกมาก็จะเท่ากับว่าผู้บุกรุกได้ข้อมูลไปทั้งหมดโดยไม่ต้อง ผ่านด่านของ IT Security ใดๆ เลย
  • ระบบ Database ที่มักจะมีระบบ DR คู่ขนานไปด้วย ซึ่งระบบ DR นี้ ในบางครั้งจะมีระดับของการป้องกัน การบุกรุกที่ตำ่ กว่าระบบ Production ดังนั้นผู้บุกรุกจึงเลือก ที่จะบุกรุกเข้าไปที่ระบบ DR แทนที่จะไปที่ระบบ Production
  • งาน Develop/Test Application ที่มีการเรียกใช้ข้อมูล ส่วนที่เป็น Sensitive Information ซึ่งไม่ต้องการให้ Developer/Tester มองเห็นข้อมูลนี้ แต่ถ้าไม่ให้ข้อมูลไป ก็จะไม่สามารถ Develop/Test Application ได้ลุล่วงตามที่ ต้องการ
  • Application บางตัวจำ เป็นต้องเข้าถึงข้อมูลบางอย่างที่ ไม่ได้ต้องการให้เห็น เช่น ระบบพิมพ์ใบเรียกเก็บเงิน บัตรเครดิต ที่ต้องการให้ Application เห็นหมายเลขบัตร เครดิตเพียงแค่บางส่วน เช่น 1234-xxxx-xxxx-xx56 แต่ ในขณะเดียวกันก็ต้องการให้ Application ตัวอื่นยังคง สามารถเข้าถึงหมายเลขบัตรเครดิตนี้ได้แบบครบถ้วน

จากสถานการณ์ที่ยกมาทั้งหมดนี้ หากพบว่าองค์กรของเรายัง ไม่มีเครื่องมือหรือวิธีการที่จะจัดการสถานการณ์เหล่านี้ได้อย่าง เหมาะสม ในส่วนของ Oracle จะมี Solutions ที่จะช่วยเหลือ ได้ โดย Oracle Database Security Solution นี้จะช่วยในการ ป้องกันระบบ Database โดยแบ่งออกตามลักษณะการทำงาน เป็นกลุ่มต่างๆ ได้ดังต่อไปนี้

1. Protecting Against Database Bypass เป้าหมายการทำงานของ Solutions ในกลุ่มนี้คือเพื่อป้องกัน การเข้าถึง Sensitive Information ที่มาในรูปแบบการ Access ไปที่ File ตรงๆ โดยไม่ผ่านระบบ Database เช่น ตามภาพด้าน ล่างจะแสดงให้เห็นวิธีการดึงข้อมูลหมายเลขบัตรเครดิตออก มาโดยใช้คำสั่งของ OS เพียงคำสั่งเดียวเท่านั้น ซึ่งแน่นอน ว่าไม่ต้องผ่านด่านระบบป้องกันต่างๆ ของ Database เลย (ขออนุญาตไม่แสดงตัวอย่างคำสั่งนะครับ เนื่องจากกลัวว่าจะ กลายเป็นการชี้ช่องไป) รวมไปถึงการป้องกันไม่ให้มีการนำ Backup Tape ไปทำการ Restore ข้อมูลและเข้าถึงข้อมูลต่างๆ ได้

โดยความสามารถนี้ของ Oracle จะมีชื่อว่า Transparent Data Encryption (TDE) ซึ่งจะมีหลักการคือจะทำการ Encrypt Database โดยสามารถทำ ได้ทั้งในระดับของ Columns และทั้ง Application Tablespaces โดยที่ในส่วนของ Application นั้นจะไม่ต้องมีการ เปลี่ยนแปลงอะไรเลย

 

2. Protecting Against Application Bypass เป้าหมายการทำงานของ Solutions ในกลุ่มนี้คือเพื่อป้องกันการ เข้าถึง Sensitive Information ที่เข้ามาโดยไม่ผ่าน Application ที่มีสิทธิในการเข้าถึงอย่างถูกต้อง เช่น DBA ที่สามารถเข้าถึง ข้อมูลโดยตรงได้ทุกอย่าง ซึ่งนี่ก็จะเป็นความเสี่ยงขององค์กรที่เอา Sensitive Information รวมไปถึงความมั่นคงปลอดภัยของธุรกิจ มาขึ้นอยู่กับ DBA เพียงคนเดียว โดย Oracle จะมี Solutions ที่ ทำงานป้องกันในลักษณะนี้อยู่ 2 Solutions ด้วยกันคือ

Oracle Database Vault มีหลักการการทำงานคือแบ่งสิทธิการ ทำ งานต่างๆ จากกันรวมถึงออกจาก DBA ด้วยเช่นกัน ซึ่งจะมี ผลทำ ให้ DBA จะมีหน้าที่ในการดูแล Database Engine เท่านั้น โดยที่ไม่สามารถเข้าถึงข้อมูลโดยตรงได้อีก โดยในส่วนของข้อมูล ก็จะมีการแบ่งสิทธิให้กับ User ต่างๆ ตามหน้าที่รับผิดชอบและ ตาม Application เท่านั้น รวมไปถึงยังสามารถตั้งเงื่อนไขเพิ่ม เติมสำหรับการเข้าถึงข้อมูลได้อีกด้วย เช่น ช่วงเวลาที่สามารถ เข้าไปใช้ข้อมูลได้ Oracle Database Firewall มีหลักการการทำ งานคล้ายกับ Network Firewall แต่จะต่างกันตรงที่ Network Firewall จะป้องกันระบบโดยวิเคราะห์จาก IP, Service Port แต่ Database Firewall จะวิเคราะห์จาก SQL Transaction โดยจะคอยตรวจ จับและป้องกันไม่ให้ Unauthorized Database Activities ตาม ที่ได้กำ หนดไว้ใน Policy เข้ามาถึงระบบ Database ได้ ซึ่งรวม ไปถึงสามารถป้องกันการโจมตีในลักษณะของ SQL Injection ได้ด้วยเช่นกัน

 

3. Protecting Against Sensitive Data Exposure เป้าหมายการทำงานของ Solutions ในกลุ่มนี้คือเพื่อปกปิดข้อมูลบาง ส่วนหรือทั้งหมด ไม่ให้ผู้ใช้งานหรือ Application ได้เห็นข้อมูลที่แท้ จริง แต่โครงสร้างรูปแบบของข้อมูลจะยังคงเดิมและสามารถนำ ไปใช้ กับงานบางอย่างได้โดย Oracle จะมี Solutions ที่ทำงานในลักษณะ นี้อยู่ด้วยกัน 2 Solutions คือ

Oracle Data Masking มีลักษณะการทำ งานคือทำ ให้ข้อมูลใน Database มีค่าเปลี่ยนแปลงไปโดยที่ยังคงมีโครงสร้างเหมือนเดิม เช่น เปลี่ยนชื่อ เปลี่ยนหมายเลขบัตรเครดิต เป็นชื่อ/หมายเลขอื่นๆ ที่ ไม่ใช่ค่าจริงแต่โครงสร้างยังถูกต้องมากพอที่จะใช้ในการทดสอบหรือ พัฒนาระบบงานได้โดยที่เราสามารถกำ หนดวิธีการที่จะเปลี่ยนแปลง ข้อมูลเหล่านี้ได้ด้วย ซึ่งจะส่งผลให้ Application Development/Test ยังคงเดินหน้าได้ต่อไปโดยที่ไม่มีปัญหาเรื่อง Sensitive Information รั่วไหลออกไป ไม่ว่า Developer/Tester นั้นจะเป็นคนภายในหรือ ภายนอกองค์กร

Oracle Data Redaction มีลักษณะการทำงานคือ ปกปิดข้อมูลบาง ส่วนสำ หรับ Application ที่กำ หนด โดยที่ยังคงแสดงข้อมูลแบบที่ ครบถ้วนให้กับ Application อื่นที่กำ หนดไว้ได้ด้วย เช่น ระบบ Billing จะเห็นข้อมูลหมายเลขบัตรเครดิตครบถ้วน แต่ระบบพิมพ์ใบเรียก เก็บเงินจะเห็นข้อมูลหมายเลขบัตรเครดิตเพียงบางส่วนเท่านั้น เช่น xxxx-xxxx-xxxx-5100

นอกจาก Solutions ต่างๆ ที่กล่าวมาแล้ว Oracle ยังมี Solutions อื่นที่เกี่ยวข้องอีก เช่น

Oracle Audit Vault ที่ทำ หน้าที่เป็น Centralized Log/Report/ Alert สำ หรับ Event ที่เกิดจากระบบต่างๆ เช่น Database Firewall, Database, OS, Storage, Directories และอื่นๆ

Oracle Key Vault ที่ทำ หน้าที่เป็น Centralized Management สำ หรับ Key ของระบบต่างๆ ซึ่งก็รวมไปถึง Key ที่ใช้งานกับตัว Transparent Data Encryption ด้วย

โดยหากจะเชื่อมโยงให้เห็นภาพใหญ่ในแง่ของ Oracle Solutions ทางด้าน Database Security แล้ว ก็จะมีลักษณะโดยรวมเป็นดัง ภาพข้างล่างนี้

จากที่ได้กล่าวมาทั้งหมด เชื่อว่าจะเป็นข้อมูลเพิ่มเติมสำ หรับองค์กร ต่างๆ เพื่อใช้พิจารณาถึงความจำ เป็นสำ หรับการที่จะเพิ่ม Security ให้กับระบบ Database ขององค์กร โดยเฉพาะอย่างยิ่งในส่วนของ Database ที่เก็บ Sensitive Information ต่างๆ ไม่ว่าจะเป็น ข้อมูล หมายเลขบัตรเครดิตลูกค้า ข้อมูลเงินเดือนพนักงาน ข้อมูลหมายเลข ที่มีลักษณะเป็น Digital Money เช่น บัตรเติมเงินต่างๆ ข้อมูลทางการ เงินขององค์กร และอื่นๆ เพื่อให้การดำเนินงานขององค์กรเป็นไป อย่างราบรื่น ปลอดภัยและน่าเชื่อถือ



Top