DiscoverPoziom niżej
Poziom niżej

Poziom niżej

Author: Semihalf

Subscribed: 25Played: 126
Share

Description

Unikalny w skali polskiego internetu podcast o budowie i zasadzie działania systemów wbudowanych oraz związkach krzemu wszelkiej postaci. Prowadzący są programistami firmy Semihalf i na co dzień tworzą m.in system Linux i FreeBSD. Dzielą się swoimi wieloletnimi doświadczeniami i w sposób przystępny opisują świat na styku programowania i sprzętu.
11 Episodes
Reverse
#009 - Skazani na firmware

#009 - Skazani na firmware

2022-08-0801:41:13

Oprogramowania układowego na PC nie sposób się pozbyć. 40-letnia historia rozwoju rynku komputerów osobistych silnie związała użytkowników z Firmwarem (FW). Od BIOS po UEFI na binarnych fragmentach FW urządzeń peryferyjnych skończywszy, zawsze gdzieś w systemie czyha potencjalny cichy intruz.Nasuwają się więc pytania: Czy jesteśmy skazani na Firmware? Czy producenci sprzętu tworzą tajną lożę i chcą zawładnąć światem poprzez szpiegowanie nieświadomych użytkowników? W czyim interesie jest zaszywanie w krzemie instrukcji procesora weryfikujących podpis cyfrowy oprogramowania? Na te i podobne pytania staramy się odpowiedzieć w tym odcinku podcastu Poziom Niżej.Prowadzący: Radosław Biernacki, Marcin Wojtas, Jan DąbrośHashtag: acpi, bios, coreboot, firmware, secureboot, uefi### Plan odcinka# 00:00 - Wprowadzenie# 04:56 - Czym jest firmware# 10:33 - Trochę historii - BIOS# 17:43 - Czas obecny - UEFI# 22:50 - EDK2# 28:30 - CSM - czyli UEFI potrafi w BIOS# 29:50 - Coreboot - KISS# 31:05 - Libreboot# 33:30 - Bootloader, czyli co następuje po…# 35:45 - RaspberryPi jako beneficjent otwartego firmware# 38:35 - Bootrom - czyli jak uruchamiają się nowoczesne procesory# 42:40 - Detale wczesnych etapów uruchomienia systemu# 45:40 - Microcode# 48:00 - Inicjalizacja (trening) RAM# 52:12 - Bootloader# 56:40 - Skąd firmware bierze sterowniki? (OptionROM)# 1:01:30 - Jak ładowany i uruchamiany jest kod kernela?# 1:03:18 - Dlaczego kelnerowi potrzebny jest opis sprzętu i środowiska?# 1:05:28 - Jak dokonywane są aktualizacje firmware?# 1:09:55 - ACPI# 1:17:25 - DeviceTree i “sprawa ARM”# 1:21:32 - System Management BIOS (SMBIOS)# 1:23:10 - Bezpieczeństwo, zaufanie i prywatność# 1:26:10 - SecureBoot i VerifiedBoot# 1:31:45 - TPM# 1:35:50 - Podsumowanie# 1:39:25 - Bonus ### Linki do materiałów dodatkowych:# 22:55 - Specyfikacja UEFI - https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf# 23:19 - Repozytorium EDK2 - https://github.com/tianocore/edk2# 27:07 - Implementacja "UEFI runtime services" w u-boot - https://source.denx.de/u-boot/u-boot/-/blob/master/lib/efi_loader/efi_runtime.c# 30:18 - Repozytorium i strona główna coreboot - https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master, https://www.coreboot.org/# 31:13 - Strona główna libreboot - https://libreboot.org/# 31:35 - Repozytorium FSP - https://github.com/intel/FSP# 33:14 - Repozytorium oreboot - https://github.com/oreboot/oreboot# 35:15 - Strona główna i repozytorium LinuxBoot - https://www.linuxboot.org/, https://github.com/linuxboot/linuxboot# 44:05 - IME - https://en.wikipedia.org/wiki/Intel_Management_Engine# 49:17 - Więcej o SPD(Serial Presence Detect) - https://en.wikipedia.org/wiki/Serial_presence_detect# 59:16 - 1:01:30 - Sterownik do uruchamiania instrukcji x86 na AArch64 https://github.com/ardbiesheuvel/X86EmulatorPkg# 1:04:23 - Opis "runtime services" w specyfikacji UEFI: https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf#page=308# 1:05:06 - Opis "EFI system table": https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf#page=168# 1:11:46 - link do kernel.org i arch/arm/mach*: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm?h=master# 1:14:30 - Specyfikacja ACPI i główne koncepty: https://uefi.org/specs/ACPI/6.4/index.html + https://uefi.org/specs/ACPI/6.4/03_ACPI_Concepts/ACPI_Concepts.html#acpi-concepts# 1:15:20 - Specyfikacja AML: https://uefi.org/specs/ACPI/6.4/20_AML_Specification/AML_Specification.html# 1:21:40 - Specyfikacja SMBIOS - https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf# 1:29:50 - Podcast Poziom Niżej #006 - "Bezpieczeństwo w krzemie zaklęte" - https://www.youtube.com/watch?v=kqaeyaH8jFs# 1:31:45 - Wpis dotyczący ataku na komunikacją SPI pomiędzy CPU a TPM - https://dolosgroup.io/blog/2021/7/9/from-stolen-laptop-to-inside-the-company-network
W ósmym odcinku rozprawiamy się z potocznymi opiniami na temat wydajności procesora Apple M1.Tym razem bierzemy pod lupę konstrukcję nowego procesora M1 firmy Apple, który wywołał spore zamieszanie na rynku ultrabooków. Bazując na własnych, bogatych doświadczeniach z architekturą ARM, weryfikujemy doniesienia medialne usuwając jednocześnie kolejne zasłony dymne, które można napotkać wśród opisów "rewelacyjnych" wyników M1. Wyjaśniamy zasady budowy nowoczesnych procesorów i podajemy źródła rzetelnej wiedzy. Staramy się również odpowiedzieć na pytanie, jak rozwiązania Apple wpłyną długofalowo na cały rynek procesorów ARM, choć przewidywanie przyszłości należy do dziedziny niezupełnie inżynierskiej.Prowadzący: Radosław Biernacki, Maciej Czekaj, Stanisław KardachHashtag: Arm, Apple, M1### Plan odcinka, część #2# 0:23 - Translacja kodu x86 -> ARM# 4:30 - Rozkazy x86 potrafią operować na pamięci (model pamięci)# 8:50 - Ograniczenia translacji# 10:00 - Translacja vs emulacja# 11:30 - Wydajność translacji na M1# 13:30 - WAŻNE: różnice modelu pamięci i wyzwania translacji!# 18:00 - M1 TSO (Total Store Ordering)# 23:26 - Wątek poboczny: Izolacja CPU# 28:13 - koniec wątku pobocznego# 28:50 - Roseta 1 i Roseta 2# 30:36 - TDP i testy porównawcze# 35:30 - Segmentacja rynku zastosowań procesora# 37:26 - Jądro OSX# 40:42 - Troche o ograniczeniach TDP# 44:12 - Wydajność podsystemu DRAM o SWAP# 45:22 - Podsumowanie #4 (ewolucja a nie rewolucja)# 46:40 - Polityka informacyjna Apple# 49:43 - wątek poboczny: Historia bywa przewrotna, Apple vs IBM, wertykalna struktura Apple# 51:47 - koniec wątku pobocznego# 52:55 - ARM otwiera ISA?!?# 56:30 - wątek poboczny: Linux i samo-modyfikujący się kod# 1:00:47 - koniec wątku pobocznego# 1:01:20 - Apple AMX# 1:06:30 - Czy ARM przejmie rynek PC?# 1:10:35 - Zakończenie ### Linki# 0:23 - Translacja X86 -> ARM:- Jak robi to Apple: - Jak Transitive umarł: https://www.itjungle.com/2011/09/26/tfh092611-story06/- Jak robi to Microsoft: - Niskopoziomowa analiza: https://blogs.blackberry.com/en/2019/09/teardown-windows-10-on-arm-x86-emulation - Kompleksowa analiza WOW64: https://wbenny.github.io/2018/11/04/wow64-internals.html- Qemu User Mode Emulation: https://qemu.readthedocs.io/en/latest/user/index.html - Narzędzia do skrośnego przygotowywania dystrybucji Debiana/Ubuntu: https://wiki.debian.org/EmDebian/CrossDebootstrap# 18:00 - TSO- Slajdy poglądowe o Total Store Ordering: https://www.cis.upenn.edu/~devietti/classes/cis601-spring2016/sc_tso.pdf- Hack do włączania dla każdego procesu w OSX na M1: https://github.com/saagarjha/TSOEnabler# 25:00 - Łatki kernela do "Total CPU Isolation"https://lwn.net/Articles/816298/# 28:50 - Roseta1 i Roseta 2- Rosetta 2: https://appleinsider.com/inside/rosetta-2- Rosetta 1 (w 2006 przy przejściu PowerPC -> Intel) będąca modyfikacją technologii QuickTransit: - https://en.wikipedia.org/wiki/QuickTransit - Prezentacja o QuickTransit na KVM Forum 2008: https://www.linux-kvm.org/images/9/98/KvmForum2008%24kdf2008_2.pdf# 1:01:20 - Apple AMXhttps://gist.github.com/dougallj/7a75a3be1ec69ca550e7c36dc75e0d6fhttps://nod.ai/comparing-apple-m1-with-amx2-m1-with-neon/https://medium.com/swlh/apples-m1-secret-coprocessor-6599492fc1e1
W ósmym odcinku rozprawiamy się z potocznymi opiniami na temat wydajności procesora Apple M1.Tym razem bierzemy pod lupę konstrukcję nowego procesora M1 firmy Apple, który wywołał spore zamieszanie na rynku ultrabooków. Bazując na własnych, bogatych doświadczeniach z architekturą ARM, weryfikujemy doniesienia medialne usuwając jednocześnie kolejne zasłony dymne, które można napotkać wśród opisów "rewelacyjnych" wyników M1. Wyjaśniamy zasady budowy nowoczesnych procesorów i podajemy źródła rzetelnej wiedzy. Staramy się również odpowiedzieć na pytanie, jak rozwiazania Apple wpłyną długofalowo na cały rynek procesorów ARM, choć przewidywanie przyszłości należy do dziedziny niezupełnie inżynierskiej.Prowadzący: Radosław Biernacki, Maciej Czekaj, Stanisław KardachHashtag: Arm, Apple, M1### Plan odcinka, część #1# 0:23 - Wstęp# 4:44 - Na jakiej podstawie analizujemy procesor# 6:14 - Czy ISA ARM ma znaczenie?# 8:30 - Jak działa nowoczesny procesor# 11:20 - Dlaczego wszystkie procesory działają bardzo podobnie# 12:55 - Odstępstwa od procesorów superskalarnych# 14:34 - W czym faktycznie różnią się procesory# 18:20 - Na co procesor wydatkuje energię elektryczną# 20:50 - Dlaczego nie zawsze więcej znaczy lepiej# 24:30 - Coś za coś - czyli konsumpcja energii a wydajność# 30:00 - Gdzie jest magia w jabłku? - dlaczego M1 jest tak wydajny?# 32:40 - Jak działają mikro-benchmarki# 39:37 - Podsystem pamięci w M1# 50:30 - Interconnect jako sieć pakietowa# 51:47 - Nietypowy cache L3 w M1?# 57:29 - L2 jako punkt koherencji w M1? (słynny NSObjects i ref counting)# 1:04:32 - Podsumowanie #1# 1:07:43 - Opóźnienie L1 w M1# 1:08:55 - Podsumowanie #2 (nie magia)# 1:10:12 - Registry renaming# 1:12:30 - Dekoder rozkazów i SMT# 1:18:58 - M1 jako awangarda w mikro-architekturze?### Linki# 4:44 - Testy od AnandTechhttps://www.anandtech.com/show/16252/mac-mini-apple-m1-tested# 13:02 - VLIW https://en.wikipedia.org/wiki/Very_long_instruction_word# 13:25 - Alternatywne architektury procesorówMicrosoft EDGE ISA - procesor grafowy https://www.theregister.com/2018/06/18/microsoft_e2_edge_windows_10/Ian Goddard o EDGE CPU i Mill CPUhttps://millcomputing.com/topic/microsoft-e2-edge-processor/Procesor RAWhttps://apps.dtic.mil/sti/pdfs/AD1007208.pdfProcesor Millhttps://millcomputing.com/# 24:33 - Big-littlehttps://www.usenix.org/system/files/conference/hotpower14/hotpower14_hahnel.pdf# 30:30 - Parametry mikroarchitektury procesora na bazie procesorów Intela i AMDhttps://en.wikichip.org/wiki/intel/microarchitectures/coffee_lakehttps://en.wikichip.org/wiki/amd/microarchitectures/zen_2# 31:59 - Andnatech, Apple M1https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested# 49:00 - Dougall Johnson https://dougallj.github.io/applecpu/firestorm.htmlhttps://twitter.com/dougallj# 50:50 - Interconnect IP od Arterishttps://www.arteris.com/# 55:37 - Wykresu latencji L3 na Apple M1https://pasteboard.co/JUeihtx.png# 1:10:45 - Tomasulo Algorithm - Registry Renaminghttps://www.youtube.com/watch?v=PZZvhqnch5ohttps://www.youtube.com/watch?v=D29BgTLHYbkhttps://www.udacity.com/course/high-performance-computer-architecture--ud007# 1:12:50 Power 10https://www.hotchips.org/assets/program/conference/day1/HotChips2020_Server_Processors_IBM_Starke_POWER10_v33.pdf
Czy są tu słuchacze spragnieni naszych podcastów?Mamy dla Was dobrą wiadomość! :)Po dłuższej przerwie wracamy z nowym cyklem.Dziś przystawka, czyli nowa szata graficzna z zapowiedzią serii.Pozostańcie na łączach, już wkrótce usłyszymy się w nowych odcinkach!
W siódmym odcinku rozmawiamy o ciekawym aspekcie naszej pracy tj o błędach w układach krzemowych.Praca z producentami układów krzemowych daje niecodzienną możliwość zajrzenia za kulisy rewolucji naszych czasów tj miniaturyzacji układów cyfrowych. Osławione prawo Moore'a niesie ze sobą wykładniczy wzrost gęstości tranzystorów. Co za tym idzie z biegiem czasu układy stają się coraz bardziej skomplikowane a tym samym pomyłki stają się nieuniknione.W trzech krótkich historiach opowiadanych przez członków załogi Semihalf, staramy się przybliżyć wam ciekawe strony pracy z najnowszą technologią, często niosącą bardzo intensywne tygodnie “walki” na styku oprogramowania i sprzętu. Jeśli zastanawialiście się dlaczego aktualizacje firmware (np BIOSU) są konieczne oraz dlaczego procesory zaraz po premierze rynkowej czasami po prostu nie działają jak reklamuje producent, to ten odcinek powinien odpowiedzieć na wasze pytania.Prowadzący: Radosław Biernacki, Jan Dąbroś, Marcin Wojtas, Stanisław KardachHashtag: FPGA, VHDL, Ryzen, ARM, hardware, symulator, emulator, bug### Plan odcinka# 6:10 - Od czego zaczyna się projektowanie układów krzemowych# 7:30 - Testowanie i praca z SW - symulatory i emulatory# 9:20 - Dlaczego emulacja jest czasochłonna?# 11:50 - Narodziny krzemu - tapeout# 15:10 - Marcin - historia wdrożenia zarządzania energią w ARMv8# 23:30 - Janek - historia błędu przekierowania przerwań do Arm Trustzone# 30:40 - Staszek - historia błędu w procesorze sieciowym do zastosowań DataPlane# 34:10 - Staszek - historia błedu w ARMv8 w instrukcjach LDP/STP# 42:08 - Łatki w firmware# 48:47 - Quirki i upstream do kernela Linuxa# 1:01:00 - Podsumowanie, jak błędy w krzemie manifestują się u użytkowników### Linki# 6:20 - Fabless chip manufacturing - https://en.wikipedia.org/wiki/Fabless_manufacturing# 8:50 - Cadance Palladium - https://www.cadence.com/en_US/home/tools/system-design-and-verification/acceleration-and-emulation/palladium-z1.html# 12:45 - Tape-out - https://en.wikipedia.org/wiki/Tape-out# 18:00 - Poziomy uprzywilejowania (Exception levels) na ARMv8Prezentacja ARM Trusted Firmware (ale z fajnym opowiadaniem jak Exception Levels działają) https://www.slideshare.net/linaroorg/arm-trusted-firmareforarmv8alcu13Artykuł w magazynie "Programista" numer #63, 08/2017r. "Na granicy światów – technologia bezpieczeństwa ARM TrustZone"Dość szczegółowy opis technologii ARM TrustZone http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf# 18:35 - Power Management na ARMv8Całość problemu opisana w magazynie “Programista” numer #56, 01/2017r. “Zarządzanie energią w ARMv8”Opis przebiegu usypiania systemu podczas Suspend-To-Ram https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/power/suspend-and-cpuhotplug.rstOpis funkcji zwrotnych zarządzania energią w ARM Trusted Firmware https://github.com/scorp2kk/atf/blob/master/docs/platform-migration-guide.md#22-composite-power-state-framework-platform-api-modifications# 35:10 - Problem atomowości instrukcji LDP/STP:https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile - Arm Architecture Reference Manual, rozdział B2.2.1 Requirements for single-copy atomicityhttps://www.element14.com/community/servlet/JiveServlet/previewBody/41836-102-1-229511/ARM.Reference_Manual.pdf - ARMv8 Instruction Set Overview, rozdział 5.2 Memory Access# 51:30 - Upstream quirka do ECAM w ARMv8Dyskusja na listach mailingowych odnośnie możliwości odstępstw od generycznego działania PCIE na ARMv8 opisanego tablicami ACPI https://lkml.org/lkml/2016/9/20/391Opis Extended Configuration Space (ECAM) dla standardu PCIE https://wiki.osdev.org/PCI_Express#Extended_Configuration_SpaceObejście problemu niezgodności ze standardowym kontrolerem przy zastosowaniu sztuczki z tablicami ACPI https://github.com/tianocore/edk2-platforms/commit/a273cb49fe4f98f662bacb69cfd323722e0993a2#diff-e57f3ee89616dd138928c3655287b0d0Proste rozwiązanie problemu na poziomie sterownika w Linuksie - dozwolone tylko przy opisie poprzez Device Tree https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/pci/controller/pci-host-generic.c#n27
W szóstym odcinku przybliżamy wam tematykę zabezpieczeń nowoczesnych procesorów i SoCW odcinku poruszamy szereg zagadnień bezpieczeństwa których bazą są sprzętowe rozwiązania zaszyte w nowoczesnych układach scalonych znajdujących się np w każdym smartfonie. Ten z pozoru prosty przedmiot codziennego użytku posiada wbudowaną technologię której nie są w stanie złamać nawet wyspecjalizowane komórki rządowych agencji bezpieczeństwa. Staramy się pokazać, jak ogromną zasługą w zachowaniu bezpieczeństwa i poufności zarówno naszej korespondencji jak i komunikacji np z bankiem, mają te małe płatki krzemu które są cichymi towarzyszami naszych codziennych połączeń poprzez publiczną sieć Internet.Prowadzący: Radosław Biernacki, Michał Stanek, Jan Dąbroś, Konrad DulębaHashtag: ArmTrustZone, ATF, ArmTrustedFirmware, Android, Security, Trusty, TEE, OP-TEE, SecureBoot, VerifiedBoot, Firmware### Plan odcinka# 0:08 - Wstęp# 1:25 - Kim jesteśmy# 5:40 - Dlaczego rozwiązania sprzętowe są podstawą modelu bezpieczeństwa# 9:17 - Czym są enklawy kryptograficzne# 10:48 - Reverse engineering krzemu# 14:45 - Arm Trust Zone# 22:22 - Trusted Platform Module# 24:47 - Jak i po co łączyć ATZ i TPM# 26:18 - Czy do budowy enklawy konieczny jest element zewnętrzny# 30:29 - Android jako modelowy przykład bezpiecznego systemu operacyjnego# 30:50 - UID jako podstawa dla sandbox# 32:09 - TEE (Trusty) jako podstawa enklawy kryptograficznej# 35:30 - Full Disk Encryption# 36:40 - File Based Encryption# 39:03 - API do kryptografii bazowane na enklawie# 41:00 - Luki bezpieczeństwa w TEE# 42:16 - Enklawy jako podstawa dla DRM ;(# 44:05 - SGX od Intela# 48:47 - Verified Boot i Secure Boot# 54:45 - Dlaczego nie powinno się “root’ować” smartfona# 58:48 - Trusted Platform Module - detale działania# 1:00:15 - TPM + Bitlocker# 1:02:00 - Atestacja serwerów przy pomocy TPM# 1:02:58 - Czy TPM chroni przed atakami fizycznymi? Czyli dlaczego nie szyfruj Bitlocker`em bez hasła ;)# 1:06:45 - Czym jest Yubikey i dlaczego jeszcze go nie używasz?# 1:09:10 - PSD2 vs Yubikey vs Smartfon# 1:10:11 - Protected Confirmation# 1:11:59 - Czy nadal używasz PC do przelewów?# 1:15:32 - Zakończenie### LinkiTrustzone TEEhttps://www.trustkernel.com/uploads/pubs/TZResearch_GetMobile2018.pdfhttps://www.arm.com/files/pdf/20160701_A04_ATF_Taiwan_I-Wei_Lin.pdfTEE, Secure & Measured Boot for Samsung Payhttps://developer.samsung.com/tech-insights/pay/device-side-securityBasics of TBSA https://www.arm.com/files/pdf/20160628_A01_ATF_Korea_Udi_Maor.pdfApple TouchIDhttps://hackernoon.com/demystifying-apples-touch-id-4883d5121b77(Programista 2017, numer 63, artykuł Jana Dąbrosia) - tzw. Biblia Arm TrustZone :Phttps://drive.google.com/drive/u/0/folders/0BwLtsK2HpuELallaSFcxb2RtR3c Extracting ECDSAKeys from Qualcomm’s TrustZone:https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/2019/hardwarebackedhesit.pdfGoogle IO Android Securityhttps://www.youtube.com/watch?v=0uG_RKiDmQYhttps://www.youtube.com/watch?v=r54roADX2MIVerified Boothttps://www.chromium.org/chromium-os/chromiumos-design-docs/verified-boot (grep TPM)https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42038.pdfhttps://source.android.com/security/verifiedboot/dm-verityhttps://www.youtube.com/watch?v=kdpZC9jFzZATrusty (TEE)https://source.android.com/security/trustyTPM is SWhttps://pdfs.semanticscholar.org/42e5/216f57b17bb7dba13a2b73e36b4c057a6c96.pdfGoogle Titanhttps://android-developers.googleblog.com/2018/10/building-titan-better-security-through.htmlhttps://developer.android.com/training/articles/keystore#HardwareSecurityModuleApplowy secure chip (jak Titan)https://www.apple.com/mac/docs/Apple_T2_Security_Chip_Overview.pdfPorównanie Titan’a i TPMa:https://harry.uno/post/google-titan.htmlYubikey w srodkuhttp://www.hexview.com/~scl/neo5/iOS Securityhttps://inst.eecs.berkeley.edu/~cs261/fa18/scribe/11_14_revised.pdfhttps://www.apple.com/business/docs/site/iOS_Security_Guide.pdf (grep Secure Enclave)Blackhat Demystifying TPMhttps://www.blackhat.com/docs/us-16/materials/us-16-Mandt-Demystifying-The-Secure-Enclave-Processor.pdfhttps://www.bleepingcomputer.com/news/security/tpm-chipsets-generate-insecure-rsa-keys-multiple-vendors-affected/Blackhat 2010 Semiconductor Security Awareness Today and yesterday https://www.youtube.com/watch?v=WXX00tRKOlwSGXhttps://hackernoon.com/adventures-of-an-enclave-sgx-tees-9e7f8a975b0bhttps://news.ycombinator.com/item?id=17463687https://lwn.net/Articles/786487/https://software.intel.com/sites/default/files/managed/f1/b8/intel-sgx-support-for-third-party-attestation.pdfhttps://software.intel.com/en-us/blogs/2018/12/09/an-update-on-3rd-party-attestationhttps://medium.com/golem-project/graphene-v1-0-has-been-released-cca5443f0887Private contact discovery for Signalhttps://signal.org/blog/private-contact-discovery/Ataki na file based encryption w Android 7https://delaat.net/rp/2016-2017/p45/report.pdfWidevine DRM on OPTEEhttps://www.slideshare.net/linaroorg/las16406-android-widevine-on-optee
#005 - Quo Vadis ARM?

#005 - Quo Vadis ARM?

2019-07-0501:36:20

W piątym odcinku zastanowimy się jaka przyszłość stoi przed architekturą ARM. Przedstawiamy wam historię powstania firmy ARM Holdings, tłumaczymy dlaczego energooszczędność nigdy nie idzie w parze z wydajnością oraz dlaczego procesory ARM są wewnątrz bardzo podobne do procesorów Intel x86. Przy okazji wyjaśniamy dlaczego wydajność nie zależy od listy rozkazowej oraz dlaczego prawo Moore'a przestało obowiązywać. Główną osią odcinka jest jednak odwiecznie nurtujące nas pytanie: “Dlaczego architektura ARM nie gości (mimo wielkich wysiłków) na PC oraz na serwerach?”. Starając się odpowiedzieć na to pytanie dryfujemy w różnych kierunkach, od standaryzacji po globalną politykę na styku USA i Chin. Odcinek kończymy nieco żartobliwą dyskusją na temat RISC-V oraz odnosimy się do komentarza Linusa Torvaldsa.Prowadzący: Radosław Biernacki, Rafał Jaworowski, Maciej Czekaj, Marcin WojtasHashtag: ARM, AArch64, ARMv8, ARm on ARM, RISC-V### Plan odcinka# (0:50) Historia firmy ARM# (3:28) Czym wyróżnia się firma ARM# (7:42) Na czym zarabia ARM?# (8:17) Modele współpracy z firmą ARM (poziomy licencji)# (15:32) Wyzwania przy tworzeniu całkiem nowej architektury# (22:06) Mit energooszczędności ARM# (28:13) Co zużywa najwięcej energii w CPU?# (33:25) Dlaczego ARM nie istnieje w świecie PC?# (42:39) Próby stworzenia ARM PC# (44:27) Dlaczego firma ARM nie wspiera ARM PC# (46:40) Problem GPU na ARM (optional ROM)# (49:13) Problem kompatybilności SW na ARM# (53:14) Co jest potrzebne do adopcji ARM w serwerach# (54:46) Polityka globalna w HPC# (56:45) Wojna cenowa w HPC# (1:01:23) Problem standaryzacji w serwerach# (1:08:30) Dlaczego ARM nie wyprodukował CPU serwerowego?# (1:10:35) Poważne konsekwencje bierności ARM# (1:11:09) Czy w ogóle ARM chce wejść na rynek serwerowy?# (1:14:42) Procentowy udział ARM w rynkach procesorów# (1:16:54) Co przekonuje kupujących do zmiany?# (1:22:40) A może RISC V?# (1:30:12) A Linus powiedział że...Odnośniki(0:50) ARM Architecture history - https://en.wikipedia.org/wiki/ARM_architecture#History(1:14) ACorn - https://en.wikipedia.org/wiki/Acorn_Computers(1:30) BBC micro - https://en.wikipedia.org/wiki/BBC_Micro(1:59) VLSI - https://en.wikipedia.org/wiki/VLSI_Technology(2:35) 68000 - https://en.wikipedia.org/wiki/Motorola_68000(2:21) ARM 1 - https://en.wikichip.org/wiki/acorn/microarchitectures/arm1(4:24) Apple Newton - https://en.wikipedia.org/wiki/Apple_Newton(8:30) How ARM’s business model works - https://www.anandtech.com/show/7112/the-arm-diaries-part-1-how-arms-business-model-works/2(12:52) Atmel - Microchip - https://en.wikipedia.org/wiki/Atmel(13:47) Cortex - https://en.wikipedia.org/wiki/ARM_Cortex-A(14:35) Marvell - https://en.wikipedia.org/wiki/Marvell_Technology_Group(15:00) wersje ARM - https://www.cs.umd.edu/~meesh/cmsc411/website/proj01/arm/armchip.html(15:35) Polski Procesor D32PRO - https://pclab.pl/news65816.html(18:33) - przykład reverse engineer’ingu CPU do BLE - https://github.com/sylvek/itracing2/issues/5#issuecomment-226080683(19:39) Parallella - https://www.parallella.org/board/(21:38) Qualcomm Centriq - https://en.wikipedia.org/wiki/Qualcomm_Centriq(21:44) Cavium - Marvell Thunder - https://www.marvell.com/server-processors/thunderx-arm-processors/(21:46) APM X-Gene - https://www.apm.com/products/data-center/x-gene-family/x-gene/(21:49) Broadcomm Snapdragon - https://en.wikipedia.org/wiki/Qualcomm_Snapdragon(24:59) Arm Delivers on Cortex A76 Promises: What it Means for 2019 Devices - https://www.anandtech.com/show/13614/arm-delivers-on-cortex-a76-promises(28:25) Way-Predicting Set-Associative Cache for High Performance and Low Energy Consumption http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.135.5610&rep=rep1&type=pdf(29:12) Power Wall - 45-year CPU evolution: one law and two equations - https://arxiv.org/pdf/1803.00254.pdf(31:02) Static power loss - Leakage Current: Moore’s Law Meets Static Power - http://www.ruf.rice.edu/~mobile/elec518/readings/DevicesAndCircuits/kim03leakage.pdf(32:51) Cortex A73 overview - https://www.anandtech.com/show/10347/arm-cortex-a73-artemis-unveiled(35:30) Raspbian - https://www.raspberrypi.org/downloads/raspbian/(36:17) Cortex-A - https://developer.arm.com/ip-products/processors/cortex-a(36:20) ARM GIC - https://developer.arm.com/ip-products/system-ip/system-controllers/interrupt-controllers(37:05) SBSA - https://developer.arm.com/architectures/platform-design/server-systems(37:28) ACPI - http://uefi.org/sites/default/files/resources/ACPI_6_2.pdf(40:20) Macchiatobin - http://macchiatobin.net/(42:04) Arm on Arm - https://www.youtube.com/watch?v=rl0sls6vnmk(43:15) SocioNext SynQuacer - https://www.socionext.com/en/products/assp/SynQuacer/Edge/(45:30) ARM roadshow slides 2018 - https://www.arm.com/-/media/global/company/investors/PDFs/Arm_SBG_Q4_2018_Roadshow_Slides_FINAL.pdf?revision=ebab8585-b3df-4235-b515-c3ef20379baf&la=en(48:07) EDK2 - https://github.com/tianocore/edk2(48:12) x86 Option ROM for ARM - https://www.suse.com/c/revolutionizing-arm-technology-x86_64-option-rom-aarch64/(48:17) Commit do ARM GPU - https://github.com/tianocore/edk2-non-osi/commit/77b5eefd9(50:28) Open Compute Project - https://en.wikipedia.org/wiki/Open_Compute_Project(52:54) Stacja Robocza ThunderX - https://www.asacomputers.com/Cavium-ThunderX-ARM.html(55:00) Kumpeng 920 - https://www.servethehome.com/huawei-kunpeng-920-64-core-arm-server-cpu/(57:19) PowerPC - https://en.wikipedia.org/wiki/PowerPC(57:27) SPARC - https://en.wikipedia.org/wiki/SPARC(1:00:37) Linaro - https://en.wikipedia.org/wiki/Linaro(1:00:54) RAS - https://www.kernel.org/doc/html/v4.14/admin-guide/ras.html(1:04:37) Amazon Graviton - https://en.wikichip.org/wiki/annapurna_labs/alpine/al73400(1:05:00) Amazon EC2 - https://aws.amazon.com/ec2/instance-types/a1/(1:06:43) Jon Masters - https://www.linkedin.com/in/jonmasters/(1:07:48) Intel wpiera rozwój AI - https://software.intel.com/en-us/devcloud/datacenter(1:09:42) ARM roadshow slides 2018 - https://www.arm.com/-/media/global/company/investors/PDFs/Arm_SBG_Q4_2018_Roadshow_Slides_FINAL.pdf?revision=ebab8585-b3df-4235-b515-c3ef20379baf&la=en(1:10:47) Qualcomm zamyka dział serwerowy - https://www.tomshardware.com/news/qualcomm-server-chip-exit-china-centriq-2400,38223.html(1:13:22) Galileo, Edison, Julie, Curie - https://software.intel.com/en-us/iot/hardware/discontinued(1:15:02) ARM roadshow slides 2018 - https://www.arm.com/-/media/global/company/investors/PDFs/Arm_SBG_Q4_2018_Roadshow_Slides_FINAL.pdf?revision=ebab8585-b3df-4235-b515-c3ef20379baf&la=en(1:18:00) AARch64 virtualization - https://developer.arm.com/docs/100942/latest/aarch64-virtualization(1:18:31) Cavium ThunderX2 Review and Benchmarks a Real Arm Server Optionhttps://www.servethehome.com/cavium-thunderx2-review-benchmarks-real-arm-server-option/(1:19:22) SRIOV - https://en.wikipedia.org/wiki/Single-root_input/output_virtualization(1:21:25) Octeon TX - https://www.marvell.com/embedded-processors/infrastructure-processors/octeon-tx-multi-core-armv8-processors/index.jsp(1:22:58) RISC V - https://en.wikipedia.org/wiki/RISC-V(1:26:50) WD i RISC V - https://blog.westerndigital.com/risc-v-swerv-core-open-source/(1:29:04) ARM RISC-V FUD -https://github.com/arm-facts/arm-basics.com/blob/master/assets/img/riscv-basics.com-screenshot.jpg(1:30:16) Linus o ARM na serwerach - https://www.extremetech.com/computing/286311-linus-torvalds-claims-arm-wont-win-in-the-server-space(1:30:41) Packet.net - https://www.packet.com/(1:31:04) Amper eMAG - https://amperecomputing.com/wp-content/uploads/2019/01/eMAG8180_PB_v0.5_20180914.pdf
W czwartym odcinku podcastu Semihalf, rozprawiamy się mitami które narosły wokół komputerów kwantowych. Staramy się nieskomplikowanym językiem, przy zachowaniu ścisłej terminologii przybliżyć Wam temat komputerów kwantowych. Zdajemy sobie sprawę że temat nie jest prosty ale zależy nam na jego "odczarowaniu", ponieważ poziom publikacji popularno-naukowych często pozostawia wiele do życzenia. Wg nas po zapoznaniu z kilkoma podstawowymi zagadnieniami (do których linki znajdziesz poniżej), komputery kwantowe przestają być "magicznymi cudami techniki". Oczywiście nie sposób zostać fizykiem kwantowym w kilka wieczorów, dlatego zaprosiliśmy do naszego studia Wojtka Burkota z firmy Beit, który na codzienne zajmuje się tymi zagadnieniami i udziela odpowiedzi na nurtujące nas pytania. Okazuje się że komputery kwantowe mają więcej wspólnego z komputerami klasycznymi niż się powszechnie uważa. Z punktu widzenia pojedynczego bitu, podstawa ich działania, bardzo przypomina klasyczny układ tranzystora przełączający się pomiędzy stanem zatkania i nasycenia. Mogło by się wydawać że to tylko analogia, ale już obecnie wielkości tranzystorów w układach scalonych są na tyle małe że do ich prawidłowego (czyt. oczekiwanego) działania inżynierowie muszą walczyć z efektami kwantowymi!Analogi jest dużo więcej, niemniej jednak podstawową różnicą jest to iż ze względu na występowanie superpozycji (jedna z konsekwencji mechaniki kwantowej) oraz stanów splątanych, układy kwantowe są w stanie reprezentować matematyczny zapis całej dziedziny problemu przy użyciu jednego tylko "rejestru kwantowego". To pozwala tworzyć algorytmy które dają złożoność wielomianową dla problemów dla których algorytmy klasyczne mają złożoność wykładniczą, ponieważ pojedynczy przebieg algorytmu, rozwiązuje równanie dla całej dziedziny.Ten wstęp jest tylko krótkim streszczeniem naszej rozprawy z mitami komputerów kwantowych. Odpowiadamy na pytania jak skonstruowany jest kubit oraz czy komputery kwantowe faktycznie są w stanie obecnie rozwiązywać trudne algorytmiczne problemy. Jeśli podobnie jak my, szukałeś konkretnych odpowiedzi na podobne pytania, to czym prędzej wysłuchaj naszego podcastu! Mamy nadzieje że spełnimy Twoje oczekiwania w zakresie mięsistej wiedzy. Smacznego ;)Prowadzący: Radosław Biernacki, Maciej Czekaj, Wojciech BurkotHashtag: QC, Quantum Computing, Komputery Kwantowe### Linki (chcesz wiedzieć więcej?):(Youtube) Seria krótkich filmów o istocie działania komputerów kwantowych (samo mięso prostym językiem):https://www.youtube.com/watch?v=tqN6I-WCXTY&list=PL50XnIfJxPDWDyea8EbbLe8GHfXkWU7W_(Youtube) Komputery kwantowe, wprowadzenie dla programistów:https://www.youtube.com/watch?v=F_Riqjdh2oM(Youtube) Złącze Josephsona i jak skonstruowany jest nadprzewodzący kubit:https://www.youtube.com/watch?v=EWd1r8nssnQhttps://www.youtube.com/watch?v=2pB87H3_F_cO fizyce kwantowej wykłady Richarda Feynmana:http://www.feynmanlectures.caltech.edu/III_toc.htmlTutorial Quantum Computing:https://medium.com/%40jonathan_hui/qc-quantum-algorithm-with-an-example-cf22c0b1ec31### Terminologia# 18:28 - Złącze Josephsona - (patrz też wcześniej podane linki do Youtube o złączu Josephsona)https://www.scientificamerican.com/article/what-are-josephson-juncti/# 21:09 - Ion Trap Quantum Computing - https://medium.com/%40jonathan_hui/qc-how-to-build-a-quantum-computer-with-trapped-ions-88b958b81484# 28:50 - Odwracalność operacji - https://www.youtube.com/watch?v=YTNug9tQOzU&list=PL50XnIfJxPDWDyea8EbbLe8GHfXkWU7W_&index=6# 43:50 - Algorytm Grovera - https://en.wikipedia.org/wiki/Grover%27s_algorithm# 1:15:54 - Quantum Supremacy - https://en.wikipedia.org/wiki/Quantum_supremacy# 1:19:45 - Quantum Inspired Classical Solution - https://cstheory.stackexchange.com/questions/42338/list-of-quantum-inspired-algorithms# 1:39:14 - Gartner Hype Curve - https://www.gartner.com/smarterwithgartner/5-trends-emerge-in-gartner-hype-cycle-for-emerging-technologies-2018/# 1:57:16 - Eksperyment Bella - https://en.wikipedia.org/wiki/Bell_test_experiments# 1:53:50 - NP zupełność i NP trudność - https://www.geeksforgeeks.org/np-completeness-set-1/### Plan odcinka:# 0:00 - Wyjaśnienie# 1:16 - Wstęp# 5:47 - Język matematyki# 12:18 - Układ kwantowy a tranzystor - analogia# 14:48 - Czym jest kubit?!? Jak fizycznie realizowany jest kubit.# 26:30 - Bramki kwantowe - czyli jak liczą komputery kwantowe# 31:00 - 34:20 - Operacja Hadamard’a# 38:30 - “Kubit to bit który jest jednocześnie 0 i 1” - clarified# 44:26 - Algorytm Grovera - przeszukiwanie zbioru# 47:13 - Pomiar - rola obserwatora# 50:00 - Podsumowanie 1# 50:56 - Algorytm Shora - "Upadek kryptografii ratuj się kto może" - busted# 54:55 - Ograniczenia rozwoju komputerów kwantowych# 1:00:20 - Problemy produkcyjne procesów kwantowych (szczegóły działania kubitów)# 1:04:54 - Problemy topologii procesorów kwantowych# 1:06:33 - Problemy korekcji błędów# 1:08:06 - Dwave - Quantum annealing# 1:13:46 - Praktyczne zastosowania obecnie istniejących komputerów kwantowych# 1:18:20 - Beit - Osiągnięcia na polu algorytmów kwantowych# 1:21:22 - Quantum Hype# 1:32:08 - Zjawiska kwantowe w zwykłych CPU# 1:39:14 - Gertner Hype Curve# 1:40:45 - Wpływ komputerów kwantowych na algorytmy dla komputerów klasycznych# 1:41:42 - Kwantowe telefony komórkowe? - "To tylko kwestia czasu" - busted# 1:45:46 - Co napędza rynek komputerów kwantowych?# 1:51:00 - Sztuczna inteligencja a komputery kwantowe# 1:53:50 - NP zupełność i NP trudność# 1:57:16 - Eksperyment Bella - zmienne ukryte# 1:59:22 - 2:06:40 - Równanie Schrödinger’a# 2:03:07 - Czy musisz być biegły w fizyce aby projektować algorytmy kwantowe?# 2:04:23 - “Komputer kwantowy jest budowany per zadanie” - busted# 2:04:47 - Jak czytać “schematy” algorytmów dla komputerów kwantowych. Jak wykonywać aproksymację przy pomocy obliczeń na komputerach kwantowych?# 2:09:57 - Co jest wynikiem obliczeń algorytmu kwantowego?# 2:12:23 - Zakończenie
W trzecim odcinku przybliżamy Wam tematykę ultra szybkich sieci LAN, tj rozwiązań sieci LAN pracujących z prędkościami 100/400 Gbit/s. Rozmawiamy o tym jak działa chmura, jak dobrze Linux sprawdza się w roli routera, czym są rozwiązania dataplane oraz ile filmów 4k można jednocześnie oglądać.W naszej pracy w większości przypadków mamy do czynienia z technologiami, które światło dzienne ujrzą dopiero za kilka lat. Częstokroć pracujemy nad rozwiązaniami dla których standardy nie zostały jeszcze w pełni zatwierdzone.Ponieważ prędkości rozwiązań sieciowych nad którymi pracujemy obecnie, mogą wydawać się kosmiczne, postanowiliśmy przybliżyć Wam nieco kulisy technicznych niuansów użytych tam technologi.Z odcinka dowiesz się: czym jest SDN oraz co jest podstawą działania "chmury". Od 17 minuty usłyszysz jak maszyny wirtualne tworzą sieci wirtualne oraz czym jest SRIOV. Poruszamy też zagadnienia akceleracji rozwiązań sieciowych w sprzęcie. Ok 27 minuty zdradzamy motywację stojącą za rozwiązaniami sieciowymi opartymi o FPGA, nad którymi obecnie pracujemy. Ok 36 minuty zahaczamy również o rozwiązania dataplane, przybliżając świat frameworków DPDK i ODP oraz kontrastujemy je z typowymi rozwiązaniami opartymi o kernel systemu operacyjnego Linux. W 45 minucie przechodzimy przez ograniczenia, które trzeba pokonać aby możliwe było skorzystanie z dobrodziejstw ultra szybkich sieci. Odcinek kończymy detalami związanych z medium i fizycznymi aspektami transmisji, począwszy od historycznych już rozwiązań 10Mbit/s na kablu koncentrycznym, a na światłowodowej technologi 400Gbit/s skończywszy.Prowadzący: Radosław Biernacki, Wojciech Macek, Maciej Czekaj, Michał DubielHashtag: SDN, OpenContrail, TungstenFabric, OVS, FPGA, SmartNic, DataPlane, DPDK, ODP, Pcie 4.0, Fibre, 400Gbit### Linki (chcesz wiedzieć więcej?):# Microsoft Azure on FPGA https://www.microsoft.com/en-us/research/uploads/prod/2018/03/Azure_SmartNIC_NSDI_2018.pdf# Dobre źródło nowości ze świata SDN https://www.sdxcentral.com/# Dataplane frameworksDPDK https://www.dpdk.org/ODP https://www.opendataplane.org/#Nasza implementacja ODP dla ThunderXhttps://github.com/Linaro/odp-thunderx# jak zrozumieć “pasmo przenoszenia” w kontekście medium transmisyjnego https://www.youtube.com/watch?v=0OOmSyaoAt0# zasada działania modulatorów elektro optycznych, czyli jak realizowane są modulacje QAMx na promieniu laserahttps://www.youtube.com/watch?v=ShXHOJEUcrs# zbiór informacji o światłowodachhttps://www.youtube.com/watch?v=_KFpXuHqHQg# przykład akceleracji w HW poprzed odpowiedni wybór algorytmów hashującychhttps://www.cs.cmu.edu/~binfan/papers/conext13_cuckooswitch.pdf# OVS offloadsHardware Offload with TC Flower https://www.slideshare.net/Netronome/ovs-hardware-offload-with-tc-flowerOVS Offload Models Used with NICs and SmartNICs: Pros and Cons https://www.netronome.com/blog/ovs-offload-models-used-nics-and-smartnics-pros-and-cons/OVS Acceleration using Network Flow Processorshttp://www.openvswitch.org//support/ovscon2014/18/1300-ovs-accel-nfp-2014-11-18.pdfPerformance evaluation of OVS offload using Mellanox Accelerated Switching And Packet Processing (ASAP2) technology in a RedHat OSP13 OpenStack environment - https://community.mellanox.com/s/article/performance-evaluation-of-ovs-offload-using-mellanox-accelerated-switching-and-packet-processing--asap2--technology-in-a-redhat-osp13-openstack-environment---draft
W drugim odcinku przybliżamy wam techniczne aspekty ataków side-channel na procesory superskalarne, ujawnione w ostatnich miesiącach. Jest to niejako kontynuacja naszego wykładu ze stycznia w cyklu Barcampów gdzie omawialiśmy ataki Spectre i Meltdown.W naszej pracy często optymalizujemy kod różnych krytycznych części systemu, począwszy od procedur kryptograficznych po wysokowydajny kod sieciowy. Takie zadania poza oczywistym aspektem dostarczania całej masy satysfakcji, pozostawiają również cenną wiedzę o tym jak działają nowoczesne procesory. A my lubimy dzielić się wiedzą ;)Dlatego też odcinek rozpoczynamy od szybkiego przeglądu podstawowych bloków funkcjonalnych występujących we wszystkich rodzinach procesorów znajdujących się obecnie na rynku. Następnie od ok. 19 minuty przechodzimy do omówienia genezy ataków "side channel". Od ok. 36 minuty omawiamy atak Foreshadow który w naszej ocenie jest przykładem całkowitego braku zabezpieczeń przed tą nową klasą ataków, w tym na rozwiązania celowo stworzone z myślą o zwiększonym bezpieczeństwie czyli enklawach (Intel SGX). W dalszej części podcastu omawiamy również ataki TLBleed oraz PortSmash w kontekście kryptografii z użyciem krzywych eliptycznych.Prowadzący: Radosław Biernacki, Michał Stanek, Łukasz Bartosik, Wojciech Macek, Maciej Czekaj### Linki (chcesz wiedzieć więcej?):### Linki chronologicznie:#0:30 - Barcamp “Ghostbusting Meltdown Spectre” - https://youtu.be/FBy2gZD3OUw#10:30 - Tomasulo algorithm - https://www.youtube.com/watch?v=PZZvhqnch5ohttps://www.youtube.com/watch?v=D29BgTLHYbkhttps://www.youtube.com/watch?v=I2qMY0XvYHAcały kurs na Udacity - https://classroom.udacity.com/courses/ud007/lessons/3643658790/concepts/8736801430923#25:26 - audio side channel na RSA - https://www.cs.tau.ac.il/~tromer/acoustic/#27:45 - Mnożenie zabiera różną ilość cykli w zależności od ilości 1ek lub wielkości liczby tzw Early Termination - https://eprint.iacr.org/2009/538.pdfhttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100165_0201_00_en/ric1414056333562.htmlhttp://oldwww.nvg.ntnu.no/amiga/MC680x0_Sections/timstandard.HTMLhttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337e/BABBCJII.htmlhttp://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/Chddggdf.html#1:01:50 - PortSmash https://eprint.iacr.org/2018/1060.pdfKrzywe eliptyczne - https://youtu.be/4M8_Oo7lpiA?t=742#1:37:15 - Nowe instrukcje jako pseudo rozwiązanie Intel - https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdfReakcja dev Linuxa - https://lwn.net/Articles/773118/### Linki tematycznie:#Side channel attacks on algorithms:https://en.wikipedia.org/wiki/Exponentiation_by_squaring#Montgomery's_ladder_techniquehttp://cat.eyalro.net/https://youtu.be/uQG_8TGcY84?list=PLbRoZ5Rrl5lew16BZO_C6wihpBkAYYaxi&t=190http://www.cs.columbia.edu/~simha/spyjs.ccs15.pdf (javascript)https://www.usenix.org/node/184416 and https://eprint.iacr.org/2013/448.pdf #(FLUSH+RELOAD):https://signal.org/blog/contact-discovery/ (SGX, side-channel proof hash table lookup)https://signal.org/blog/private-contact-discovery/ (more detailed info)https://www.bearssl.org/constanttime.html#Timing atack:https://en.wikipedia.org/wiki/Timing_attack#Blinding - biekcja stosowana na klucz aby przeciwdziałać side channel:https://en.wikipedia.org/wiki/Blinding_(cryptography)Side-Channel Analysis of Cryptographic Software via Early-Terminating Multiplications - https://eprint.iacr.org/2009/538.pdf#TLBleed:TLBleed - https://www.vusec.net/wp-content/uploads/2018/07/tlbleed-author-preprint.pdfhttps://youtu.be/LFvd0UaxL-0#Notka od Redhata na temat TLBleed (również dobre wprowadzenie do side channel) https://www.redhat.com/en/blog/temporal-side-channels-and-you-understanding-tlbleed#PortSmash:https://eprint.iacr.org/2018/1060.pdf#L1TF/Foreshadow:https://foreshadowattack.eu/foreshadow.pdfhttps://youtu.be/fEV6eA9o21ohttps://www.youtube.com/watch?v=kqg8_KH2OIQ#Elliptic curves for dummies:https://youtu.be/4M8_Oo7lpiA?t=742#SGX enclaves:https://www.blackhat.com/docs/us-16/materials/us-16-Aumasson-SGX-Secure-Enclaves-In-Practice-Security-And-Crypto-Review.pdfhttps://youtu.be/NP7f3M_saUs (pierwsze kilka min)#Intel CAT:https://software.intel.com/en-us/articles/introduction-to-cache-allocation-technologyhttps://lwn.net/Articles/694800/#Historia side channel:https://www.daemonology.net/papers/htt.pdf (2005, CACHE MISSING FOR FUN AND PROFIT)https://cr.yp.to/antiforgery/cachetiming-20050414.pdf (2005, Cache-timing attacks on AES)https://eprint.iacr.org/2007/336.pdf (2007, I-Cache RSA)http://cryptome.org/sbpa.pdf (2007, Branch Prediction RSA)https://pdfs.semanticscholar.org/b028/22567d583b89acc0b2bd5afa417ffa835d0a.pdf (2010, I-Cache, SMT, RSA, DSA)https://2459d6dc103cb5933875-c0245c5c937c5dedcca3f1764ecc9b2f.ssl.cf2.rackcdn.com/sec14/yarom.mp4 (2013, FLUSH+RELOAD L3)https://cyber.wtf/2017/07/28/negative-result-reading-kernel-memory-from-user-mode/ (2017)
#001 - Backdoory sprzętowe

#001 - Backdoory sprzętowe

2018-10-1701:16:11

W pierwszym (testowym) odcinku naszego podcastu porozmawiamy o ostatnich odkryciach ujawnionych w artykule Bloomberga na temat instalowania implantów (backdoorów) sprzętowych w płytach głównych produkowanych przez Supermicro.Według źródła, odkryte miały zostać małe układy scalone, których rzekomym celem działania było wykradanie informacji z serwerów pracujących w amerykańskich sieciach telekomunikacyjnych oraz popularnych usługach chmurowych i sieciach społecznościowych.Ponieważ na co dzień zajmujemy się produkcją oprogramowania układowego (Firmware/BIOS), a tym samym posiadamy praktyczną wiedzę z zakresu budowy zarówno sprzętu jak i standardów dla oprogramowania embedded, postanowiliśmy przyjrzeć się tym rewelacjom i skonfrontować je z faktami.Na początku odcinka przekazujemy informacje ogólne na temat tematyki implantów (backdoorów) sprzętowych. Słuchacze bardziej biegli w temacie mogą od razu przejść do 15 minuty gdzie rozpoczynamy techniczną analizę prawdopodobnego scenariusza ataku, który pokrywałby się z informacjami przedstawionymi przez Bloomberga.Podczas naszej analizy odwołujemy się do standardów takich jak: BMC, IPMI, ACPI, UEFI, ATF, NC-SI, TPM. Jeżeli szukasz twardych technicznych dokumentów na te tematy koniecznie sprawdź linki poniżej.Prowadzący: Radosław Biernacki, Michał Stanek, Jan Dąbroś, Wojciech MacekLinki (chcesz wiedzieć więcej?):Hardware trojan:https://en.wikipedia.org/wiki/Hardware_TrojanBloomberg:https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companieshttps://www.bloomberg.com/news/articles/2018-10-09/new-evidence-of-hacked-supermicro-hardware-found-in-u-s-telecomInne źródła na temat publikacji:https://www.servethehome.com/yossi-appleboum-disagrees-bloomberg-is-positioning-his-research-against-supermicro/https://www.servethehome.com/explaining-the-baseboard-management-controller-or-bmc-in-servers/https://securinghardware.com/articles/hardware-implants/IPMI - because ACPI and UEFI weren't terrifying enough:https://www.youtube.com/watch?v=GZeUntdObCABMC/IPMI:https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmi-second-gen-interface-spec-v2-rev1-1.pdfhttps://blog.rapid7.com/2013/07/02/a-penetration-testers-guide-to-ipmi/https://www.reddit.com/r/homelab/comments/74o47w/psa_do_not_connect_your_ipmi_to_outside_world/OpenBMC:https://www.youtube.com/watch?v=HO9qDPoWWrghttps://github.com/openbmc/openbmcUEFI:https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interfacehttps://github.com/tianocore/edk2ACPI:https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interfacehttp://www.uefi.org/sites/default/files/resources/ACPI_6_2.pdfhttps://www.blackhat.com/presentations/bh-europe-06/bh-eu-06-Heasman.pdfARM Trusted Firmware / UEFI Secure Boot:https://www.uefi.org/sites/default/files/resources/UEFI_Secure_Boot_in_Modern_Computer_Security_Solutions_2013.pdfhttps://www.trustedfirmware.org/about/https://github.com/ARM-software/arm-trusted-firmwareNC-SI:https://en.wikipedia.org/wiki/NC-SIhttps://www.dmtf.org/sites/default/files/standards/documents/DSP0222_1.0.0.pdfhttps://sthbrx.github.io/blog/2017/09/22/ncsi-nice-network-youve-got-there/TPM:https://en.wikipedia.org/wiki/Trusted_Platform_Modulehttps://online.tugraz.at/tug_online/voe_main2.getvolltext?pCurrPk=59565PUF:https://www.coursera.org/lecture/hardware-security/physical-unclonable-functions-puf-basics-Ab4sfhttp://cryptowiki.net/index.php?title=Physically_unclonable_functions_(PUF)HW Counterfeits:https://www.electronicsweekly.com/news/business/fbi-arrests-counterfeit-chip-traffickers-2015-12/https://www.netnames.com/insights/blog/2014/03/counterfeit-aircraft-parts-in-the-usa/https://zeptobars.com/en/read/Nordic-NRF24L01P-SI24R1-real-fake-copyps: już po naszej publikacji pojawił się poniższy art.https://www.servethehome.com/investigating-implausible-bloomberg-supermicro-stories/
Comments 
loading
Download from Google Play
Download from App Store