Security References: Difference between revisions

From miki
Jump to navigation Jump to search
Line 44: Line 44:


=== Fuzzing ===
=== Fuzzing ===
* https://github.com/google/syzkaller
* https://github.com/google/syzkaller — syzkaller - kernel fuzzer


== Reverse engineering ==
== Reverse engineering ==

Revision as of 12:15, 25 May 2022

Standards

Key derivation

Development

PKI

On trust model flaw in browser CAs:

  • "it will CLEARLY not solve the browser security problem.", "the certifications made by even the best of those CAs are effectively MEANINGLESS" "the users are well trained to ignore EVERY browser warning they EVER get" "the ENTIRE question of OCSP is somewhat irrelevant." "spritzing the SKUNK with eau de cologne." "hanging garlands from the corpses ears."' (Cfr mail A mighty fortress is our PKI, Part II (ventzi nikov, 2010 Jul 29 09:06)

Authentication

Definitions

Secure Boot
Secure Boot [1] is a security property of a bootstrap architecture ensuring that only configurations of a certain property can be loaded. If a modification is detected, the bootstrap process is interrupted.
Authenticated Boot
Authenticated Boot [1] is a security property of a bootstrap architecture ensuring that remote parties can verify properties of the booted configuration.
Trusted storage
Trusted storage [1] is storage where confidentiality, integrity, and freshness (i.e., protection against replay attacks) of stored data is provided, and where the integrity of the TOE accessing the data is ensured (in order to prevent other software, such as alternative or modified operating systems, from accessing the data).
Trusted Channel
A trusted channel [1] is a channel between two entities that provides integrity, confidentiality, and authenticity of the transmitted data, and ensures integrity and authenticity of the end points.
Nonce
A nonce [2] is a value used no more than once for the same purpose. It typically serves to prevent (undetectable) replay
Authentication
Assurance that the peer entity is in fact the entity it claims to be.

Software

Testing

Fuzzing

Reverse engineering

  • Cutter - powered by Radare2.
  • Ghidra.
  • IDA Pro.

RSA

Privacy and anonymity

  • Philippe Golle, Universal Re-encryption for Mixnets. [1]
Propose a variant of ElGamal encryption, where plaintext can be re-encrypted, hence preventing tracking. The same system can be used to randomize a public key such that encrypted message can still be decrypted by the same private key [2].
  • Matthew Green, How does Apple (privately) find your offline devices? [3]
Description of a system to discover location of a remote offline device via a network of connected devices... in a privacy-friendly way.
  • Hal Abelson, Ross Anderson, Steven M. Bellovin, Josh Benaloh, Matt Blaze, Jon Callas, Whitfield Diffie, Susan Landau, Peter G. Neumann, Ronald L. Rivest, Jeffrey I. Schiller, Bruce Schneier, Vanessa Teague, Carmela Troncoso, Bugs in our Pockets: The Risks of Client-Side Scanning

Models

Dolev-Yao attacker model

Eve can
  • See all messages
  • Delete, alter, inject and redirect messages
  • Initiate new communications
  • Reuse messages from past sessions
Eve cannot
  • Solve “hard” problems (such as?)
  • Guess pseudo-random values (eg. nonces)
  • Get another identity (identity theft)
  • Time computations

References:

  • Danny Dolev and Andrew C. Yao, On the Security of Public Key Protocols, 1983, IEEE.
  • Pieter Hartel, Introduction to Information Security, [4]


Other

  • Colin Boyd, Towards Extensional Goals in Authentication Protocols, 1997. [5]
Extensional goals are properties independent of the protocol and define what the protocol is designed to achieve.

Fault-tolerance

Byzantine fault is a condition of a computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed. This article covers several solutions.
a fun article about the issues of publications over byzantine fault tolerance.

References

  1. 1.0 1.1 1.2 1.3 Löhr, H., Sadeghi, A., Stüble, C., Weber, M., Winandy, M.: Modeling Trusted Computing Support in a Protection Profile for High Assurance Security Kernels. In TRUST(2009) 45-62
  2. Menezes, A., van Oorschot, P., Vanstone, S.: Handbook of Applied Cryptography, 1997
  3. Xi Wang, Nickolai Zeldovich, M. Frans Kaashoek, and Armando Solar-Lezama: Towards Optimization-Safe Systems: Analyzing the Impact of Undefined Behavior. In SOSP(2013)