Verification of GossipSub in ACL2s

被引:0
|
作者
Kumar, Ankit [1 ]
von Hippel, Max [1 ]
Manolios, Panagiotis [1 ]
Nita-Rotaru, Cristina [1 ]
机构
[1] Northeastern Univ, Boston, MA 02115 USA
关键词
D O I
10.4204/EPTCS.393.10
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
GossipSub is a popular new peer-to-peer network protocol designed to disseminate messages quickly and efficiently by allowing peers to forward the full content of messages only to a dynamically selected subset of their neighboring peers (mesh neighbors) while gossiping about messages they have seen with the rest. Peers decide which of their neighbors to graft or prune from their mesh locally and periodically using a score for each neighbor. Scores are calculated using a score function that depends on mesh-specific parameters, weights and counters relating to a peer's performance in the network. Since a GossipSub network's performance ultimately depends on the performance of its peers, an important question arises: Is the score calculation mechanism effective in weeding out non-performing or even intentionally misbehaving peers from meshes? We answered this question in the negative in our companion paper [31] by reasoning about GossipSub using our formal, official and executable ACL2s model. Based on our findings, we synthesized and simulated attacks against GossipSub which were confirmed by the developers of GossipSub, FileCoin, and Eth2.0, and publicly disclosed in MITRE CVE-2022-47547. In this paper, we present a detailed description of our model. We discuss design decisions, security properties of GossipSub, reasoning about the security properties in context of our model, attack generation and lessons we learnt when writing it.
引用
收藏
页码:113 / 132
页数:20
相关论文
共 50 条
  • [1] ACL2s: "The ACL2 Sedan"
    Dillinger, Peter C.
    Manolios, Panagiotis
    Vroon, Daron
    Moore, J. Strother
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 174 (02) : 3 - 18
  • [2] ACL2s: "The ACL2 sedan"
    Dillinger, Peter C.
    Manolios, Panagiotis
    Vroon, Daron
    Moore, J. Strother
    [J]. 29TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: ICSE 2007 COMPANION VOLUME, PROCEEDINGS, 2007, : 59 - +
  • [3] ACL2s Systems Programming
    Walter, Andrew T.
    Manolios, Panagiotis
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2022, (359): : 134 - 150
  • [4] Proving Skipping Refinement with ACL2s
    Jain, Mitesh
    Manolios, Panagiotis
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (192): : 111 - 127
  • [5] Automated Grading of Automata with ACL2s
    Kumar, Ankit
    Walter, Andrew
    Manolios, Panagiotis
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2023, (375): : 77 - 91
  • [6] Verification of a Rust Implementation of Knuth's Dancing Links using ACL2
    Hardin, David S.
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2023, 393 : 161 - 174
  • [7] Industrial hardware and software verification with ACL2
    Hunt, Warren A., Jr.
    Kaufmann, Matt
    Moore, J. Strother
    Slobodova, Anna
    [J]. PHILOSOPHICAL TRANSACTIONS OF THE ROYAL SOCIETY A-MATHEMATICAL PHYSICAL AND ENGINEERING SCIENCES, 2017, 375 (2104):
  • [8] Symbolic simulation and verification of VHDL with ACL2
    Borrione, D
    Georgelin, P
    [J]. SYSTEM-ON-CHIP METHODOLOGIES & DESIGN LANGUAGES, 2001, : 59 - 69
  • [9] Formal Verification of ECCs for Memories Using ACL2
    Naseer, Mahum
    Ahmad, Waqar
    Hasan, Osman
    [J]. JOURNAL OF ELECTRONIC TESTING-THEORY AND APPLICATIONS, 2020, 36 (05): : 643 - 663
  • [10] Comparing verification systems: Interactive consistency in ACL2
    Young, WD
    [J]. COMPASS '96 - PROCEEDINGS OF THE ELEVENTH ANNUAL CONFERENCE ON COMPUTER ASSURANCE: SYSTEMS INTEGRITY, SOFTWARE SAFETY, PROCESS SECURITY, 1996, : 35 - 45