Skip to main content

Object Storage

Object storage is a data storage architecture that manages data as objects, rather than as files or blocks. Each object contains the data itself, metadata, and a unique identifier, making it ideal for storing large amounts of unstructured data such as multimedia files, backups, and archives. It is highly scalable and often used in cloud environments due to its flexibility and accessibility.

Release Details

Version:
DEV
Assurance Level:
Release Manager:
DB
Development Build

Contributors

DT
Development Team

Change Log

  • Development build - no formal changelog available

Capabilities

IDTitleDescriptionThreat Mappings
CCC.ObjStor.F01Storage BucketsProvides uniquely identifiable segmentations in which data elements may be stored.
0
CCC.ObjStor.F02Storage ObjectsSupports storing, accessing, and managing data elements which contain both data and metadata.
0
CCC.ObjStor.F03Bucket Capacity LimitProvides the ability to set a maximum total capacity for objects within a bucket.
0
CCC.ObjStor.F04Object Size LimitSupports setting a maximum object size for storing objects.
0
CCC.ObjStor.F05Store New ObjectsSupports for storing a new object in the bucket.
0
CCC.ObjStor.F06Replace Stored ObjectsSupports for replacing an object in the bucket with a new object for the same key.
0
CCC.ObjStor.F07Delete Stored ObjectsSupports for deleting objects from the bucket given the object key.
0
CCC.ObjStor.F08Lifecycle PoliciesSupports defining policies to automate data management tasks.
1
CCC.ObjStor.F09Object Modification LocksAllows locking of objects to disable modification and/or deletion of an object for a defined period of time.
1
CCC.ObjStor.F10Object Level Access ControlSupports controlling access to specific objects within the object store.
0
CCC.ObjStor.F11QueryingSupports performing simple select queries to retrieve only a subset of objects from the bucket.
0
CCC.ObjStor.F12Storage ClassesProvides different storage classes for frequently and infrequently accessed objects.
0
CCC.Core.F01Encryption in Transit Enabled by DefaultThe service automatically encrypts all data using industry-standard cryptographic protocols prior to transmission via a network interface.
0
CCC.Core.F02Encryption at Rest Enabled by DefaultThe service automatically encrypts all data using industry-standard cryptographic protocols prior to being written to a storage medium.
0
CCC.Core.F03Access Log PublicationThe service automatically publishes structured, verbose records of activities performed within the scope of the service by external actors.
3
CCC.Core.F04Transaction Rate LimitsThe service can throttle, delay, or reject excess requests when transactions exceed a user-specified rate limit, and always provides industry-standard throughput up to that limit.
1
CCC.Core.F05Signed URLsThe service can generate an ad hoc URL containing authentication information to enforce user-configured permissions for accessing a specific component or a child resource.
0
CCC.Core.F06Access ControlThe service automatically enforces user configurations to restrict or allow access to a specific component or a child resource based on factors such as user identities, roles, groups, or attributes.
1
CCC.Core.F07Event PublicationThe service automatically publishes a structured state-change record upon creation, deletion, or modification of data, configuration, components, or child resources.
2
CCC.Core.F08Data ReplicationThe service automatically replicates data across multiple deployments simultaneously with parity, or may be configured to do so.
2
CCC.Core.F09Metrics PublicationThe service automatically publishes structured, numeric, time-series data points related to the performance, availability, and health of the service or its child resources.
2
CCC.Core.F10Log PublicationThe service automatically publishes structured, verbose records of activities, operations, or events that occur within the service.
1
CCC.Core.F11BackupThe service can generate copies of its data or configurations in the form of automated backups, snapshot-based backups, or incremental backups.
2
CCC.Core.F12RecoveryThe service can be reverted to a previous state by providing a compatible backup or snapshot identifier.
1
CCC.Core.F14API AccessThe service exposes a port enabling external actors to interact programmatically with the service and its resources using HTTP protocol methods such as GET, POST, PUT, and DELETE.
1
CCC.Core.F18Resource VersioningThe service automatically assigns versions to child resources which can be used to preserve, retrieve, and restore past iterations.
2
CCC.Core.F20Resource TaggingThe service provides users with the ability to tag a child resource with metadata that can be reviewed or queried.
1
CCC.Core.F22Location Lock-InThe service may be configured to restrict the deployment of child resources to specific geographic locations.
1

Threats

IDTitleDescriptionExternal MappingsCapability MappingsControl Mappings
CCC.ObjStor.TH01Data Exfiltration via Insecure Lifecycle PoliciesMisconfigured lifecycle policies may unintentionally allow data to be exfiltrated or destroyed prematurely, resulting in a loss of availability and potential exposure of sensitive data.
1
1
0
CCC.ObjStor.TH02Improper Enforcement of Object Modification LocksAttackers may exploit vulnerabilities in object modification locks to delete or alter objects despite the lock being in place, leading to data loss or tampering.
1
1
0
CCC.Core.TH01Access is Granted to Unauthorized UsersLogic designed to give different permissions to different entities may be misconfigured or manipulated, allowing unauthorized entities to access restricted parts of the service, its data, or its child resources. This could result in a loss of data confidentiality or tolerance of unauthorized actions which impact the integrity and availability of resources and data.
1
1
6
CCC.Core.TH02Data is Intercepted in TransitData transmitted by the service is susceptible to collection by any entity with access to any part of the transmission path. Packet observations can be used to support the planning of attacks by profiling origin points, destinations, and usage patterns. The data may also be vulnerable to interception or modification in transit if not properly encrypted, impacting the confidentiality or integrity of the transmitted data.
1
1
1
CCC.Core.TH03Deployment Region Network is UntrustedSystems are susceptible to unauthorized access or interception by actors with social or physical control over the network in which they are deployed. If the geopolitical status of the deployment network is untrusted, unstable, or insecure, this could result in a loss of confidentiality, integrity, or availability of the service and its data.
1
1
1
CCC.Core.TH04Data is Replicated to Untrusted or External LocationsSystems are susceptible to unauthorized access or interception by actors with political or physical control over the network in which they are deployed. Confidentiality may be impacted if the data is replicated to a network where the geopolitical status is untrusted, unstable, or insecure.
1
1
2
CCC.Core.TH05Interference with Replication ProcessesMisconfigured or manipulated replication processes may lead to data being copied to unintended locations, delayed, modified, or not being copied at all. This could lead to compromised data confidentiality and integrity, potentially also affecting recovery processes and data availability.
1
1
0
CCC.Core.TH06Data is Lost or CorruptedServices that rely on accurate data are susceptible to disruption in the event of data loss or corruption. Any actions that lead to the unintended deletion, alteration, or limited access to data can impact the availability of the service and the system it is part of.
1
1
4
CCC.Core.TH07Logs are Tampered With or DeletedTampering or deletion of service logs will reduce the system's ability to maintain an accurate record of events. Any actions that compromise the integrity of logs could disrupt system availability by disrupting monitoring, hindering forensic investigations, and reducing the accuracy of audit trails.
1
1
2
CCC.Core.TH08Runtime Metrics are ManipulatedManipulation of runtime metrics can lead to inaccurate representations of system performance and resource utilization. This compromised data integrity may also impact system availability through misinformed scaling decisions, budget exhaustion, financial losses, and hindered incident detection.
1
1
0
CCC.Core.TH09Runtime Logs are Read by Unauthorized EntitiesUnauthorized access to logs may expose valuable information about the system's configuration, operations, and security mechanisms. This could jeopardize system availability through the exposure of vulnerabilities and support the planning of attacks on the service, system, or network. If logs are not adequately sanitized, this may also directly impact the confidentiality of sensitive data.
1
1
2
CCC.Core.TH10State-change Events are Read by Unauthorized EntitiesUnauthorized access to state-change events can reveal information about the system's design and usage patterns. This opens the system up to attacks of opportunity and support the planning of attacks on the service, system, or network.
1
1
0
CCC.Core.TH11Publications are Incorrectly TriggeredIncorrectly triggered publications may disseminate inaccurate or misleading information, creating a data integrity risk. Such misinformation can cause unintended operations to be initiated, conceal legitimate issues, and disrupt the availability or reliability of systems and their data.
1
1
0
CCC.Core.TH12Resource Constraints are ExhaustedExceeding the resource constraints through excessive consumption, resource-intensive operations, or lowering of rate-limit thresholds can impact the availability of elements such as memory, CPU, or storage. This may disrupt availability of the service or child resources by denying the associated functionality to users. If the impacted system is not designed to expect such a failure, the effect could also cascade to other services and resources.
1
1
0
CCC.Core.TH13Resource Tags are ManipulatedWhen resource tags are altered, it can lead to misclassification or mismanagement of resources. This can reduce the efficacy of organizational policies, billing rules, or network access rules. Such changes could cause compromised confidentiality, integrity, or availability of the system and its data.
1
1
0
CCC.Core.TH14Older Resource Versions are UsedRunning older versions of child resources can expose the system to known vulnerabilities that have been addressed in more recent versions. If the version identifier is detected by an attacker, it may be possible to exploit these vulnerabilities to compromise the confidentiality, integrity, or availability of the system and its data.
1
1
0
CCC.Core.TH15Automated Enumeration and Reconnaissance by Non-human EntitiesAutomated processes may be used to gather details about service and child resource elements such as APIs, file systems, or directories. This information can reveal vulnerabilities, misconfigurations, and the network topology, which can be used to plan an attack against the system, the service, or its child resources.
1
1
1

Controls

IDTitleObjectiveControl FamilyThreat MappingsGuideline MappingsAssessment Requirements
CCC.ObjStor.C01Prevent Requests to Buckets or Objects with Untrusted KMS KeysPrevent any requests to object storage buckets or objects using untrusted KMS keys to protect against unauthorized data encryption that can impact data availability and integrity. Data
2
5
4
CCC.ObjStor.C03Prevent Bucket Deletion Through Irrevocable Bucket Retention PolicyEnsure that object storage bucket is not deleted after creation, and that the preventative measure cannot be unset. Data
1
5
2
CCC.ObjStor.C04Objects have an Effective Retention Policy by DefaultEnsure that all objects stored in the object storage system have a retention policy applied by default, preventing premature deletion or modification of objects and ensuring compliance with data retention regulations. Data
1
5
2
CCC.ObjStor.C05Versioning is Enabled for All Objects in the BucketEnsure that versioning is enabled for all objects stored in the object storage bucket to enable recovery of previous versions of objects in case of loss or corruption. Data
1
5
4
CCC.ObjStor.C06Access Logs are Stored in a Separate Data StoreEnsure that access logs for object storage buckets are stored in a separate data store to protect against unauthorized access, tampering, or deletion of logs (Logbuckets are exempt from this requirement, but must be tlp-red). Data
2
6
1
CCC.Core.C01Encrypt Data for TransmissionEnsure that all communications are encrypted in transit to protect data integrity and confidentiality. Data
1
8
5
CCC.Core.C02Encrypt Data for StorageEnsure that all data stored is encrypted at rest using strong encryption algorithms. Data
1
7
1
CCC.Core.C06Restrict Deployments to Trust PerimeterEnsure that the service and its child resources are only deployed on infrastructure in locations that are explicitly included within a defined trust perimeter. Data
1
4
2
CCC.Core.C09Ensure Integrity of Access LogsEnsure that access logs are always recorded to an external location that cannot be manipulated from the context of the service(s) it contains logs for. Data
3
5
3
CCC.Core.C10Restrict Data Replication to Trust PerimeterEnsure that data is only replicated on infrastructure in locations that are explicitly included within a defined trust perimeter. Data
1
4
1
CCC.ObjStor.C02Enforce Uniform Bucket-level Access to Prevent Inconsistent PermissionsEnsure that uniform bucket-level access is enforced across all object storage buckets. This prevents the use of ad-hoc or inconsistent object-level permissions, ensuring centralized, consistent, and secure access management in accordance with the principle of least privilege. Identity and Access Management
1
5
2
CCC.Core.C03Implement Multi-factor Authentication (MFA) for AccessEnsure that all sensitive activities require two or more identity factors during authentication to prevent unauthorized access. Identity and Access Management
1
6
4
CCC.Core.C05Prevent Access from Untrusted EntitiesEnsure that secure access controls enforce the principle of least privilege to restrict access to authorized entities from explicitly trusted sources only. Identity and Access Management
1
8
6
CCC.Core.C04Log All Access and ChangesEnsure that all access attempts are logged to maintain a detailed audit trail for security and compliance purposes. Logging & Monitoring
1
5
3
CCC.Core.C07Alert on Unusual Enumeration ActivityEnsure that logs and associated alerts are generated when unusual enumeration activity is detected that may indicate reconnaissance activities. Logging & Monitoring
1
4
2