MAR-10322463-3.v1 - AppleJeus: Union Crypto
body#cma-body { font-family: Franklin Gothic Medium, Franklin Gothic, ITC Franklin Gothic, Arial, sans-serif; font-size: 15px; } table#cma-table { width: 900px; margin: 2px; table-layout: fixed; border-collapse: collapse; } div#cma-exercise { width: 900px; height: 30px; text-align: center; line-height: 30px; font-weight: bold; font-size: 18px; } div.cma-header { text-align: center; margin-bottom: 40px; } div.cma-footer { text-align: center; margin-top: 20px; } h2.cma-tlp { background-color: #000; color: #ffffff; width: 180px; height: 30px; text-align: center; line-height: 30px; font-weight: bold; font-size: 18px; float: right; } span.cma-fouo { line-height: 30px; font-weight: bold; font-size: 16px; } h3.cma-section-title { font-size: 18px; font-weight: bold; padding: 0 10px; margin-top: 10px; } h4.cma-object-title { font-size: 16px; font-weight: bold; margin-left: 20px; } h5.cma-data-title { padding: 3px 0 3px 10px; margin: 10px 0 0 20px; background-color: #e7eef4; font-size: 15px; } p.cma-text { margin: 5px 0 0 25px !important; word-wrap: break-word !important; } div.cma-section { border-bottom: 5px solid #aaa; margin: 5px 0; padding-bottom: 10px; } div.cma-avoid-page-break { page-break-inside: avoid; } div#cma-summary { page-break-after: always; } div#cma-faq { page-break-after: always; } table.cma-content { border-collapse: collapse; margin-left: 20px; } table.cma-hashes { table-layout: fixed; width: 880px; } table.cma-hashes td{ width: 780px; word-wrap: break-word; } .cma-left th { text-align: right; vertical-align: top; padding: 3px 8px 3px 20px; background-color: #f0f0f0; border-right: 1px solid #aaa; } .cma-left td { padding-left: 8px; } .cma-color-title th, .cma-color-list th, .cma-color-title-only th { text-align: left; padding: 3px 0 3px 20px; background-color: #f0f0f0; } .cma-color-title td, .cma-color-list td, .cma-color-title-only td { padding: 3px 20px; } .cma-color-title tr:nth-child(odd) { background-color: #f0f0f0; } .cma-color-list tr:nth-child(even) { background-color: #f0f0f0; } td.cma-relationship { max-width: 310px; word-wrap: break-word; } ul.cma-ul { margin: 5px 0 10px 0; } ul.cma-ul li { line-height: 20px; margin-bottom: 5px; word-wrap: break-word; } #cma-survey { font-weight: bold; font-style: italic; } div.cma-banner-container { position: relative; text-align: center; color: white; } img.cma-banner { max-width: 900px; height: auto; } img.cma-nccic-logo { max-height: 60px; width: auto; float: left; margin-top: -15px; } div.cma-report-name { position: absolute; bottom: 32px; left: 12px; font-size: 20px; } div.cma-report-number { position: absolute; bottom: 70px; right: 100px; font-size: 18px; } div.cma-report-date { position: absolute; bottom: 32px; right: 100px; font-size: 18px; } img.cma-thumbnail { max-height: 100px; width: auto; vertical-align: top; } img.cma-screenshot { margin: 10px 0 0 25px; max-width: 800px; height: auto; vertical-align: top; border: 1px solid #000; } div.cma-screenshot-text { margin: 10px 0 0 25px; } .cma-break-word { word-wrap: break-word; } .cma-tag { border-radius: 5px; padding: 1px 10px; margin-right: 10px; } .cma-tag-info { background: #f0f0f0; } .cma-tag-warning { background: #ffdead; }
NotificationThis report is provided "as is" for informational purposes only. The Department of Homeland Security (DHS) does not provide any warranties of any kind regarding any information contained herein. The DHS does not endorse any commercial product or service referenced in this bulletin or otherwise. This document is marked TLP:WHITE--Disclosure is not limited. Sources may use TLP:WHITE when information carries minimal or no foreseeable risk of misuse, in accordance with applicable rules and procedures for public release. Subject to standard copyright rules, TLP:WHITE information may be distributed without restriction. For more information on the Traffic Light Protocol (TLP), see http://www.us-cert.gov/tlp. SummaryDescriptionThis Malware Analysis Report (MAR) is the result of analytic efforts among the Federal Bureau of Investigation (FBI), the Cybersecurity and Infrastructure Security Agency (CISA), and the Department of Treasury (Treasury) to highlight the cyber threat to cryptocurrency posed by North Korea, formally known as the Democratic People’s Republic of Korea (DPRK), and provide mitigation recommendations. Working with U.S. government partners, FBI, CISA, and Treasury assess that Lazarus Group—which these agencies attribute to North Korean state-sponsored advanced persistent threat (APT) actors—is targeting individuals and companies, including cryptocurrency exchanges and financial service companies, through the dissemination of cryptocurrency trading applications that have been modified to include malware that facilitates theft of cryptocurrency. This MAR highlights this cyber threat posed by North Korea and provides detailed indicators of compromise (IOCs) used by the North Korean government. The U.S. Government refers to malicious cyber activity by the North Korean government as HIDDEN COBRA. For more information on other versions of AppleJeus and recommended steps to mitigate this threat, see Joint Cybersecurity Advisory AA21-048A: AppleJeus: Analysis of North Korea's Cryptocurrency Malware at https://www.us-cert.cisa.gov/ncas/alerts/AA21-048A. There have been multiple versions of AppleJeus malware discovered since its initial discovery in August 2018. In most versions, the malware appears to be from a legitimate-looking cryptocurrency trading company and website, whereby an unsuspecting individual downloads a third-party application from a website that appears legitimate. The U.S. Government has identified AppleJeus malware version—Union Crypto—and associated IOCs used by the North Korean government in AppleJeus operations. Union Crypto, discovered by a cybersecurity company in December 2019, is a legitimate-looking cryptocurrency trading software that is marketed and distributed by a company and website—Union Crypto and unioncrypto[.]vip, respectively—that appear legitimate. For a downloadable copy of IOCs, see: MAR-10322463-3.v1.stix. Submitted Files (8)01c13f825ec6366ac2b6dd80e5589568fa5c8685cb4d924d1408e3d7c178902f (UnionCryptoUpdater.exe) 0967d2f122a797661c90bc4fc00d23b4a29f66129611b4aa76f62d8a15854d36 (UnionCryptoTrader.exe) 2ab58b7ce583402bf4cbc90bee643ba5f9503461f91574845264d4f7e3ccb390 (UnionCryptoTrader.dmg) 631ac269925bb72b5ad8f469062309541e1edfec5610a21eecded75a35e65680 (unioncryptoupdater) 6f45a004ad6bb087f733feb618e115fe88164f6db9562cb9b428372c9add75f0 (UnionCryptoTrader) 755bd7a3765efceb8183ffade090ef2637a85c4505f8078dda116013dd5758f3 (NodeDLL.dll) af4144c1f0236e6b59f40d88635ec54c2ef8034f6a96a83f5dbfd6b8ea2c0d49 (UnionCryptoTrader.msi) e3623c2440b692f6b557a862719dc95f41d2e9ad7b560e837d3b59bfe4b8b774 (UnionCryptoSetup.exe) Domains (1)unioncrypto.vip IPs (1)216.189.150.185 Findingse3623c2440b692f6b557a862719dc95f41d2e9ad7b560e837d3b59bfe4b8b774Tagstrojan Details
Antivirus
YARA RulesNo matches found. ssdeep MatchesNo matches found. PE Metadata
PE Sections
Packers/Compilers/Cryptors
Relationships
DescriptionThis Windows program from the Union Crypto Trader site is a Windows executable. This executable is actually an installer, and will first extract a temporary MSI named UnionCryptoTrader.msi (af4144c1f0236e6b59f40d88635ec54c2ef8034f6a96a83f5dbfd6b8ea2c0d49) to the “C:\Users\<username>\AppData\Local\Temp\{82E4B719-90F7-4BD1-9CF1-56CD777E0C42}” folder, which will be executed by "UnionCryptoTraderSetup.exe" and deleted after it successfully completes the installation. unioncrypto.vipTagscommand-and-control URLs
WhoisWhois for unioncrypto.vip had the following information on December 8, 2019: Relationships
DescriptionWhile this site is no longer available, a download link of hxxps[:]//www[.]unioncrypto.vip/download/W6c2dq8By7luMhCmya2v97YeN was discovered by a cyber-security researcher and is recorded on VirusTotal for the OSX version of UnionCryptoTrader. In contrast, open source reporting disclosed the Windows version may have been downloaded via Telegram, as it was found in a “Telegram Downloads” folder on an unnamed victim. Union Crypto Trader has a legitimately signed Sectigo SSL certificate, which was “Domain Control Validated” just as the previous version certificates. . The domain is registered with NameCheap at the IP address 104.168.167.16 with ASN 54290. Screenshots
Figure 1 - Screenshot of the Union Crypto Trader website. af4144c1f0236e6b59f40d88635ec54c2ef8034f6a96a83f5dbfd6b8ea2c0d49Tagsdropper Details
Antivirus
YARA RulesNo matches found. ssdeep MatchesNo matches found. Relationships
DescriptionThis Windows program is a Windows MSI Installer. The MSI installer will install "UnionCryptoTrader.exe"(0967d2f122a797661c90bc4fc00d23b4a29f66129611b4aa76f62d8a15854d36) in the “C:\Program Files\UnionCryptoTrader” folder and also install UnionCryptoUpdater.exe (01c13f825ec6366ac2b6dd80e5589568fa5c8685cb4d924d1408e3d7c178902f) in the “C:\Users\<username>\AppData\Local\UnionCryptoTrader” folder. Immediately after installation, the installer launches "UnionCryptoUpdater.exe." Screenshots
Figure 2 - Screenshot of the UnionCryptoTrader Installation. 0967d2f122a797661c90bc4fc00d23b4a29f66129611b4aa76f62d8a15854d36Tagstrojan Details
AntivirusNo matches found. YARA RulesNo matches found. ssdeep MatchesNo matches found. PE Metadata
PE Sections
Packers/Compilers/Cryptors
Relationships
DescriptionThis file is a 64-bit Windows executable contained within the Windows MSI Installer "UnionCryptoTrader.msi." When executed, "UnionCryptoTrader.exe" loads a legitimate cryptocurrency arbitrage application with no signs of malicious activity. (Note: arbitrage is defined as “the simultaneous buying and selling of securities, currency, or commodities in different markets or in derivative forms in order to take advantage of differing prices for the same asset”). This application does not appear to be a modification of the Windows QT Bitcoin Trader, but may be a modification of Blackbird Bitcoin Arbitrage. In addition to the "unioncrypto.vip" site describing "UnionCryptoTrader.exe" as a “Smart Cryptocurrency Arbitrage Trading Platform," many of the strings found in "UnionCryptoTrader.exe" have references to Blackbird Bitcoin Arbitrage including but not limited to: --Begin similarities-- The strings also contain the links and references to all fourteen exchanges listed as implemented or potential on the Blackbird GitHub page. In addition, the "config.txt" file found in the “C:\Program Files\UnionCryptoTrader” folder with "UnionCryptoTrader.exe" also contains references to all fourteen exchanges, as well as sets the database file to "blackbird.db." The file "blackbird.db" is also found in the same folder. Screenshots
Figure 3 - Screenshot of the "UnionCryptoTrader.exe"application. 01c13f825ec6366ac2b6dd80e5589568fa5c8685cb4d924d1408e3d7c178902fTagstrojan Details
Antivirus
YARA RulesNo matches found. ssdeep MatchesNo matches found. PE Metadata
PE Sections
Packers/Compilers/Cryptors
Relationships
DescriptionThis file is a 64-bit Windows executable contained within the Windows MSI Installer "UnionCryptoTrader.msi." When executed, "UnionCryptoUpdater.exe" first installs itself as a service, which will automatically start when any user logs on. The service is installed with a description stating it “Automatically installs updates for Union Crypto Trader." After installing the service, "UnionCryptoUpdater.exe" collects different information about the system the malware is running on. Specifically, it uses Windows Management Instrumentation (WMI) Query Language (WQL) to collect this information. "UnionCryptoUpdater.exe" first finds the BIOS Serial Number by using the “SELECT * FROM Win32_Bios” WMI filter as a WQL Query String (Figure 4). This returns SMBBIOSBIOSVersion, Manufacturer, Name, SerialNumber, and Version. The function later pulls the “SerialNumber” from this returned data (Figure 5). The same process is followed to pull the operating system version and build number. The WQL Query String is “SELECT * FROM Win32_OperatingSystem," and the fields pulled are “Caption” and “BuildNumber." Note that the “Caption” field contains the OS version for the computer running the malware. After collecting the system data, "UnionCryptoUpdater.exe" then builds a string consisting of the current time and the hard-coded value “12GWAPCT1F0I1S14." The current time is stored in the "auth_timestamp" variable. This combined string is MD5 hashed and stored in the "auth_signature" variable. These variables are sent in the first communication to the command and control (C2) server, and are likely used to verify any connections to the server are actually originating from the "UnionCryptoUpdater.exe" malware. These variables are sent via a POST the C2 hxxps[:]//unioncrypto.vip/update along with the collected system data. The system data is sent in this specific format: --Begin format-- These values, along with a hard-coded User Agent String of “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36” can be found in the malware data section. If the POST is successful (i.e. returns an HTTP response status code of 200), but returns a string of “0”, UnionCryptoUpdater.exe will sleep for ten minutes and then regenerate the "auth_timestamp" and "auth_signature" to contact the C2 again. If the POST is successful and the C2 server does not return the string “0”, the malware will decode the base64 payload and decrypt it. It then uses built in C++ functions to allocate memory, write the payload to memory, and executes the payload. If this is successful, the malware will send another POST to the C2 with the value “act=done” replacing the “act=check” for the previously specified format (Figure 9). Screenshots
Figure 4 - Screenshot of the "UnionCryptoUpdater" Service.
Figure 5 - Screenshot of the "SELECT * FROM Win32_Bios" query string.
Figure 6 - Screenshot of the "SerialNumber" selection.
Figure 7 - Screenshot of the "UnionCryptoUpdater.exe" getting current time and combining with hard-coded value.
Figure 8 - Screenshot of the hard-coded values and User Agent in "UnionCryptoUpdater.exe."
Figure 9 - Screenshot of the hard-coded "&act=done" value. 755bd7a3765efceb8183ffade090ef2637a85c4505f8078dda116013dd5758f3Tagstrojan Details
AntivirusNo matches found. YARA RulesNo matches found. ssdeep MatchesNo matches found. PE Metadata
PE Sections
Relationships
DescriptionThis file is a 64-bit dynamic-link library (DLL). This file was identified as a payload for the Windows malware. This stage 2 is not immediately downloaded by "UnionCryptoUpdater.exe," but instead is downloaded after a period of time likely specified by the C2 server at "hxxps[:]//unioncrypto.vip/update." This delay could be implemented to prevent researchers from immediately obtaining the stage 2 malware. The C2 and build path are visible from the "NodeDLL.dll" strings. The C2 for the malware is hxxp[:]//216.189.150.185:8080/push.jsp. The build path found in the strings is “Z:\Opal\bin\x64_Release\NodeDll.pdb." This stage 2 is likely part of a project named “Opal” by the actors, due to the folder in the build path. NodeDLL.dll has multiple functionalities which can be verified by examining the program imports and strings. Functionalities with corresponding strings/imports include but are not limited to: The "NodeDLL.dll" strings also show a hard-coded user agent string: “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134”. Finally, a format string which matches the HostUS C2 is found in the strings: "%s://%s%s%s:%d%s%s%s," along with many references to proxies or proxy configurations. 216.189.150.185Tagscommand-and-control URLs
Ports
WhoisQueried whois.arin.net with "n 216.189.150.185"... NetRange: 216.189.144.0 - 216.189.159.255 OrgName: HostUS OrgNOCHandle: HOSTU2-ARIN OrgAbuseHandle: HAD18-ARIN OrgTechHandle: HOSTU2-ARIN Relationships
DescriptionThe C2 identified for NodeDLL.dll. The IP address 216.189.150.185 has ASN 7489 and is owned by HostUS. 2ab58b7ce583402bf4cbc90bee643ba5f9503461f91574845264d4f7e3ccb390Tagsbackdoordownloaderloadertrojan Details
Antivirus
YARA RulesNo matches found. ssdeep MatchesNo matches found. Relationships
DescriptionThis OSX program from the "UnionCrypto" download link is an Apple DMG installer. The OSX program does not have a digital signature, and will warn the user of that before installation. Just as previous versions, the UnionCrypto installer appears to be legitimate and installs both “UnionCryptoTrader” (6f45a004ad6bb087f733feb618e115fe88164f6db9562cb9b428372c9add75f0) in the “/Applications/UnionCryptoTrader.app/Contents/MacOS/” folder and a hidden program named “.unioncryptoupdater” (631ac269925bb72b5ad8f469062309541e1edfec5610a21eecded75a35e65680) in the “/Applications/UnionCryptoTrader.app/Contents/Resources/” folder. The installer contains a postinstall script (see figure 10). This postinstall script is identical in functionality to the postinstall script for the second version. It moves the hidden plist file (.vip.unioncrypto.plist) to the LaunchDaemons folder and changes the file permissions for the plist to be owned by root. Once in the LaunchDaemons folder, this program will be ran on system load as root for every user. This will launch the unioncryptoupdater program. The postinstall script also moves the hidden “.unioncryptoupdater” binary to a new location “/Library/UnionCrypto/unioncryptoupdater” and makes the file executable. As the LaunchDaemon will not be run immediately after the plist file is moved, the postinstall script then launches the unioncryptoupdater program in the background (&). In contrast to the CelasTradePro “Updater” binary and JMTTrader “CrashReporter” binary, the unioncryptoupdater binary is not launched with any parameters. Screenshots
Figure 10 - Screenshot of the postinstall script included in UnionCryptoTrader installer.
Figure 11 - Screenshot of the "vip.unioncrypto.plist" file. 6f45a004ad6bb087f733feb618e115fe88164f6db9562cb9b428372c9add75f0Tagstrojan Details
AntivirusNo matches found. YARA RulesNo matches found. ssdeep MatchesNo matches found. Relationships
DescriptionThis OSX sample was contained within Apple DMG Installer "UnionCryptoTrader.dmg." When executed, UnionCryptoTrader loads a legitimate cryptocurrency arbitrage application with no signs of malicious activity. (Note: arbitrage is defined as “the simultaneous buying and selling of securities, currency, or commodities in different markets or in derivative forms in order to take advantage of differing prices for the same asset”). This application does not appear to be a modification of the OSX QT Bitcoin Trader, but may be a modification of Blackbird Bitcoin Arbitrage11. --Begin similarities-- The strings also contain the links and references to all fourteen exchanges listed as implemented or potential on the Blackbird GitHub page. 631ac269925bb72b5ad8f469062309541e1edfec5610a21eecded75a35e65680Tagsbackdoordownloaderloadertrojan Details
Antivirus
YARA RulesNo matches found. ssdeep MatchesNo matches found. Relationships
DescriptionThis OSX sample was contained within Apple DMG Installer "UnionCryptoTrader.dmg." This malware is signed adhoc, meaning it is not signed with a valid code signing ID. When executed, unioncryptoupdater immediately calls the “onRun()” function, which contains most of the logic and functionality for this malware. This function first collects different information about the system the malware is running on. It uses IOKit, which is an Apple framework designed to allow programs to gain user-access to hardware devices and drivers. IOKit is specifically used to retrieve the system serial number with IOPlatformSerialNumber global variable (Figure 12). The function then collects the operating system version by reading the system file at “/System/Library/CoreServices/SystemVersion.plist," and specifically extracting the ProductVersion and ProductBuildVersion from the system file (Figure 13). After collecting the system data, unioncryptoupdater then builds a string consisting of the current time and the hard-coded value “12GWAPCT1F0I1S14" (Figure 14). This string is MD5 hashed and stored in the "auth_signature" variable and the current time (used to create string for "auth_signature") in the "auth_timestamp" variable. These variables are sent in the first communication to the C2 server and are likely used to verify any connections to the server are actually originating from the unioncryptoupdater malware. All collected data and the "auth_signature" and "auth_timestamp" are sent to hxxps[:]//unioncrypto.vip/update using the Barbeque::post() method. The Barbeque class is custom made C++ class which has both a post() and a get() method, which utilize libcurl to perform network communications for the malware. Barbeque::post() sends the system data in this specific format: --Begin format-- These values are found as described above or are hard-coded into the malware data section (Figure 15). If the C2 server returns the string “0," unioncryptotrader will sleep for ten minutes and then regenerate the auth_timestamp and auth_signature to contact the C2 again via the same Barbeque::post() method. If the C2 server does not return the string “0," the malware will decode the base64 payload, and decrypt it using the C++ aes_decrypt_cbc function. After decryption, the malware uses the OSX function mmap to allocate memory with read, write, and execute permissions. This is specified by the 7 loaded into the edx register before mmap is called. (Note: the 7, or binary 111, comes from OR’ing the read (100), write (010), and execute (001) binary values together, just as file permissions are often set). If mmap is successful in allocating the memory, the function then uses memcpy to copy the decrypted payload into the mmap’d memory region (Figure 16). After the decrypted payload is copied into memory, unioncryptoupdater calls a function named memory_exec2, which utilizes Apple API NSCreateObjectFileImageFromMemory to create an “object file image” from the memory, and Apple API NSLinkModule to link the “object file image”. The API calls are necessary to allow the payload in memory to execute, as files in memory are not simply able to execute as files on disk are (Figure 17). Once the malware has mapped and linked the payload in memory, it searches the mapped memory for “0xfeedfacf," which is the magic number for 64-bit OSX executables. This check is likely included to verify the payload was properly decoded, decrypted, and memory mapped before attempting execution (Figure 18). After verifying the magic number, the malware searches for the address 0x80000028, which is the address of the LC_MAIN Load Command. Load Commands are similar to a table of contents for an OSX executable which contain commands and command positions in the binary. Offset 0x8 of the LC_MAIN load command contains the offset of the OSX executable entry point (Figure 19). This entry point is placed in register r8, and is called by the malware. This process of allocating memory, copying the payload into memory, and calling the entry point achieves pure in-memory execution of the remotely downloaded payload. As such, if this is successful, the payload can be executed exclusively in memory and is never copied to disk. The payload for this OSX malware could not be downloaded, as the C2 server "unioncrypto.vip/update" is no longer accessible. In addition, the payload was not identified in open source reporting. Screenshots
Figure 12 - Screenshot of the IOPlatformSerialNumber reference in unioncryptoupdater.
Figure 13 - Screenshot of the unioncryptoupdater collecting OS version.
Figure 14 - Screenshot of unioncryptoupdater getting current time and combining with hard-coded value.
Figure 15 - Screenshot of the various hard-coded values in unioncryptoupdater.
Figure 16 - Screenshot of mmap and memcpy in unioncryptoupdater.
Figure 17 - Screenshot of NSCreateObjectFileImageFromMemory.
Figure 18 - Screenshot of 39FEEDFACF in unioncryptoupdater.
Figure 19 - Screenshot of the load and call entry point of payload.
Figure 20 - Screenshot of the write payload to disk and execute. Relationship Summary
RecommendationsCISA recommends that users and administrators consider using the following best practices to strengthen the security posture of their organization's systems. Any configuration changes should be reviewed by system owners and administrators prior to implementation to avoid unwanted impacts.
Additional information on malware incident prevention and handling can be found in National Institute of Standards and Technology (NIST) Special Publication 800-83, "Guide to Malware Incident Prevention & Handling for Desktops and Laptops". Contact Information
CISA continuously strives to improve its products and services. You can help by answering a very short series of questions about this product at the following URL: https://us-cert.cisa.gov/forms/feedback/ Document FAQWhat is a MIFR? A Malware Initial Findings Report (MIFR) is intended to provide organizations with malware analysis in a timely manner. In most instances this report will provide initial indicators for computer and network defense. To request additional analysis, please contact CISA and provide information regarding the level of desired analysis. What is a MAR? A Malware Analysis Report (MAR) is intended to provide organizations with more detailed malware analysis acquired via manual reverse engineering. To request additional analysis, please contact CISA and provide information regarding the level of desired analysis. Can I edit this document? This document is not to be edited in any way by recipients. All comments or questions related to this document should be directed to the CISA at 1-888-282-0870 or CISA Central. Can I submit malware to CISA? Malware samples can be submitted via three methods:
CISA encourages you to report any suspicious activity, including cybersecurity incidents, possible malicious code, software vulnerabilities, and phishing-related scams. Reporting forms can be found on CISA's homepage at www.cisa.gov. |
Revisions
February 17, 2021: Initial Version
This product is provided subject to this Notification and this Privacy & Use policy.