Project

General

Profile

Actions

Task #3195

open

tracking: rustify all input

Added by Victor Julien over 5 years ago. Updated 2 months ago.

Status:
New
Priority:
High
Assignee:
Target version:
Effort:
Difficulty:
Label:
Hardening

Description

Goal is to make sure all untrusted input is handled by Rust code instead of C code.


Related issues 14 (6 open8 closed)

Related to Suricata - Optimization #2977: replace asn1 parser with rust based implementationClosedEmmanuel ThompsonActions
Related to Suricata - Optimization #2979: replace mime decoder with rust based implementationRejectedPhilippe AntoineActions
Related to Suricata - Task #2778: tracking: port app-layer parsers to RustNewOISF DevActions
Related to Suricata - Feature #3317: rules: use rust for tokenizing rulesFeedbackJason IshActions
Related to Suricata - Bug #3517: Convert DER parser to RustClosedPierre ChifflierActions
Related to Suricata - Feature #3957: Convert protocol to Rust: ModbusClosedSimon DugasActions
Related to Suricata - Feature #3958: enip: convert protocol parser to rustClosedPhilippe AntoineActions
Related to Suricata - Task #4082: ftp: convert parser to RustAssignedJeff LucovskyActions
Related to Suricata - Task #4095: tracking: unify rule keyword value parsingNewOISF DevActions
Related to Suricata - Task #4161: tls: convert parser to RustNewOISF DevActions
Related to Suricata - Optimization #5207: Common Rust parser for *bitsAssignedShivani BhardwajActions
Related to Suricata - Feature #7110: ssh: convert parser to rustRejectedActions
Related to Suricata - Optimization #7178: rfb: rustify keywords and app-layer registrationClosedPhilippe AntoineActions
Related to Suricata - Feature #7204: sip: rustify sticky buffersClosedGiuseppe LongoActions
Actions #1

Updated by Victor Julien over 5 years ago

Actions #2

Updated by Victor Julien over 5 years ago

  • Related to Optimization #2979: replace mime decoder with rust based implementation added
Actions #3

Updated by Victor Julien over 5 years ago

  • Related to Task #2778: tracking: port app-layer parsers to Rust added
Actions #4

Updated by Victor Julien about 5 years ago

  • Related to Feature #3317: rules: use rust for tokenizing rules added
Actions #5

Updated by Victor Julien almost 5 years ago

  • Priority changed from Normal to High
Actions #6

Updated by Victor Julien almost 5 years ago

  • Related to Bug #3517: Convert DER parser to Rust added
Actions #7

Updated by Philippe Antoine over 4 years ago

Useful as well for signature parsing cf https://github.com/OISF/suricata/pull/5081/files#r442105437

Actions #8

Updated by Jason Ish over 4 years ago

Philippe Antoine wrote in #note-7:

Useful as well for signature parsing cf https://github.com/OISF/suricata/pull/5081/files#r442105437

One example of parsing a part of a signature in Rust is for DNS opcode:

https://github.com/OISF/suricata/blob/master/rust/src/dns/detect.rs#L34

Actions #9

Updated by Philippe Antoine over 4 years ago

Another example of what to do :
https://github.com/OISF/suricata/pull/5095#discussion_r444300697

Rustify structure `StreamingBufferConfig` so that we can use it easily in Rust

Actions #10

Updated by Victor Julien over 4 years ago

  • Related to Feature #3957: Convert protocol to Rust: Modbus added
Actions #11

Updated by Victor Julien over 4 years ago

  • Related to Feature #3958: enip: convert protocol parser to rust added
Actions #12

Updated by Jason Ish about 4 years ago

  • Related to Task #4082: ftp: convert parser to Rust added
Actions #13

Updated by Victor Julien about 4 years ago

  • Related to Task #4095: tracking: unify rule keyword value parsing added
Actions #14

Updated by Philippe Antoine over 3 years ago

  • Related to Task #4161: tls: convert parser to Rust added
Actions #15

Updated by Philippe Antoine over 1 year ago

Actions #16

Updated by Victor Julien 6 months ago

Actions #17

Updated by Philippe Antoine 5 months ago

Actions #18

Updated by Philippe Antoine 4 months ago

  • Label Hardening added
Actions #19

Updated by Philippe Antoine 4 months ago

Actions

Also available in: Atom PDF