AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.
Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou
… více »Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.
Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.
Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.
Bezpečnostní specialista Graham Helton z Low Orbit Security si všímá podezřelých anomálií v BGP, zaznamenaných krátce před vstupem ozbrojených sil USA na území Venezuely, které tam během bleskové speciální vojenské operace úspěšně zatkly venezuelského diktátora Madura za narkoterorismus. BGP (Border Gateway Protocol) je 'dynamický směrovací protokol, který umožňuje routerům automaticky reagovat na změny topologie počítačové sítě' a je v bezpečnostních kruzích znám jako 'notoricky nezabezpečený'.
Společnost Valve aktualizovala přehled o hardwarovém a softwarovém vybavení uživatelů služby Steam. Podíl uživatelů Linuxu dosáhl 3,58 %. Nejčastěji používané linuxové distribuce jsou Arch Linux, Linux Mint a Ubuntu. Při výběru jenom Linuxu vede SteamOS Holo s 26,32 %. Procesor AMD používá 67,43 % hráčů na Linuxu.
V Las Vegas probíhá veletrh CES (Consumer Electronics Show, Wikipedie). Firmy představují své novinky. Například LEGO představilo systém LEGO SMART Play: chytré kostky SMART Brick, dlaždičky SMART Tagy a SMART minifigurky. Kostka SMART Brick dokáže rozpoznat přítomnost SMART Tagů a SMART minifigurek, které se nacházejí v její blízkosti. Ty kostku SMART Brick aktivují a určí, co má dělat.
Vládní CERT (GovCERT.CZ) upozorňuje (𝕏) na kritickou zranitelnost v jsPDF, CVE-2025-68428. Tato zranitelnost umožňuje neautentizovaným vzdáleným útočníkům číst libovolné soubory z lokálního souborového systému serveru při použití jsPDF v prostředí Node.js. Problém vzniká kvůli nedostatečné validaci vstupu u cest k souborům předávaných několika metodám jsPDF. Útočník může zneužít tuto chybu k exfiltraci citlivých
… více »Aktuální vývojová verze jádra je 3.16-rc6 vydaná 20. července. Linus začíná mít obavy, že je okolo -rc moc velký šrumec:
rc6 sice pořád není až *tak* veliké, proto nemám vyloženě strach, ale dostávám se do fáze, kdy lidem nadávám a křičím na ně, když mi posílají věci, které do pozdních rc nepatří. Tím neříkám, že to tak někdo dělal: i když je rc6 větší, než bych doufal, není tam nic až tak nesmyslného. Budu na to ale dávat pozor a začnu být nevrlý (nebo nevrLEJŠÍ), pokud zaznamenám, že má slova o uklidňování neberou vážně.
Stabilní aktualizace: verze 3.15.6, 3.14.13, 3.10.49 a 3.4.99 vyšly 17. července.
Pokud si s chráněnou věcí nemůžeme pohrávat z víc míst najednou, pak víš, co dělat, a pokud můžeme, tak také víš, co dělat. Pokud na to nemůžeš přijít, pak pokračuj v boji s dalšími větrnými mlýny, dokud všechny na naší planetě neporazíš.
Se správcem „Všeho zla“ se pojí i zajímavý prsten.
Šestice vývojářů právě zveřejnila dokument, který zkoumá selhání v Linuxu 2.6. V srpnu 2011 Linux vstoupil do své třetí dekády. Před deseti lety Chou et al. vydali studii o chybách aplikováním statické analýzy kódu na verze Linuxu od 1.0 po 2.4.1. Významným výsledkem jejich práce bylo to, že adresář drivers obsahoval až 7krát více chyb určitého druhu než jiné adresáře. Tento výsledek vedl ke snahám o zvýšení spolehlivosti kódu ovladačů. Dnes je Linux používán ve větším množství prostředí, nabízí širší paletu služeb a přijal nový způsob vývoje a vydávání. Jaký je dopad těchto změn na kvalitu kódu? Abychom zodpověděli tuto otázku, přenesli jsme experimenty od Choua et al. na Linux 2.6; verze vydané mezi léty 2003 a 2011. Přišli jsme na to, že velikost Linuxu se za tuto dobu více než zdvojnásobila, ale počet chyb na řádek se snižuje. Chybovost ovladačů je teď navíc nižší než u jiných adresářů jako arch. Tyto výsledky mohou napovědět dalšímu vývoji a výzkumu v nadcházejícím desetiletí. Abychom usnadnili tvorbu dalších výsledků, jak se bude Linux vyvíjet, tak jsme připravili definici našeho protokolu pro experimenty a zpřístupnili jsme své kontrolní nástroje.
Linuxové jádro již poskytuje několik způsobů, jak získávat náhodná čísla, každý z nich má svá omezení. Tato omezení však mohou procesům znemožnit získání náhodných dat, když je právě potřebuje. Projekt LibreSSL si v poslední době stěžoval, že na Linuxu není žádný „spolehlivý“ způsob získání náhodných dat na Linuxu. To vedlo Teda Ts'o k navržení nového systémového volání getrandom(), které by LibreSSL poskytlo to, co potřebuje, a současně by to vyřešilo nějaké další problémy s náhodnými čísly.
Jádro spravuje úložiště náhodných čísel („pooly“), do kterých jsou dodávána data z nepředvídatelných zdrojů (např. prodlevy mezi stisky kláves). Obsah entropie, kterým každá z těchto událostí přispěje, je odhadnut a sledován. Na datech v poolech se používá kryptograficky bezpečný pseudonáhodný generátor čísel (PRNG), který pak dodává data do dvou zařízení: /dev/urandom a /dev/random.
Standardním způsobem, jak získat náhodná čísla od jádra, je číst zařízení /dev/urandom. Je tu ale i zařízení /dev/random, které blokuje tak dlouho, než je nashromážděn dostatek entropie pro obsluhu volání read(). /dev/urandom by se v zásadě mělo používat pro všechna náhodná čísla, avšak /dev/random se někdy používá např. pro velmi citlivé, dlouho používané klíče (např. GPG) nebo jednorázové tabulkové šifry. Aby mohla aplikace kterýkoliv z těchto zdrojů použít, musí dokázat použít open() na souboru, což znamená, že musí mít dostupné popisovače. Také to znamená, že aplikace musí mít schopnost vidět soubory v /dev, což někdy nemusí v případě kontejnerů v chroot() platit.
LibreSSL používá /dev/urandom, má ale nouzové řešení pro případ vyčerpání počtu popisovačů (o které se útočník může postarat) nebo jiné selhání, kdy nelze otevřít soubor. Nouzovým řešením je použít zastaralé systémové volání sysctl() pro přečtení hodnoty /proc/sys/kernel/random/uuid, aniž by bylo nutné tento soubor otevřít (jelikož LibreSSL ví, že /dev/urandom otevřít nejde). sysctl() může jednoho dne zmizet – některá distribuční jádra toto volání už nemají – a někdy způsobuje varování v logu jádra. Pokud sysctl() selže, pak má LibreSSL ještě jedno záložní řešení v podobě děsivě vzhlížející funkce, jež se snaží vygenerovat vlastní náhodná čísla z různých (doufejme) nepředvídatelných hodnot dostupných v uživatelském prostoru (např. časová razítka, čísla PID apod.).
Vše je možné vidět v dobře okomentovaném kusu kódu v souboru getentropy_linux.c v LibreSSL. Poslední komentář v této sekci obsahuje prosbu:
* Doufáme, že toto stačí jako důkaz, že by Linux buď měl zachovat své * sysctl ABI, nebo zvážit poskytnutí nového nouzového API, které funguje * v chrootu nebo v případě vyčerpání popisovačů. */
Toto nové API je právě to, co Ts'o navrhl. Systémové volání getrandom() je v jeho patchi dobře popsáno (nyní ve verzi 4). Má následující deklaraci:
#include <linux/random.h> int getrandom(void *buf, size_t buflen, unsigned int flags);
Toto volání naplní buffer buf až buflen náhodnými bajty, které je možné použít pro kryptografické účely, a vrátí počet uložených bajtů. Asi už správně hádáte, že flags ovlivňuje chování volání. V případě, že flags == 0, pak getrandom() bude blokovat, dokud nebude pool /dev/urandom inicializován. Pokud je flags nastaveno na GRND_NONBLOCK, pak getrandom() vrátí -1 s chybou EAGAIN, pokud pool ještě není připraven.
Příznak GRND_RANDOM lze použít pro přepnutí na pool /dev/random, což s sebou nese požadavky na entropii používané v tomto poolu. To znamená, že volání bude blokovat, dokud nedosáhne pool požadované entropie, leda by bylo ve flags přítomno i GRND_NONBLOCK; v takovém případě by volání vrátilo tolik bajtů, jak je jen aktuálně možné; pokud není k dispozici žádná entropie, pak vrátí -1 s chybou -EAGAIN. Volání vrátí počet bajtů uložených do buf (nebo -1 v případě chyby). Ke krátkému čtení (tzn. je přečteno méně, než je požadováno) může dojít kvůli nedostatku entropie v /dev/random nebo pokud bylo volání přerušeno signálem v případě /dev/urandom a při čtení po 256 bajtech nebo méně je po inicializaci tohoto poolu dávána záruka, že bude obsloužen celý požadavek.
V navrhované manuálové stránce připojené k patchi Ts'o ukazuje kód, kterým lze emulovat systémové volání getentropy() z OpenBSD pomocí getrandom(). Jedna ze stížností na patch přišla od Christopha Hellwiga, kterému vadilo, že Ts'o neimplementuje to samé systémové volání jako OpenBSD. Dále řekl: Mít trochu odlišná jména a sémantiku pro tu samou funkčnost je dost k zlosti. Jenže Ts'o se snaží vyřešit víc než jen problém LibreSSL, jak sám říká. getrandom() má být nadmnožinou getentropy() na OpenBSD – glibc může snadno vytvořit kompatibilní implementaci getentropy(), jak ukázal ve svém patchi.
To, že /dev/urandom musí být inicializováno dříve, než getrandom() vrátí jakákoliv data z tohoto poolu, je jednou z nových funkcí poskytovaných tímto systémovým voláním. V současnosti nemají aplikace jak zjistit, jestli bylo od bootu systému nashromážděno alespoň 128 bitů entropie (což je pro inicializaci /dev/urandom nezbytné). Nyní může aplikace buď čekat zablokovaná, než se tak stane, nebo to opakovaně zkoušet s příznakem GRND_NONBLOCK. Jelikož je chování /dev/urandom součástí jaderného ABI, není možné jej upravit, ale přidání blokování do nového systémového volání je naprosto v pořádku.
Systémové volání také nabízí způsob, jak číst /dev/random bez blokování a dostat jen část požadovaných dat, pokud se entropie nedostává. Je trochu těžké si představit, k čemu to lze doopravdy využít – pokud nepotřebujete plný buffer náhodných čísel z kvalitní entropie, pak proč o něj žádat? Pravdou je, že toto nové volání nabízí různé způsoby, jak zneužívat náhodný generátor čísel v jádře (např. tím, že požádáte o INT_MAX bajtů), ale v tomto ohledu se to od stávajících rozhraní neliší.
Tedovy patche vyvolaly spousty komentářů různých druhů, ale jen málo stížností. Celá myšlenka účastníkům diskuze dává smysl. Některé změny byly provedeny na základě komentářů, hlavně pak přechod na blokování ve výchozím módu. Poslední revize už ale vyvolala jen komentáře ohledně překlepů. Pokud se toto nezmění, pak bychom mohli getrandom() v jádře očekávat brzo, možná už v Linuxu 3.17.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
return 4;
Až z diskuze.