Security & recovery

Database attack surface defense

How database breaches often start with a valid login or an overprivileged app — and how to test admins, keys, copies, and restore before you need them.

Diagram for Database attack surface defense
Database attack surface defense

A database can be encrypted and still lose data. A stolen login, an app role that can read too much, or a bulk export that nobody tracks can all look like normal work until the damage is done.

This guide is for DBAs, application owners, and security teams. It maps common ways data leaves or gets changed, what each control actually stops, and how to test recovery when production admin access is no longer trustworthy. The ideas apply across engines; examples lean on SQL Server where that helps.

Scope: defensive planning only — no exploit recipes. Study attack paths so you can harden systems you are allowed to touch.

The idea in simple terms

Think of the database as a vault with several doors. Each door is a normal business path — not a Hollywood exploit. Teams in Nepal facing residency or privacy rules can also read the Nepal: policy vs proof sidebar for local examples.

Many doors, one vault. Disk encryption locks the safe. It does not stop someone who already has a badge and walks out with a printout. Hover a door to highlight its text.
DoorIn simple wordsWhat usually goes wrongWhat “good” looks like
Front doorThe network path that reaches the databaseThe database port is open to the Internet, or too many machines can connectOutside tests cannot reach the database; only approved app networks can
Staff badgeWho is allowed to log in as a privileged userShared passwords, reused logins, or weak MFA — one stolen secret is enoughEach admin has their own account; phishing-resistant MFA on interactive login
Loading dockHow large amounts of data leave the systemBulk exports, dumps, or analytics sync look like normal work and nobody tracks themBig extracts need approval, a clear destination, and monitoring of unusual read volume
Master keysWho can decrypt, administer, or wipe recoveryDBA, cloud IAM, KMS, and backup consoles share the same people or passwordsProduction admins cannot freely change protected backups or key recovery
Side alleyHelpers and tools that sit outside the main appVendor remote support, deploy pipelines, or linked servers keep standing high accessVendor and CI access is time-boxed, recorded, and reviewed

1. Typical database estates

In many production environments — public sector, finance, SaaS — the layout looks like this. The picture is familiar worldwide.

Common layout. Hover a box to highlight its text and the matching row in the table below. Encryption on disk does not answer who can export or wipe recovery.
Part of the estateIn simple wordsWhat we often seeWhy it matters
Edge pathHow users and attackers first reach your networkFirewall / VPN / WAF coverage is uneven; some paths are watched, others are notIf one path is open, everything behind it is easier to reach
ApplicationsThe software staff and customers use every dayApp accounts can read almost every table (“the app needs everything”)A stolen app token or injection bug becomes a wide data leak
Admins / vendorsPeople who maintain the systemShared DBA logins and standing vendor accessOne compromised admin account can dump data or break recovery
IdentityThe login system (IdP)Passwords only, or MFA that is easy to phishAttackers prefer stealing a valid login over breaking encryption
Primary databaseWhere the real business records liveTrusted by apps, ETL, and backup toolsControls must sit on identity and authorization, not only on the disk
Replicas / HAStandby copies for uptimeTreated as “disaster recovery” even though they copy every writeBad or fraudulent changes land on the replica too
Warehouse / BIReporting and analytics copiesExtra copies with weaker rules and unclear ownersSensitive rows leave the approved boundary without anyone noticing
BackupsYour last chance to restoreSame admins and passwords as production; restore rarely practicedRansomware or a bad admin can delete recovery with the same credential
KeysWhat unlocks encrypted files and backupsOne person can both run production and manage keysLost or stolen key access can make “immutable” backups unreadable

Patterns to keep in mind (same themes as the table):

  • Encryption at rest (TDE or volume encryption) is often already on.
  • TLS is improving, but some app servers still skip certificate checks.
  • Monitoring still hunts malware more than odd but legitimate data access.

2. Common gaps

Eight estate issues: public listeners, shared DBA accounts, over-broad app roles, untracked copies, shared backup admins, BYOK limits, green backup jobs, and treating replicas as the only DR
Checklist green is not the same as safe. A passed audit form can still lose data through an ordinary authenticated read.
IssueWhy it matters
Public or over-exposed listenersAttackers can reach the engine without owning the whole network
Shared DBA / sa-style accountsOne stolen secret can mean full authority
App roles that can SELECT everythingInjection or token theft becomes a wide read
Untracked copiesLaptop dumps, CI fixtures, BI extracts, support attachments
Backup admins = production adminsRansomware can disable recovery with the same credential
“BYOK enabled” on a slideKeys in a provider KMS still decrypt for authorized cloud services
Green backup jobsJobs succeed while restores fail (wrong tool, missing logs, lost keys)
Replicas treated as the only DRStandbys copy bad writes as faithfully as good ones; they are not a substitute for point-in-time backup

3. Risk factors

Weakness is not one CVSS number. Use the scorecard to prioritize work — not to predict breach odds.

Weak versus stronger signals for identity, network, authorization, crypto, and recovery
Planning aid. One serious gap (for example shared backup admin) can matter more than several minor ones. Weight by data sensitivity, reachable privilege, and recovery dependencies.
Risk factorWeak signalStronger signal
IdentityPassword-only admins; shared loginsPhishing-resistant MFA; unique named admins
NetworkDB reachable from Internet or flat LANPrivate listener; microsegmentation
AuthorizationTable-level “app_user = dbo-lite”Object/row checks; least privilege; governed export path
Crypto boundaryTDE onlyTDE plus column/client encryption for sensitive fields
Copy controlUnknown ETL and “temporary” dumpsCopy register; approved bulk export with monitoring
RecoverySame IdP for prod and backupTested independence; enforced retention; key recovery proven
DetectionAntivirus on the host onlyExport baselines; privilege-change alerts; audit heartbeat
Supply chainStanding vendor DBA accessTime-boxed PAM; recorded sessions

Prioritization order (illustrative): privileged identity or recovery compromise → app paths that allow mass disclosure → backups sharing prod authority → unknown copies → silent row changes → unpatched engines → shared DR dependencies → lost or untested keys.


4. Attack paths (defensive catalog)

Attackers usually want one of a few outcomes: copy data, alter records, deny service, or control recovery. The paths below are categories for control design — not instructions.

Nine defensive attack-path categories from valid sessions through supply-chain abuse and direct exposure
Map controls to outcomes. Each path needs different detection and evidence.

Path A — Valid session, normal features

Stolen credential → VPN or app login → Over-broad role
→ Query or export → Data leaves

Storage encryption does not help if the principal is allowed to read the data. Mandiant’s 2024 write-up of UNC5537 is a useful example for this path only: stolen customer credentials and missing customer-side controls on certain Snowflake deployments — not a claim that every cloud platform was breached.

Path B — Application abuse (injection or weak object checks)

Reach app → Inject or skip authorization → Unauthorized READ/UPDATE
→ Fraudulent change replicated everywhere

Fix SQL injection and per-record authorization. A “clean” query can still exfiltrate if the app role is too wide.

Application attack chain from internet request through app identity to SQL impact, cut by secure coding, least privilege, and protected recovery
Break the app path first. If one token can read every sensitive table, fix roles before buying another edge box.

Path C — Admin, vendor, or pipeline compromise

Phish DBA / steal cloud IAM / poison update → Privileged access
→ Disable audit or retention → Dump or encrypt

IdP, orchestration, backup consoles, and KMS often beat a single table CVE in impact.

Path D — Recovery targeted first

Backup-admin rights → Shorten retention / delete copies / break keys
→ Ransomware or wipe → No clean restore

Test which admin can change retention, delete protected versions, or reach encryption keys — not just whether a checkbox says “immutable.”

Path E — Living off the land

Ordinary admin tools → Native dump, replication, PowerShell, cloud CLI
→ Slow exfil to “approved” storage

Defenders hunt binaries; attackers use your sqlcmd, bcp, SSMS, pg_dump, and sync jobs.

Path F — Integrity without outage

Insider or stolen DBA → Change registry / ledger fields
→ Replication spreads the lie → Backups preserve false state

Checksums prove bytes; they do not prove a land transfer is legitimate.

Path G — Availability without engine exploit

Saturate upstream links / expensive authenticated queries / key service outage
→ App cannot connect or decrypt

Private DB listeners do not fix saturated ISP paths or KMS dependencies.

Path H — Copies and supply chain

Contractor laptop → VPN → Prod read role
  or  Analytics sink / ticket attachment / foreign SaaS sync
→ Rows leave the intended boundary

Path I — Direct exposure and patch debt

Internet-facing SQL or RDP → Credential guess or known CVE
→ foothold → lateral move toward data

Shodan-style exposure and missed engine, driver, and extension patches belong in the same program as identity work.


5. Tool categories attackers reuse

Defenders should know these classes. Legitimate staff use the same tools daily.

Nine attacker tool categories with icons: credentials, access brokers, database clients, cloud consoles, living off the land, C2, ransomware, exfil, and scanners
Watch paths, not product bingo. Block and monitor identity, export, backup admin, and public listeners.
CategoryExamples of tool classesDefensive implication
Credential accessPhishing, infostealers, token theftPhishing-resistant MFA; short-lived tokens
Access brokersStolen VPN/RDP/cloud sessionsAssume reuse; device and geo anomalies
Database clientsSSMS, sqlcmd, bcp, JDBC/ODBC, pg_dump (legacy Azure Data Studio may still appear on old laptops — retired Feb 2026)PAM gateways; session recording on jump hosts
Cloud / IdP consolesAzure Portal, AWS Console, IAM CLIBreak-glass accounts; alert on role grants
Living-off-the-landPowerShell, curl, scheduled tasksEDR on admin boxes; script constraints
Ransomware / wipersCommodity encryptorsOffline/WORM copies; clean-room restore
Exfil channelsHTTPS to cloud storage, sync toolsEgress rules; DLP; volume baselines
ScannersInternet-wide probes for RDP/SQLNo public DB ports; patch SLAs

6. Why suspicious activity goes unnoticed

Six reasons attackers blend in: antivirus-only hunting, trusted logins, logs on the same host, no export baseline, shared admins, untested backups
They often look like normal work. Baseline exports, privilege grants, retention changes, and missing audit heartbeats.
Blind spotWhat happens
Signature-only stacksLiving-off-the-land leaves little to hash
“Authorized = safe”Large SELECTs and exports ignored
Audit on the attacked hostLogs never reach the SIEM
No export baselineNobody knows normal row/byte volume
Shared accountsNo attribution for sa / shared DBA
Silent forwardersDashboards stay green when shipping stops
Integrity gapsFraudulent updates look healthy
Backup success ≠ recoveryRetention shortened while jobs stay green

Signals worth operationalizing — pick what your stack can actually emit; assign an owner and a test:

SignalTypical sourcePrerequisiteWho respondsHow to test
Privileged human login without expected MFAIdP / PAM (not the SQL engine)MFA enforced at IdP or gateway for interactive adminSOC / identity teamRed-team login from new device; confirm alert
Unusual export or read volumeApp logs, DB gateway, DAM, or storage egressBaseline per role/service; note response_rows in SQL audit is not universal on all SQL Server editions (audit records)SOC + app ownerSimulate large read in lower env; confirm ticket
New replication / linked server / dump jobSQL Agent, config tables, change ticketsInventory of approved jobsDBA + SOCCreate test job; must page or queue
Backup retention or immutability changeBackup product API / cloud auditSeparate backup admin testedBackup ownerAttempt change with prod admin; should fail or alert
Audit forwarder heartbeatLog platformOff-host shippingSOCStop forwarder deliberately; alert within SLA
KMS decrypt spikeCloud audit logsSupporting signal only — caching decouples keys from each row readSecurity engineeringCompare with app export metrics, not alone

Workload identities (services, CI jobs) do not get interactive MFA prompts. Scope their credentials, rotate often, and monitor what they can read — the same as human admins.

CISA and others document living-off-the-land persistence: hunt unusual use of legitimate admin tools, not only new malware files. See CISA advisory AA24-038A (PRC state actors, critical infrastructure) as one public example.


7. Principles that change outcomes

  1. Assume stolen identity — design for compromised IdP and sessions.
  2. Least privilege — separate app, migration, analytics, replication, backup, and security roles.
  3. Private data paths — authenticate every hop; no Internet-facing DB listener.
  4. Encrypt for the right threat — TDE is not a column trust boundary (Always Encrypted when DBAs must not see values).
  5. Govern copies — dumps, replicas, and warehouses are in scope.
  6. Recovery independence — prod compromise must not easily admin backups, keys, or offline copies (separate IdP is one pattern; test federation and shared break-glass).
  7. Prove restore — clean-room plus business reconciliation, not only “files restored.”
  8. Detect behavior — exports, grants, retention, missing audit.
  9. Minimize retention — less stored data means less to steal later.
  10. Evidence over badges — denied cross-tenant tests beat questionnaire rows.

8. Controls, detection, and recovery

8.1 First hardening moves (days, not years)

ActionHelps withDone when
Remove public database portsPath I; reduces direct noise on G/HExternal reachability test fails cleanly
Upstream DDoS / link capacity; query timeouts and limitsPath G saturation / expensive queriesLoad test stays within SLO
Scoped contractor/VPN access; copy registerPath HContractor cannot reach prod without ticketed role
Phishing-resistant MFA; no shared DBA passwordsPath A/CInteractive privileged humans covered
Separate backup admins from production domainPath DSimulated prod admin cannot change protected retention or delete locked test backup
Parameterized SQL; object-level authorizationPath BTenant A cannot read/update tenant B via app
Governed bulk export (see below)Path A/EBulk path needs approval; reads monitored
Ship audit off-host with heartbeatDetectionDeliberate forwarder stop pages SOC
Patch engines, drivers, backup agents, admin toolsPath ISLA met for critical CVEs
Clean-room restore drillAll recovery pathsTimed RTO/RPO + reconciliation signed

Bulk export and “dual control”: approving an export workflow does not stop someone with broad SELECT from copying data row by row. A workable design combines:

  • Application identities scoped to records/columns they need
  • A separate export service or role for large extracts
  • Approval tied to dataset, purpose, and destination
  • Time-limited grants where possible
  • Monitoring of cumulative read volume per identity

Dual approval is one layer in that stack — not a magic database permission.

8.2 Encryption — pick the layer

Data protection layers: TLS in transit, Always Encrypted in use, TDE at rest, backup encryption for recovery
Match control to data state. TDE does not stop an authorized session. Always Encrypted does not replace app authorization.
ControlProtects / enablesDoes not replace
TDE (SQL Server)Data files and TDE-protected database backups at rest (TDE)Authorized SQL session; remember cert/EKM recovery on restore
Volume encryptionStolen disk / copied volume offlineAuthorized session; a copied .mdf out of band may lack the same wrapper
TLS 1.2+ with valid cert chainWire sniffing on the pathStolen credentials; avoid TrustServerCertificate=true in production (SqlClient)
Always EncryptedOperators/DBAs reading selected columns without key accessAttacker with approved app and key access
Always Encrypted with enclavesServer-side operations on protected columns inside an attested enclave (trust the enclave model)Malicious logic in an approved client
External / BYOK keys in cloud KMSCustomer custody and authorization over key useAutomatic provider exclusion — authorized services may still receive plaintext key material (AWS external key stores)
Client-side / app-layer field encryptionPlaintext only where you run cryptoCompromised app host or key in config
Dynamic data maskingCasual over-read in some UIsUsers who can run ad hoc queries may infer values (DDM)

Practical SQL Server pairing: TDE for files/backups at rest; Always Encrypted for national IDs, cards, salaries; app authorization + MFA so the client is not a firehose.

8.3 Buying tools (against a failure scenario)

LayerCandidate classesRole
Edge / DDoSCloudflare, Akamai, carrier scrubbingPath G upstream
NGFW / WAFPalo Alto, Fortinet, F5Segment — not safe SQL by itself
IAM / PAMEntra ID, CyberArk, Delinea, TeleportNamed, time-limited privilege
EDR / XDRDefender, CrowdStrike, SentinelOneAdmin jump boxes
SIEM / SOARSentinel, Splunk, WazuhCorrelate exports, grants, log loss
DAM / native auditGuardium, SQL Audit, pgAuditVisibility — fix authz too
Backup + object lockVeeam, Rubrik, S3 Object LockRetention vs readable recovery are different (Object Lock)
Keys / HSMKey Vault, Managed HSM, VaultTest denial and recovery

Pass/fail on restore proof, key recovery, and no shared default admins before feature scoring.

8.4 Target architecture (trust boundaries)

Hardened architecture with edge controls, PAM, private database listener, external keys, separate recovery, and SOC
Compact target. The diagram is the picture; the boundaries below are what to test.

In words:

  • Users and apps terminate TLS at the app tier; apps use scoped DB identities — not admin shared logins.
  • Administrators reach databases only through PAM/jump hosts with session recording; MFA is enforced at the IdP/gateway for humans.
  • The database listener sits on a private network segment — not the public Internet.
  • Keys live in a service the DBA cannot arbitrarily export; app and DBA key use are separated.
  • Backups and object-lock storage use different admin credentials and runbooks than production; offline or compliance-mode retention is tested against a simulated prod admin.
  • Audit and alerts land in a SIEM the database team cannot silently delete; heartbeats are monitored.
  • SOC owns playbooks for export spikes, grant changes, retention edits, and forwarder loss.

8.5 Detection use-cases (summary)

Use the signal table in section 6. Add correlation: a KMS spike plus a new linked server plus a backup retention change on the same timeline is more interesting than any one event alone.

8.6 Recovery that matches the harm

HarmResponse focus
Data copiedRevoke access; preserve evidence; notify as required — restore does not recall copies
Data alteredIncident command decides write suspension per service; compare trusted history; reconcile later legitimate events
Ransomware / wipeClean-room restore from independent copies; investigate possible theft; do not assume exfil until evidence says so
Keys lostRecover key custody before bulk restore; protected objects may exist but be unreadable
Site / power / ISP lossFailover with fencing; shared power/ISP/admin domain is not independence

Example recovery drill (illustrative RPO 4 hours, RTO 8 hours — set your own):

  1. Charter: name the business service, owners, RPO/RTO, and the ledger/registry/source used to reconcile truth.
  2. Assume prod admin is untrusted: stand up a clean-room host/network; use recovery runbooks and keys that prod admin cannot reach.
  3. Pick a recovery point from evidence — last green backup job is a candidate, not proof of good data.
  4. Restore full/diff/log chain (or platform equivalent), keys, and app config; confirm retention covers the scenario.
  5. Validate twice: DB consistency checks and business reconciliation against independent records.
  6. Re-enter safely: remove the abuse path, rotate secrets, confirm monitoring, get business sign-off before cutover.
  7. Retrospective: record actual RTO/RPO, blockers, and owners for fixes.

Preserve forensic artifacts where you can before destructive steps. For ransomware, follow your incident plan (CISA ransomware guide, NIST SP 800-61 Rev. 3).

GitLab’s 2017 database outage postmortem is a sobering reminder: backup existence ≠ tested restore path — worth reading before you trust a green dashboard (GitLab incident).


9. Example 90-day plan

Ninety days is a sample cadence. Critical services may need faster gates; lower tiers can stretch. If you already have active compromise, exposed break-glass passwords, broken backups, or a wormable CVE — treat that as day zero, not “week four.”

Ninety-day plan including day-zero triage, inventory, exposure, authz, recovery plane, clean-room restore, and detection tuning
Evidence before big spend. Start audit shipping early; use the last month for exercises and tuning.
WindowWorkOwner (example)Evidence
Day 0Active incident, leaked priv creds, failed restore test, emergency patchIncident commander + DBA + securityTicket / war-room record; patch or containment proof
Days 1–15Inventory DBs, copies, privileges, keys, exportsDBA + app ownersSigned copy register
Days 1–14Ship critical audit off-host; route alerts to a named queueSOC + DBADeliberate forwarder stop creates ticket
Days 1–30Close public exposure; MFA; end shared adminsIdentity + networkReachability + privilege report
Days 1–30Patch engines, drivers, backup agents, admin toolsDBA + opsSLA report for critical CVEs
Days 15–45Fix injection/authz; governed bulk exportApp owner + DBATenant isolation negative tests
Days 15–60Separate backup plane; WORM/offline; key recovery testBackup + securityProd admin cannot break protected retention
Day 60Clean-room restore + business reconciliationDBA + business ownerTimed RTO/RPO sign-off
Days 60–90Detection exercises; tune noisy rules; risk reviewSOC + leadershipGo / no-go for larger projects
ControlAccountable roleEvidence of success
Scoped data accessApplication ownerTenant A cannot get tenant B’s rows via supported app paths
Recovery independenceBackup / securityProd admin cannot change protected retention or required recovery keys
Audit healthSOCBroken test feed alerts the on-call responder
RecoverabilityDBA + business ownerIsolated restore meets targets and passes reconciliation

Plan IdP and network changes with dependency checks and a rollback path — security work should not cause avoidable outages.

Large rebuilds, new SOC platforms, or engine migrations can still be right — after exposure, MFA, backup separation, and a restore drill show where the real gaps are. An unsupported database version may force migration; sequence by risk, not by slide deck.


10. Myths

MythReality
“TDE means we’re safe”TDE does not block authorized queries
“BYOK means the cloud never sees plaintext”Authorized services may still use keys per KMS design; BYOK is custody/authorization, not automatic exclusion
“Replicas are our DR”Replicas mirror writes — good for availability, not a substitute for point-in-time backup
“Backups are immutable”Test retention modes, key access, and admin paths — objects can remain while keys are gone
“The firewall handles it”Stolen credentials ride allowed paths
“No alerts means no breach”Living-off-the-land can be quiet
“In-country hosting = sovereign”Location helps, but without admin, key, and copy control it is incomplete — see Nepal: policy vs proof

Closing checklist

Use this as a short pass/fail list. For Nepal-specific evidence language (residency, citizen data, procurement), see Nepal: policy vs proof.

#CheckPass when
01No public database listenerOutside tests cannot reach production database ports
02Named admins + MFAEach privileged person has their own account; phishing-resistant MFA at the IdP or gateway
03Governed exportsBulk extracts need approval and monitoring; app roles only see what they need
04Right crypto layerTDE (or equivalent) for files/backups; column or app encryption where DBAs must not see values
05Recovery independenceA simulated production admin cannot change protected retention or required recovery keys
06Off-host auditStopping the log forwarder creates an alert to a named owner
07Proven restoreClean-room restore + business check within your policy window (for example 90 days)
08Actionable alertsUnusual exports, privilege grants, and retention changes reach someone who can act

Strong database defense is identity + authorization + crypto boundaries + governed copies + independent recovery + behavior detection, checked with exercises — so data stays with the people and institutions it belongs to, not whoever holds the next valid-looking session.

Related: Always Encrypted in SQL Server · SQL Server ransomware defense · Nepal: policy vs proof


Nepal: policy vs proof

This sidebar is for operators and procurement teams in Nepal. The rest of the article is global; use this section when privacy, cybersecurity, data residency, or financial resilience expectations apply locally.

Policies on paper are a start. Auditors and citizens care about proof: an up-to-date copy inventory, independent backup access, control of encryption keys, and a restore that worked in a clean room. The same doors in The idea in simple terms and the same estate parts in Typical database estates still apply — location alone does not close them.

Regulated estates: on-paper controls versus missing copy inventory, key custody, and clean-room restore proof
Hosting in-country is one piece. Admins, keys, support paths, and telemetry decide whether data stays inside the boundary you intend.

Practical checks for operators and procurement:

  1. Location is not custody. A server in Kathmandu still leaks if a vendor session or shared DBA password can export or delete recovery.
  2. Outages erode trust quickly. Trading or citizen-facing downtime becomes a confidence problem — restore success alone does not answer whether rows were copied or altered.
  3. Questionnaire rows ≠ denied export. ISO-style checklists do not replace a test where tenant A cannot read tenant B.
  4. Spend follows evidence. National platform rebuilds, engine swaps “for security,” or new SOC tools wait behind public listener removal, MFA, backup separation, and a restore drill — unless law or unsupported software forces a faster migration.
  5. Privacy is concrete. National IDs, tax and land fields, and health-adjacent data belong in scoped apps — not on contractor laptops or untracked BI dumps.

When you write acceptance criteria for a Nepal-hosted system, reuse the closing checklist and ask for the same evidence: denied cross-tenant reads, admin-delete denial on locked backups, and a signed restore drill.


Learning resources (defenders)

Use ethical-hacking and secure-development material to build detection and authorization tests in environments you own or have written permission to test.

Rule: labs and contracts only — never use these skills against systems you do not administer.
ResourceWhat defenders learnLink
OWASP WSTG & cheat sheetsInjection, access control, SQL hygieneWSTG · SQL Injection Prevention · Database Security
PortSwigger Web Security AcademyHands-on injection and auth labsportswigger.net/web-security
TryHackMeBlue-team oriented pathstryhackme.com
Hack The Box AcademyGuided modules on authorized targetsacademy.hackthebox.com
MITRE ATT&CKMap behaviors to detectionattack.mitre.org
Microsoft LearnTDE, Always Encrypted, SQL securityAlways Encrypted · TDE
NIST SP 800-61 Rev. 3Incident responsecsrc.nist.gov

Sources

Each link supports specific claims in this article:

SourceDateSupports
Google Cloud / Mandiant — UNC5537 Snowflake-related customer credential theftJune 2024Path A credential theft pattern (customer-side controls)
GitLab — postmortem of January 2017 database outageFeb 2017Backup/restore assumptions vs tested recovery
OWASP SQL Injection Prevention Cheat SheetongoingPath B secure coding
OWASP Database Security Cheat SheetongoingHardening checklist themes
Microsoft — Always EncryptedongoingSection 8.2 crypto boundaries
Microsoft — TDEongoingTDE scope and backup encryption
Microsoft — dynamic data maskingongoingDDM limitations
Microsoft — SQL Server audit records (response_rows scope)ongoingDetection table prerequisites
Microsoft — SqlClient connection security (TrustServerCertificate)ongoingTLS validation warning
AWS — external key storesongoingBYOK / external key plaintext boundary
AWS — S3 Object LockongoingRetention vs readability
CISA — AA24-038A (living off the land, critical infrastructure)2024Section 6 detection framing
CISA — Stop Ransomware guideongoingSection 8.6 response
NIST SP 800-61 Rev. 32025Incident response integration
Microsoft — Azure Data Studio retirement noticeFeb 2026Legacy client mention in section 5