Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Google Chrome 141 byl prohlášen za stabilní. Nejnovější stabilní verze 141.0.7390.54 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 21 bezpečnostních chyb. Za nejvážnější z nich (Heap buffer overflow in WebGPU) bylo vyplaceno 25 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
eDoklady mají kvůli vysoké zátěži technické potíže. Ministerstvo vnitra doporučuje vzít si sebou klasický občanský průkaz nebo pas.
Novým prezidentem Free Software Foundation (FSF) se stal Ian Kelling.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).
Mám obývací pokoj oknem "prosvícen" wifi signálem jednoho místního providera. Koukal jsem se jak pokročila technologie louskání WEPu, a překvapeně zjistil že slabé inicializační vektory jsou minulostí, že aircrack-ng
používá jiný, mnohem účinnější útok. Stačí nasbírat dost inicializačních vektorů, spustit na ně aircrack, a máte WEP heslo. Podrobných návodů je na netu dost. Jenže co s takovým heslem? Krást se nemá, a to ani internetová konektivita.
Spokojím se proto s pasivním monitorováním, a dekódováním šifrovaných packetů pomocí airdecap-ng
. Po mírném opatchování umí fungovat i jako filtr, číst pcap file ze standardního vstupu, a posílat dekódované packety na standardní výstup. Na vstupu i výstupu může být tcpdump
, nebo něco jiného. Asi jsem blízko antény která je na straně gatewaye, protože packety které vidím chodí vždy z internetu směrem k uživatelům. Samotný tcpdump
či wireshark
je docela nepraktický, proto jsem spáchal jednoduchý skript, který packety mění na něco použitelného, tj soubory. Co skript dělá:
- rekonstruuje TCP streamy, a zpracovává "HTTP 200 OK" odpovědi.
- prázdné packety a SYN/FIN flagy pro jednoduchost zcela ignoruje, spoléhá se na timeouty.
- connection: keep-alive, a transfer-encoding: chunked jsou podporovány.
- content-encoding: gzip produkuje .gz soubory, takže se snadno prohlížejí.
- soubory rozhazuje do adresářů podle cílové IP adresy, čísluje a pojmenovává podle zdrojové IP. Škoda že nejde zjisit původní URL, program proto použije alespoň předchozí CNAMEs k dané IP.
- příponu nastavuje podle content-type hlavičky.
A jak to vypadá? Normálně, co by kdo taky mohl čekat.. updaty antivirů, google, seznam, centrum, idos, dpmb, atlas.cz, O2, vodafone, motobazar, libimseti, baculky.cz, fotbal.sport.cz, youtube, super.cz...
$ cat decouder.py #! /usr/bin/python from struct import unpack from string import join, split, index import sys, re, os cn = {} ns = {} def ip(a): n = ns.get(a) if not n: return join([str(ord(i)) for i in a], '.') return cn.get(n) or n # prefer CNAMEs def pcap(read): if unpack('IH14xI', read(24)) != (0xA1B2C3D4, 2, 1): print 'not an ethernet pcap file' sys.exit(1) flow = {}; flow_lim = 16 while 1: try: tm, l = unpack('I4xI4x', read(16)) pkt = read(l) dm, sm, t, i, l, p, chk, s, d = unpack( '!6s6sHBxH5xBH4s4s', pkt[:34]) except: break # eof if t != 0x800 or i & 0xf0 != 0x40: continue # not ip pkt = pkt[14 + 4*(i & 0xf) : 14 + l] if p == 0x6: # tcp sp, dp, seq, l, f, chk = unpack( '!HHI4xBB2xH', pkt[:18]) pkt = pkt[4*(l >> 4):] if not pkt: continue if len(flow) > flow_lim: # collect garbage flush(flow, tm - 180) flow_lim = len(flow) * 2 data = flow.setdefault((s, d, sp, dp), [tm, '', seq]) if data[0] < tm - 180: # reusing old tcp(s, d, data[1]) data[1] = '' elif data[2] != seq: continue data[0] = tm; data[1] += pkt data[2] = (seq + len(pkt)) & 0xffffffff if p == 0x11: # udp sp, dp, l, chk = unpack('!HHHH', pkt[:8]) if sp == 53: dns(pkt[8:l]) flush(flow, 1e99) def flush(flow, tm): n = 0 l = flow.items() l.sort(key = lambda x: x[1][0]) # in tm order for k, data in l: if data[0] >= tm: break tcp(k[0], k[1], data[1]) del flow[k]; n += 1 def dns(pkt): f, q, r = unpack('!2x3H4x', pkt[:12]); i = 12 if f & 0xfa0f != 0x8000: return def name(i, pkt = pkt): s = ''; si = None; c = 0 while 1: n = ord(pkt[i]); i += 1 if n >= 0xc0: c += 1 if not si: si = i + 1 elif c > 10: return # prevent dos i = (n - 0xc0) << 8 | ord(pkt[i]) continue if n == 0: return s[:-1], si or i s += pkt[i:i + n] +'.'; i += n for p in range(q): # skip queries i = name(i)[1] + 4 for p in range(r): # response s, i = name(i) t, c, n = unpack('!HH4xH', pkt[i:i + 10]) if t == 1 and c == 1 and n == 4: # A ns[pkt[i + 10:i + 14]] = s if t == 5 and c == 1: # CNAME cn[name(i + 10)[0]] = s i += 10 + n dirs = {} def rx(regex, s, n = 1): m = re.search(regex, s) return m and m.group(n) def tcp(s, d, doc): while doc[:5] == 'HTTP/': try: l, doc = split(doc, '\r\n', 1) except: return ok = split(l)[1] ct = ce = sz = None while 1: # mime cruft try: l, doc = split(doc, '\r\n', 1) except: return if not l: break ct = ct or rx('^Content-Type: (\S+/)?([^; ]+)', l, 2) ce = ce or rx('^Content-Encoding: (\S+)', l) sz = sz or rx('^Transfer-Encoding: (\S+)', l) \ or rx('^Content-Length: (\d+)', l) if doc[:5] == 'HTTP/': continue # IIS/6.0 @#%$$&!! if ct in ('x-javascript', 'javascript'): ct = 'js' elif not ct: ct = 'unknown' if ce == 'gzip': ct += '.gz' if sz == 'chunked': # unchunk out = '' while 1: try: l, doc = split(doc, '\r\n', 1); l = int(l, 16) except: return out += doc[:l] doc = doc[l + 2:] if l == 0: break else: try: sz = int(sz) except: sz = len(doc) if len(doc) < sz: return out = doc[:sz] doc = doc[sz:] if ok != '200' or len(out) < 1024: continue dir = 'HTTP-'+ ip(d) n = dirs[dir] = dirs.get(dir, 0) + 1 if n == 1: os.mkdir(dir) n = '%s/%04d-%s.%s' % (dir, n, ip(s), ct) open(n, 'w').write(out) print n, len(out) pcap(sys.stdin.read)
Tiskni
Sdílej:
Nikdo nesmí porušit listovní tajemství ani tajemství jiných písemností a záznamů, ať již uchovávaných v soukromí, nebo zasílaných poštou a nebo jiným způsobem, s výjimkou případů a způsobem, které stanoví zákon. Stejně se zaručuje tajemství zpráv podávaných telefonem, telegrafem nebo jiným podobným zařízením.
elektronická pošta je poštou a i písemnosti v elektronické podobě jsou písemnostmi (ve smyslu § 40 občanského zákoníku) a i pro ně platí obdobná pravidla jako pro ostatní písemnosti
S tou čínštinou je to špatný příklad. Mnohem přilehavější je ten s tou dopisní obálkou.Vzhledem k jisté podobnosti mezi šířením zvukových a rádiových vln a (ne)srozumitelnosti přenášené informace mi připadá lepší ten můj. Chápu, že podle zákona je to jinak. Tímto postojem rozhodně neříkám, že fandím odposlechům sousedů... jen se mi víc líbí, když to v Internetu/sítích funguje více jako svět za dávných dob (tj. žádná státní regulace/kontrola)
Ovšem oni na sebe asi nekřičí čínsky za účelem znemožnění odposlechu, ale protože jsou to dva Číňani.Špatný příklad. Já osobně ve škole používám španělštinu pro utajení obsahu konverzace s kamarádem
Rozdíl je mezi vnikat někam a pasivně poslouchat. Rádiové vlny jsou plně pasivní odposlech.Pokud nelámete šifrovací klíče. A i kdyby komunikace byla nešifrovaná, vy při tom odposlechu moc pasivní nejste. Když narazíte na obsazený kanál, měl byste z něj uhnout, ne poslouchat. Když uslyšíte ve škole, že se někdo baví tajně španělsky, zvolíte s kamarádem taky jiný jazyk
Navíc - proč oni smí a já ne.Oni toho smí, co vy ne…
airodump-ng
ukazuje RXQ 80-100%, bez jakékoliv antény, jen na běžnou PCMCIA kartu...