When Reachability and Exploitability Dictate Software Security Decisions: A Critical Examination

Introduction In software development and security, reachability and exploitability often influence vulnerability management decisions. However, relying on these factors to delay prioritizing or reporting security findings is fundamentally flawed. Using such justifications amounts to “lying to those who want to be lied to.” The Flawed Test of Reachability and Exploitability Testing methodologies based on immediate reachability or exploitability are inherently flawed. The Log4Shell incident exemplifies how dynamic code execution creates false negatives. Modern software’s complex data flows obscure attack pathways, leading to underestimating vulnerability reach. Dismissing findings based on these tests merely obscures risk rather than eliminating it. ...

February 19, 2024 · 2 min · Not specified (AI-generated content)

Foundations for Success

Core Values Overview Core values serve as “fundamental principles that serve as the bedrock for any design, establishing the essential boundaries and guidelines within which a product must function.” The MyOwnTutorial platform is built on five essential core values: 1. Student Focus The student experience remains paramount. Teachers, administrators, and stakeholders exist to enhance the student’s learning journey. Every feature and policy is evaluated through its impact on students. 2. Privacy by Design Privacy cannot be secondary. All data—from grades and lesson plans to student work—receives the highest confidentiality treatment. Information remains inaccessible unless explicitly designated for sharing. ...

February 14, 2024 · 2 min · Not specified

Designing for the Future of Education: A Tutorial on Building Secure Applications

Overview This tutorial addresses the challenge of creating meaningful software examples that bridge the gap between basic tutorials and real-world complexity. Most software security tutorials use overly simplistic examples like to-do applications or focus exclusively on high-value financial data. Purpose The authors aim to demonstrate how integrating security principles—even when not legally mandated—can lead to cleaner implementations and lower total cost of ownership. Using an online educational platform as the example, the tutorial examines three categories of security needs: ...

February 7, 2024 · 2 min · Snake Eyes Software

The Secure Software Habit

Overview Creating trustworthy software demands deliberate attention to three core security principles: availability, integrity, and confidentiality. The article outlines practical habits developers can adopt throughout the software lifecycle. Building Phase Practices Threat Modeling involves considering potential failures and appropriate responses. Coding Standards establish consistency but require careful balance between enforcement and practicality. Code Reviews leverage peer expertise, though effectiveness depends on reviewer skill. Code Quality Scans automate detection of poor practices. SAST (Static Analysis Software Testing) identifies vulnerabilities in source code quickly, though complexity and framework support present challenges. Various testing approaches—unit tests, integration tests, and end-to-end testing—validate functionality at different levels. ...

January 31, 2024 · 1 min · Snake Eyes Software

Choose Your Own Adventure: Design for Security or Struggle with Support

All software design decisions influence security outcomes. Multiple factors affect the overall security posture of an application. Key Design Considerations Programming Languages Each language carries distinct security tradeoffs. C and C++ provide performance advantages but introduce memory management vulnerabilities like buffer overflows. Java prevents those errors but may retain sensitive data in memory longer than intended. DRY Principle “Don’t Repeat Yourself” promotes code reuse, reducing the need to fix vulnerabilities multiple times. Leveraging existing solutions—such as established encryption libraries—prevents recreating complex, mathematically intensive systems. ...

January 17, 2024 · 2 min · Snake Eyes Software

Hiding Data in Plain Sight

Overview Access controls alone are insufficient for data protection. When data lacks adequate security or passes through unprotected networks, converting plaintext into seemingly random characters provides defense against unauthorized access. Four Data Conversion Methods Encryption “Encryption is the process of converting data into a coded format that can only be accessed by someone with the correct key.” This bidirectional approach allows data recovery through decryption, making it suitable for protecting sensitive information both in transit and at rest. ...

January 10, 2024 · 2 min · Snake Eyes Software

None Shall Pass

Overview The article uses the famous scene from Monty Python and the Holy Grail featuring the Black Knight to introduce access control concepts. The Black Knight’s refusal to grant passage serves as a metaphor for security mechanisms that prevent unauthorized data access. Key Access Control Strategies The foundation of data protection relies on “Deny By Default” - a principle where system administrators cannot access data without following established procedures. This approach prevents mistakes and creates audit trails for accountability. ...

January 2, 2024 · 2 min · Snake Eyes Software

The Honor Code of Data: Privacy-First Design

Trust Through Protection The article asserts that “Protecting customers’ information is about gaining their trust.” Privacy safeguards data while confidentiality represents the formal commitment organizations make to maintain that security. Core Design Principle A foundational tenet states that “the user does not implicitly consent to any and all use of their data.” Companies bear responsibility for protecting all customers based on their application’s stated purpose. Multi-Layered Protection Strategy The piece outlines several protection stages: ...

December 27, 2023 · 1 min · Snake Eyes Software

It All Starts With Design

Software design combines artistic vision with scientific principles. Like woodworking, it involves envisioning a final product and executing it through methodical processes, with adjustments made throughout. Design as Continuous Process Design isn’t a single event but rather “a continuous thread that runs through the entire creation process.” It spans from high-level concepts to intricate algorithmic details, driven primarily by product requirements. Educational Software Example When designing educational systems, the student becomes the primary user. Designers must consider enrollment processes, assignment distribution, and evaluation methods—details that often require prototyping to clarify. ...

December 20, 2023 · 1 min · Snake Eyes Software

Software Security Is Software Quality

The Craftsmanship Parallel The author draws an extended analogy between woodworking and software development. Just as a skilled woodworker must understand wood grain, joint construction, and material selection, software developers must prioritize the details that matter—particularly data protection and security. Quality Standards and Rigor The piece emphasizes that software intended for mass consumption requires rigorous testing across multiple development lifecycle phases. A simple workshop project differs fundamentally from products serving thousands of users, teachers, parents, and students who depend on reliability and confidentiality. ...

December 13, 2023 · 1 min · Snake Eyes Software