Estávamos discutindo sobre upgrade de firmware no grupo Linux Brasil eu resolvi dar uma revisitada no artigo que escrevi sobre vulnerabilidades de CPU: falhas de segurança em CPU nas distros com linux-libre.
Olhando aqui meu desktop, estou até que bem protegido.
root@goosfraba ~# for v in /sys/devices/system/cpu/vulnerabilities/*
echo -n "$v:"; cat $v
end
/sys/devices/system/cpu/vulnerabilities/gather_data_sampling:Not affected
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:Not affected
/sys/devices/system/cpu/vulnerabilities/l1tf:Not affected
/sys/devices/system/cpu/vulnerabilities/mds:Not affected
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Not affected
/sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling:Not affected
/sys/devices/system/cpu/vulnerabilities/retbleed:Mitigation: untrained return thunk; SMT disabled
/sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow:Not affected
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Mitigation: Speculative Store Bypass disabled via prctl
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: usercopy/swapgs barriers and __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Retpolines; STIBP: disabled; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
/sys/devices/system/cpu/vulnerabilities/srbds:Not affected
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected
Eu fiz recentemente um upgrade de firmware aqui usando o fwupgrmgr. Não salvei o resultando, mas salvei o que fiz no sh1bb0l33t.
E falando sh1bb0l33t:
root@sh1bb0l33t ~# for v in /sys/devices/system/cpu/vulnerabilities/*
echo -n "$v:"; cat $v
end
/sys/devices/system/cpu/vulnerabilities/gather_data_sampling:Mitigation: Microcode
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Mitigation: VMX disabled
/sys/devices/system/cpu/vulnerabilities/l1tf:Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
/sys/devices/system/cpu/vulnerabilities/mds:Mitigation: Clear CPU buffers; SMT vulnerable
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Mitigation: Clear CPU buffers; SMT vulnerable
/sys/devices/system/cpu/vulnerabilities/reg_file_data_sampling:Not affected
/sys/devices/system/cpu/vulnerabilities/retbleed:Mitigation: IBRS
/sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow:Not affected
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Mitigation: Speculative Store Bypass disabled via prctl
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: usercopy/swapgs barriers and __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: IBRS; IBPB: conditional; STIBP: conditional; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
/sys/devices/system/cpu/vulnerabilities/srbds:Mitigation: Microcode
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Mitigation: TSX disabled
Se estranharem a sintaxe do comando no shell, é porque estou usando fish pra shell interativo. Adotei e não largo mais.
Voltando ao assunto de updates de firmwares, fwupdmgr faz tudo pra você hoje em dia. Os tempos de ter um disco com Windows ou Dos ou FreeDOS pra atualizar são coisa do passado.
Existe a possibilidade de dar algo errado? Claro. Sempre. Estamos falando de firmware de placa-mãe e HDDs/SSDs. Se o processo parar no meio pode dar errado. E alguns updates acabam provocando efeitos indesejados como lentidão (exemplo de correções pra ataques de side channel de processador). Então algumas pessoas preferem escolher mais meticulosamente os updates antes de aplicar.
Mas se esse não é seu caso, eu fortemente recomendo usar o fwupdmgr e atualizar os firmwares de seu computador.
E deixo aqui a frase dita e escrita pelo grande Kevlin Henney durante uma palestra em Estocolmo na Ericsson, e registrada muito péssimamente pela minha câmera do celular (Kevlin, se estiver lendo isso aqui, eu peço desculpas pela fotografia tão borrada).
Eu resolvi melhorar a previsão e o modelo pra tal sobre o Linux no desktop, uma realidade inegável. Então escrevi algo em python pra fazer isso pra mim o trabalho e usar de algum modelo já pronto.
(venv) helio@goosfraba ~/D/linux-desktop-dominance-forecast (main)> ./forecasting.py
Windows OS X Unknown Linux Chrome OS iOS Android \
Date
2009-01-01 95.42 3.68 0.17 0.64 0.0 0.0 0.0
2009-02-01 95.39 3.76 0.14 0.62 0.0 0.0 0.0
2009-03-01 95.22 3.87 0.16 0.65 0.0 0.0 0.0
2009-04-01 95.13 3.92 0.17 0.66 0.0 0.0 0.0
2009-05-01 95.25 3.75 0.24 0.65 0.0 0.0 0.0
Playstation Other
Date
2009-01-01 0.08 0.02
2009-02-01 0.07 0.02
2009-03-01 0.08 0.02
2009-04-01 0.10 0.02
2009-05-01 0.09 0.02
Windows OS X Unknown Linux Chrome OS iOS Android \
Date
2024-01-01 73.00 16.11 5.33 3.77 1.78 0.0 0.0
2024-02-01 72.17 15.42 6.10 4.03 2.27 0.0 0.0
2024-03-01 72.47 14.68 6.52 4.05 2.27 0.0 0.0
2024-04-01 73.50 14.70 5.34 3.88 2.56 0.0 0.0
2024-05-01 73.91 14.90 4.87 3.77 2.54 0.0 0.0
2024-06-01 72.81 14.97 6.23 4.05 1.93 0.0 0.0
2024-07-01 72.10 14.92 7.13 4.44 1.41 0.0 0.0
Playstation Other
Date
2024-01-01 0.0 0.01
2024-02-01 0.0 0.01
2024-03-01 0.0 0.01
2024-04-01 0.0 0.01
2024-05-01 0.0 0.01
2024-06-01 0.0 0.01
2024-07-01 0.0 0.01
/home/helio/DEVEL/linux-desktop-dominance-forecast/venv/lib/python3.12/site-packages/statsmodels/tsa/base/tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.
self._init_dates(dates, freq)
/home/helio/DEVEL/linux-desktop-dominance-forecast/venv/lib/python3.12/site-packages/statsmodels/tsa/base/tsa_model.py:473: ValueWarning: No frequency information was provided, so inferred frequency MS will be used.
self._init_dates(dates, freq)
/home/helio/DEVEL/linux-desktop-dominance-forecast/venv/lib/python3.12/site-packages/statsmodels/tsa/statespace/sarimax.py:978: UserWarning: Non-invertible starting MA parameters found. Using zeros as starting parameters.
warn('Non-invertible starting MA parameters found.'
RUNNING THE L-BFGS-B CODE
* * *
Machine precision = 2.220D-16
N = 11 M = 10
This problem is unconstrained.
At X0 0 variables are exactly at the bounds
At iterate 0 f= 2.00575D-01 |proj g|= 1.24633D+00
At iterate 5 f= -1.49635D-01 |proj g|= 1.77236D-01
At iterate 10 f= -3.64537D-01 |proj g|= 1.24837D-01
At iterate 15 f= -3.84843D-01 |proj g|= 1.22570D-01
At iterate 20 f= -4.20877D-01 |proj g|= 9.71167D-02
At iterate 25 f= -4.29351D-01 |proj g|= 1.13565D-01
At iterate 30 f= -4.33425D-01 |proj g|= 9.06436D-02
At iterate 35 f= -4.34142D-01 |proj g|= 3.98871D-02
At iterate 40 f= -4.36192D-01 |proj g|= 4.26757D-01
At iterate 45 f= -4.37801D-01 |proj g|= 6.82859D-02
At iterate 50 f= -4.37938D-01 |proj g|= 1.67285D-02
* * *
Tit = total number of iterations
Tnf = total number of function evaluations
Tnint = total number of segments explored during Cauchy searches
Skip = number of BFGS updates skipped
Nact = number of active bounds at final generalized Cauchy point
Projg = norm of the final projected gradient
F = final function value
* * *
N Tit Tnf Tnint Skip Nact Projg F
11 50 55 1 0 0 1.673D-02 -4.379D-01
F = -0.43793754789434586
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT
/home/helio/DEVEL/linux-desktop-dominance-forecast/venv/lib/python3.12/site-packages/statsmodels/base/model.py:607:
ConvergenceWarning: Maximum Likelihood optimization failed to converge. Check mle_retvals
warnings.warn("Maximum Likelihood optimization failed to "
The year of Linux on the Desktop: 2036-11-30 00:00:00
Se ignorarmos os pequenos erros e avisos que aparecem, coisa pouca e irrelevante como valor divergir demais, podemos ver claramente quando o ano do Linux no desktop acontece: 2036-11-30
Então a previsão revisada é que logo estaremos em todos os lugares. Aguardem-nos!
E claro que publiquei isso tudo no GitHub:
E usei o seguinte artigo como referência (e código, diga-se de passagem):
Bom ano do Linux no desktop pra todos vocês.
Parece que finalmente acordaram pra aquilo que era óbvio: Linux chegou pra dominar também o desktop!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed molestie scelerisque ultrices. Nullam venenatis, felis ut accumsan vestibulum, diam leo congue nisl, eget luctus sapien libero eget urna. Duis ac pellentesque nisi.
Foram meros 4%, mas a tendência é de crescimento e não tem volta. Até mesmo peguei os dados diretamente do site statcounter.
Claramente Linux está em plena ascensão. Seja porque razão for, o importante é estar lá. E vai chegar ao 100% com certeza. Eu até fiz uma checagem usando uma função forecast do libreoffice pra ver quantos anos serão necessários.
Ou seja, Linux dominará completamente o desktop em outubro de 2151. Marquem em suas agendas pois será uma data inesquecível. E não temos meta, mas quando chegarmos na meta nós dobraremos a meta. Aguardem-nos!
Eu segui uma dica do @
Eu dei uma olhada nos de força bruta e aqui estão os logins mais usados:
MariaDB [(none)]> select username, fail, inet6_ntoa(ip), UA from wp_wflogins into outfile 'ataques.csv';
> awk '{print $1}' ataques.csv | sort -n | uniq -c | sort -n
1 -
1 123123
1 1234
1 123456
1 123456789
1 443/wp-login.php
1 aaa
1 abcd1234
1 admaster
1 admin.
1 AdMiN
1 admin123
1 admina
1 admini
1 administrators
1 adminPeach
1 adminwp
1 admon
1 Adsystem
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 ahmed
1 alfons
1 alireza
1 anna
1 arrow
1 artsadd
1 ask6776
1 atarihost
1 autonewsbot
1 awen
1 azaret
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 Beast3x
1 beescleaning
1 carpetsdubai
1 Casper_Security
1 catmeow
1 chris
1 christiane
1 Christophe
1 control
1 cpolo
1 dagon
1 darcy56
1 Darcy56
1 dedi
1 demilation
1 DemoDemo
1 demo_w1p
1 devadmin
1 dexter
1 digilabs
1 donaljkt9
1 dummy_store_5
1 editor
1 ednabanaag
1 eliasaf
1 enamad
1 eosuperadmin
1 Fabien
1 Farribeiro
1 gestinet
1 globalint
1 goog
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 GP_Admin
1 grupovhn
1 gtfobiash
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 hopefox34
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 info
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 Ivan
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 jbalazs8178
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 john
1 justin
1 kinga
1 kobieta
1 kulturecom
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 lluis
1 loafa
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 mainstream
1 marina
1 martinharvey
1 Megusta
1 microadmin
1 miruku
1 mohit
1 monica
1 mungmee
1 MUWY
1 ndvtzaifnz
1 Nwildner
1 oktay-dogangun
1 options
1 ovauser-admin
1 PiSh3r
1 protan
1 qiang521
1 quantri
1 raeesa
1 Rahul
1 redtor
1 richard
1 Richard
1 ridiz
1 rikimoh39
1 root
1 rootadmin
1 roottn
1 rzu4bd
1 sadminusez
1 santi2
1 senterprisys_admin
1 SEOExpert
1 seojiwo
1 seomaster009
1 shelby96
1 Sion
1 siteadmin
1 smngrs952
1 Support
1 temp3
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 test3
1 tester
1 testionos
1 tuanduongthe
1 tuanpham
1 upastra007
1 Username
1 Vikash
1 voquanghuy
1 wadmiine
1 wdmgpvt
1 webstone24
1 webuser
1 wpadmin
1 WPADMIN
1 w-padmine
1 wp-admine
1 wp-blog
1 wp_developer
1 wpengine
1 wp_rest_api
1 wpsystem
1 wpupdate
1 wuser
1 wwwadm
1 xcom
1 xtw183870bbe
1 xtw18387106f
1 xtw1838711ab
1 xtw183871206
1 xtw183871550
1 xtw183872fc0
1 xtw18387331a
1 xtw1838738ca
1 xtw183873c09
1 xtw183874283
1 xtw183875328
1 xtw1838754ba
1 xtw18387596a
1 xtw183875977
1 xtw1838761a5
1 xtw183876e88
1 xtw18387757d
1 xtw183877c79
1 xtw183878b0d
1 xtw18387958b
1 xtw183879670
1 This email address is being protected from spambots. You need JavaScript enabled to view it.
1 xtw18387a0c5
1 xtw18387a9de
1 xtw18387aa3b
1 xtw18387adf8
1 xtw18387c077
1 xtw18387c339
1 xtw18387d0aa
1 xtw18387daad
1 xtw18387e84d
1 xtw18387e943
1 xtw18387f29e
1 xuanphong
1 yanz
1 zestful
1 Zestful
1 zokaroll
2 12345678
2 ac
2 adminlin
2 adminsup
2 adminusez
2 Auto
2 bapaksaya
2 burnolurko
2 Clare
2 francisunderwood
2 greeceman
2 happy
2 hex
2 hxq1879
2 ismm
2 jacquespermisdeconduire
2 jatin
2 jisuo
2 lashkari
2 maximixer789
2 Nacht
2 pajero_sports
2 smngrs953
2 smngrs955
2 susan
2 swilliams
2 testuser
2 thuylt
2 wadmines
2 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 wiktorB
2 woopayplug
2 wordpress_admin_bak
2 wordpress_administratora
2 wordpressauto
2 wp
2 wpenginesupport
2 wpmanager
2 wp_postadmin
2 wpuser
2 x
2 xrumertest
2 xtw1838729c0
2 xtw18387754d
2 yanz@123457
2 yeuthuongmongmanh
2 zadminz
2 zutodoko
2 This email address is being protected from spambots. You need JavaScript enabled to view it.
3 admim
3 admin1
3 admin6
3 admingusar
3 bimak73555
3 Chris
3 demo
3 This email address is being protected from spambots. You need JavaScript enabled to view it.
3 mevivu
3 qwee123123
3 Reseller-webmaster
3 talhas
3 test1
3 wadmine
4 1001010
4 andremachado
4 crander
4 hostingadmin
4 matakucing3
4 patola
4 server
4 stender
4 username
4 wordcamp
4 wordpress_administrator
5 administratoir
5 administrator
5 This email address is being protected from spambots. You need JavaScript enabled to view it.
5 excontrol
5 itsme
5 support
5 user
5 wpadmins
5 wpcore
6 smngrs951
7 nwildner
7 paulomartins
11 test
12 farribeiro
18 Admin
19 wadminw
28 wwwadmin
54 linux-br
151 df7c8c98dfd88d9dfad
1270 admin
Realmente alguns logins existem e devem estar assinados nas páginas. Mas o restante é estilo Forrest Gump correndo de um lado pro outro atravessando os Estados Unidos sem saber o porquê.
A controvérsia quanto à nomenclatura GNU/Linux é uma disputa entre membros da comunidade de software livre e código aberto. É centrada em torno da denominação do núcleo de sistema chamado "Linux", e a vontade de utilizar esta nomenclatura como um termo genérico para tudo relacionado ao mesmo. O termo defendido pela Free Software Foundation (FSF), para relacionar o núcleo do sistema com as ferramentas desenvolvidas pela fundação GNU seria GNU/Linux, ficando o nome "Linux" para ser utilizado apenas quando se referindo ao núcleo Linux. O nome é por vezes pronunciado como "GNU com Linux".
https://pt.wikipedia.org/wiki/Controv%C3%A9rsia_quanto_%C3%A0_nomenclatura_GNU/Linux
Eu peguei esse trecho da wikipedia. Abrindo um pequeno comentário sobre o mesmo: a versão em português está bem diferente da versão em inglês e fica ao critério do leitor dar uma olhada em ambos e decidir qual está melhor. Voltando ao assunto, a guerra entre os termo Linux e GNU/Linux. A briga vem de longa data, basicamente quando Linux começou a crescer exponencialmente em popularidade e deixou o projeto GNU em sua sombra. O bom doutor, Richard Stallman, ficou famoso por suas longas interjeições sobre o assunto. E virou meme. Infinitos memes.
O sistema operacional era GNU no início, mas por conta do kernel na época não estar pronto, usaram Linux. Mas não imaginavam que a força de comunidade ao redor do Linux seria tão grande e tão marcante. Ao ponto do Linux ter sido somente um kernel no início, mas hoje ser uma fundação e com vários projetos abrigados, como o OpenTofu, Linux para setor automobilístico, CNCF (Cloud Native Computing Foundation), etc. Por simplicidade, muita gente chama o sistema operacional inteiro com Linux somente. E isso, claro, ganhou força por ser mais fácil e simples que dizer GNU/Linux ou GNU+Linux.
Dentro dessa discussão existe ainda o ponto que alguns levantam que dentro de um sistema operacional, geralmente aquilo que você usa de uma distro - distribuição de Linux, não depende só do GNU. Existem outros códigos, projetos e licenças ali. De MIT a Apache, de KDE a Gnome, e assim por diante. Então se fosse pra dar crédito a todos ali, deveria ser chamado MIT/Xorg/Apache/Git/GNU/Linux ou qualquer outra coisa tão bizarra ou até mais que isso.
Claro que grande parte das coisas ali não existiriam sem a contribuição do projeto GNU, principalmente com o GCC. Até mesmo os BSDs dependeram do GCC até a Apple botar dinheiro no llvm/clang - e por conta disso estavam todos parados no GCC 3.2 por causa da mudança pra licença GPLv3, então a Apple ajudou muito.
E existe ainda a discussão, bastante rasa, de alguns de que Linux não roda sem GNU. Isso já foi demonstrado tanto pelo Android que não é verdade. E agora existem tanto o Chimera Linux, sem absolutamente nada de GNU e usando algumas ferramentas escritas em rust, quanto o Alpine Linux, feito pra containers.
Mas o ponto que eu queria abordar aqui, pois essa discussão já existe faz décadas e nada mudou muito, foi um artigo que peguei no site do GNU. Eu particularmente achei maravilhoso.
https://www.gnu.org/distros/common-distros.en.html
tl;dr: basicamente o que está escrito é que o projeto GNU não endossa as distribuições porque pra isso não pode distribuir nada que não seja software livre. Então quem usa firmwares binários, os blobs, não é endossado como GNU. Nem quem permite instalação de software proprietário. Sim, quem permite. Pois o OpenBSD não carrega firmwares binários por questões de segurança. Nem contém softwares proprietários no sistema operacional. Mas o sistema de ports, que são scripts e Makefiles de contribuidores e de usuários, esse instala softwares não livres. E isso é o suficiente pra GNU não endossar como... um sistema GNU??? Apesar da hipocrisia, acho que não seria o caso de nomear o OpenBSD como GNU de qualquer forma.
Mas o interessante é que ela acaba com a discussão. Se contém firmware ou é possível instalar software proprietários (steam, google chrome, etc) então não é GNU. Muito bem. Então nem é mais preciso a discussão sobre o nome. O nome é Linux e pronto :)
Interessante que referem-se às distros como GNU/Linux, como no caso do Arch GNU/Linux, enquanto o próprio Arch está como Arch Linux.
Pra terminar, deixo aqui vocês com os melhores memes desse tema.