Ihr Netz aus Tests Ihr statischer Analysator Ihr QA-Engineer Ihre KI-Feedbackschleife in Minuten
Für Embedded-Geräte, Hochleistungsserver, komplexe Umgebungen und praktisch jede Software der Welt.
Vertrauen in die Cybersecurity auf drei Ebenen durch statische Analyse, Tests und Laufzeitüberwachung
Statische Analyse
Quellcode mit Model Checking, abstrakter Interpretation und SMT-Solvern prüfen.
Tests
Prüfen, ob eine Flotte aus Geräten und Hosts im gesamten Produkt wie erwartet arbeitet.
Laufzeit
Prüfen, ob jedes Gerät und jeder Host tut, was erwartet wird.
Sie haben gehört, dass KI Sicherheitsfehler schnell behebt. Sie haben nicht gehört, wie viele neue sie einbaut.
#include <linux/slab.h> #include <linux/skbuff.h> const uint8_t *read_packet(struct sk_buff *skb, size_t len) uint8_t *read_packet(struct sk_buff *skb, size_t len) { uint8_t buf[64]; if (len > sizeof(buf)) len = sizeof(buf); uint8_t *buf; /* called from softirq / RX path */ buf = kmalloc(len, GFP_KERNEL);Visao: kann im RX-Pfad schlafen if (!buf) return NULL; memcpy(buf, skb->data, len);TS Factory: liest über das Paket hinaus → 3 Tests schlagen fehl (wenn len > skb->len) return buf;Delta: buf wird vom Aufrufer nie freigegeben }
Fortgeschrittene Tests automatisch erstellen? Ja, und das ist pure Magie.
pub fn handle(ctx: &Ctx, req: &Request) -> Result<Response> { let peer = req.peer; ctx.auth.bearer(&req.token)?; // authorization ctx.limiter.check(peer)?; // rate limit verify_md5(&req.frame, req.checksum)?; // checksums let sock = mptcp_connect(peer)?; // MPTCP ctx.link.delay(Duration::from_millis(80)); // link delay ctx.router.dispatch(peer, sock)}
Analysieren Sie den Code wie ein Angreifer. Während Sie arbeiten, direkt in Ihrem KI-Agenten.
> Implementiere Unterstützung für Einmalpasswörter. Prüfe, ob sie mathematisch korrekt ist.
uint32_t hotp(const uint8_t *secret, size_t len, uint64_t counter) { uint8_t msg[8]; for (int i = 7; i >= 0; --i) { msg[i] = uint8_t(counter); counter >>= 8; } uint8_t mac[20]; hmac_sha1(secret, len, msg, sizeof msg, mac); int off = mac[19] & 0x0f; uint32_t bin = (mac[off] << 24) | (mac[off + 1] << 16) | (mac[off + 2] << 8) | mac[off + 3]; return bin % 1000000;} bool verify(const uint8_t *secret, size_t len, uint64_t counter, const char *code) { char want[7]; std::snprintf(want, sizeof want, "%06u", hotp(secret, len, counter)); char got[7]; std::strncpy(got, code, sizeof got); return std::strcmp(got, want) == 0;}
otp.cpp:20:20 error arithm/integer/overflow MISRA 12.4
Möglicher Integer-Überlauf
mac[off] wird zu int erweitert, daher ist Bit 31 das Vorzeichenbit. RFC 4226 §5.4 maskiert das Byte vor der Verschiebung mit 0x7f. Ohne die Maske ist die Verschiebung undefiniert, und etwa die Hälfte der Zähler liefert einen Code, den kein Standard-Authenticator akzeptiert.
fix(mac[off] & 0x7f) << 24
otp.cpp:31:5 error cpp/string/no_null_terminator MISRA 21.17
Puffer nicht sicher nullterminiert
strncpy schreibt kein abschließendes NUL, wenn die Quelle die Größengrenze erreicht. Hat der übermittelte Code sieben oder mehr Zeichen, bleibt got ohne Terminator, und das folgende strcmp liest über den Puffer hinaus. Den Code liefert die Person, die sich authentifiziert.
fixgot[sizeof got - 1] = '\0';
2 Probleme · die Datei kompiliert ohne Warnungen
Vertrauen Sie nicht blind. Führen Sie es aus. Sammeln Sie Belege.
Ports:
- tcp 0.0.0.0:22 LISTEN (pid=412 sshd)
- tcp 0.0.0.0:443 LISTEN (pid=980 nginx)
- udp 0.0.0.0:123 LISTEN (pid=377 ntpd)
- tcp 0.0.0.0:2375 LISTEN (pid=1544 dockerd)
Persistence files:
- [systemd] /etc/systemd/system/agent.service mode 0644 uid 0
- [cron] /etc/cron.d/backup mode 0666 uid 0
- [profile] /etc/profile.d/env.sh mode 0644 uid 0
Binaries:
- /usr/bin/agent [aarch64 64-bit LE pie] libc=musl cc="gcc 12.2.0"
- /usr/bin/updater [aarch64 64-bit LE pie] libc=musl cc="gcc 12.2.0"
Binary hardening: NX 2/2, PIE 2/2, RELRO 2/2 (full 1), canary 1/2, fortify 0/2; 0 static, 0 stripped
Check failed
Verstöße
port high
Open port 2375 (tcp) does not match any policy rule
erwartetmatching port-norm rule
tatsächlichno matching rule (port/proto/state/process)
persistence critical ATT&CK T1053.003
Persistence file '/etc/cron.d/backup' (cron) is world-writable
erwartetnot world-writable
tatsächlichworld-writable
hardening medium ATT&CK T1055
Binary '/usr/bin/agent' lacks required mitigation: stack canary
erwartetstack canary
tatsächlichmissing
Found 3 violation(s)
Statische Analyse, Tests und Laufzeit. Eine Plattform: Midair.
Unterstützte Technologien. Von der JTAG-Sonde bis zur Geräteflotte.
- eBPF
- TLS
- IPv6
- DPDK
- DHCP
- WireGuard
- iSCSI
- TCP/IP stack
- VXLAN
- HTTP
- Open vSwitch
- NETCONF
- TR-069 (CWMP)
- MQTT
- NVMe
- QUIC
- SMB
- VLAN
- netem
- nginx
- SNMP
- Network namespaces
- 802.1X / EAP
- IGMP
- RADIUS
- OpenVPN
- RESTCONF
- Geneve
- Linux tc
- CoAP
- UPnP
- Multicast
- Link aggregation
- ARP
- ethtool
- Bridging and STP
- L2TP
- HAProxy
- packetdrill
- RDMA
- iptables
- pcap
- XDP
- netperf
- ASN.1
- IPsec
- GRE
- PPPoE
- TRex
- Modbus TCP
- DNS
- HTTP/3
- SSH
- CUPS
- IPP
- OpenSSL
- NTP
- Unbound
- DHCPv6
- Samba
- DLNA
- SOCKS
- RSS
- TFTP
- SR-IOV
- ICMPv6
- LACP
- DTLS
- radvd
- iperf3
- strongSwan
- TBF shaping
- Energy-Efficient Ethernet
- ipvlan
- FTP
- iperf
- vtund
- SSDP
- Telnet
- LDAP
- Mosquitto
- macvlan
- PTP
- PPP
- NAT
- libmodbus
- switchdev
- veth
- dnsperf
- wrk
Und das Beste: Die Testsuite gehört Ihnen.
Die Testsuite und alles darunter sind Open Source. Test Environment steht unter der Lizenz Apache 2.0. Die TS-Factory-Module stehen unter der MIT-Lizenz.
Das gilt auch im kostenlosen Community-Tarif.
- Apache 2.0Test Environment
- MITTS-Factory-Module
- €0Community-Tarif
Unsere Kunden arbeiten in verschiedenen Branchen.
Netzwerkgeräte
Ein WLAN-Router ist ein kompletter Stack: der Bootloader U-Boot, die Firmware, die Cloud-Verwaltung. Wir entwickeln alles davon, testen die Security und berichten, was zu beheben ist. Der Support läuft nach dem Release weiter.
- OpenWRT
- Eigene Build-Systeme
- Kernel
- Treiber
- DPDK und TRex
- U-Boot
- Tunnel-Implementierungen
- Netzwerkbeschleuniger in Hardware
- MPTCP
- WLAN
- WLAN-Mesh
- Fast alle gängigen Netzwerkprotokolle
Wearables und Smartphones
Ein Wearable oder ein Smartphone braucht Hardware und Software, die zueinander passen. Wir entwickeln beides, von der Wahl der Hardwareplattform bis zur kompletten Software.
- Portierung von Android auf neue Plattformen
- Wearables auf Atmel, Microchip, Nordic nRF, ESP32 und anderen Plattformen
- Portierung von U-Boot
Hochleistungsserver
Für Server nutzen wir Rust und C++. Beim Design stehen Geschwindigkeit und Security an erster Stelle.
- Cloud-Portale zur Verwaltung von Netzwerkgeräten
- Hochlastsysteme für Analyse und Tests
- DPDK und Beschleunigung des Netzwerkverkehrs
Entwicklerwerkzeuge
Wir entwickeln Programmiersprachen und helfen Ihnen, ihr Design zu verbessern. Werkzeuge für statische und dynamische Analyse sowie Debugger kommen vom selben Team.
- Analysatoren und eigene Prüfregeln für Projekte
- Komplett neue IDEs
- Compiler
- Design und Implementierung neuer Programmiersprachen
Security und Reverse Engineering
Manche Systeme müssen in jeder Branche sicher sein, und genau diese bauen wir. VPNs bekommen besondere Aufmerksamkeit. Ethisches Reverse Engineering ist eine weitere Option.
- Reverse Engineering undokumentierter Plattformen auf Basis von Windows, Windows Mobile, Windows Phone und Android
- Malware-Analyse
- Incident Response
- Red Teaming
Blockchain
Unsere Blockchain-Arbeit umfasst Zero-Knowledge-Beweise und Client-Entwicklung. Dazu gehören Toolchains für RISC-V und für die zkVM.
- Performance-Optimierung von Clients
- zkVM-Entwicklung
- Eigene Compiler und Toolchains
Interpretica
Kontakt aufnehmen
Beschreiben Sie Ihr System und was Sie bauen, testen oder absichern müssen. Wir antworten per E-Mail.
Branche
Starten Sie auf der Stufe, die Ihr Projekt braucht.
Community
€0
Führen Sie Visao und TS Factory auf einer gemeinsamen Instanz aus und prüfen Sie die Befunde.
Der Community-Tarif umfasst- Gemeinsame Instanz
- Läufe von Visao und TS Factory auf der gemeinsamen Instanz, in der Reihenfolge der Warteschlange
- Analyse der Befunde
- Support durch die Community
- Testerzeugung über einen externen Skill
Pro
€90pro Monat
Eine eigene Midair-Instanz für das Team, mit Delta, MCP und KI-Analyse der Ergebnisse.
Alles aus Community, dazu- Dedizierte Instanz in einer passenden Region
- Externe Knoten
- Mehrere Benutzer
- Teams und Zugriffsrechte
- Unterstützung für Model Context Protocol (MCP)
- Laufzeitüberwachung mit Delta
- Automatische Testerzeugung in der Oberfläche und über MCP
- KI-Analyse der Ergebnisse, mit Querverweisen zwischen Ergebnissen
- Support per E-Mail
Business
€990pro Monat
Dazu kommen SBOM- und Schwachstellenanalyse, Kennzahlen zur Teamleistung und selbst gehostete Instanzen.
Alles aus Pro, dazu- Analyse der Software-Stückliste (SBOM)
- Schwachstellenanalyse mit einer Schwachstellendatenbank
- Analyse der Teamleistung
- Selbst gehostete Instanzen
- Priorisierter Support
Enterprise
Individuell
Passen Sie Midair an eine große, regulierte oder Embedded-Umgebung an.
Alles aus Business, dazu- Unbegrenzt viele Benutzer
- Eigene Visao-Regeln
- Eigene Integrationen
- Projektspezifische Workflows und Berichte
- Individuelle Einbindung von KI-Workflows
- Dedizierter Engineering-Support
Notizen aus unserer Arbeit. Geschrieben von den Menschen, die sie machen.
What is the fastest programming language?
Why "what is the fastest programming language?" has no useful answer. We go through the usual ranking of assembly, C, C++, Rust, Java, C# and Python and show what actually decid...
Beitrag lesenThe research behind Visao: how Equid became our static analyzer
Before Visao was a product, it was a research project called Equid - a language-agnostic static analysis framework built to close the gap between academic verifiers and real ind...
Beitrag lesen