การทดสอบฐานข้อมูล - ความปลอดภัย

การทดสอบความปลอดภัยของฐานข้อมูลเป็นการทดสอบเพื่อหาช่องโหว่ในกลไกการรักษาความปลอดภัยและการค้นหาช่องโหว่หรือจุดอ่อนของระบบฐานข้อมูล

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

ด้านล่างนี้เป็นวัตถุประสงค์หลักของการทดสอบความปลอดภัยของฐานข้อมูล -

  • Authentication
  • Authorization
  • Confidentiality
  • Availability
  • Integrity
  • Resilience

ประเภทของภัยคุกคามบนระบบฐานข้อมูล

การฉีด SQL

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

การยกระดับสิทธิ์ในฐานข้อมูล

ในการโจมตีนี้ผู้ใช้มีสิทธิ์เข้าถึงระบบฐานข้อมูลอยู่แล้วและเขาพยายามที่จะยกระดับการเข้าถึงนี้ให้สูงขึ้นเพื่อให้สามารถดำเนินกิจกรรมที่ไม่ได้รับอนุญาตในระบบฐานข้อมูลได้

การปฏิเสธการให้บริการ

ในการโจมตีประเภทนี้ผู้โจมตีทำให้ระบบฐานข้อมูลหรือทรัพยากรแอปพลิเคชันไม่สามารถใช้งานได้สำหรับผู้ใช้ที่ถูกต้อง นอกจากนี้ยังสามารถโจมตีแอปพลิเคชันในรูปแบบที่ทำให้แอปพลิเคชันแสดงผลและบางครั้งทั้งเครื่องก็ใช้ไม่ได้

การเข้าถึงข้อมูลโดยไม่ได้รับอนุญาต

การโจมตีอีกประเภทหนึ่งคือการเข้าถึงข้อมูลโดยไม่ได้รับอนุญาตภายในแอปพลิเคชันหรือระบบฐานข้อมูล การเข้าถึงโดยไม่ได้รับอนุญาต ได้แก่ -

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

การปลอมแปลงตัวตน

ใน Identity Spoofing แฮ็กเกอร์จะใช้ข้อมูลประจำตัวของผู้ใช้หรืออุปกรณ์เพื่อโจมตีโฮสต์เครือข่ายขโมยข้อมูลหรือข้ามการควบคุมการเข้าถึงระบบฐานข้อมูล การป้องกันการโจมตีนี้จำเป็นต้องมีโครงสร้างพื้นฐานด้านไอทีและการลดระดับเครือข่าย

การจัดการข้อมูล

ในการโจมตีด้วยการจัดการข้อมูลแฮ็กเกอร์จะเปลี่ยนข้อมูลเพื่อให้ได้เปรียบหรือทำลายภาพลักษณ์ของเจ้าของฐานข้อมูล

เทคนิคการทดสอบความปลอดภัยของฐานข้อมูล

การทดสอบการเจาะ

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

การค้นหาความเสี่ยง

การค้นหาความเสี่ยงเป็นกระบวนการในการประเมินและตัดสินใจเกี่ยวกับความเสี่ยงที่เกี่ยวข้องกับประเภทของการสูญเสียและความเป็นไปได้ของการเกิดช่องโหว่ สิ่งนี้ถูกกำหนดภายในองค์กรโดยการสัมภาษณ์การอภิปรายและการวิเคราะห์ต่างๆ

การทดสอบการฉีด SQL

เกี่ยวข้องกับการตรวจสอบอินพุตของผู้ใช้ในฟิลด์แอปพลิเคชัน ตัวอย่างเช่นการป้อนอักขระพิเศษเช่น "," หรือ ";" ในกล่องข้อความใด ๆ ในแอปพลิเคชันผู้ใช้ไม่ควรได้รับอนุญาต เมื่อเกิดข้อผิดพลาดของฐานข้อมูลหมายความว่าอินพุตของผู้ใช้ถูกแทรกในแบบสอบถามบางส่วนซึ่งจะถูกเรียกใช้โดยแอปพลิเคชัน ในกรณีนี้แอปพลิเคชันมีความเสี่ยงต่อการแทรก SQL

การโจมตีเหล่านี้เป็นภัยคุกคามใหญ่ต่อข้อมูลเนื่องจากผู้โจมตีสามารถเข้าถึงข้อมูลสำคัญจากฐานข้อมูลเซิร์ฟเวอร์ ในการตรวจสอบจุดเข้าการแทรก SQL ลงในเว็บแอปพลิเคชันของคุณให้ค้นหารหัสจากฐานรหัสของคุณซึ่งมีการดำเนินการสืบค้น MySQL โดยตรงบนฐานข้อมูลโดยยอมรับอินพุตของผู้ใช้บางส่วน

การทดสอบการฉีด SQL สามารถทำได้สำหรับเครื่องหมายวงเล็บจุลภาคและเครื่องหมายคำพูด

การถอดรหัสรหัสผ่าน

นี่เป็นการตรวจสอบที่สำคัญที่สุดขณะทำการทดสอบระบบฐานข้อมูล ในการเข้าถึงข้อมูลที่สำคัญแฮกเกอร์สามารถใช้เครื่องมือถอดรหัสรหัสผ่านหรือคาดเดาชื่อผู้ใช้ / รหัสผ่านทั่วไปได้ รหัสผ่านทั่วไปเหล่านี้สามารถใช้ได้อย่างง่ายดายบนอินเทอร์เน็ตและยังมีเครื่องมือถอดรหัสรหัสผ่านได้อย่างอิสระ

ดังนั้นจึงจำเป็นต้องตรวจสอบในขณะที่ทำการทดสอบว่านโยบายรหัสผ่านยังคงอยู่ในระบบหรือไม่ ในกรณีของแอปพลิเคชันด้านการธนาคารและการเงินจำเป็นต้องกำหนดนโยบายรหัสผ่านที่เข้มงวดในระบบฐานข้อมูลข้อมูลที่สำคัญทั้งหมด

การตรวจสอบความปลอดภัยของระบบฐานข้อมูล

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

ตัวอย่างมาตรฐานความปลอดภัยที่พบบ่อย ได้แก่ ISO 27001, BS15999 เป็นต้น

เครื่องมือทดสอบความปลอดภัยของฐานข้อมูล

มีเครื่องมือทดสอบระบบต่างๆในตลาดซึ่งสามารถใช้เพื่อทดสอบระบบปฏิบัติการและการตรวจสอบแอปพลิเคชัน เครื่องมือทั่วไปบางส่วนมีการกล่าวถึงด้านล่าง

Zed Attack Proxy

เป็นเครื่องมือทดสอบการเจาะเพื่อค้นหาช่องโหว่ในเว็บแอปพลิเคชัน ได้รับการออกแบบมาให้ใช้งานโดยผู้ที่มีประสบการณ์ด้านความปลอดภัยที่หลากหลายดังนั้นจึงเหมาะอย่างยิ่งสำหรับนักพัฒนาและผู้ทดสอบการใช้งานที่ยังไม่คุ้นเคยกับการทดสอบการเจาะ นิยมใช้กับ Windows, Linux, Mac OS

ปารอส

ข้อมูล HTTP และ HTTPS ทั้งหมดระหว่างเซิร์ฟเวอร์และไคลเอนต์รวมถึงคุกกี้และฟิลด์แบบฟอร์มสามารถถูกดักจับและแก้ไขได้โดยใช้เครื่องสแกนเหล่านี้ ใช้สำหรับ Cross-platform, Java JRE / JDK 1.4.2 ขึ้นไป

เครื่องมือวิศวกรสังคม

เป็นเครื่องมือโอเพ่นซอร์สและองค์ประกอบของมนุษย์ถูกโจมตีมากกว่าองค์ประกอบของระบบ ช่วยให้คุณสามารถส่งอีเมลจาวาแอพเพล็ต ฯลฯ ที่มีรหัสโจมตี เป็นที่ต้องการสำหรับ Linux, Apple Mac OS X และ Microsoft Windows

สคิปฟิช

เครื่องมือนี้ใช้เพื่อสแกนไซต์ของตนเพื่อหาช่องโหว่ รายงานที่สร้างโดยเครื่องมือนี้มีขึ้นเพื่อใช้เป็นพื้นฐานสำหรับการประเมินความปลอดภัยของเว็บแอปพลิเคชันระดับมืออาชีพ เป็นที่ต้องการสำหรับ Linux, FreeBSD, MacOS X และ Windows

เวก้า

เป็นเครื่องมือรักษาความปลอดภัยบนเว็บแบบโอเพ่นซอร์สที่ใช้ในการค้นหาอินสแตนซ์ของการแทรก SQL การเขียนสคริปต์ข้ามไซต์ (XSS) และช่องโหว่อื่น ๆ ในเว็บแอปพลิเคชัน เป็นที่ต้องการสำหรับ Java, Linux และ Windows

วาปิติ

Wapiti เป็นเครื่องมือแบบโอเพนซอร์สและบนเว็บที่สแกนหน้าเว็บของเว็บแอปพลิเคชันและตรวจสอบสคริปต์และแบบฟอร์มที่สามารถฉีดข้อมูลได้ สร้างขึ้นด้วย Python และสามารถตรวจจับข้อผิดพลาดในการจัดการไฟล์ฐานข้อมูล XSS LDAP และ CRLF การตรวจจับการดำเนินการคำสั่ง

เว็บแมลงปีกแข็ง

เขียนด้วย Java และใช้สำหรับวิเคราะห์แอปพลิเคชันที่สื่อสารผ่านโปรโตคอล HTTP / HTTPS เครื่องมือนี้ออกแบบมาสำหรับนักพัฒนาที่สามารถเขียนโค้ดได้เองเป็นหลัก เครื่องมือนี้ไม่ได้ขึ้นอยู่กับ OS