Incident: Security Risks in Third-Party Apps on Slack and Microsoft Teams

Published Date: 2022-09-23

Postmortem Analysis
Timeline 1. The software failure incident mentioned in the article happened when the researchers presented their findings at the USENIX Security conference last month. 2. Published on 2022-09-23 [132592] Therefore, the software failure incident likely occurred in August 2022.
System 1. Third-party app security model of Slack and Microsoft Teams [132592]
Responsible Organization 1. Third-party app developers for Slack and Microsoft Teams were responsible for causing the software failure incident by creating apps with troubling security vulnerabilities [132592].
Impacted Organization 1. Organizations using Slack and Microsoft Teams [132592]
Software Causes 1. Lack of review of third-party app code by Slack and Microsoft engineers [132592] 2. Default settings allowing any user to install an app for an entire workspace without thorough vetting [132592] 3. Apps hosted on third-party servers with no review of the apps' actual code [132592] 4. Apps' permissions allowing unexpected and dangerous behaviors, such as impersonation and code alteration [132592] 5. Apps overwriting commands to launch other apps, leading to potential security risks [132592] 6. Security issue in Slack allowing apps to access private channels without explicit permission [132592]
Non-software Causes 1. Lack of review of third-party app code by Slack and Teams engineers [132592] 2. Default settings allowing any user to install an app for an entire workspace without proper vetting [132592] 3. Inability of administrators to vet the code of apps before installation [132592] 4. Apps hosted on third-party servers with no oversight of code changes [132592]
Impacts 1. The software failure incident highlighted troubling gaps in the third-party app security model of both Slack and Microsoft Teams, exposing serious risks in what they expose to third-party programs [132592]. 2. The incident revealed that hundreds of apps' permissions in Slack and Teams could potentially allow them to post messages as a user, hijack the functionality of other legitimate apps, or access content in private channels without proper authorization [132592]. 3. The incident showed that Slack and Teams apps, despite some security measures, still had fundamental issues in vetting third-party apps, allowing integration of apps hosted on developers' servers without a review of the apps' actual code by Slack or Microsoft engineers [132592]. 4. The incident indicated that malicious apps could disguise themselves as innocent ones or compromise truly legitimate apps, posing risks to users who install seemingly innocent apps on their organization's collaboration workspace [132592]. 5. Researchers found that about one in three Teams apps and almost one in four Slack apps asked for permissions that would allow them to act as the user, posing potential risks to user data and privacy [132592]. 6. The incident highlighted a specific security issue in Slack where an app could access private channels intended to be accessible only to specific users, even when the app did not request such permission explicitly [132592].
Preventions 1. Implementing a more rigorous review process for third-party apps' code by Slack and Microsoft engineers could have prevented the software failure incident [132592]. 2. Requiring stricter security settings that mandate administrator approval for app installations could have helped prevent the incident [132592]. 3. Enforcing stricter monitoring of app behavior and changes to code could have mitigated the risks associated with third-party apps on Slack and Teams [132592].
Fixes 1. Implement a more rigorous review process for third-party apps' code by Slack and Microsoft engineers to ensure security and privacy [132592]. 2. Enforce stricter security settings that require administrator approval for app installations in workspaces [132592]. 3. Monitor apps for suspicious behavior and changes in code to detect and prevent malicious activities [132592]. 4. Consider overhauling the app model to resemble traditional operating systems that carefully vet app code, monitor for changes, and strictly enforce permissions granted to apps [132592].
References 1. Researchers at the University of Wisconsin-Madison [132592] 2. Earlence Fernandes, a researcher on the study [132592] 3. Microsoft [132592] 4. Slack [132592] 5. University of California at San Diego [132592] 6. WIRED [132592] 7. Yunang Chen, a researcher at the University of Wisconsin [132592] 8. Andrei Sabelfeld, a computer science professor at Chalmers University of Technology in Sweden [132592] 9. Yue Gao, a researcher at the University of Wisconsin [132592]

Software Taxonomy of Faults

Category Option Rationale
Recurring one_organization, multiple_organization (a) The software failure incident related to security vulnerabilities in third-party apps on collaboration platforms like Slack and Microsoft Teams has happened at one organization, specifically at Slack and Teams. The incident involves troubling gaps in the third-party app security model of both platforms, allowing for potential risks and unauthorized access to sensitive data [132592]. (b) The software failure incident related to security vulnerabilities in third-party apps on collaboration platforms like Slack and Microsoft Teams has also happened at multiple organizations. The incident highlights fundamental issues in the vetting of third-party apps on both platforms, leaving users vulnerable to risks they don't expect when installing seemingly innocent apps on their organization's collaboration workspace [132592].
Phase (Design/Operation) unknown The articles do not provide specific information about a software failure incident related to the development phases, whether it be design or operation. Therefore, it is unknown whether the failure was due to contributing factors introduced by system development, system updates, or procedures to operate or maintain the system (design), or if it was due to contributing factors introduced by the operation or misuse of the system (operation).
Boundary (Internal/External) within_system, outside_system The software failure incident discussed in the articles is related to both within_system and outside_system factors: (a) within_system: The software failure incident within the system is primarily attributed to the fundamental issues in the vetting of third-party apps by Slack and Microsoft Teams. These issues include allowing integration of apps hosted on the app developer's servers without reviewing the apps' actual code, limited code checks for inclusion in app directories, and the potential for seemingly legitimate apps to become malicious due to code changes. This lack of thorough code vetting and monitoring within the system contributes to the vulnerability of users to risks posed by third-party apps [132592]. (b) outside_system: The software failure incident also involves factors originating from outside the system, such as the risks associated with third-party apps that can access private channels and overwrite launch commands. These external factors highlight the challenges of managing security risks posed by apps hosted on third-party servers, where developers' activities are beyond the control of Slack and Microsoft. The need for a more robust app model akin to traditional operating systems to address these external vulnerabilities is emphasized in the articles [132592].
Nature (Human/Non-human) non-human_actions (a) The software failure incident occurring due to non-human actions: The software failure incident discussed in the articles is primarily related to security vulnerabilities and risks in third-party apps on collaboration platforms like Slack and Microsoft Teams. These vulnerabilities include gaps in the third-party app security model, lack of code review for apps, default settings allowing any user to install apps for an entire workspace, and permissions that could potentially lead to malicious behaviors by apps without human intervention [132592]. (b) The software failure incident occurring due to human actions: The articles do not specifically mention any software failure incident occurring due to contributing factors introduced by human actions. The focus is more on the security vulnerabilities and risks in third-party apps on collaboration platforms.
Dimension (Hardware/Software) software (a) The articles do not mention any software failure incident occurring due to contributing factors originating in hardware. Hence, there is no information available regarding a software failure incident caused by hardware issues. (b) The articles discuss software failure incidents related to software vulnerabilities and flaws in collaboration platforms like Slack and Microsoft Teams. The researchers at the University of Wisconsin-Madison pointed out troubling gaps in the third-party app security model of both Slack and Teams, highlighting issues such as lack of code review for third-party apps, default settings allowing any user to install apps for an entire workspace, and permissions that could potentially lead to malicious behaviors by apps [132592]. These software failures are primarily attributed to issues within the software systems themselves, indicating failures originating in software.
Objective (Malicious/Non-malicious) malicious (a) The software failure incident discussed in the articles is related to malicious factors introduced by humans with the intent to harm the system. The incident involves security risks in third-party apps on collaboration platforms like Slack and Microsoft Teams, where researchers identified troubling gaps in the third-party app security model. These gaps could potentially allow malicious apps to post messages as a user, hijack the functionality of legitimate apps, access content in private channels without permission, impersonate users for phishing schemes, alter code repositories based on Slack messages, overwrite commands to launch other apps, and access private channels that are supposed to be locked. The incident highlights the potential for malicious apps to exploit vulnerabilities in the platforms and compromise user data and communications [132592]. (b) The software failure incident is non-malicious in the sense that it involves flaws and vulnerabilities in the design and implementation of the third-party app security model on collaboration platforms like Slack and Microsoft Teams. These flaws include gaps in the review process of apps' code, default settings that allow any user to install apps for an entire workspace, lack of thorough vetting of independently hosted apps, and limitations in the permissions system that can lead to unexpected and dangerous behaviors by apps. The incident points to the need for better security measures and stricter controls to protect users from risks they may not anticipate when installing seemingly innocent apps on their organization's collaboration workspace [132592].
Intent (Poor/Accidental Decisions) poor_decisions The articles discuss a software failure incident related to poor decisions made by Slack and Microsoft in their handling of third-party apps on their platforms. The incident highlights troubling gaps in the third-party app security model of both Slack and Teams, including a lack of review of the apps' code, default settings that allow any user to install an app for an entire workspace, and permissions that could potentially lead to unexpected and dangerous behaviors [132592]. These poor decisions have left users vulnerable to risks they don't expect when installing seemingly innocent apps on their organization's collaboration workspace. The incident underscores the need for Slack and Microsoft to overhaul their app model to make it more secure and in line with traditional operating systems that carefully vet the code of apps and strictly enforce permissions granted to apps [132592].
Capability (Incompetence/Accidental) development_incompetence, accidental (a) The articles discuss a software failure incident related to development incompetence. Researchers at the University of Wisconsin-Madison pointed out troubling gaps in the third-party app security model of both Slack and Microsoft Teams. They highlighted issues such as lack of review of the apps' code, default settings allowing any user to install an app for an entire workspace, and permissions that could potentially lead to serious security and privacy breaches [132592]. The researchers emphasized that Slack and Teams have fundamental issues in vetting third-party apps, allowing integration of apps hosted on developers' servers without reviewing the code, which could lead to malicious apps being installed and compromising users' data [132592]. (b) The software failure incident can also be attributed to accidental factors. The researchers found that apps' permissions in Slack and Teams could sometimes allow them to perform unexpected and dangerous behaviors, such as impersonating users in phishing schemes or altering code repositories based on Slack messages [132592]. Additionally, the researchers discovered security issues specific to Slack that could allow an app to access private channels intended to be accessible only to specific users, even when the app did not request such permission. This unintended access could potentially compromise sensitive information without the user's explicit consent [132592].
Duration unknown The articles do not provide information about a specific software failure incident related to the duration of the failure being permanent or temporary.
Behaviour omission, value, other (a) crash: The articles do not mention any specific incidents of software crashes where the system loses state and fails to perform its intended functions. (b) omission: The articles discuss potential security risks in third-party apps on collaboration platforms like Slack and Microsoft Teams. These risks include apps being able to post messages as a user, hijack the functionality of other legitimate apps, access content in private channels without permission, and overwrite commands to launch other apps. These actions can be considered as omissions of the intended functions of the system, as the apps are performing actions that were not authorized or expected [132592]. (c) timing: There is no mention of software failures related to timing issues in the articles. (d) value: The articles highlight the issue of apps requesting permissions that could allow them to perform unexpected and dangerous behaviors, such as impersonating users for phishing schemes, altering code repositories based on Slack messages, and intercepting communications by hijacking commands. These actions can be categorized as failures due to the system performing its intended functions incorrectly, as the apps are manipulating data and actions in unauthorized ways [132592]. (e) byzantine: The articles do not describe the software failures as exhibiting byzantine behavior with inconsistent responses and interactions. (f) other: The behavior of the software failure incident described in the articles can be categorized as a failure due to security vulnerabilities in third-party apps on collaboration platforms. These vulnerabilities allow apps to bypass permissions, access sensitive data, impersonate users, and manipulate system commands, leading to potential breaches of security and privacy [132592].

IoT System Layer

Layer Option Rationale
Perception None None
Communication None None
Application None None

Other Details

Category Option Rationale
Consequence property, theoretical_consequence (d) property: People's material goods, money, or data was impacted due to the software failure The software failure incident discussed in the articles pertains to serious risks in the third-party app security model of collaboration platforms like Slack and Microsoft Teams. The researchers highlighted troubling gaps in the security vetting of third-party apps on these platforms, which could potentially lead to unauthorized access to sensitive data and resources within organizations. Specifically, the lack of thorough code review and the ability for apps to change their code at any time without detection pose significant risks to users' data security and privacy [132592]. The consequences of such software failures could result in property damage, financial loss, or data breaches for organizations using these collaboration platforms. Unauthorized access to private channels, the ability for apps to overwrite commands, and potential exposure of sensitive information could lead to significant harm to the affected organizations in terms of data security and integrity.
Domain information The software failure incident discussed in the article is related to the information industry. The incident involves collaboration platforms like Slack and Microsoft Teams, which are widely used for communication, scheduling, and video conferencing in the workplace. The failure pertains to serious security risks in the third-party app model of these platforms, potentially exposing organizations' sensitive data to unauthorized access and manipulation by malicious apps [Article 132592].

Sources

Back to List