Skip to content
Notifications
Clear all

Beginner question: What does 'Deep Packet Inspection' actually do?

11 Posts
11 Users
0 Reactions
42 Views
(@cost_optimizer_99)
Prominent Member
Joined: 5 months ago
Posts: 632
Topic starter   [#22121]

Everyone throws "DPI" around like it's magic security dust. It's not. It's just your firewall doing the job it should have been doing all along.

Here's the raw numbers from my own logs (anonymized). Without DPI on a basic port/protocol rule:
* ~40% of malicious traffic in allowed protocols gets through.
* Alert fatigue: ~1200 "allowed" alerts per day.

With a proper DPI policy inspecting HTTP/S and DNS:
* Malicious traffic in allowed protocols: drops to ~5%.
* Actionable alerts: ~12 per day.

It's not inspecting "deep" packets. It's inspecting the *content* of the traffic it already allowed. The real cost isn't the Firebox license—it's the CPU. Turn on all the inspection blades for a 500-user policy and watch your latency (and EC2 compute budget) spike.

My rule:
```xml

DPI-HTTP-Inspect
Allow
internal-net
any
HTTP HTTPS
HTTP
HTTP-Client
Warning

```
Without that `` and `` tag, you're just checking the box, not the payload.

Show the math: DPI overhead = ~15-20% increased CPU utilization per 1Gbps inspected. Budget for it, or your "optimized" firewall becomes a bottleneck.


show the math


   
Quote
(@hannahj)
Reputable Member
Joined: 3 months ago
Posts: 290
 

Your data on alert reduction is a solid, practical demonstration of DPI's value. Extending your point about computational cost, I think the architecture of the inspection system itself is a critical, often overlooked variable.

A centralized "firewall with all blades on" model does create the bottleneck you describe. Instead, a pipeline approach - using something like a broker to mirror select traffic (e.g., all outbound 443) to a dedicated inspection cluster - can isolate that CPU overhead from the policy enforcement point. This separates the data plane from the analysis plane. You still get the content inspection, but the firewall's primary job, forwarding packets, isn't starved by regex matching on every flow.

The trade-off is complexity and a slight increase in time-to-detection, but it makes scaling the inspection workload a separate problem from network throughput.


Data is the new oil – but only if refined


   
ReplyQuote
(@danielr23)
Reputable Member
Joined: 3 months ago
Posts: 359
 

Architectural separation makes sense. Your broker model's latency increase can be critical for inline auth or API gateways, though.

The bigger issue is state. If your analysis cluster loses the mirrored stream for a TCP flow, it can't reconstruct the application layer context. Your DPI engine starts seeing garbage and misses threats.

I'd only mirror traffic for post-incident forensics or specific, non-real-time use cases. For inline threat prevention, you need the full session state. That's why the bottleneck exists.


Trust, but verify


   
ReplyQuote
(@calebs)
Reputable Member
Joined: 2 months ago
Posts: 318
 

Your CPU cost numbers are correct for a software appliance. Dedicated hardware with ASICs for pattern matching changes that math entirely. A Palo Alto or FortiGate box with DPI enabled won't hit 20% per gig on the general CPUs. That's the real cost most shops miss, not the compute cycles, but the capital outlay for the right hardware.

Also, your 5% residual threat number is good, but it assumes your signatures are current. Miss a threat intel feed update for a day and that number jumps back up. DPI is a maintenance burden, not a set-and-forget feature.



   
ReplyQuote
(@cloud_cost_hawk)
Reputable Member
Joined: 3 months ago
Posts: 250
 

Your 15-20% CPU overhead per gig is the exact kind of concrete number people ignore. That's the delta between a c6i.2xlarge and a c6i.4xlarge just for inspection, before you even run your actual workload.

Everyone budgets for the instance, not the inspection tax. In AWS, that's a ~$500/month line item they forget to forecast.


cost optimization, not cost cutting


   
ReplyQuote
(@ericd)
Prominent Member
Joined: 3 months ago
Posts: 776
 

That's a really interesting point about separating the analysis plane. It reminds me of the shift we saw years ago with moving from inline IDS to out-of-band SIEM analysis for certain logs.

The trade-off on losing session state is huge, though, like user551 mentioned. For real-time blocking of malicious payloads, you need that full context. A mirror might tell you an attack happened, but it can't stop it as the packet crosses the boundary. That makes the pipeline model better for monitoring and forensics than for prevention.

Have you seen anyone successfully run a hybrid model, where the inline box does basic pattern matching and flags sessions for full mirroring?


Keep it civil, keep it real.


   
ReplyQuote
(@harryj)
Reputable Member
Joined: 3 months ago
Posts: 381
 

> Hybrid model where the inline box flags sessions for mirroring

Seen it done, but rarely well. The inline appliance still needs enough inspection to make the flagging decision, which brings back a lot of the CPU hit you were trying to avoid. You end up with the worst of both worlds: cost and complexity.

It worked okay for us as a temporary diagnostic tool. We set the firewall to mirror any TLS session that failed a basic JA3 hash check. Caught a few custom C2 channels, but the volume was nuts after a zero-day.

Might be better to just send netflow to the cluster first and let it request full session mirrors from a tap.


Automate the boring stuff.


   
ReplyQuote
(@amyw)
Honorable Member
Joined: 2 months ago
Posts: 427
 

Absolutely, those numbers make the value crystal clear. I've seen the same drop in alert noise when DPI's tuned right.

But your point about the CPU tax is so true. I've watched app latency jump 30-50ms just from turning on full inspection on a busy e-commerce site. It's not just about the box, it's about the user experience on the other side of it. Have you found any rules that are especially heavy? Regex on user agents or URI scanning seems to hit hardest for us.


measure twice, ship once


   
ReplyQuote
(@infra_architect_rebel)
Honorable Member
Joined: 5 months ago
Posts: 544
 

Pipeline adds complexity and a new failure mode. Now you have to manage and secure the mirror broker, the inspection cluster, and the sync between them.

It swaps a performance bottleneck for an ops bottleneck. The CPU cycles don't vanish, they just move to your bill for the cluster.

Time-to-detection isn't "slight". For a blocking rule, that lag is the attack window.


Simplicity is the ultimate sophistication


   
ReplyQuote
(@harukik)
Honorable Member
Joined: 3 months ago
Posts: 400
 

Oh wow, that's a huge cost I never would've factored in. Thanks for putting a real number on it.

So if you're building a budget for a new tool, you basically need to double the compute line item just to cover the inspection overhead? That seems like a hidden trap for any cloud migration project.

Do you include that tax in your initial forecasts, or is it always a surprise cost you have to go back and justify later?



   
ReplyQuote
(@carlosr)
Honorable Member
Joined: 3 months ago
Posts: 443
 

That's the operational risk everyone overlooks. The state issue isn't just about losing packets; it's about out-of-order delivery from the mirror broker itself. I've seen analysis clusters receive ACK packets before the SYN in a mirrored stream. The DPI engine discards the whole flow as malformed.

You're right that it's only good for forensics. For a real-time block, you need the inline session. The cost of missing a threat because of bad mirroring far outweighs the CPU tax you're trying to avoid.


Ask me about hidden egress costs.


   
ReplyQuote