{"id":18421977,"url":"https://github.com/spcl/redmark","last_synced_at":"2025-04-07T14:32:07.382Z","repository":{"id":135158994,"uuid":"297991722","full_name":"spcl/redmark","owner":"spcl","description":"ReDMArk: Bypassing RDMA Security Mechanisms.","archived":false,"fork":false,"pushed_at":"2020-10-19T22:03:02.000Z","size":501,"stargazers_count":39,"open_issues_count":0,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-22T19:45:07.402Z","etag":null,"topics":["rdma"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spcl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-23T14:12:32.000Z","updated_at":"2025-03-14T03:08:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"7174392e-b849-4191-a32c-9ba2c3d9d29a","html_url":"https://github.com/spcl/redmark","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2Fredmark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2Fredmark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2Fredmark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spcl%2Fredmark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spcl","download_url":"https://codeload.github.com/spcl/redmark/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247670029,"owners_count":20976493,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rdma"],"created_at":"2024-11-06T04:27:34.951Z","updated_at":"2025-04-07T14:32:07.376Z","avatar_url":"https://github.com/spcl.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ReDMArk: Bypassing RDMA Security Mechanisms.\nA framework for security analysis of RDMA networking.\nThis is the source code for our [USENIX Security paper](paper/redmark.pdf).\n\n## Discovered vulnerabilities\n * (V1) Memory Protection Key Randomness. See [`rkey_tests/`](rkey_tests/).\n * (V2) Static Initialization State for Key Generation. See [`rkey_tests/`](rkey_tests/).\n * (V3) Shared Key Generator. See [`rkey_tests/`](rkey_tests/).\n * (V4) Consecutive Allocation of Memory Regions. See [`allocation_addr_tests/`](allocation_addr_tests/).\n * (V5) Linearly Increasing QP Numbers. See [`qp_tests/`](qp_tests/).\n * (V6) Fixed Starting Packet Sequence Number. See [USENIX Security paper](paper/redmark.pdf).\n * (V7) Limited Attack Detection Capabilities. See [USENIX Security paper](paper/redmark.pdf). \n * (V8) Missing Encryption and Authentication in RDMA Protocols. See [USENIX Security paper](paper/redmark.pdf).\n * (V9) Single Protection Domain for all QPs. See [USENIX Security paper](paper/redmark.pdf). \n * (V10) Implicit On-Demand Paging (ODP). See [USENIX Security paper](paper/redmark.pdf). \n\n## Implemented attacks\n * (A1) Packet Injection using Impersonation. See [`inject_attack/`](inject_attack/).\n * (A2) DoS Attack by Transiting QPs to an Error State. See [`inject_attack/`](inject_attack/).\n * (A3) Unauthorized Memory Access. See [USENIX Security paper](paper/redmark.pdf). \n * (A4) DoS Attack based on Queue Pair Allocation Resource Exhaustion. See [`qp_tests/`](qp_tests/).\n * (A5) Performance Degradation using Resource Exhaustion. See [`exhaustion_attack/`](exhaustion_attack/).\n * (A6) Facilitating Attacks using RDMA. See [`preload_attack/`](preload_attack/).\n\n## Citing this work\n\nIf you use our code, please consider citing our [USENIX Security paper](paper/redmark.pdf):\n\n```\n@inproceedings{rot2021redmark,\n  title={{ReDMArk}: Bypassing {RDMA} Security Mechanisms},\n  author={Benjamin Rothenberger and Konstantin Taranov and Adrian Perrig and Torsten Hoefler},\n  booktitle={{USENIX} Security Symposium ({USENIX} Security 21)},\n  year={2021},\n}\n```\n\n## Contact \nKonstantin Taranov (konstantin.taranov \"at\" inf.ethz.ch)    \nBenjamin Rothenberger (benjamin.rothenberger \"at\" inf.ethz.ch)  \n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspcl%2Fredmark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspcl%2Fredmark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspcl%2Fredmark/lists"}