Internet Engineering Task Force (IETF) P. Cain Request for Comments: 5901 The Cooper-Cain Group, Inc. Category: Standards Track D. Jevans ISSN: 2070-1721 The Anti-Phishing Working Group July 2010
Extensions to the IODEF-Document Class for Reporting Phishing
Abstract
This document extends the Incident Object Description Exchange Format (IODEF) defined in RFC 5070 to support the reporting of phishing events, which is a particular type of fraud. These extensions are flexible enough to support information gleaned from activities throughout the entire electronic fraud cycle -- from receipt of the phishing lure to the disablement of the collection site. Both simple reporting and complete forensic reporting are possible, as is consolidating multiple incidents.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc5901.
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Cain & Jevans Standards Track [Page 1]
RFC 5901 IODEF Phishing Extensions July 2010
Table of Contents
1. Introduction ....................................................3 1.1. Why a Common Report Format Is Needed .......................3 1.2. Processing of Exchanged Data Not Defined ...................4 1.3. Relation to the INCH IODEF Data Model ......................4 2. Terminology Used in This Document ...............................4 2.1. Requirements Language ......................................5 3. Interesting Fraud Event Data ....................................5 3.1. The Elements of a Phishing/Fraud Event .....................6 3.2. Useful Data Items in a Fraud Event .........................7 4. Fraud Activity Reporting via IODEF-Documents ....................8 4.1. Fraud Report Types .........................................8 4.2. Fraud Report XML Representation ............................9 4.3. Syntactical Correctness of Fraud Activity Reports ..........9 5. PhraudReport Element Definitions ...............................10 5.1. PhraudReport Structure ....................................10 5.2. Reuse of IODEF-Defined Elements ...........................11 5.3. Element and Attribute Specification Format ................11 5.4. Version Attribute .........................................12 5.5. FraudType Attribute .......................................12 5.6. PhishNameRef Element ......................................13 5.7. PhishNameLocalRef Element .................................13 5.8. FraudedBrandName Element ..................................13 5.9. LureSource Element ........................................14 5.10. OriginatingSensor Element ................................22 5.11. The DCSite Element .......................................23 5.12. TakeDownInfo Element .....................................25 5.13. ArchivedData Element .....................................27 5.14. RelatedData Element ......................................28 5.15. CorrelationData Element ..................................28 5.16. PRComments Element .......................................28 5.17. EmailRecord Element ......................................28 6. Mandatory IODEF and PhraudReport Elements ......................29 6.1. Guidance on Usage .........................................30 7. Security Considerations ........................................31 7.1. Transport-Specific Concerns ...............................31 7.2. Using the iodef:restriction Attribute .....................31 8. IANA Considerations ............................................32 9. Contributors ...................................................32 10. References ....................................................32 10.1. Normative References .....................................32 10.2. Informative References ...................................33 Appendix A. Phishing Extensions XML Schema .......................34 Appendix B. Example Virus Report .................................43 B.1. Received Email ...........................................43 B.2. Generated Report .........................................44
Cain & Jevans Standards Track [Page 2]
RFC 5901 IODEF Phishing Extensions July 2010
Appendix C. Sample Phishing Report ...............................46 C.1. Received Lure ............................................46 C.2. Phishing Report ..........................................48
Deception activities, such as receiving an email purportedly from a bank requesting you to confirm your account information, are an expanding attack type on the Internet. The terms "phishing" and "fraud" are used interchangeably in this document to characterize broadly-launched social engineering attacks in which an electronic identity is misrepresented in an attempt to trick individuals into revealing their personal credentials (e.g., passwords, account numbers, personal information, ATM PINs, etc.). A successful phishing attack on an individual allows the phisher (i.e., the attacker) to exploit the individual's credentials for financial or other gain. Phishing attacks have morphed from directed email messages from alleged financial institutions to more sophisticated lures that may also include malware.
This document defines a data format extension to the Incident Object Description Exchange Format (IODEF) [RFC5070] that can be used to describe information about a phishing or other type of fraudulent incident. Sections 2 and 3 of this document provides an overview of the terminology and process of a phishing event. Section 4 introduces the high-level report format and how to use it. Sections 5 and 6 describe the data elements of the fraud extensions. The appendices include an XML schema for the extensions and a few example fraud reports.
The extensions defined in this document may be used to report the social engineering victim lure, the collection site, credential targeted ("spear") phishing, broad multi-recipient phishing, and other evolving Internet-based fraud attempts. Malware and other malicious software included within the lure may also be included within the report.
To combat the rise in malicious activity on the Internet, service providers and investigative agencies are sharing more and more network and event data in a coordinated effort to identify perpetrators and compromised accounts, coordinate responses, and prosecute attackers. As the number of data-sharing parties increases, the number of party-specific tools, formats, and definitions multiply rapidly until they overwhelm the investigative and coordination abilities of those parties.
Cain & Jevans Standards Track [Page 3]
RFC 5901 IODEF Phishing Extensions July 2010
By using a common format, it becomes easier for an organization to engage in this coordination as well as correlation of information from multiple data sources or products into a cohesive view. As the number of data sources increases, a common format becomes even more important, since multiple tools would be needed to interpret the different sources of data. A big win in a common format is the ability to automate many of the analysis tasks and significantly speed up the response and prosecution activities.
While the intended use of this specification is to facilitate data sharing between parties, the mechanics of this sharing process and its related political challenges are out of scope for this document.
Instead of defining a new report format, this document defines an extension to [RFC5070]. The IODEF defines a flexible and extensible format and supports a granular level of specificity. These phishing and fraud extensions reuse subsets of the IODEF data model and, where appropriate, specify new data elements. Leveraging an existing specification allows for more rapid adoption and reuse of existing tools in organizations. For clarity, and in order to eliminate duplication, only the additional structures necessary for describing the exchange of phishing and e-crime activity are provided.
Since many people use different but similar terms to mean the same thing, we use the following terminology in this document.
a. Phishing
The overall process of identifying victims, contacting them via a lure, causing a victim to send a set of private credentials to a collection site, and storing those credentials is called phishing.
b. Fraud Event
A fraud event is the combination of phishing and subsequent fraudulent use of the private credentials.
Cain & Jevans Standards Track [Page 4]
RFC 5901 IODEF Phishing Extensions July 2010
c. Lure
A lure is the decoy used to trick a victim into performing some activity, such as providing their private credentials. The lure relies on social engineering concepts to convince the victim that the lure is genuine and its instructions should be followed. A lure includes a pointer or link to a collection site.
d. Collection Site
The website, email box, SMS number, phone number, or other place where a phished victim sends their private credentials for later fraudulent use by a criminal.
e. Credentials
A credential is data that is transferred or presented to establish either a claimed identity or the authorizations of a system entity. Many websites require a user name and password -- combined, they are a credential -- to access sensitive content.
f. Message
Although primarily email, a lure can be transported via any messaging medium, such as instant messages, Voice over IP (VoIP), or text via an SMS service. The term "message" is used as a generic term for any of these transport mediums.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].
Internet-based phishing and fraud activities are normally comprised of at least six components:
1. The phisher, fraudster, or party perpetrating the fraudulent activity. Most times this party is not readily identifiable.
2. The attack source -- the source of the phishing email, virus, trojan, or other attack -- is masked in an enticing manner.
3. The lure used to trick the victim into responding.
4. The user, victim, or intended target of the fraud or phish.
5. The credentials, personal data, or other information the victim has surrendered to the phisher.
6. The collection site, where the victim sends their credentials or personal data if they have been duped by the lure of the phisher. This may be a website, mailbox, phone operator, or database.
If we take a holistic view of the attack, there are some additional components:
o The sensor -- the means by which the phish is detected. This element may be an intrusion detection system, firewall, filter, email gateway, or human analyst.
o A forensic or archive site (not pictured), where an investigator has copied or otherwise retained the data used for the fraud attempt or credential collection.
Cain & Jevans Standards Track [Page 6]
RFC 5901 IODEF Phishing Extensions July 2010
3.1.1. Fraudulent Activity Extensions to the IODEF-Document
Fraud events are reported in a fraud activity report, which is an instance of an XML IODEF-Document Incident element with added EventData and AdditionalData elements. The additional fields in the EventData specific to phishing and fraud are enclosed in a PhraudReport XML element. Fraudulent activity may include multiple emails, instant messages, or network messages, scattered over various times, locations, and methodologies. The PhraudReport within an EventData may include information about the email header and body, details of the actual phishing lure, correlation to other attacks, and details of the removal of the web server or credential collector. As a phishing attack may generate multiple reports to an incident team, multiple PhraudReports may be combined into one EventData structure, and multiple EventData structures may be combined into one incident report. One IODEF incident report may record one or more individual phishing events and may include multiple EventData elements.
This document defines new extension elements for the EventData IODEF XML elements and identifies those required in a PhraudReport. The appendices contain sample fraud activity reports and a complete schema.
The IODEF Extensions defined in this document comply with Section 4, "Extending the IODEF Format" in [RFC5070].
There are a number of subtle and non-obvious data to capture from a fraud event that make the event analysis and correlation with other events more useful. These data can be grouped into categories:
If a lure was presented as part of the fraud event, this category includes the original received lure, the means by which the lure was received (e.g., email, phone, or SMS), and the source addresses that sent the lure. Other useful data includes DNS data about the lure source, identification of any accompanying malware, and the brand name defrauded.
The collection site contains victim identifications, along with copies of data supplied by the victims, such as account names or numbers, passwords, dates of birth, etc. This category of useful data includes these credentials, along with information about the
Cain & Jevans Standards Track [Page 7]
RFC 5901 IODEF Phishing Extensions July 2010
collection site itself, such as its type, site DNS data, DNS registrant data, and site physical location. The location and registrant information is particularly important if law enforcement assistance is expected. Additionally, an entire site archive can be gathered to allow a collector on a shared website to be disabled without impacting other users.
This is a non-obvious data category and contains data on how the lure or collection site was detected. Understanding how the lure was detected allows us to design and implement better detection systems.
In an environment where time is critical, it is imperative that analysis from one party can be reliably explained to and shared with other investigative parties. This grouping includes data that an investigator found interesting or could be useful to others.
4. Fraud Activity Reporting via IODEF-Documents
A fraud activity report is an instance of an XML IODEF-Document with additional extensions and usage guidance, as specified in Section 4 of this document. These additional extensions are implemented through the PhraudReport XML element.
As described in the following subsections, reporting fraud activity has three primary components: choosing a report type, a format for the data, and how to check the correctness of the format.
There are three actions relating to reporting phishing events. First, a reporter may *create* and exchange a new report on a new event. Secondly, a reporter may *update* a previously exchanged report to indicate new collection sites, site takedown information, or related activities. Lastly, a reporter may have realized that the report is in error or contains significant incorrect data and that the prudent reaction is to *delete* the report.
The three types of reports are denoted through the use of the ext-purpose attribute of an Incident element. A new report contains an empty or a "create" ext-purpose value; an updated report contains an ext-value value of "update"; a request for deletion contains a "delete" ext-purpose value. Note that this is actually an advisory marking for the report originator or recipient, as operating procedures in a report life cycle are very environment specific.
The IODEF Incident element ([RFC5070], Section 3.2) is summarized below. It and the rest of the data model presented in 4">Section 4 is expressed in Unified Modeling Language (UML) syntax as used in the IODEF specification. The UML representation is for illustrative purposes only; elements are specified in XML as defined in Appendix A.
Figure 4.1. The IODEF XML Incident Element (Modified)
A fraud activity report is composed of one iodef:Incident element that contains one or more related PhraudReport elements embedded in the iodef:AdditionalData element of iodef:EventData. The PhraudReport element is added to the IODEF using its defined extension procedure documented in Section 5 of [RFC5070].
One IODEF-Document may contain information on multiple incidents with information for each incident contained within an iodef:Incident element ([RFC5070], Section 3.12).
4.3. Syntactical Correctness of Fraud Activity Reports
The fraud activity report MUST pass XML validation using the schema defined in [RFC5070] and the extensions defined in Appendix A of this document.
Cain & Jevans Standards Track [Page 9]
RFC 5901 IODEF Phishing Extensions July 2010
5. PhraudReport Element Definitions
A PhraudReport consists of an extension to the Incident.EventData.AdditionalData element with a dtype of "xml". The elements of the PhraudReport will specify information about the six components of fraud activity identified in Section 3.1. Additional forensic information and commentary can be added by the reporter as necessary to show relation to other events, to show the output of an investigation, or for archival purposes.
A PhraudReport element is structured as follows. The components of a PhraudReport are introduced in functional grouping, as some parameters are related and some elements may not make sense individually.
Relevant information about a phishing or fraud event is encoded into six components as follows:
a. The PhishNameRef and PhishNameLocalRef elements identify the fraud or class of fraud.
b. The LureSource element describes the source of the attack or phishing lure, including host information and any included malware.
Cain & Jevans Standards Track [Page 10]
RFC 5901 IODEF Phishing Extensions July 2010
c. The DCSite element describes the technical details of the credential collection site.
d. The OriginatingSensor element describes the means of detection.
The RelatedData, ArchivedData, and TakeDownInfo fields allow optional forensics and history data to be included.
A specific phish/fraud activity can be identified using a combination of the FraudType, FraudParameter, FraudedBrandName, LureSource, and PhishNameRef elements.
Elements, attributes, and parameters defined in the base IODEF specification were used whenever possible in the definition of the PhraudReport XML element. This specification does not introduce any new variable types or encodings to the IODEF data model, but extends the IODEF Contact and System elements.
The data model schema contains a copy of the iodef:System element. Although we would like to just extend the System element, it is defined in RFC 5070 with an unable-to-extend anonymous type, so we copied the element, named its underlying type, and then generated the extension to it.
Note: Elements that are imported from the base IODEF specification are prefaced with an "iodef" XML namespace and are noted with the section defining that element in [RFC5070]. Each element in a PhraudReport is used as described in the following sections.
The following sections describe the components of a PhraudReport XML element. Each description is structured as follows.
1. A terse XML-type identifier for the element or attribute.
2. An indication of whether the element or attribute is REQUIRED or optional. Mandatory items are noted as REQUIRED. If not specified, elements are optional. Note that when optional elements are included, they may REQUIRE specific sub-elements.
3. A description of the element or attribute and its intended use.
Cain & Jevans Standards Track [Page 11]
RFC 5901 IODEF Phishing Extensions July 2010
Elements that contain sub-elements or enumerated values are further sub-sectioned. Note that there is no "trickle-up" effect in elements. That is, the required elements of a sub-element are only populated if the sub-element is used.
REQUIRED. One ENUM. The FraudType attribute describes the type of fraudulent activity described in this PhraudReport. The FraudType chosen determines the value of the FraudParameter filed. This field contains one of the following values:
1. phishing. The FraudParameter should be the subject line of the phishing lure email or value of a lure IM or VoIP message. This type is a standard phishing lure, usually sent as email, and is intended to exploit the recipient's credentials for financial gain.
2. recruiting. The FraudParameter is the subject line of the recruit, or mule, email or message.
3. malware distribution. The FraudParameter is the email subject line of the phishing email. This type of email phish does not pose a risk of financial loss to the recipient, but lures the recipient to an infected site.
4. fraudulent site. This identifies a known fraudulent site that does not necessarily send spam but is used to show lures. The FraudParameter may be used to identify the website.
5. dnsspoof. This choice does not have a related FraudParameter. This value is used when a DNS system component responds with an untrue IP address for the requested domain name due to either cache poisoning, ID spoofing, or other manipulation of the DNS system.
6. archive. There is no required FraudParameter for this choice, although the FraudParameter of the original phish could be entered. The data archived from the phishing server is placed in the ArchivedData element.
7. other. This is used to identify not-yet-enumerated fraud types.
Cain & Jevans Standards Track [Page 12]
RFC 5901 IODEF Phishing Extensions July 2010
8. unknown. This choice may have an associated FraudParameter. It is used to cover confused cases.
9. ext-value. This choice identifies an unidentified FraudType. The FraudType should be captured in the ext-value attribute.
Zero or one value of iodef:MLStringType. The contents of this element are dependent on the FraudType choice. It may be an email subject line, VoIP lure, link in an IM message, or a web URL. Note that some phishers add a number of random characters onto the end of a phish email subject line for uniqueness; reporters should delete those characters before insertion into the FraudParameter field.
Zero or one value of iodef:MLStringType. The PhishNameRef element is the common name used to identify this fraud event. It is often the name agreed upon by involved parties or vendors. Using this name can be a convenient way to reference the activity when collaborating with other parties, the media, or engaging in public education.
Zero or one value of iodef:MLStringType. The PhishNameLocalRef element describes a local name or Unique-IDentifier (UID) that is used by various parties before a commonly agreed-upon term is adopted. This field allows a cross-reference from the submitting organization's system to a central repository.
Zero or more values of iodef:MLStringType. This is the identifier of the recognized brand name or company name used in the phishing activity (e.g., XYZ Semiconductor Corp).
REQUIRED. One or more values. The LureSource element describes the source of the PhraudReport lure. It allows the specification of IP addresses, DNS names, domain registry information, and rudimentary support for the files that might be downloaded or registry keys modified by the crimeware.
REQUIRED. One or more values of the iodef:System ([RFC5070], Section 3.15). The system element describes a particular host involved in the phishing activity. If the real IP address can be ascertained, it should be populated. A spoofed address may also be entered, and the spoofed attribute SHALL be set.
Multiple System elements may be used to identify the DNS name and IP address(es) of the lure source.
Zero or more element values. The DomainData element describes the registration, delegation, and control of a domain used to source the lure and can identify the IP address associated with the System element URI. Capturing the domain data is very useful when investigating or correlating events.
Cain & Jevans Standards Track [Page 14]
RFC 5901 IODEF Phishing Extensions July 2010
The structure of a DomainData element is as follows:
REQUIRED. One value of iodef:MLStringType. The Name element contains the host DNS name used in this event. Its value should be the complete DNS host address; e.g., if an event targeted www.example.com, the value would be www.example.com.
Zero or one value of DATETIME. This element includes the timestamp of when this domain data was checked and entered into this report, as many phishers modify their domain data at various stages of a phishing event.
Zero or more values. These fields hold nameservers identified for this domain. Each entry is a sequence of DNSNameType and iodef: Address pairs, as specified below.
REQUIRED. Choice of either a SameDomainContact or one or more Contact elements. The DomainContacts element allows the reporter to enter contact information supplied by the registrar or returned by whois queries. For efficiency of the reporting party, the domain contact information may be marked to be the same as another domain already reported using the SameDomainContact element.
REQUIRED. One iodef:MLStringType. The SameDomainContact element is populated with a domain name if the contact information for this domain is identical to that name in this or another report. Implementors are cautioned to only use this element when the domain contact data returned by a registrar or registry is identical.
REQUIRED. One or more iodef:Contact elements. This element reuses and extends the iodef:Contact elements for its components. Each component may have zero or more values. If only the role attribute and the ContactName component are populated, the same (identical) information is listed for multiple roles.
Each Contact has optional attributes to capture the sensitivity and role for which the contact is listed. Elements reused from [RFC5070] are not discussed in this document.
REQUIRED. ENUM. The Confidence element describes a qualitative assessment of the veracity of the contact information. This attribute is an extension to the iodef:Contact element and is defined in this document. There are five possible Confidence values, as follows.
1. known-fraudulent. This contact information has been previously determined to be fraudulent, as either non-existent physical information or containing real information not associated with this domain registration.
2. looks-fraudulent. The contact information has suspicious information included.
3. known-real. The contact information has been previously investigated or determined to be correct.
Cain & Jevans Standards Track [Page 17]
RFC 5901 IODEF Phishing Extensions July 2010
4. looks-real. The contact information does not arouse suspicion but has not been previously validated.
5. unknown. The reporter cannot make a value judgment on the contact data.
REQUIRED. ENUM. The ext-role attribute is extended from the iodef: ext-role attribute with values identified in RFC 3982 [RFC3982]. The ext-value value of the role attribute should be used, with the ext-role attribute value chosen from one of the following values:
9. hostingProvider. This contact is the hosting provider of this server. Although not in RFC 3982, it is useful in investigations to note where the server is located and who operates it. Load- balanced, multicast, or anycast servers may have multiple hostingProvider contact entries.
REQUIRED. ENUM. The SystemStatus attribute assesses a system's involvement in this event. The value is chosen from this list:
1. spoofed. This domain or system did not participate in this event, but its address space or DNS name was simply used by another party.
2. fraudulent. The system is operated with fraudulent intentions, e.g., the domain name is a homophone.
Cain & Jevans Standards Track [Page 18]
RFC 5901 IODEF Phishing Extensions July 2010
3. innocent-hacked. The system was compromised by a third party and used in this event.
4. innocent-hijacked. The IP address or domain name was deliberately hijacked via BGP or DNS and used in this event to source the lure or host the collection site.
5. unknown. No conclusions are inferred from this event.
ENUM. The DomainStatus attribute describes the registry status of a domain at the time of the report. The following enumerated list is taken from the "domainStatusType" of [RFC3982]. An extra "unknown" value was added in case the status is indeterminable.
Zero or one value. The IncludedMalware element allows for the identification and optional inclusion of the actual malware that was part of the lure. The goal of this element is not to detail the characteristics of the malware but rather to allow for a convenient element to link malware to a phishing campaign.
Cain & Jevans Standards Track [Page 19]
RFC 5901 IODEF Phishing Extensions July 2010
+------------------+ | IncludedMalware | +------------------+ | |<>--(1..*)--[ Name ] | |<>--(0..1)--[ ds:Reference ] | |<>--(0..1)--[ Data ] +------------------+
+-----------------------+ | Data | +-----------------------+ | hexBinary XORPattern | +-----------------------+
REQUIRED. One or more values of iodef:MLStringType. This field is used to identify the lure malware by its known name. Unnamed malware may be identified by a value of "unknown".
Zero or one value of the Reference. This optional field is used to hold the algorithm identification and value of a hash computed over the malware executable. This entire element is imported from [RFC3275]. Implementations SHOULD support the use of SHA-1 [SHA] as a DigestMethod.
Zero or one value. The optional Data element is used to include the lure malware, which is encoded as a hexBinary type and XORed with a pattern to render it harmless.
One value of hexBinary. The Data element includes a 16-hexadecimal- character XORPattern attribute to support disabling the included malware to bypass anti-virus filters. The default value is 0x55AA55AA55AA55BB, which would be XORed with the malware datastring to recover the actual malware.
One or more sequences. The Key element is a sequence of Name and Value pairs representing an operating system registry key and its value. The key and value are encoded as in Microsoft .reg files [KB310516].
One STRING, representing the Windows Operating System Registry Key Name. The value is encoded as in Microsoft .reg files, e.g., [HKEY_LOCAL_MACHINE\Software\Test\KeyName].
REQUIRED. The OriginatingSensor element contains the identification and cognizant data of the network element that detected this fraud activity. Note that the network element does not have to be on the Internet itself (i.e., it may be a local Intrusion Detection System (IDS)), nor is it required to be mechanical (e.g., humans are allowed).
Multiple OriginatingSensor elements are allowed to support detection at multiple locations.
REQUIRED. ENUM. The value is chosen from the following list, categorizing the function of this sensor:
1. web. A web server or service detected this event.
2. webgateway. A proxy, firewall, or other network gateway detected this event.
3. mailgateway. The event was detected via a mail gateway or filter.
Cain & Jevans Standards Track [Page 22]
RFC 5901 IODEF Phishing Extensions July 2010
4. browser. The event was detected at the user web interface or browser-type element.
5. ispsensor. The event was detected by an automated system in the network, such as Intrusion Detection System, Intrusion Protection System, or other Internet Service Provider device.
6. human. A non-automated system (e.g., a human, manual analysis, etc.) detected this event.
7. honeypot. The event was detected by receipt at a decoy device.
8. other. The detection was performed via a non-listed method.
REQUIRED. One or more values of iodef:System. This is identification information (such as the IP version, IP address, etc.) of the entity that detected this event. The ability to identify multiple detectors is supported.
Zero or more DCSite elements. The DCSite captures the type, identifier, location, and other pertinent information about the credential gathering process, or data collection site, used in the phishing incident. The data collection site is identified by four elements: the type of collector, the network location, information about its DNS domain, and a confidence factor. Further details about the domain, system, or owner of the DCSite can be inserted into the DomainData sub-element.
If the DCSite element is present, a value is required. Multiple DCSite elements are allowed to indicate multiple collection sites for a single collector. Multiple URLs pointing to the same DNS entry can be identified with multiple SiteURL elements.
REQUIRED. ENUM. The DCType attribute identifies the method of data collection as determined through the analysis of the victim computer, lure, or malware. This attribute coupled with the DCSite content identifies the data collection site.
1. web. The user is redirected to a website to collect the data.
2. email. The victim sends an email with credentials enclosed.
3. keylogger. Some form of keylogger is downloaded to the victim.
4. automation. Other forms of automatic data collection, such as background Object Linking and Embedding (OLE) automation, are used to capture information on the user's machine.
REQUIRED. The DCSite element contains the IP address, URL, email site, or other identifier of the credential or data collection site. The Domain choice may be used to identify entire "phishy" domains like those used for the RockPhish and related malware. Each DCSite element also includes a confidence attribute to convey the reporter's assessment of their confidence that this DCSite element is valid and involved with this event. The confidence value is a per-DCSite value, as multiple-site data collectors may have different confidence values.
Cain & Jevans Standards Track [Page 24]
RFC 5901 IODEF Phishing Extensions July 2010
The DCSite element is a choice of:
1. SiteURL. One value of iodef:MLStringType. This choice supports URIs and other web-based identifiers.
2. Domain. One value of iodef:MLStringType. This choice allows the entry of a DNS domain name.
3. EmailSite. One value of iodef:MLStringType. This choice includes an email address if the site used email communications.
4. iodef:Address. One value of iodef:Address element. This choice is used to capture the IP address of a site.
5. Unknown. One value of iodef:MLStringType. The unknown entry is used for exceptions to the preceding choices.
One value of INTEGER. The confidence attribute is a value between 0 and 100, representing the reporter's certainty that this is a genuine phishing site. A value of 0 represents a false positive; a value of 100 signifies that the reporter has independently verified this site.
Zero or more TakeDownInfo elements. This element identifies the agent or agency that performed the removal, DNS domain disablement, or ISP-blockage of the phish or fraud collector site. A PhraudReport may have multiple TakeDownInfo elements to support activities where
Cain & Jevans Standards Track [Page 25]
RFC 5901 IODEF Phishing Extensions July 2010
multiple takedown activities are involved on different dates. Note that the term "agency" is used to identify any party performing the blocking or removal, such as ISPs or private parties, and not just government entities.
The TakeDownInfo element allows one date element with multiple TakeDownAgency and Comment elements to support operations using multiple agencies.
Zero or more iodef:MLStringType elements. A free-form field to add any additional details of this takedown effort or to identify parties that assisted in the effort at an Internet Service Provider (ISP), Computer Emergency Response Team (CERT), or DNS registry.
Zero or more values of the ArchivedData element are allowed.
+-------------------+ | ArchivedData | +-------------------+ | ENUM type |<>---(0..1)--[ URL ] | |<>---(0..1)--[ Comments ] | |<>---(0..1)--[ Data ] +-------------------+
Figure 5.13. The ArchivedData Element
The ArchivedData URL element is populated with a pointer to the contents of a data collection site, base camp (i.e., development site), or other site used by a phisher. The ArchivedData Data element may also include a copy of the archived data recovered from a phishing system. This element will be populated when, for example, an ISP takes down a phisher's website and has copied the site data into an archive file.
There are four types of archives currently supported, as specified in the type field.
Zero or one value of anyURL. As the archive of an entire site can be quite large, the URL element points to an Internet-based server where the actual content of the site archive can be retrieved. Note that this element just points out where the archive is and does not include the entire archive in the report. This is the URL where the archive file is located.
Zero or more values of anyURI. This element allows the listing of other websites or net sites that are related to this incident (e.g., victim site, etc.).
This element supports the inclusion of the actual email message received as a phishing lure. Inclusion of the actual mail message is supported by two methods: either the message may be included as one large string, or the header and body components may be dissected and included as a series of strings.
Zero or one value of iodef:MLStringType. The entire SMTP mail message -- rfc822 header followed by body, as specified in [RFC5322] -- should be inserted as one large text string. In some communities, this combination is known as the message contents and full headers.
Zero or one value of iodef:MLStringType elements. This field contains comments or relevant data not placed elsewhere about the phishing email.
6. Mandatory IODEF and PhraudReport Elements
A report about fraud or phishing requires certain identifying information that is contained within the standard IODEF Incident data structure and the PhraudReport extensions. The following table identifies attributes required to be present in a compliant PhraudReport to report phishing or fraud. The required attributes are a combination of those required by the base IODEF element, as shown in Figure 6.1, and those required by this document, shown in Figure 6.2. Attributes identified as required SHALL be populated in conforming phishing activity reports.
Cain & Jevans Standards Track [Page 29]
RFC 5901 IODEF Phishing Extensions July 2010
A compliant IODEF PhraudReport SHALL contain the following elements and attributes:
* Note that the iodef:Contact element is required, but none of its sub-elements are required. For proper XML correctness, one of the sub-elements is required; pick one.
It may be apparent that the mandatory attributes for a PhraudReport make for a quite sparse report. As incident forensics and data analysis require detailed information, the originator of a PhraudReport SHOULD include any tidbit of information gleaned from the attack analysis. Information that is considered sensitive can be marked as such using the restriction parameter of each data element.
Cain & Jevans Standards Track [Page 30]
RFC 5901 IODEF Phishing Extensions July 2010
The reporting party is encouraged to provide more than just the minimally required data elements about an event in a PhraudReport. The additional information may be volatile and not recoverable in the future, and may be useful in answering investigation questions or in performing correlation with other reported events.
7. Security Considerations
This document specifies a format for encoding a particular class of security incidents appropriate for exchange across organizations. As merely a data representation, it does not directly introduce security issues. However, it is guaranteed that parties exchanging instances of this specification will have certain concerns. For this reason, the underlying message format and transport protocol used MUST ensure the appropriate degree of confidentiality, integrity, and authenticity for the specific environment.
Organizations that exchange data using this document are URGED to develop operating procedures that document the following areas of concern.
The critical security concerns are that phishing activity reports may be falsified or the PhraudReport may become corrupt during transit. In areas where transmission security or secrecy is questionable, the application of a digital signature and/or message encryption on each report will counteract both of these concerns. We expect that each exchanging organization will determine the need, and mechanism, for transport protection.
In some instances, data values in particular elements may contain data deemed sensitive by the reporter. Although there are no general-purpose rules on when to mark certain values as "private" or "need-to-know" via the iodef:restriction attribute, the reporter is cautioned not to apply element-level sensitivity markings unless they believe the receiving party (i.e., the party they are exchanging the event report data with) has a mechanism to adequately safeguard and process the data as marked. For example, if the PhraudReport element is marked private and contains a phishing collector URL in the DCSite/SiteURL element, can that URL be included within a block list distributed to other parties? No guidance is provided here except to urge exchanging parties to review the IODEF and PhraudReport documents to decide on common marking rules.
Cain & Jevans Standards Track [Page 31]
RFC 5901 IODEF Phishing Extensions July 2010
8. IANA Considerations
This document uses URNs to describe XML namespaces and XML schemas conforming to a registry mechanism described in [RFC3688].
Registration request for the IODEF phishing namespace:
URI: urn:ietf:params:xml:ns:iodef-phish-1.0
Registrant Contact: See the "Authors' Addresses" section of this document.
XML: None.
Registration request for the IODEF phishing extension XML schema:
URI: urn:ietf:params:xml:schema:iodef-phish-1.0
Registrant Contact: See the "Authors' Addresses" section of this document.
XML: See Appendix A, "Phishing Extensions XML Schema", of this document.
9. Contributors
The extensions are an outgrowth of the Anti-Phishing Working Group (APWG) activities in data collection and sharing of phishing and other e-crimeware. (The APWG has no relationship to an IETF working group.)
This document has received significant assistance from members of the IETF INCH working group and two groups addressing the phishing problem: members of the APWG and participants in the Financial Services Technology Consortium's Counter-Phishing project. A special thanks goes to the hardy people who supplied valuable feedback after using this format to report phishing.
[KB310516] Microsoft Corporation, "How to add, modify, or delete registry subkeys and values by using a registration entries (.reg) file", December 2007.
[RFC3688] Mealling, M., "The IETF XML Registry", RFC 3688, January 2004.
[RFC5322] Resnick, P., "Internet Message Format", RFC 5322, October 2008.
<!-- ========================================================== === End of the Top-Level Element === ========================================================== -->
Cain & Jevans Standards Track [Page 35]
RFC 5901 IODEF Phishing Extensions July 2010
<!-- ========================================================== === The LureSource Element === ========================================================== -->
<!-- =========================================================== === The EmailRecord Element === =========================================================== -->
<!-- =========================================================== === The Data Collection Site (DCSite) Info Element === =========================================================== -->
<!-- ================================================= ==== The Domain Data Element used in System ===== ================================================= -->
<!-- ===================================================================== = ext-role Values for use within the DomainContact Contacts Element = ===================================================================== -->
<!-- ================================================= === The OriginatingSensor Data Element === ================================================= -->
<!-- ====================================================== === The TakeDown Data Structure === ====================================================== -->
Return-path: <service@example.com> Envelope-to: pcain@example.com Delivery-date: Tue, 13 Jun 2006 05:37:22 -0400 Received: from mail15.example.com ([10.1.1.161] helo=mail15.example.com) by mailscan38.example.com with esmtp (Exim) id 1Fq5Kr-0005wU-LT for pcain@example.com; Tue, 13 Jun 2006 05:37:21 -0400 Received: from [192.0.2.61] (helo=TSI) by mail15.example.com with esmtp (Exim) id 1Fq5Bj-0006dv-6b for pcain@example.com; Tue, 13 Jun 2006 05:37:21 -0400 Received: from User ([192.0.2.157]) by TSI with Microsoft SMTPSVC(5.0.2195.6713); Tue, 13 Jun 2006 02:24:30 -0400 Reply-To: <nospam@example.org> From: "company"<service@example.com> Subject: * * * Update & Verify Your Example Company Account * * * Date: Tue, 13 Jun 2006 02:36:34 -0400 MIME-Version: 1.0 Content-Type: text/html; charset="Windows-1251" Content-Transfer-Encoding: 7bit X-Priority: 1 X-MSMail-Priority: High X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Bcc: Message-ID: <TSIlYbvhBISmT6QcWY90000085f@TSI> X-OriginalArrivalTime: 13 Jun 2006 06:24:30.0218 (UTC) FILETIME=[072A66A0:01C68EB2] X-EN-OrigSender: service@example.com
You are receiving this notification because company is required by law to notify you, that you urgently need to update your online account statement, due to high risks of fraud intentions.
Once you log in, update your account information. After updating your account, click on the History sub tab of your Account Overview page to see your most recent statement.
If you need help with your password, click the Help link that is at the upper righthand side of the company website. To report errors in your statement or make inquiries, click the Contact Us link in the footer on any page of the company website, call our Customer Service center at (999) 555-0167, or write us at:
<?xml version="1.0" encoding="UTF-8"?> <IODEF-Document xmlns:phish="urn:ietf:params:xml:ns:iodef-phish-1.0" xmlns="urn:ietf:params:xml:ns:iodef-1.0" xmlns:iodef="urn:ietf:params:xml:ns:iodef-1.0" lang="en-US"> <Incident purpose="mitigation" ext-purpose="create" restriction="private"> <IncidentID name="example.com">CC200600000002</IncidentID> <ReportTime>2006-06-13T21:14:56-05:00</ReportTime> <Description>This is a sample phishing email received report. The phish was actually received as is.</Description> <Assessment> <Impact severity="high" type="social-engineering"/> <Confidence rating="numeric">85</Confidence> </Assessment> <Contact role="creator" type="person"> <ContactName>patcain</ContactName> <Email>pcain@example.com</Email> </Contact> <EventData> <DetectTime>2006-06-13T05:37:21-04:00</DetectTime> <AdditionalData dtype="xml"> <phish:PhraudReport FraudType="phishing"> <phish:FraudParameter> * * * Update & Verify Your Company Account * * * </phish:FraudParameter> <phish:FraudedBrandName>company</phish:FraudedBrandName> <phish:LureSource> <System category="source"> <Node> <Address>192.0.2.4</Address> </Node> </System> </phish:LureSource> <phish:OriginatingSensor OriginatingSensorType="mailgateway"> <phish:DateFirstSeen> 2006-06-13T05:37:22-04:00</phish:DateFirstSeen> <System> <Node> <NodeRole category="mail"/> </Node> </System> </phish:OriginatingSensor>
Cain & Jevans Standards Track [Page 48]
RFC 5901 IODEF Phishing Extensions July 2010
<phish:EmailRecord> <phish:EmailCount>1</phish:EmailCount> <phish:EmailMessage> Return-path: <service@example.com> Envelope-to: pcain@example.com Delivery-date: Tue, 13 Jun 2006 05:37:22 -0400 Received: from mail15.example.com ([10.1.1.161] helo=mail15.example.com) by mailscan38.example.com with esmtp (Exim) id 1Fq5Kr-0005wU-LT for pcain@example.com; Tue, 13 Jun 2006 05:37:21 -0400 Received: from [192.0.2.61] (helo=TSI) by mail15.example.com with esmtp (Exim) id 1Fq5Bj-0006dv-6b for pcain@example.com; Tue, 13 Jun 2006 05:37:21 -0400 Received: from User ([192.0.2.157]) by TSI with Microsoft SMTPSVC(5.0.2195.6713); Tue, 13 Jun 2006 02:24:30 -0400 Reply-To: <nospam@example.org> From: "company"<service@example.com> Subject: * * * Update & Verify Your Example Company Account * * * Date: Tue, 13 Jun 2006 02:36:34 -0400 MIME-Version: 1.0 Content-Type: text/html; charset="Windows-1251" Content-Transfer-Encoding: 7bit X-Priority: 1 X-MSMail-Priority: High X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Bcc: Message-ID: <TSIlYbvhBISmT6QcWY90000085f@TSI> X-OriginalArrivalTime: 13 Jun 2006 06:24:30.0218 (UTC) FILETIME=[072A66A0:01C68EB2] X-EN-OrigSender: service@example.com X-EN-OrigIP: 192.0.2.1 X-EN-OrigHost: unknown
Dear Example. member:, You are receiving this notification because company is required by law to notify you, that you urgently need to update your online account statement, due to high risks of fraud intentions.
Once you log in,update your account information. After updating your account click on the History sub tab of your Account Overview page to see your most recent statement.
If you need help with your password, click the Help link which is at the upper right hand side of the company website. To report errors in your statement or make inquiries, click the Contact Us link in the footer on any page of the company website, call our Customer Service center at (999) 555-0167, or write us at: