| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Cooked.Attack.PeerTampering
Description
This module provides an attack to replace a peer with another in every possible locations in a skeleton. If the peers have different levels of privileges, this can uncover vulnerabilities.
Synopsis
- data PeerTamperingParams effs = PeerTamperingParams {
- ptpBranching :: Branching
- ptpChanges :: Sem effs (PubKeyHash, [PubKeyHash])
- purePeerTamperingParams :: Member NonDet effs => Branching -> [(PubKeyHash, [PubKeyHash])] -> PeerTamperingParams effs
- singlePeerTamperingParams :: (ToPubKeyHash existing, ToPubKeyHash new) => existing -> new -> PeerTamperingParams effs
- balancingPeerTamperingParams :: (ToPubKeyHash new, Members '[Tweak, NonDet] effs) => new -> PeerTamperingParams effs
- newtype PeerTamperingLabel = PeerTamperingLabel [PubKeyHash]
- peerTamperingAttack :: Members '[Tweak, NonDet] effs => PeerTamperingParams effs -> Sem effs [PubKeyHash]
Peer tampering params
data PeerTamperingParams effs Source #
Parameters of the peer tampering attack
Constructors
| PeerTamperingParams | |
Fields
| |
purePeerTamperingParams :: Member NonDet effs => Branching -> [(PubKeyHash, [PubKeyHash])] -> PeerTamperingParams effs Source #
A pure variant of PeerTamperingParams
singlePeerTamperingParams :: (ToPubKeyHash existing, ToPubKeyHash new) => existing -> new -> PeerTamperingParams effs Source #
Peer tampering params transforming a single user into another
balancingPeerTamperingParams :: (ToPubKeyHash new, Members '[Tweak, NonDet] effs) => new -> PeerTamperingParams effs Source #
Peer tampering params transforming the balancing user into another
Peer tampering label
newtype PeerTamperingLabel Source #
A label added to a TxSkel on which a tweak tampering a peer has been
applied. The label contains all the peers that have been replaced, as they
were before being replaced.
Constructors
| PeerTamperingLabel [PubKeyHash] |
Instances
Peer tampering attack
peerTamperingAttack :: Members '[Tweak, NonDet] effs => PeerTamperingParams effs -> Sem effs [PubKeyHash] Source #
Attempts to change the given peer into other peers everywhere in a TxSkel
in an attempt to uncover permission breaches.