Incident: Facebook Data Leak Due to Extended Developer Access.

Published Date: 2020-07-01

Postmortem Analysis
Timeline 1. The software failure incident where Facebook shared user data with developers even after access should have expired happened in 2020. [102116]
System 1. Facebook's data access control system [102116]
Responsible Organization 1. Facebook [102116]
Impacted Organization 1. Users who had their data shared with developers for a longer time than expected [102116]
Software Causes 1. The software cause of the failure incident was a bug in Facebook's system that allowed developers to continue receiving user data even after the access should have expired [102116].
Non-software Causes 1. Lack of proper oversight and monitoring of developer access to user data by Facebook [102116]. 2. Failure to enforce the 90-day access expiration policy for developers accessing user data [102116]. 3. Inadequate measures to ensure user privacy and data protection following the Cambridge Analytica scandal [102116].
Impacts 1. The software failure incident led to an estimated 5,000 developers continuing to receive user data for a longer time than expected, even after access should have expired [102116]. 2. Users' data, such as gender and language, was still being shared with developers after the 90-day inactivity period, potentially compromising user privacy [102116]. 3. The incident raised concerns about Facebook's ability to safeguard user privacy, especially in the aftermath of the Cambridge Analytica scandal where data from up to 87 million users was harvested without permission [102116].
Preventions 1. Implementing stricter data access controls and regularly auditing developer access permissions to ensure compliance with policies could have prevented the software failure incident [102116]. 2. Conducting thorough testing and quality assurance checks on the data access mechanisms within the software to catch any potential loopholes or bugs that could lead to unauthorized data access [102116]. 3. Providing clear and transparent communication to users about how their data is being accessed and used by developers, including notifying users when their data access permissions expire to maintain user trust and privacy [102116].
Fixes 1. Implement stricter data access controls and regularly audit developer access permissions to ensure compliance with policies and regulations [102116]. 2. Enhance monitoring mechanisms to detect and prevent unauthorized data access or data sharing beyond specified time limits [102116]. 3. Notify affected users individually about the incident and provide transparency regarding the data accessed by developers [102116]. 4. Conduct thorough investigations to determine the extent of the impact and ensure that user data is not being misused by developers [102116].
References 1. Facebook's official blog post [102116]

Software Taxonomy of Faults

Category Option Rationale
Recurring one_organization (a) The software failure incident of sharing user data with developers even after access should have expired happened again at Facebook. In 2018, Facebook had announced that developers would no longer have access to user data if the person hadn't used the developer's app for 90 days. However, the recent discovery by Facebook revealed that apps continued to receive data from the social network even if a user wasn't active on the developer's app for 90 days [102116]. This indicates a recurrence of the software failure incident within the same organization.
Phase (Design/Operation) design, operation (a) The software failure incident related to the design phase can be attributed to the mistake made by Facebook in allowing developers to continue receiving user data even after the access should have expired. This issue arose due to a flaw in the system development or procedures to operate the system. The article mentions that Facebook discovered that apps continued to receive data from the social network even if a user wasn't active on the developer's app for 90 days, indicating a design oversight in the system [102116]. (b) The software failure incident related to the operation phase can be linked to the misuse of the system by developers who continued to receive user data beyond the specified access period. This failure was a result of the operation or misuse of the system by developers who exploited the loophole in Facebook's data sharing policies. The article highlights that approximately 5,000 developers were able to access user data for a longer time than expected, indicating an operational failure in enforcing access restrictions [102116].
Boundary (Internal/External) within_system, outside_system (a) within_system: The software failure incident reported in the article is primarily due to a mistake made by Facebook in allowing developers to continue receiving user data even after the access should have expired. This issue originated from within the system's design and implementation, where the system failed to properly enforce the 90-day limit on user data access for inactive users [102116]. (b) outside_system: The incident is also influenced by external factors, particularly the aftermath of the Cambridge Analytica scandal. The scandal raised concerns about Facebook's data privacy practices, leading to increased scrutiny and pressure on the company to improve its data protection measures. This external factor played a role in shaping Facebook's decision to limit developer access to user data and ultimately in the discovery of the mistake that allowed developers to continue receiving data beyond the specified time limit [102116].
Nature (Human/Non-human) non-human_actions, human_actions (a) The software failure incident occurring due to non-human actions: - The software failure incident in this case occurred due to a mistake in Facebook's system that allowed developers to continue receiving user data even after the access should have expired. This issue was not intentionally introduced by human actions but was a result of a flaw in the system that allowed the data to be shared beyond the intended timeframe [102116]. (b) The software failure incident occurring due to human actions: - The software failure incident can also be attributed to human actions as it was Facebook's decision in 2018 to limit developer access to user data after the Cambridge Analytica scandal. The initial policy change and subsequent oversight in ensuring that developers no longer had access to user data after 90 days can be considered as human actions contributing to the failure incident [102116].
Dimension (Hardware/Software) software (a) The software failure incident in the Facebook case was not directly attributed to hardware issues. The issue stemmed from a mistake in the software that allowed developers to continue receiving user data even after the access should have expired. This was a software-related failure as it involved a flaw in the system that allowed the data transfer to occur beyond the intended time frame [102116]. (b) The software failure incident in the Facebook case was primarily due to contributing factors that originated in software. The mistake in the software allowed an estimated 5,000 developers to continue receiving user data for a longer time than expected, even after the access should have expired. This indicates a software-related failure where the system did not properly restrict developer access to user data as intended [102116].
Objective (Malicious/Non-malicious) non-malicious (a) The software failure incident described in the article is non-malicious. It was a mistake on Facebook's part that allowed thousands of developers to continue receiving user data for a longer time than expected, even after access should have expired. This issue arose due to a flaw in Facebook's system that allowed developers to access user data beyond the specified 90-day limit, without any malicious intent mentioned in the article [102116].
Intent (Poor/Accidental Decisions) poor_decisions, accidental_decisions (a) The intent of the software failure incident related to poor decisions can be inferred from the article. Facebook shared user data with thousands of developers even after access should have expired, which was a result of a mistake on their part. The decision to allow developers to continue receiving user data for a longer time than expected, even after the 90-day limit, was a poor decision that led to the software failure incident [102116]. (b) The software failure incident can also be attributed to accidental decisions or unintended consequences. Facebook mentioned that the issue arose because they didn't recognize that some users' friends had been inactive for many months, leading to the continued sharing of data beyond the intended expiration date. This unintended consequence of the software system allowed developers to receive information such as a user's gender and language after the expiration date, indicating an accidental decision that contributed to the failure [102116].
Capability (Incompetence/Accidental) development_incompetence, accidental (a) The software failure incident related to development incompetence is evident in the article as Facebook admitted to sharing user data with thousands of developers even after access should have expired. This mistake allowed an estimated 5,000 developers to continue receiving user data for a longer time than expected. This issue arose despite Facebook's previous announcement in 2018 that developers would no longer have access to user data if the person hadn't used the developer's app for 90 days [102116]. (b) The software failure incident related to accidental factors is also present in the article as Facebook mentioned that the issue occurred because apps continued to receive data from the social network even if a user wasn't active on the developer's app for 90 days. This unintended consequence led to developers receiving information such as a user's gender and language after the expiration date, indicating an accidental oversight in the data sharing process [102116].
Duration temporary (a) The software failure incident described in the article is more likely to be temporary rather than permanent. This is evident from the fact that Facebook acknowledged the mistake, fixed the issue, and mentioned that developers were able to continue receiving user data for a longer time than expected due to a specific scenario where inactive users were still providing data unintentionally. The incident was a result of a specific loophole in the system that allowed data access to continue beyond the intended expiration date for certain users who were inactive on the developer's app for 90 days [102116].
Behaviour omission, value, other (a) crash: The software failure incident in the article does not involve a crash where the system loses state and does not perform any of its intended functions [102116]. (b) omission: The software failure incident in the article involves an omission where the system omits to perform its intended functions at an instance(s). Specifically, Facebook continued to share user data with developers even after access should have expired, allowing developers to receive user data for a longer time than expected [102116]. (c) timing: The software failure incident in the article does not involve a timing issue where the system performs its intended functions correctly but too late or too early [102116]. (d) value: The software failure incident in the article involves a value issue where the system performs its intended functions incorrectly. In this case, developers continued to receive user data such as gender and language even after the expiration date, which was not intended [102116]. (e) byzantine: The software failure incident in the article does not involve a byzantine behavior where the system behaves erroneously with inconsistent responses and interactions [102116]. (f) other: The other behavior observed in the software failure incident is a violation of user privacy and data security protocols. Despite Facebook's measures to limit developer access to user data after the Cambridge Analytica scandal, a mistake allowed developers to continue receiving user data beyond the specified time frame, potentially compromising user privacy [102116].

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 mentioned in the article resulted in Facebook sharing user data with thousands of developers even after access should have expired. This mistake allowed an estimated 5,000 developers to continue receiving user data for a longer time than expected [102116]. - Developers continued to receive data from Facebook even if a user wasn't active on the developer's app for 90 days, including information such as a user's gender and language after the expiration date [102116]. - The incident raised concerns about user privacy and data security, especially in the aftermath of the Cambridge Analytica scandal where data from up to 87 million users was harvested without permission [102116]. - While Facebook mentioned that they hadn't found evidence that the data was misused by developers, the unauthorized access to user data could potentially impact users' privacy and data security, which are valuable assets in the digital age [102116].
Domain information (a) The software failure incident reported in the news article is related to the information industry. Facebook, a major player in the social networking and information sharing sector, experienced a failure where user data was shared with developers even after access should have expired [Article 102116]. This incident highlights a breach in data privacy and information security within the industry.

Sources

Back to List