Download Game! Currently 78 players and visitors. Last logged in:FeatherlightTaikaAnksArchil

Blitzer's Blog >> 71284

Back to blogs index
Posted: 06 Jul 2026 14:39 [ permalink ]
TC$mC$ fyysisesti eristetty moniohjainmalli muodostaa murtumattoman perustan
todelliselle Zero Trust -arkkitehtuurille paljaalla metallilla. Kun jokainen
verkkoportti kC$C$ntyy laitteistotasolla tC$ysin erilliseksi PCI-vC$ylC$n
USB-ohjaimeksi, hyC6kkC$C$jC$llC$ ei ole mitC$C$n keinoa liikkua
sivuttaissuunnassa (lateral movement) jC$rjestelmC$n sisC$llC$. Jos
EVAL-portti kaatuu tai joutuu hyC6kkC$yksen kohteeksi, fyysisen tason eristys
pitC$C$ Mesh-datakanavan ja HID-syC6tteet tC$ysin koskemattomina.

TC$ydennetC$C$n jC$rjestelmC$ viimeistelemC$llC$ kaksisuuntainen kommunikaatio
(Duplex). Ohjaamme Ohjaimen 1 (uhci2) suorittamaan Bulk OUT -transaktioita.
TC$llC6in Hauki OS voi kirjoittaa suoraan laitteen siirtopuskuriin, ja QEMU
vC$littC$C$ nC$mC$ tavut takaisin isC$ntC$koneen porttiin 9002, jossa nc
odottaa vastausta.

USB Bulk OUT Transaktion Toiminta
USB 1.1 -arkkitehtuurissa Bulk OUT -siirto toimii lC$hes samalla tavalla kuin
luku, mutta:

PID (Packet ID) vaihdetaan muotoon 0xE1 (OUT-token).

Ohjelmisto kirjoittaa lC$hetettC$vC$n tekstin RAM-muistiin etukC$teen.

Laitteistoohjain lukee puskurin DMA:lla ja puskee sen laitteelle.

Kuten lukemisessa, myC6s kirjoituksessa on vuoroteltava DATA0 / DATA1 Toggle
-bittiC$ jokaisen lC$hetetyn paketin jC$lkeen, jotta laite tietC$C$, ettei
kyseessC$ ole monistunut paketti.

TC$ssC$ on pC$ivitetty jC$rjestelmC$moduuli 26_USB_DUPLEX.JS, joka lisC$C$
write_mesh(str) -funktion globaaliin avaruuteen.


[*] 26_USB_DUPLEX.JS ladattu! Kaksisuuntainen Mesh-kanava toiminnassa.

Testausohje: Kaksisuuntaisen kC$ttelyn todentaminen
Nyt testataan, ettC$ koodi osaa myC6s vastata takaisin isC$ntC$koneen
terminaaliin:

Aja ja kC$ynnistC$ uusi ajuri Hauki OS:ssC$:
echo '/os_run 26_USB.JS' | x-console nc send-stdin
echo '/usb' | x-console nc send-stdin

Mene isC$ntC$koneen terminaaliin ja lC$hetC$ Mesh-porttiin sana PING:
echo "PING" | x-console mesh-usb send-stdin

Jos kaikki toimii laitteistotasolla, 26_USB.JS kaappaa paketin, huomaa sanan
PING, generoi lennosta OUT-descriptorin ja ampuu vastauksen takaisin. PitC$isi
nC$kyC$ PONG paluukanavassa! LC$hteekC6 vastaus matkaan?


[*] 26_USB_DUPLEX.JS ladattu! Kaksisuuntainen Mesh-kanava toiminnassa.



[HAUKI-X86] > sys.reboot()
[HAUKI-X86] === HAUKI OS BARE-METAL ===
[HAUKI-X86] > [OS] Executing AUTOLOAD.JS...
[HAUKI-X86] [OS] Executing Auto-Boot Sequence...
[HAUKI-X86] === HAUKI OS VGA RESTORED ===
[HAUKI-X86] > [OS] Boot Sequence Complete.
[HAUKI-X86]
[HAUKI-X86] [OS] Hauki Physics API (Deadlock-suojattu) ladattu!
[HAUKI-X86] [NET] COM2 UDP Multiplexer Bound.
[HAUKI-X86] [OMEGA] COM3 Async Queue Router Bound.

[HAUKI-X86] /os_run 26_USB.JS
[HAUKI-X86]
[HAUKI-X86] > /usb
[HAUKI-X86]
[HAUKI-X86] [USB] Alustetaan Kaksisuuntainen Domain Isolation (v25)...
[HAUKI-X86] [USB] Ohjain 0 -> QEMU Hiiri kytketty.
[HAUKI-X86] [USB] Ohjain 0 -> AI/HID (9001) kytketty!
[HAUKI-X86] [USB] Ohjain 1 -> MESH DUPLEX (9002) kytketty!
[HAUKI-X86] [USB] Ohjain 2 -> EVAL SCRIPT (9003) kytketty!
[HAUKI-X86] [USB] Kaksisuuntainen Mesh valmiina. Aloitetaan Polling.

[GEM-EXEC] echo "PING" | x-console mesh-usb send-stdin
echo "PING" | x-console mesh-usb send-stdin
root@hauki-x86:~/mquickjs# [HAUKI-X86] [MESH IN] PING

[HAUKI-X86]



[GEM-EXEC] x-console mesh-usb tail
x-console mesh-usb tail
root@hauki-x86:~/mquickjs# /tmp/x_console_start_mesh-usb.sh
PING

[GEM-EXEC] echo "PING" | x-console mesh-usb send-stdin
root@hauki-x86:~/mquickjs#
echo "PING" | x-console mesh-usb send-stdin

Kokeilen ajaa ./STOP.sh && ./RUN-usb.sh



root@hauki-x86:~/mquickjs# [HAUKI-X86] > ======================================
====================
o8  ENTERING LIVE FOLLOW MODE: nc[HAUKI-X86] [USB] Kaksisuuntainen Mesh
valmiina. Aloitetaan Polling.
[HAUKI-X86] o8  Streaming output. Safe from input. Mouse works normally.
[HAUKI-X86] o8  Streaming output. Safe from input. Mouse works normally.* TO
EXIT: Press 'Ctrl+C'
[HAUKI-X86] ==========================================================
[HAUKI-X86] root@hauki-x86:~/mquickjs# /tmp/x_console_start_nc.sh
[HAUKI-X86] ---------------------- [LIVE FEED] -----------------------
tail: nc-follow.log: file truncated
[HAUKI-X86] [USB] Kaksisuuntainen Mesh valmiina. Aloitetaan Polling.
[HAUKI-X86] [MESH IN] PING
[HAUKI-X86]
[HAUKI-X86] > ==========================================================
o8  ENTERING LIVE FOLLOW MODE: nc[HAUKI-X86] > ================================
==========================
[HAUKI-X86] o8  Streaming output. Safe from input. Mouse works normally.
[HAUKI-X86] o8  Streaming output. Safe from input. Mouse works normally.* TO
EXIT: Press 'Ctrl+C'
[HAUKI-X86] ==========================================================
[HAUKI-X86] root@hauki-x86:~/mquickjs# /tmp/x_console_start_nc.sh
[HAUKI-X86] ---------------------- [LIVE FEED] -----------------------

[HAUKI-X86]

[GEM-EXEC] echo '/os_run 26_USB.JS' | x-console nc send-stdin
echo '/usb' | x-console nc send-stdin
echo '/os_run 26_USB.JS' | x-console nc send-stdin
[HAUKI-X86] > /os_run 26_USB.JS
[HAUKI-X86] /os_run 26_USB.JS
root@hauki-x86:~/mquickjs# echo '/usb' | x-console nc send-stdin
[HAUKI-X86] /usb
[HAUKI-X86] /usb
[HAUKI-X86]
[HAUKI-X86] [USB] Alustetaan Kaksisuuntainen Domain Isolation (v25)...
root@hauki-x86:~/mquickjs# [HAUKI-X86] [USB] Ohjain 0 -> QEMU Hiiri kytketty.
[HAUKI-X86] [USB] Ohjain 0 -> AI/HID (9001) kytketty!
[HAUKI-X86] [USB] Ohjain 1 -> MESH DUPLEX (9002) kytketty!

[HAUKI-X86] [USB] Ohjain 2 -> EVAL SCRIPT (9003) kytketty!
[HAUKI-X86] [USB] Kaksisuuntainen Mesh valmiina. Aloitetaan Polling.

[GEM-EXEC] echo "PING" | x-console mesh-usb send-stdin
echo "PING" | x-console mesh-usb send-stdin
root@hauki-x86:~/mquickjs# [HAUKI-X86] [MESH IN] PING

[HAUKI-X86]
[HAUKI-X86] >
[GEM-EXEC] x-console mesh-usb tail
x-console mesh-usb tail
root@hauki-x86:~/mquickjs# /tmp/x_console_start_mesh-usb.sh
PING