An attack tree and a threat tree are the same thing. In a traditional application threat model, you start with the component that you're building, (be that the entire application, a component or function, a data flow, etc.) and enumerate the potential threats to that component.
When you're building an attack tree, the development is reversed. You start with the attacker's end goal, and then enumerate the possible ways you could achieve the end goal, and only then look at the application to find locations where it may be vulnerable to the vectors you've identified.
As Adam Shostack mentioned in his answer, attack trees are generally more suited to more advanced practitioners, and usually as a complement to traditional threat models, not a replacement for them.
Ideologically, attack trees are more a red-team style attacker-centric approach to the problem, which can provide useful additional insight.
there is one tree for each threat goal
. Also the termthreat tree
might be different from anattack tree
or are they same? Since an attack is a process and threat might be just an logical assumption that a risk exists which has agents or threat agents giving birth to security risks?