ป้องกันการโดยขโมยข้อมูล Database
กรณีของ PDPA ที่ระบุว่า เราต้องมีการป้องกันไม่ให้ข้อมูลหลุด ไม่งั้นจะต้อง โดนค่าปรับ หรือ อาจจะติดคุก นั้น วันนี้เราจะมาดูกันในเรื่องป้องกัน Database กันบ้าง ซึ่งใน Clip ตัวอย่างนี้เราจะยกตัวอย่างของ Azure และมี Database ที่เป็น Microsoft SQL ครับ
สำหรับเรื่องพื้นฐานของการป้องกัน ก็จะมีหลักการดังนี้
1. ข้อมูลสำคัญ (Sensitive Data) อยู่ที่ไหน
ผู้ดูแลระบบฐานข้อมูลจำเป็นต้องระบุ และรู้ว่าข้อมูลใดที่เก็บในฐานข้อมูลเป็นข้อมูลที่สำคัญ รวมทั้งต้องรู้ว่าเก็บอยู่ที่ฐานข้อมูลใดด้วย เพื่อที่จะได้วางแผนออกแบบระบบรักษาความปลอดภัยเน้นย้ำตรงที่ฐานข้อมูลนั้นๆได้อย่างเหมาะสม เช่น กำหนดสิทธิ์ในการเข้าถึงฐานข้อมูลเฉพาะผู้ที่เกี่ยวข้อง หรือทำการเข้ารหัสฐานข้อมูลโดยใช้อัลกอริธึมที่มีความปลอดภัยสูง เป็นต้น
2. ตรวจสอบ (Audit) การใช้งานฐานข้อมูลอยู่เสมอ
โดยปกติแล้ว แนะนำให้ตรวจสอบและสรุปการใช้งานฐานข้อมูลอย่างน้อยเดือนละ 1 ครั้ง โดยเน้นตรงส่วนข้อมูลสำคัญของบริษัท เช่น ใครเข้าถึงข้อมูลชุดดังกล่าวบ้าง, เข้าถึงจากที่ใด (หมายเลข IP ใด), บ่อยแค่ไหน และทำอะไรไปบ้าง เพื่อตรวจสอบพฤติกรรมที่อาจจะผิดปกติไปจากเดิม รวมถึงความพยายามเชื่อมต่อกับฐานข้อมูลโดยบุคคลที่ไม่มีสิทธิ์ ก็เป็นอีกหนึ่งพฤติกรรมที่อาจก่อให้เกิดความเสี่ยงขึ้นได้ในอนาคต
3. พยายามติดตามการใช้งานระบบฐานข้อมูลตลอดเวลา
การตรวจสอบบ่อยๆเป็นเรื่องที่ดี แต่การติดตามการใช้งานตลอดเวลานั้นดีกว่ามาก แต่เป็นสิ่งที่ทำได้ยาก เนื่องจากต้องอาศัยเทคโนโลยีจำพวก Database Activity Monitoring เข้าช่วย จึงจะสามารถติดตามการใช้งานและตรวจจับสิ่งผิดปกติได้อย่างมีประสิทธิภาพ จากสถิติของ IOUG (Independent Oracle Users Group) ปี 2013 ระบุว่า มีเพียง 37% ขององค์กรเท่านั้น ที่สามารถตรวจจับและแก้ไขการเข้าถึงฐานข้อมูลที่ไม่มีสิทธิ์ (Unauthorized Database Access) ได้ภายใน 24 ชั่วโมง
4. เข้ารหัสฐานข้อมูล
ต่อให้ระบบฐานข้อมูลมีการตรวจสอบและติดตามการใช้งานได้ดีแค่ไหน แต่ถ้าไม่มีการเข้ารหัสและการ Masking ผู้ไม่ประสงค์ดีหรือแฮ็คเกอร์ก็สามารถทำการบายพาส (Bypass) ฐานข้อมูลเพื่อโจรกรรมข้อมูลไปได้อย่างง่ายดาย “การเข้ารหัสข้อมูลเป็นพื้นฐานสำคัญในการรักษาความปลอดภัยฐานข้อมูล ถ้าไม่มีการเข้าหรัส พวกเราก็ไม่สามารถป้องกันการบายพาสฐานข้อมูลได้” Roxana Bradescu ผู้อำนวยการฝ่ายการจัดการผลิตภัณฑ์รักษาความปลอดภัยของฐานข้อมูลของ Oracle ได้กล่าวไว้
5. แอพพลิเคชันที่ใช้เชื่อมต่อ
ผู้ดูแลระบบควรระบุแอพพลิเคชันที่อนุญาตให้ใช้เชื่อมต่อกับระบบฐานข้อมูลในองค์กรให้แน่ชัด ถ้ามีการเข้าถึงฐานข้อมูลโดยแอพพลิเคชันอื่น แสดงว่ามีความเสี่ยงที่จะเป็นการบุกรุกโจมตี
6. ควบคุมการเข้าถึงฐานข้อมูลของ Privileged Users
Privileged Users เป็นอีกหนึ่งปัจจัยที่ควรจับตาดูตลอดเวลา เนื่องจากเป็นผู้ใช้งานที่มีสิทธิ์ทำอะไรกับฐานข้อมูลก็ได้ รวมไปถึงผู้ใช้งานทั่วไปที่มีสิทธิ์พิเศษในการเข้าถึงฐานข้อมูล เช่น Developer ทำต้องเขียนโปรแกรมเพื่อเชื่อมต่อกับระบบฐานข้อมูล เป็นต้น ผู้ดูแลระบบสามารถควบคุมผู้ใช้งานเหล่านี้ได้ เช่น กำหนดช่วงเวลา, กำหนดตำแหน่งที่อนุญาตให้ใช้งาน (เครื่องคอมพิวเตอร์และหมายเลข IP), ไม่อนุญาตให้ใช้งานภายนอกห้อง Data Center รวมไปถึงคอยติดตามและตรวจสอบพฤติกรรมการใช้งานตลอดเวลา
7. เก็บ Production Data ไว้ใน Production Database
การกระจาย Production Data ไปเก็บไว้ในที่ต่างๆ เช่น ฝ่าย QA หรือฝ่าย Development ทำให้ใช้งานสะดวกก็จริง แต่ถือว่าเป็นจุดอ่อนสำคัญของระบบรักษาความปลอดภัยของฐานข้อมูล เนื่องจากภายในห้อง Data Center ที่ใช้เก็บฐานข้อมูลเป็นจุดที่มีการออกแบบและติดตั้งระบบรักษาความปลอดภัยสำหรับฐานข้อมูลไว้สูงสุด ผิดกับฝ่ายอื่นๆที่อาจจะยังไม่ปลอดภัยเพียงพอ กลายเป็นช่องโหว่สำคัญที่ผู้ไม่ประสงค์ดีใช้ในการขโมยข้อมูลได้
คำศัพท์ในเรื่องของความปลอดภัยของข้อมูล
- Hacker หมายถึง คือผู้ที่มีความชำนาญในการใช้คอมพิวเตอร์แอบเข้าไปใช้งานระบบคอมพิวเตอร์ของหน่วยงานอื่นโดยไม่ได้รับอนุญาต เพราะรู้ว่า
ระบบมีจุดโหว่ตรงไหน และวิธีการที่จะเข้าถึงจุดโหว่นั้นได้ ไม่มีเจตนาที่จะทำลายระบบข้อมูล แต่อาจจะเพื่อความท้าทาย ความมีชื่อเสียง หรือต้องการทดสอบความรู้
ความสามารถของตนเอง อย่างไรก็ตามก็ถือว่าขาดจริยธรรมด้านคอมพิวเตอร์ - Hacking หมายถึง การพยายามที่จะใช้อุบายผ่านระบบความปลอดภัยเพื่อเข้าสู่ระบบฐานข้อมูลและเครือข่าย เป็นการกระทำของ hacker โดยมีเจตนา
ที่จะลอกเลียนหรือเปลี่ยนแปลงข้อมูลต้นฉบับ การ hacking จะไม่สร้างความเสียหายกับข้อมูลตัวหลัก - Cracker หมายถึง ผู้ที่ใช้ทักษะด้านคอมพิวเตอร์ สร้างโปรแกรมเพื่อเจาะระบบข้อมูล บุกรุกทำลายระบบข้อมูล หรือก่อให้เกิดความเสียหาย รวมทั้งการ
ลักลอบขโมยข้อมูลของบุคคลอื่น - Cracking หมายถึง การเจาะระบบข้อมูล แต่มีเจตนาที่จะสร้างความเสียหายแก่ข้อมูลต้นฉบับโดยตรง
- Ethical hacker หมายถึง ผู้ที่มีความเชี่ยวชาญด้านความปลอดภัยข้อมูล ใช้ทักษะนี้ในการ hacking ข้อมูลเพื่อจุดประสงค์ในการป้องกันระบบ
Azure Database ข้อดี
- เทียบเท่ากับ SQL Server เพียงแต่ทำงานในระบบ Cloud
- สร้างขึ้นบนเทคโนโลยีเซิร์ฟเวอร์ SQL
- ไม่ต้องติดตั้งอะไรทั้งสิ้น สามารถเรียกใช้งานได้ทันที
- ไดรเวอร์ ADO.NET และสนับสนุน ODBC
- สามารถใช้ได้ทุกที่ เชื่อมต่อได้ทุกที่ทุกเวลา
- ปรับขยายได้ง่ายขึ้น เพิ่ม-ลด ได้ตลอดเวลา
- ความผิดพลาดต่ำ เพราะทำงานระบบที่เสถียรมาก
- เขียนร่วมกับ Application ได้หลากหลายภาษา เช่น .NET / PHP / Java และอื่น ๆ