Coder Social home page Coder Social logo

🐒 Rolling Alice... ⏳

πŸ€™ Hello Entity of the Internet! 🀘 I'm John. 🎩

β›“οΈπŸ•³ I've fallen down the open source supply chain security rabbit hole. πŸŒ³πŸ‡

My current focus is around leveraging threat model and architecture information to facilitate automated context aware decentralized gamification / continuous improvement πŸš„ of the security lifecycle / posture of open source projects. The aim is to harden train of thought security.

It'd be fun if you joined in on this adventure. πŸ›€οΈ I can promise it's going to be a wild ride. πŸ›ΌπŸŽ’

Source: Living Threat Models Are Better Than Dead Threat Models [John L. Whiteman and John S. Andersen (aka John^2)]

The cornerstone of security for every application starts with a threat model. Without it, how does one know what to protect and from whom? Remarkably, most applications do not have threat models, take a look at the open-source community. And, even if a threat model is created, it tends to be neglected as the project matures since any new code checked in by the development team can potentially change the threat landscape. One could say that the existing threat model is as good as dead if such a gap exists.

Our talk is about creating a Living Threat Model (LTM) where the same best practices used in the continuous integration of source code can aptly apply to the model itself. LTMs are machine readable text files that coexist in the Git repository and, like, source code, can be updated, scanned, peer reviewed and approved by the community in a transparent way. Wouldn’t it be nice to see a threat model included in every open-source project?

We need to consider automation too to make this work in the CI/CD pipeline. We use the open-source Data Flow Facilitator for Machine Learning (DFFML) framework to establish a bidirectional data bridge between the LTM and source code. When a new pull request is created, an audit-like scan is initiated to check to see if the LTM needs to be updated. For example, if a scan detects that new cryptography has been added to the code, but the existing LTM doesn’t know about it, then a warning is triggered. Project teams can triage the issue to determine whether it is a false positive or not, just like source code scans.

We have been working on this effort for a few years and feel we are on the right track to make open-source applications more secure in a way that developers can understand.

hole-rabbit-hole

Upstream: https://github.com/mgaitan/sphinxcontrib-mermaid

   sequenceDiagram
      participant Alice
      participant Bob
      Alice->John: Hello John, how are you?
      loop Healthcheck
          John->John: Fight against hypochondria
      end
      Note right of John: Rational thoughts <br/>prevail...
      John-->Alice: Great!
      John->Bob: How about you?
      Bob-->John: Jolly good!

John Andersen's Projects

key icon key

Golang crypto wraper

kite icon kite

Micro-service framework in Go

launcher icon launcher

Python library and CLI for controling the USB Thunder Missle Launcher

layout-web-tool icon layout-web-tool

A flask app that helps to create, modify and visualize in-toto layouts.

leakbox icon leakbox

VirtualBox leaking kernel addresses defeating KASLR POC

librpc icon librpc

C implementation of various client and server protocols

machine icon machine

Machine management for a container-centric world

micropython icon micropython

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

microsocket icon microsocket

A Framework for created mircoservices which communicate through a websocket server

miniircd icon miniircd

A very simple Internet Relay Chat (IRC) server

ms-tpm-20-ref icon ms-tpm-20-ref

Reference implementation of the TCG Trusted Platform Module 2.0 specification.

napp icon napp

Rapid app development while you nap

nigit icon nigit

Web server that wraps around programs and shell scripts and exposes them as API

noip icon noip

No-IP Dynamic DNS client with docker container and docker-compose file

numapp icon numapp

Add any social media accounts to your PAL account so that other can find you online

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.