Project Quant: Database Security Process Framework
Here's our first pass at a high-level process framework for Quant for Databases. Patch management is mostly a contiguous process cycle, but database security encompasses a bunch of different processes. This is a framework I originally used in my Pragmatic Database Security presentation (which I really need to go post now).
I realize this is a lot, but database security is a pretty broad topic -- from patch management, to auditing, to configuration, to encryption, to masking, to... you get the idea. We believe that the high level process framework presented here is intended to cover all these tasks. We could really use some feedback on how well this encompasses all the database security processes. We based this process on our own experience and research contacts, but want to know how you approach these job functions.
Our next step will be to roll through all the sub-processes within each of these major steps. We don't plan to get as detailed as we did with patch management. Many of the metrics provided in the original Quant project for patch management were extremely granular since we were dealing with only one process. We still need sufficient granularity to develop meaningful metrics that support process optimization, but at a level that's a little easier to collect, since we are covering a wider range of functions.
Please keep in mind that our philosophy is to build out a large framework with many options, which individual organizations can then pick and choose from. I know not everyone performs all these steps, but this is the best way to build something that works for organizations of different sizes and verticals.
Plan
In this phase we establish our standards and policies to guide the rest of the program. This isn't a one-time event, since technology and business needs change over time. Standards and policies should be considered for multiple audiences and external requirements.
- Configuration Standards: Develop security and configuration standards for all supported database platforms.
- Classification Policies: Set policies for how data will be classified. Note that we aren't saying you need complex data classification, but you do need to establish general policies about the importance of different kinds of data (e.g., PCI related, PII, health information) to properly define security and monitoring requirements.
- Authentication, Authorization, and Access Control Policies: Policies around user management and use of accounts -- including connection mechanisms, DBA account policies, DB vs. domain vs. local system accounts, and so on.
- Monitoring Policies: Develop security auditing and monitoring policies, which are often closely tied to compliance requirements.
Discover and Assess
In this phase we enumerate (find) our databases, determine what applications use them, what data they contain, and who owns the system and data; then assess the databases for vulnerabilities and secure configurations. One of the more difficult problems in database security is finding and assessing all the databases in the first place.
- Enumerate databases: Find all the databases in your environment. Determine which are relevant to your task.
- Identify applications, owners, and data: Determine who is responsible for the databases, which applications rely on them, and what data they store. One of your primary goals here is to use the application and data to classify the database by importance and sensitivity of information.
- Assess vulnerabilities and configurations: Perform a configuration and vulnerability assessment on the databases.
Secure
Based on the results of our configuration and vulnerability assessments, we update and secure the databases. We also lock down access channels and look for any entitlement (user access) issues. All of these requirements may vary based on the policies and standards defined in the Plan phase.
- Patch: Update the database and host platform to the latest security patch level.
- Configure: Securely configure the database in accordance with your configuration standards. This also includes ensuring the host platform meets security configuration requirements.
- Restrict access: Lock down access channels (e.g., review ODBC connections, ensure communications are encrypted), and check user entitlements for any problems, such as default administrative accounts, orphan accounts, or users with excessive privileges.
- Shield: Many databases have their own network security requirements, such as firewalls or VPNs. Although directly managing firewalls is outside the domain of a database security program, you should still engage with network security to make sure systems are properly protected.
Monitor
This phase consists of database activity monitoring and database auditing. We'll detail the differences later (you can up on them in the Research Library), but monitoring tends to be focused on granular user activity, while auditing is more concerned with traditional audit logs. Both of these tie into our policies from the Plan phase and vary greatly based on the database involved.
- Database Activity Monitoring: Granular monitoring of database user activity.
- Auditing: Collection, management, and evaluation of database, system, and network audit logs (as relevant to the database).
Protect
In this phase we apply preventative controls to protect the data as users and systems interact with it. It includes using Database Activity Monitoring for active alerting, encryption, data masking for data moved to development, and Web Application Firewalls to limit database attacks via web applications.
- Database Activity Monitoring: In the Monitor phase we use DAM to track activity, in this phase we create active policies to generate alerts on violations or even block activity.
- Encryption: Activities to support and maintain encryption/decryption of database data.
- Data masking: Conversion of production data into less sensitive test data for use in development environments.
- Web Application Firewalls: Since many database breaches result from web application attacks, typically SQL injection, we've included WAFs to block those attacks. WAFs are one of the only post-application-deployment tools available to directly address database attacks at the application level. (We considered adding additional application security options, but aside from secure development practices, which are well beyond the scope of this project, WAFs are pretty much the only tool designed to actively protect the database.)
Manage
The triumvirate of ongoing systems and application management -- configuration management, patch management, and change management.
- Configuration management: Keeping systems up to date with configuration standards... including standards that change over time due to new requirements.
- Patch management: Keeping systems up to date with the latest patches.
- Change management: Databases updates on a regular basis; including structural/schema changes, data cleansing, and so on.
Yes -- that's a whole heck of a lot of territory to cover, which is why I stayed fairly terse in this post. In talking with Adrian (who is co-leading this project) we think most organizations lump this activity into 3 buckets/sub-processes:
- Normal database management activities: primarily configuration and patch management -- typically managed by database administrators.
- Database assessment.
- Monitoring and auditing.
No, that doesn't capture everything in the main process, but that's how most organizations which have database security programs break things out. We have simplified the tasks at the high level, but requirements and policies may come from groups external to database operations -- such such as security, privacy, audit, and compliance. If you are a DBA reading this overview process, you could go through this exercise to build out your cost model for simple operations very quickly. The model will hopefully scale just as well for organizations with more complex systems, but will take longer to account for all of your requirements.
This brings up two big questions we could use some help with:
- Does the structure work? You'll notice I didn't list this out as one straight process, but as a series of ongoing, overlapping, and related processes.
- Are we missing anything? Should we move anything? Insert, update or delete?
Thanks... in our next posts we're going to start walking through the model and detailing all the sub-processes so we can come back to them and build out the metrics.
Index to other posts in Project Quant for Database Security.
- An Open Metrics Model for Database Security: Project Quant for Databases.
- Database Security: Process Framework.
- Database Security: Planning.
- Database Security: Planning, Part 2.
- Database Security: Discover and Assess Databases, Apps, Data.
- Database Security: Patch.
- Database Security: Configure.
- Database Security: Restrict Access.
- Database Security: Shield.
- Database Security: Database Activity Monitoring.
- Database Security: Audit.
- Database Security: Database Activity Blocking.
- Database Security: Encryption.
- Database Security: Data Masking.
- Database Security: Web App Firewalls.
- Database Security: Configuration Management.
- Database Security: Patch Management.
- Database Security: Change Management.
- DB Quant: Planning Metrics, Part 1
- DB Quant: Planning Metrics, Part 2
—Rich