skip to content

In ATT&CK, what is the difference between a deprecated technique and a revoked one?

level: middleimportance: should knowfreq 38%

answer

  1. one has a forwarding address
  2. both stay in the released data
  3. which one a script can migrate
  4. no successor means a person decides
  5. the split case is neither of the two

basics

~20 s

Revoked means replaced: the object names the technique that superseded it, so an old reference migrates mechanically. Deprecated means withdrawn with no successor, so nothing can be migrated and a person must re-judge the behaviour.

solid answer

~50 s

Both mark an identifier you would no longer write today, and both objects stay in the released ATT&CK data rather than vanishing - that is what lets an old reference still be resolved. The difference is whether there is a forwarding address. A **revoked** technique was replaced by another object and carries a relationship naming its replacement: `T1527` Application Access Token is revoked in favour of `T1550.001`. A **deprecated** technique was withdrawn - judged out of scope, or not a distinct behaviour - with no replacement named. The practical consequence shows up when you migrate a back-catalogue of mappings: the revoked ones resolve in one automated hop, and the deprecated ones will silently fall out of your migration unless you handle them, because there is no target to point at. Those need a person to decide what the underlying behaviour is called now, or an honest note that the reference stays pinned to its original release.

go deeper

for a junior

Know that some ATT&CK identifiers stop being current, that they are not deleted from the published data, and that some of them name a replacement while others do not.

for a middle

Explain the asymmetry precisely - revoked carries a pointer to its successor, deprecated has none - and say what each means for a bulk migration of old references.

for a senior

Show the third case people miss: a split parent is neither revoked nor deprecated, so an old parent-level reference is valid and must not be pushed down to a guessed child.

for a principal

Set the rule that granularity is never back-filled. Migrating what is mechanically resolvable is free; inventing detail nobody recorded creates claims the organisation cannot defend later.

## Two different endings for an identifier ATT&CK is revised roughly twice a year, and each release retires some identifiers. The catalogue distinguishes two ways an identifier can stop being current, and the distinction is not pedantry - it decides whether an old reference can be migrated by a script or needs a person. **Revoked.** The object was *replaced* by another object. The revoked technique remains in the released data, flagged as revoked, and carries a relationship pointing at the replacement. The canonical mass example is the July 2020 sub-technique restructure: `T1527` Application Access Token was revoked in favour of `T1550.001` Use Alternate Authentication Material: Application Access Token. The behaviour is identical; the catalogue decided it belonged underneath a broader parent. Anywhere a revoked identifier appears in an old mapping, you can follow the published pointer to the current identifier without exercising any judgment at all. **Deprecated.** The object was *withdrawn* and nothing took its place. This happens when the authors decide something was not a distinct technique after all, when it was out of scope for the matrix, or when it was better expressed some other way that is not a one-to-one substitute. A deprecated object is also retained in the data, flagged, so an old reference can still be looked up and understood - but there is no forwarding address. Neither kind appears in the current matrix. Both remain resolvable. That retention is deliberate: the catalogue's authors know that years of published material cite the old numbers, and deleting the objects would make that material unreadable. ## Why the distinction bites Suppose you hold five years of mappings and you want them all expressed against the current release. Write the obvious migration and it will do the following: - **Revoked identifiers**: resolved correctly, one hop each, no judgment needed. This is most of the volume from the v7 restructure and it is genuinely cheap. - **Deprecated identifiers**: no target. Whatever your code does with a missing target - drop the row, leave it null, throw - it is now a hole in the data that nobody will notice, because the count that comes out the other end still looks plausible. - **Split parents**: the third case, and the one that catches people who have learned the first two. `T1078` Valid Accounts was not revoked and was not deprecated; it is still live, and it merely gained four children. A migration cannot push an old `T1078` reference down to `T1078.004` Cloud Accounts, because the original author never asserted which kind of account it was. Guessing manufactures precision. So a migration has three outcomes, not two: mechanically resolvable, mechanically unresolvable, and *already valid but coarse*. Only the first should be automated. ## Handling the unresolvable ones honestly For a deprecated identifier the defensible move is to keep the original reference, stamp it with the ATT&CK release it was written against, and record that it has no current successor. If someone genuinely needs that behaviour expressed in current vocabulary, a person reads the underlying description and picks a technique - and that is a judgment with their name on it, not a data transformation. The move to avoid is quietly rewriting a deprecated reference to "the nearest surviving technique". That looks like tidiness and it is fabrication: it puts a claim into the record that no one ever made, and the original material that would let a later reader check it is usually gone. ## What the interviewer is testing The weak answer treats the two words as synonyms for "old", which tells the interviewer you have cited ATT&CK but never worked with its data. The strong answer names the asymmetry - one has a successor, one does not - and then goes straight to the consequence, because the consequence is the whole reason the catalogue bothers to distinguish them.

  • Does a revoked technique disappear from the released ATT&CK data?
    No. It stays, flagged as revoked, with the relationship naming its replacement - and that is precisely what makes an old reference resolvable years later. If revoked objects were deleted, every published account citing an old number would become uninterpretable.
  • Why does this distinction matter when you migrate a back-catalogue of mappings?
    Because only revoked identifiers resolve automatically. Deprecated ones have no target, so they silently fall out of a naive migration and leave a hole that the output still makes look plausible. They need a person, or an honest note that they stay pinned to their original release.
  • A parent technique gained sub-techniques. Is the old parent-level reference now wrong?
    No. The parent is still a live identifier and the old reference is valid, just coarser than you could write today. Pushing it down to a specific child requires knowing detail the original author never recorded, so leave it at parent level.

saying these in an interview costs you the question

  • Uses deprecated and revoked interchangeably
  • Says retired objects are deleted from the data
  • Auto-maps deprecated IDs to the nearest surviving technique
  • Pushes a parent-level reference down to a guessed sub-technique
  • Thinks migration is always fully automatable

context