Wer verzweifelt auf der Suche nach einem Patch für seinen Uralt-Embbedkernel ist, könnte das hier brauchen:
iptables -I INPUT -p tcp –syn -m length –length 61:65535 -j DROP
Das blockt die überlangen SYN TCP Optionspakete mit dem Exploitcode drin ab, bevor diese eine Anwendung erreichen und passend verarbeitet werden.
Es gibt nur einen kleines Problem damit:
Wenn Ihr ein Appleprodukt benutzt um Webseiten auf einem so geschützten Gerät aufzurufen oder andere TCP basierte Dienste nutzen wollt, dann geht das direkt danach nicht mehr.
Die Entwickler bei Apple haben nämlich entschieden, daß sie als einzige beim Aufbau einer TCP Verbindung ein SYN Paket MIT TCP Options senden und das ist immer länger als die 60 Bytes von Windos, Unix, Linux und Android. Die Regel lehnt das sofort ab, und das wars dann mit Appleconnections zu dem Host.
Es gibt eine Alternative Firewallregel, von der ich mal behaupte, daß keiner von Euch dieses Modul auf dem Schirm hat:
iptables -I INPUT 1 -m u32 –u32 ‚0>>24&0x0f=6:15‘ -j DROP
Abgefahren , oder? 🙂 Auch die DROPPED die Pakete, wenn TCP Optionsflags vorkommen, aber die könnte man so anpassen, daß die Standardoptions von Apple durchgehen, die bösen Exploitcodes aber draußen bleiben. Dazu hatte aber keine KI Lust. Armes Apple ;D
Was macht „iptables -I INPUT 1 -m u32 –u32 ‚0>>24&0x0f=6:15‘ -j DROP“ ?
Der IP header wird Bitmäßig so gefiltert, daß nur das IP hdrlength Feld übrig bleibt. Das gibt an, wieviele LONG (32bit) Tokens der Header hat. Alle normalen haben 5 * 4(32-Bit) = 20 Bytes , also ist alles was > 5 ist entweder ein Apple Syn oder der Exploit.
Updated lieber den Kernel, haben wir auch gemacht, sowas ist nur was für Legacygeräte wie IoT, Ebbed usw. ohne Updates, wo auch niemand mit Apple jemals wieder drauf muß.
