<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ashwarya</title>
    <description>The latest articles on DEV Community by Ashwarya (@xcl1br).</description>
    <link>https://dev.to/xcl1br</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F457058%2F26ba00e1-b6ac-4852-b815-105c50cf9915.jpg</url>
      <title>DEV Community: Ashwarya</title>
      <link>https://dev.to/xcl1br</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xcl1br"/>
    <language>en</language>
    <item>
      <title>Security Principles:</title>
      <dc:creator>Ashwarya</dc:creator>
      <pubDate>Thu, 17 Oct 2024 07:27:27 +0000</pubDate>
      <link>https://dev.to/xcl1br/security-principles-33ho</link>
      <guid>https://dev.to/xcl1br/security-principles-33ho</guid>
      <description>&lt;p&gt;When evaluating the security of a system, we use the CIA triad: confidentiality, integrity, and availability.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Confidentiality: Only authorized people can access the data.&lt;/li&gt;
&lt;li&gt;Integrity: Data cannot be changed without detection.&lt;/li&gt;
&lt;li&gt;Availability: The system is accessible when needed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Online Shopping:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Confidentiality: Credit card info is kept secret.&lt;/li&gt;
&lt;li&gt;Integrity: Shipping address cannot be altered.&lt;/li&gt;
&lt;li&gt;Availability: The website/app is up and running.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Patient Records:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Confidentiality: Medical records are kept private by law.&lt;/li&gt;
&lt;li&gt;Integrity: Records are accurate to ensure correct treatment.&lt;/li&gt;
&lt;li&gt;Availability: Records are accessible during medical visits.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sometimes, one aspect is more important than the others, like the integrity of a university announcement being critical.&lt;br&gt;
Beyond CIA, &lt;em&gt;two additional aspects&lt;/em&gt; are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Authenticity: Data is genuine and from the claimed source.&lt;/li&gt;
&lt;li&gt;Non repudiation: The source cannot deny their actions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Online Shopping: Confirm the order is real and the customer cannot deny placing it.&lt;/li&gt;
&lt;li&gt;Large Orders: Ensure the order is authentic and the sender cannot deny it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Parkerian Hexad&lt;/strong&gt; adds two more elements to CIA:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Utility: Data must be useful (e.g., encrypted data is useless without the key).&lt;/li&gt;
&lt;li&gt;Possession: Prevent unauthorized control of data (e.g., backups or ransomware).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In simple terms, security is about keeping data private, accurate, accessible, genuine, and ensuring it cannot be denied or taken without permission.&lt;br&gt;
System security can be attacked by revealing, changing, or destroying data. These are the opposites of the CIA triad: confidentiality, integrity, and availability.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disclosure (opposite of confidentiality): Revealing secret data.&lt;/li&gt;
&lt;li&gt;Alteration (opposite of integrity): Changing data.&lt;/li&gt;
&lt;li&gt;Destruction/Denial (opposite of availability): Making data or systems unavailable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Examples with patient records:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Disclosure: If medical records are stolen and made public, it’s a confidentiality attack.&lt;/li&gt;
&lt;li&gt;Alteration: If medical records are changed, wrong treatments might be given.&lt;/li&gt;
&lt;li&gt;Destruction/Denial: If systems are made unavailable, a medical facility can’t access patient records, stalling operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Balancing protection against disclosure, alteration, and destruction is crucial. Focusing too much on one can harm the others. Good security practices require a balance between confidentiality, integrity, and availability. To ensure the security of a system, we can use different security models that focus on confidentiality, integrity, or both.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bell-LaPadula&lt;/strong&gt; Model (Confidentiality):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple Security Property: "No read up" – can't read data at a higher security level.&lt;/li&gt;
&lt;li&gt;Star Security Property: "No write down" – can't write data to a lower security level.&lt;/li&gt;
&lt;li&gt;Discretionary-Security Property: Uses an access matrix to control read/write operations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Biba Model&lt;/strong&gt; (Integrity):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple Integrity Property: "No read down" – can't read data from a lower integrity level.&lt;/li&gt;
&lt;li&gt;Star Integrity Property: "No write up" – can't write data to a higher integrity level.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Clark-Wilson Model (Integrity):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constrained Data Item (CDI): Important data whose integrity must be protected.&lt;/li&gt;
&lt;li&gt;Unconstrained Data Item (UDI): All other data.&lt;/li&gt;
&lt;li&gt;Transformation Procedures (TPs): Operations to maintain CDI integrity.&lt;/li&gt;
&lt;li&gt;Integrity Verification Procedures (IVPs): Checks to ensure CDI integrity.
These models help protect data through rules about reading and writing based on security and integrity levels&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Extras&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;ISO/IEC 19249:2017&lt;/strong&gt; standard by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) outlines architectural and design principles for secure products, systems, and applications. The five architectural principles are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domain Separation: Grouping related components as single entities with common security attributes.&lt;/li&gt;
&lt;li&gt;Layering: Structuring systems into layers to impose and validate security policies at different levels.&lt;/li&gt;
&lt;li&gt;Encapsulation: Hiding low-level implementations and preventing direct data manipulation, using methods or APIs.&lt;/li&gt;
&lt;li&gt;Redundancy: Ensuring availability and integrity through backup systems, like dual power supplies or RAID configurations.&lt;/li&gt;
&lt;li&gt;Virtualization: Sharing hardware among multiple OSes, providing sandboxing for security.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The five design principles are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Least Privilege: Granting the minimal necessary permissions for tasks.&lt;/li&gt;
&lt;li&gt;Attack Surface Minimization: Reducing vulnerabilities by disabling unnecessary services.&lt;/li&gt;
&lt;li&gt;Centralized Parameter Validation: Ensuring input validation is centralized to prevent exploitation.&lt;/li&gt;
&lt;li&gt;Centralized General Security Services: Centralizing security services, like authentication, to enhance security.&lt;/li&gt;
&lt;li&gt;Error and Exception Handling: Designing systems to handle errors safely, preventing information leakage and ensuring secure failure states.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These principles guide the development of secure systems by emphasizing structured, validated, and minimalistic approaches to security.&lt;/p&gt;

&lt;p&gt;To avoid confusion, note these three terms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Vulnerability: A weakness susceptible to attack or damage.&lt;/li&gt;
&lt;li&gt;Threat: A potential danger associated with a vulnerability.&lt;/li&gt;
&lt;li&gt;Risk: The likelihood of a threat exploiting a vulnerability and the resulting impact on the business.&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
  </channel>
</rss>
