Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.
Dnes jsem přemýšlel jak zařídit, aby systém pracoval jen s usb zařízeními, která si sám povolím a aby ostatní USB zařízení jenž nejsou ve whitelistu ignoroval, což se hodí pro zabezpečení počítače před nezvanými návštěvníky. Ovšem je to jen jedna z věcí, která může pomoci k bezpečnosti, o jiných metodách jako šifrování se zde zmiňovat nebudu. Zápisek dělám i pro sebe kdybych jej ještě někdy potřeboval, abych nemusel znovu hledat způsob tohoto zabezpečení.
Zápisek je pro neznalé, s udev pravidly jsem se setkal prvně, zkušenější můžou napsat poznámky.
Našel jsem řešení pomoci pravidel udev, kde první zakážu všechny usb zařízení viz 99-blacklist.rules a poté vytvořím vyjímky s 99-whitelist.rules.
/etc/udev/rules.d/99-blacklist.rules:
SUBSYSTEM=="usb", ATTR{authorized_default}="0"
SUBSYSTEM=="usb", ATTR{authorized}="0"
/etc/udev/rules.d/99-whitelist.rules:
ACTION=="add", ATTR{bDeviceClass}=="09", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
ACTION=="add", ATTR{idVendor}=="045e", ATTR{idProduct}=="076d", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
ACTION=="add", ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0001", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
ACTION=="add", ATTR{idVendor}=="258a", ATTR{idProduct}=="0001", ATTRS{serial}=="AB0412323093", RUN+="/bin/sh -c 'echo 1 >/sys$DEVPATH/authorized'"
U některých usb zařízení (flash disky, UPSky...) se navíc vyskytuje parametr serial pro přesné určení zařízení, tudíž druhé usb zařízení stejného výrobku se k systému nepřipojí, k získání ATTRS{serial} použiji příkaz:
udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/003/018) |grep serial
idVendor a idProduct zjistím pomoci nástroje lsusb, viz:
Bus 001 Device 002: ID 045e:076d Microsoft Corp. LifeCam HD-5000
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 018: ID 258a:0001
Občas se mi po změně udev pravidel požadovaná změna neprojeví. Proto restartuji udev. V systémech založených na Debianu pomoci: sudo service udev restart
Když nyní zapojím například usb disk, tak jej vidím jen pomoci lsusb, ale sám se nenamountuje.
Dále se může hodit detekce vložení usb zařízení, do souboru 91-local.rules vložíme:
SUBSYSTEMS=="usb", KERNEL=="*", ACTION=="add", RUN+="/usr/bin/sudo -u user /usr/local/bin/USB %k"
Při vložení zařízení se spustí USB skript, v něm už můžete mít vlastní příkazy. Zkusil jsem zbastlit v bashi skript (je neefektivní a jistě by šel udělat lépe, tudíž je spíše jen jako příklad) jenž podle seznamu povolených zařízení zjistí zdali je zařízení povoleno a bude jej ignorovat nebo bude umožněna další akce.
Příklad spuštěného skriptu /usr/local/bin/USB:
#!/bin/bash
if ! screen -list | grep -q "USB-detect"; then
screen -S USB-detect -dm /usr/local/bin/USBdetect
fi
Screen zajistí že se nepustí instance znovu.
Příklad skriptu /usr/local/bin/USBdetect:
#!/bin/bash
sleep 2
lsusb > /tmp/lsusb-nove
cat /etc/usbdetect/lsusb-pozadovane /tmp/lsusb-nove |sort |uniq -u > /tmp/lsusb-vysledek
while read lineList; do
bus=`echo $lineList |awk '{print $2}'`
device=`echo $lineList |awk '{print $4}' |sed s/://g`
udevadm info -a -p $(udevadm info -q path -n /dev/bus/usb/$bus/$device) > /tmp/usbDeviceEcho.log
idProduct=`cat /tmp/usbDeviceEcho.log |grep ATTR{idProduct}== |sed 's/ATTR{idProduct}==//g;s/"//g;s/ //g'`
idVendor=`cat /tmp/usbDeviceEcho.log |grep ATTR{idVendor} |sed 's/ATTR{idVendor}==//g;s/"//g;s/ //g'`
serial=`cat /tmp/usbDeviceEcho.log |grep ATTR{serial} |sed 's/ATTR{serial}==//g;s/"//g;s/ //g'`
stringUsbDevice=$idVendor:$idProduct:$serial
knownUSB=0 #0=unknown 1=know
while read line; do
line=`echo $line |awk '{print $1}'`
if [ "$stringUsbDevice" == "$line" ]
then
knownUSB="1"
fi
done < /etc/usbdetect/usbDeviceList
#run script
if [ "$knownUSB" == 0 ]
then
date >> /tmp/usbdetect-alert
echo $stringUsbDevice "Zarizeni neni v seznamu!! Alert!
" >> /tmp/usbdetect-alert
fi
done < /tmp/lsusb-vysledek
Soubor /etc/usbdetect/lsusb-pozadovane je vytvořen pomoci lsusb, později lze řádky přidat manuálně.
Soubor /etc/usbdetect/usbDeviceList je editován ručně v pořadí: $idVendor:$idProduct:$serial viz příklad:
04b3:310c: IBM Corp. Wheel Mouse
1d6b:0001: Linux Foundation 1.1 root hub
051d:0002:034512253091 American Power Conversion Uninterruptible Power Supply
1d6b:0001: Linux Foundation 1.1 root hub
045e:00cb: Microsoft Corp. Basic Optical Mouse v2.0
Tiskni
Sdílej:
To je sice pravda, ale i přesto je to pro něj ztížení a pokud útočník o opatření nebude vědět, tak to může mít nějakou výhodu. Útočník se v tom případě musí k hardweru dostat, přečíst si jeho id a zadat jej do svého hw. V případě usb disků mohu jen polemizovat nad tím, že se k němu nedostane a nepřečte si seriové číslo. V případě klávesnice a připojených zařízení to lze řešit tím, že jakmile se jednou odpojí, vyškrtne se ze seznamu a nepůjde znovu připojit dokud to nespravím přes ssh, navíc dvě stejná zařízení by byla také zakázaná. Až tak moc paranoidní ovšem nejsem a počítám že většinu útočníku to odradí.
Ale nápad je to dobrý.
udevu, takže pro detekci není třeba jeho restart. Skládá se ze tří částí, první je pravdilo 90-blockusbhid.rules:
#Check USB HID devices
ACTION=="add", ATTR{bInterfaceClass}=="03" RUN+="/usr/local/sbin/checkhid"
Druhý je samotný skript checkhid, co kontroluje zařízení podle whitelistu:
#!/bin/sh
logger -t CheckHID "Checking '$PRODUCT' ..."
while read line;
do
if [ "$PRODUCT" = "$line" ]
then
logger -t CheckHID "Device OK"
exit
fi
done < /usr/local/etc/enabled_devices.cfg
logger -t CheckHID "Disabling device"
echo 0 > /sys$DEVPATH/../authorized
Skript čte řádku po řádce soubor s povolenými zařízenímy a pokud najde shodu, skončí, v opačném případě zařízení zakáže.
A třetí část je konfigurační soubor enabled_devices.cfg, což je whitelist povolených HID zařízení. Formát souboru je jednoduchý, na každé řádce je to, co skript vypíše do logu mezi apostrofy, třeba USB klávesnice má na řádku 4f2/116/300 a moje UPS 463/ffff/1.
PS: Pokud máte pouze USB klávesnici, během testování si raději zapoznámkujte poslední řádek
....
Dnes vyšel článek na konkurenčním serveru a zmiňují se tam o skriptu v pythonu, tedy konkrétně USBkill, jen pro informaci.