Skip to main content
TACUNS
Module 4 of 8
50% complete
Module 4

App-ID & Application Control

What Is App-ID?

App-ID is Palo Alto Networks' patented traffic classification technology. It identifies the application running on any connection — regardless of the port, protocol, or whether the traffic is encrypted. Traditional firewalls assume that port 443 means HTTPS web browsing. App-ID knows that port 443 might be web-browsing, Zoom, Dropbox, Slack, Office 365, or any number of other applications.

This distinction is the foundation of modern NGFW security. You cannot write effective security policy around applications if you cannot accurately identify what application is running.

How App-ID Works — Four Mechanisms

1. Application Signatures

The first and most common mechanism. PAN-OS maintains a database of application signatures — patterns extracted from the actual application protocol stream. These signatures match against the payload of connections to identify the application uniquely.

2. Application Protocol Decoding

Some protocols are complex enough that signatures alone are insufficient. App-ID includes full protocol decoders for common applications (HTTP, FTP, DNS, SMTP, and many others). The decoder parses the protocol structure to identify sub-applications within — for example, identifying that an HTTP connection is specifically the Facebook social-networking application rather than generic web browsing.

3. Heuristics

When signature and decoding do not yield a definitive match, App-ID applies behavioral heuristics — statistical analysis of packet sizes, connection patterns, timing, and other characteristics. This helps identify encrypted or obfuscated applications that cannot be matched by signatures.

4. Behavioral Analysis

For unknown or highly obfuscated applications, App-ID performs behavioral analysis across multiple packets and sessions. This is the most computationally intensive mechanism and is used as a last resort.

App-ID vs Port-Based Firewall

Consider TCP port 443. A traditional firewall sees one rule: allow TCP/443. App-ID sees dozens of distinct applications, each of which may warrant different treatment.

Application (App-ID)Actual Port UsedBusiness Risk
web-browsingTCP 443Low — standard HTTPS browsing
facebook-baseTCP 443Medium — social media, time waste, data sharing
youtubeTCP 443Medium — bandwidth consumption, productivity
zoomTCP 443 / UDP 8801Low — business collaboration
dropboxTCP 443High — potential data exfiltration
bittorrentVariousHigh — piracy, malware delivery, massive bandwidth
sslTCP 443Unknown — SSL wrapper; app inside not yet identified

Unknown Applications

When App-ID cannot identify an application, traffic is classified as unknown-tcp or unknown-udp. These should always be investigated — they may represent new business applications, misconfigured software, or malicious traffic trying to evade detection. Never allow unknown traffic by default.

Application Database

PAN-OS ships with a database of over 4,000 application definitions, updated weekly through content updates. Each application entry includes:

  • Category (collaboration, media, social-networking, networking, business-systems, etc.)
  • Subcategory (video-conferencing, file-sharing, email, etc.)
  • Technology (browser-based, client-server, peer-to-peer, network-protocol)
  • Risk level (1 Low to 5 Critical)
  • Characteristics: does it transfer files, does it tunnel other apps, is it evasive, prone to misuse
  • Default ports and protocols
  • Dependent applications

Application Dependencies

Some applications cannot operate without underlying transport applications. PAN-OS models these as application dependencies. When you allow an application, you must also allow its dependencies, or App-ID will not function correctly.

ApplicationDepends OnReason
gmailssl, web-browsingGmail runs over HTTPS via a browser or thin client
office365-basessl, web-browsing, msrpcO365 uses HTTPS and Microsoft RPC
sharepoint-onlinessl, web-browsing, office365-baseSharePoint Online depends on O365 infrastructure
youtubessl, web-browsingYouTube streams over HTTPS
zoomssl, web-browsing, zoom-meetingZoom uses HTTPS for control plane

In the application browser (Objects → Applications → select an app → view Dependencies tab), PAN-OS shows all dependencies. The Policy Optimizer also flags missing dependencies in existing rules.

Application Groups and Filters

Application Groups

Application groups are static, manually curated collections of applications. Example: an "Approved-Collaboration-Apps" group containing zoom, webex, teams, and slack. A single security rule can reference the group instead of listing each app individually. When a new approved app is added to the group, all rules referencing it update automatically.

Application Filters

Application filters are dynamic — they automatically include all applications matching specified criteria (category, subcategory, technology, risk level, or characteristics). Example: a filter for all applications where risk = 4 or 5. As Palo Alto Networks adds new high-risk applications to the database, they automatically fall into the filter and get blocked by the rules referencing it.

Custom Applications

When internal or niche applications are not in the App-ID database, you can create a custom application definition. Custom apps support:

  • Custom signatures based on payload patterns (regex or fixed string)
  • Port-based identification as a fallback
  • Assigning category, subcategory, risk level, and characteristics
  • Defining dependencies on standard App-ID applications

Custom applications integrate fully with security policy — they appear in the application drop-down list alongside standard App-ID applications.

Application Override Policy

Application override allows you to bypass App-ID classification for specific traffic and manually assign an application name. This is useful for trusted internal applications where App-ID processing overhead is unacceptable, or for proprietary protocols that would otherwise be classified as unknown.

Use Sparingly

Application override bypasses all App-ID, Content-ID, and threat inspection for matching traffic. It should only be used for trusted, well-understood internal traffic where performance is critical. Never apply application override to internet-bound traffic.

Best Practice: Migration to App-ID

Enable App-ID on your existing port-based rules without changing the action. Log what applications are actually traversing each rule for 30–90 days.

Use the Application Command Center (ACC) and App-ID logs to build an inventory of what applications are on your network and which users are running them.

Create App-ID-based allow rules for verified business applications with appropriate profile groups attached. Place them above the legacy port-based rules.

After validating the App-ID rules catch all legitimate traffic, tighten or remove the legacy port-based rules. Monitor for breakage and iterate.

Unknown TCP/UDP traffic remaining after migration should be investigated, not silently permitted. Block unknown traffic and build a process to review and approve exceptions.