Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.
Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.
BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.
Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.
Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.
Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.
Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.
Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po
… více »Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.
Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.
V mém okolí se pohybuje několik lidí, kteří zkouší MITM (Man In The Middle) útok ARP spoofing. Byl bych celkem nerad, kdyby někdo například logoval mou činnost na síti a proto bych se rád bránil.
V zápisku jsem uvedl několik nepřesností a proto je nyní uvádím na pravou míru. Mimo jiné měním matoucí název "Obrana proti Man in the middle útoku" na "Detekce podvržené MAC adresy"
Cílem tedy je zjistit, jestli mi někdo nepodstrčil svou MAC adresu a nevydává se za mou bránu, přes kterou jsem připojený k internetu. Jako strategii jsem zvolil napsání skriptu, který bude v určitém časovém intervalu porovnávat MAC adresu brány kterou mám uloženou v ARP tabulce oproti seznamu prověřených adres. Vzhledem k tomu, že se pohybuji na několika málo sítích, neměl by být problém takovýto seznam vytvořit. Už nějakou dobu jsem se chtěl podívat na PERL a proto jsem tyto dvě záležitost spojil a skript napsal v PERLu.
Tady zápisek nekončí. Bohužel se kód skriptu vypíše níže.
#!/usr/bin/perl
# Author: FrostyX
# Info:
# CZ: Skript prověřuje MAC adresu výchozí brány oproti uživatelem prověřeným. Je vhodný pro jednoduchou obranu proti MITM (Man In The Middle) útokům.
# EN: The script scans the default gateway MAC address against the user's trusted list. It is suitable for a simple defense against MITM (Man In The Middle) attacks.
# Připojení podpůrných modulů k projektu
use Switch;
# Seznam prověřených MAC adres
@trusted =
(
'00:0e:2e:fa:be:6d', # Doma
'00:1b:38:ab:e3:a4', # Test - Toshiba NTB
'xx:xx:xx:xx:xx:xx' # SPS WIFI 1
);
# Informace o projektu
%info =
(
Author => 'FrostyX',
Contact => 'frostyx@email.cz',
Name => 'Defense against MITM',
Info => "The script scans the default gateway MAC address against the user\'s trusted list. \nIt is suitable for a simple defense against MITM (Man In The Middle) attacks."
);
# Použití vhodné metody rozhraní podle argumentu
# předanému při spouštění skriptu
switch($ARGV[0])
{
case ''{ Imain(); }
case '--info'{ Iinfo(); }
case '--help'{ Ihelp(); }
case '--conky'{ Iconky(); }
else{ Ihelp(); }
}
# Vypíše info
sub Iinfo()
{
print 'Author: '.$info{'Author'}."\n";
print 'Contact: '.$info{'Contact'}."\n";
print 'Info: '.$info{'Name'}."\n";
}
# Vypíše nápovědu
sub Ihelp()
{
print "Usage:\n";
print " --info\n";
print " --help\n";
print " --conky\n";
print " Or without arguments\n";
}
# Použití pro conky
# - Neodřádkovává výstup
sub Iconky()
{
if(!checkGateway())
{
print 'Unsafe GW! ';
}
}
# Funkce main
# - Zavolá se pokud skritpu nebude předán parametr
sub Imain()
{
if(checkGateway())
{
print "Gateway has trusted MAC\n";
}
else
{
print "WARNING: Gateway hasn\'t trusted MAC\n";
}
}
# Zkontroluje, zda jsou naše brány povolené
sub checkGateway()
{
my @mac = getGatewayMACs();
foreach my $x (@mac)
{
if(!(grep $_ eq $x, @trusted))
{
return 0;
}
}
return 1;
}
# Vrátí IP adresy bran
sub getGatewayIPs()
{
my @route = split('default', `ip route list |grep default`);
my @ip;
foreach my $x (@route)
{
if($x)
{
@entry = split(' ', $x);
push(@ip, $entry[1]);
}
}
return @ip;
}
# Vrátí MAC adresy bran
sub getGatewayMACs()
{
my @ip = getGatewayIPs();
my @mac, @route;
foreach my $x (@ip)
{
@route = split(' ', `cat /proc/net/arp |grep $x`);
push(@mac, $route[3]);
}
return @mac;
}
# End of file
Protože nejsem v programování / skriptování moc zběhlý a s PERLem jsem se setkal poprvé v životě, budu rád za vaši kritiku.
Skript lze samozřejmě použít z příkazové řádky, nebo naplánovat použití cronem, ale mnohem vhodnější je pro mě zobrazení varovné hlášky v conky, které (jak můžete vidět z mého posledního desktopu) mám zobrazené vždy.
Použití je, jak už je u conky zvykem poměrně jednoduché:
${texeci 30 /usr/bin/mitm –-conky}
Funkce texeci má tu krásnou výhodu, že bude příkaz spouštět v intervalu jaký ji předáte i přesto, že je větší než update interval conky. Pokud bychom použili funkci exec, nebo execi, příkaz by se nám spouštěl například každé 2s a to je nežádoucí.
Zápis píši, protože vím, že se najde několik paranoidních lidí jako já a ti se pak mohou tímto řešením inspirovat. Na závěr mě zajímají vaše názory na tento způsob obrany. Je například nějaký způsob, jak lze tuto ochranu obejít ? Existuje například způsob, jakým by se mohl útočník vyhnout odhalení ?
EDIT: Podotýkám, že mi nejde o zabezpečení, aby mě nikdo nemohl odposlouchávat, případně aby mi nepodstrčil svou MAC adresu. Jde mi pouze o to, abych zjistil, že mi někdo MAC adresu podsrčil a vydává se za mou bránu.
Tiskni
Sdílej:
getGatewayIPs a nejspíš i getGatewayMACs by chtěli přepsat (neměl jsem sílu přijít na to jak :))
#!/usr/bin/perl
# mitm.pl --- The script scans the default gateway MAC address against the user's trusted list. It is suitable for a simple defense against MITM (Man In The Middle) attacks.
# CZ: Skript prověřuje MAC adresu výchozí brány oproti uživatelem prověřeným. Je vhodný pro jednoduchou obranu proti MITM (Man In The Middle) útokům.
# Author: 'FrostyX <frostyx@email.cz>
# Created: 23 Apr 2011
# Version: 0.01
use warnings;
use strict;
use List::Util qw{first};
use Getopt::Long;
use Pod::Usage;
use 5.010;
my $conky;
my $help;
my $man;
# Použití vhodné metody rozhraní podle argumentu
# předanému při spouštění skriptu
GetOptions(
'conky' => \$conky,
'help|?' => \$help,
'man' => \$man
) or pod2usage(2);
pod2usage(1) if $help;
pod2usage( -exitstatus => 0, -verbose => 2 ) if $man;
if ($conky) {
Iconky();
}
else {
Imain();
}
# Seznam prověřených MAC adres
my @trusted = (
'00:0e:2e:fa:be:6d', # Doma
'00:1b:38:ab:e3:a4', # Test - Toshiba NTB
'xx:xx:xx:xx:xx:xx', # SPS WIFI 1
);
my %trusted_hash = map { $_ => 1 } @trusted;
# Použití pro conky
# - Neodřádkovává výstup
sub Iconky {
if ( !checkGateway() ) {
print 'Unsafe GW! ';
}
return 1;
}
# Funkce main
# - Zavolá se pokud skritpu nebude předán parametr
sub Imain {
if ( checkGateway() ) {
say 'Gateway has trusted MAC';
}
else {
say q{WARNING: Gateway hasn't trusted MAC};
}
return 1;
}
# Zkontroluje, zda jsou naše brány povolené
sub checkGateway {
my @mac = getGatewayMACs();
if ( first { !$trusted_hash{$_} } @mac ) {
return 0;
}
else {
return 1;
}
}
# Vrátí IP adresy bran
sub getGatewayIPs {
my @route = split 'default', `ip route list |grep default`;
my @ip;
foreach my $x (@route) {
if ($x) {
my @entry = split q{ }, $x;
push @ip, $entry[1];
}
}
return @ip;
}
# Vrátí MAC adresy bran
sub getGatewayMACs {
my @ip = getGatewayIPs();
my @mac;
foreach my $x (@ip) {
my @route = split q{ }, `cat /proc/net/arp |grep $x`;
push @mac, $route[3];
}
return @mac;
}
__END__
=head1 NAME
mitm.pl - Defense against MITM
=head1 SYNOPSIS
mitm.pl [options]
Options:
--help brief help message
--man full documentation
--conky
=head1 DESCRIPTION
The script scans the default gateway MAC address against the user's trusted list. It is suitable for a simple defense against MITM (Man In The Middle) attacks.
=head1 AUTHOR
FrostyX <frostyx@email.cz>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2011 by FrostyX
This program is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8.2 or,
at your option, any later version of Perl 5 you may have available.
=head1 BUGS
None reported... yet.
=cut
my @trusted = ...
a
my %trusted_hash = ...
musí být nad
if ($conky){...
.
Man in the middle (zkratka MITM, z angličtiny „člověk uprostřed“ nebo „člověk mezi“) patří mezi nejznámější problémy v informatice a kryptografii. Jeho podstatou je snaha útočníka odposlouchávat komunikaci mezi účastníky tak, že se stane aktivním prostředníkem. Důležitým faktem je, že v prostředí současných běžných počítačových sítí není nutné, aby komunikace přes útočníka přímo fyzicky procházela, protože lze síťový provoz snadno přesměrovat.
ARP spoofing: Pokud chce útočník odposlouchávat komunikaci mezi dvěma uzly lokální sítě, stačí mu oběma z nich podstrčit svoji MAC adresu, a přijatá data posílat dál skutečným adresátům.
Obě citace jsou z wikipedie, takže pokud jsou nepravdivé, tak mě prosím upozorněte. Dle mého z nich ale vyplívá totéž. "Útočník stojí mezi mnou a serverem a vidí veškerou mou komunikaci." Pht má pravdu, že označení ARP spoofing je přesnější označení toho co jsem v zápisku zmiňoval. Myslím si ale, že jsem neříkal hlouposti, když jsem použil termín Man in the middle, protože když někomu podstrčím MAC adresu a jeho pakety pak posílam pravému serveru, stanu se tak tím "člověkem uprostřed".sítí není nutné, aby komunikace přes útočníka přímo fyzicky procházela, protože lze síťový provoz snadno přesměrovat... takže pokud mnou provoz neprochází tak si to dokážu zařídit aby procházel. To je přesně ten typ blábolu o kterém mluvím. Cf. en.wikipedia.org:
The attacker must be able to intercept all messages going between the two victims and inject new onesAd rozdíl k arp spoof: Man in middle je typ útoku definovaný tak a tak. ARP spoofing je jiný druh útoku který může a nemusí mimo jiné být použit při realizaci MiM. Takže a předně MiM lze dělat i bez použití ARP spoof. Vámi uvedený skript je 1) pouze detektor nikoliv obrana proti ARP spoofu (a není v tom moc dobrý :) a 2) není obecnou ochranou ani detekcí MiM útoku a 3) nespecifikoval jste proti jakému protokolu se má ten MiM odehrát.
když někomu podstrčím MAC adresu a jeho pakety pak posílam pravému serveru, stanu se tak tím "člověkem uprostřed".Abych uvedl předchozí rozdíl na příkladu, tak tím že se stanete člověkem uprostřed, neznamená že můžete provést MiM útok, a na druhou stranu, stát se člověkem uprostřed nemusí nutně znamenat podstrčení MAC adresy.
Díky za vysvětlení. Už chápu, proč jsem tě možná zpočátku zmátl. Asi jsem špatně uvedl jak se chci bránit. Záměr byl bránit se pouze tak, že detekuji podvrženou MAC adresu (čili ten arp spoof). Potom už jsem schopný si dotyčného člověka osobně najít (alespoň teda na té siti, o které je řeč).
Všechny nepřesnosti v zápisku uvedu na pravou míru za pár hodin
Tvůj komentář mě hodně zaujal. Mohl bys to rozvést prosím ? Ještě ti řeknu mou úvahu:
Bodem 3. se zabývat nebudeme. Budeme předpokládat, že se seznam útočníkovi nikdy nedostane do ruk. V takovém případě je pravděpodobnost, že si někdo nastaví jednu z těch adres mizivá.
V arp tabulce je jen seznam adres, se kterými komunikuješ, pokud bude v cestě něco s bridgem (br0 obsahující eth0 a eth1), tak Tě odposlechne a nedovíš se o tom.
Co konkrétně z toho co jsem řekl je špatně?
Mluvím o chvíli, kdy nejste fyzicky u kabelu, nevíte, co je s tim switchem/routerem, nemáte ono fyzické spojení pod kontrolou, zda není nikdo mezi vámi a dalším L2/L3 hopem. A i kdyby, switche umí port-mirroring apod. Pokud šifrujete, je vidět, že tečou data, pokud nešifrujete, je vidět, co posíláte/dostáváte.
To je pravda. Když si útočník změní MAC na nějakou z toho seznamu, budu asi nahranej. Na druhou stranu útočník o žádném seznamu neví (teď už možná ano, ale jsou tam adresy, které tam potom nebudou). Logické by bylo, kdyby si nastavil stejnou MAC jako má ten skutečný server se kterým chci komunikovat, ale mám za to, že to nebude fungovat.
S tím SSL to taky není úplně žhavý. Například abych se připojil do školní sítě, musím odsouhlasit tohle - "The site's security certificate is not trusted!". Pro útočníka by pak už nemuselo být tak těžké podstrčit mi upravený certifikát.
O tom SSL jste tu psali skoro všichni, tzn tato reakce je určena všem.
To je pravda. Když si útočník změní MAC na nějakou z toho seznamu, budu asi nahranej. Na druhou stranu útočník o žádném seznamu neví...Security through obscurity.
Logické by bylo, kdyby si nastavil stejnou MAC jako má ten skutečný server se kterým chci komunikovat, ale mám za to, že to nebude fungovat.Ve skutečnosti to fungovat bude celkem obstojně.
S tím SSL to taky není úplně žhavý. Například abych se připojil do školní sítě, musím odsouhlasit tohle - "The site's security certificate is not trusted!". Pro útočníka by pak už nemuselo být tak těžké podstrčit mi upravený certifikát.Přesně tak, pokud provedete MiM ve chvíli kdy uživatel odsouhlasuje certifikát, tak máte přístup k obsahu zašifrovaných zpráv. Na druhou stranu je tahle fáze jediným místem kde lze v SSL protokolu udělat MiM útok.
Například abych se připojil do školní sítě, musím odsouhlasit tohle - "The site's security certificate is not trusted!". Pro útočníka by pak už nemuselo být tak těžké podstrčit mi upravený certifikát.Proto je tam (někde - Chromium nepoužívám) tlačítko, které zobrazí fingerprint. Stejný fingerprint by pak měl zapečetěný viset někde ve škole. Porovnáš je, a hned víš, na čem jsi. Že to tak mnohdy není, je bohužel smutná skutečnost. Buď ani admin neví, co to vlastně otisk certifikátu je a proč by ho to mělo zajímat - hlavně různí učitelé informatiky na netechnických ZŠ/SŠ, kteří dostali správu pod kontrolu, nebo to admin neudělá, protože byrokratický bordel a 99 % uživatelů stejně neví, co s tím.
protože byrokratický bordel a 99 % uživatelů stejně neví, co s tímA nebo je to prostě špatně navržený systém.