Settings
Light Theme
Dark Theme
Podcast Cover

Poziom niżej

  • #009 - Skazani na firmware

    8 AUG 2022 · 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
    1h 41m 12s
  • #008 - Zaczarowane Jabłko #2

    25 MAR 2021 · 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 Kardach Hashtag: 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 AMX https://gist.github.com/dougallj/7a75a3be1ec69ca550e7c36dc75e0d6f https://nod.ai/comparing-apple-m1-with-amx2-m1-with-neon/ https://medium.com/swlh/apples-m1-secret-coprocessor-6599492fc1e1
    1h 12m 5s
  • #008 - Zaczarowane Jabłko #1

    25 MAR 2021 · 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 Kardach Hashtag: 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 AnandTech https://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ów Microsoft EDGE ISA - procesor grafowy https://www.theregister.com/2018/06/18/microsoft_e2_edge_windows_10/ Ian Goddard o EDGE CPU i Mill CPU https://millcomputing.com/topic/microsoft-e2-edge-processor/ Procesor RAW https://apps.dtic.mil/sti/pdfs/AD1007208.pdf Procesor Mill https://millcomputing.com/ # 24:33 - Big-little https://www.usenix.org/system/files/conference/hotpower14/hotpower14_hahnel.pdf # 30:30 - Parametry mikroarchitektury procesora na bazie procesorów Intela i AMD https://en.wikichip.org/wiki/intel/microarchitectures/coffee_lake https://en.wikichip.org/wiki/amd/microarchitectures/zen_2 # 31:59 - Andnatech, Apple M1 https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested # 49:00 - Dougall Johnson https://dougallj.github.io/applecpu/firestorm.html https://twitter.com/dougallj # 50:50 - Interconnect IP od Arteris https://www.arteris.com/ # 55:37 - Wykresu latencji L3 na Apple M1 https://pasteboard.co/JUeihtx.png # 1:10:45 - Tomasulo Algorithm - Registry Renaming https://www.youtube.com/watch?v=PZZvhqnch5o https://www.youtube.com/watch?v=D29BgTLHYbk https://www.udacity.com/course/high-performance-computer-architecture--ud007 # 1:12:50 Power 10 https://www.hotchips.org/assets/program/conference/day1/HotChips2020_Server_Processors_IBM_Starke_POWER10_v33.pdf
    1h 21m 19s
  • Nowa seria podcastów "Poziom Niżej"

    11 MAR 2021 · 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!
    52s
  • #007 - Gdy bug w krzemie drzemie...

    17 MAY 2020 · 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 Kardach Hashtag: 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 ARMv8 Prezentacja ARM Trusted Firmware (ale z fajnym opowiadaniem jak Exception Levels działają) https://www.slideshare.net/linaroorg/arm-trusted-firmareforarmv8alcu13 Artykuł 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 ARMv8 Cał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.rst Opis 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 atomicity https://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 ARMv8 Dyskusja 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/391 Opis Extended Configuration Space (ECAM) dla standardu PCIE https://wiki.osdev.org/PCI_Express#Extended_Configuration_Space Obejście problemu niezgodności ze standardowym kontrolerem przy zastosowaniu sztuczki z tablicami ACPI https://github.com/tianocore/edk2-platforms/commit/a273cb49fe4f98f662bacb69cfd323722e0993a2#diff-e57f3ee89616dd138928c3655287b0d0 Proste 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
    1h 3m 33s
  • #006 - Bezpieczeństwo w krzemie zaklęte

    30 SEP 2019 · W szóstym odcinku przybliżamy wam tematykę zabezpieczeń nowoczesnych procesorów i SoC W 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ęba Hashtag: 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 ### Linki Trustzone TEE https://www.trustkernel.com/uploads/pubs/TZResearch_GetMobile2018.pdf https://www.arm.com/files/pdf/20160701_A04_ATF_Taiwan_I-Wei_Lin.pdf TEE, Secure & Measured Boot for Samsung Pay https://developer.samsung.com/tech-insights/pay/device-side-security Basics of TBSA https://www.arm.com/files/pdf/20160628_A01_ATF_Korea_Udi_Maor.pdf Apple TouchID https://hackernoon.com/demystifying-apples-touch-id-4883d5121b77 (Programista 2017, numer 63, artykuł Jana Dąbrosia) - tzw. Biblia Arm TrustZone :P https://drive.google.com/drive/u/0/folders/0BwLtsK2HpuELallaSFcxb2RtR3c Extracting ECDSA Keys from Qualcomm’s TrustZone: https://www.nccgroup.trust/globalassets/our-research/us/whitepapers/2019/hardwarebackedhesit.pdf Google IO Android Security https://www.youtube.com/watch?v=0uG_RKiDmQY https://www.youtube.com/watch?v=r54roADX2MI Verified Boot https://www.chromium.org/chromium-os/chromiumos-design-docs/verified-boot (grep TPM) https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42038.pdf https://source.android.com/security/verifiedboot/dm-verity https://www.youtube.com/watch?v=kdpZC9jFzZA Trusty (TEE) https://source.android.com/security/trusty TPM is SW https://pdfs.semanticscholar.org/42e5/216f57b17bb7dba13a2b73e36b4c057a6c96.pdf Google Titan https://android-developers.googleblog.com/2018/10/building-titan-better-security-through.html https://developer.android.com/training/articles/keystore#HardwareSecurityModule Applowy secure chip (jak Titan) https://www.apple.com/mac/docs/Apple_T2_Security_Chip_Overview.pdf Porównanie Titan’a i TPMa: https://harry.uno/post/google-titan.html Yubikey w srodku http://www.hexview.com/~scl/neo5/ iOS Security https://inst.eecs.berkeley.edu/~cs261/fa18/scribe/11_14_revised.pdf https://www.apple.com/business/docs/site/iOS_Security_Guide.pdf (grep Secure Enclave) Blackhat Demystifying TPM https://www.blackhat.com/docs/us-16/materials/us-16-Mandt-Demystifying-The-Secure-Enclave-Processor.pdf https://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=WXX00tRKOlw SGX https://hackernoon.com/adventures-of-an-enclave-sgx-tees-9e7f8a975b0b https://news.ycombinator.com/item?id=17463687 https://lwn.net/Articles/786487/ https://software.intel.com/sites/default/files/managed/f1/b8/intel-sgx-support-for-third-party-attestation.pdf https://software.intel.com/en-us/blogs/2018/12/09/an-update-on-3rd-party-attestation https://medium.com/golem-project/graphene-v1-0-has-been-released-cca5443f0887 Private contact discovery for Signal https://signal.org/blog/private-contact-discovery/ Ataki na file based encryption w Android 7 https://delaat.net/rp/2016-2017/p45/report.pdf Widevine DRM on OPTEE https://www.slideshare.net/linaroorg/las16406-android-widevine-on-optee
    1h 16m 28s
  • #005 - Quo Vadis ARM?

    5 JUL 2019 · 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 Wojtas Hashtag: 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 Option https://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
    1h 36m 19s
  • #004 - Odczarować Komputery Kwantowe

    28 APR 2019 · 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 Burkot Hashtag: 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=EWd1r8nssnQ https://www.youtube.com/watch?v=2pB87H3_F_c O fizyce kwantowej wykłady Richarda Feynmana: http://www.feynmanlectures.caltech.edu/III_toc.html Tutorial 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
    2h 13m 16s
  • #003 - Ultra szybkie sieci LAN

    14 FEB 2019 · 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ł Dubiel Hashtag: 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 frameworks DPDK https://www.dpdk.org/ ODP https://www.opendataplane.org/ #Nasza implementacja ODP dla ThunderX https://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 lasera https://www.youtube.com/watch?v=ShXHOJEUcrs # zbiór informacji o światłowodach https://www.youtube.com/watch?v=_KFpXuHqHQg # przykład akceleracji w HW poprzed odpowiedni wybór algorytmów hashujących https://www.cs.cmu.edu/~binfan/papers/conext13_cuckooswitch.pdf # OVS offloads Hardware Offload with TC Flower https://www.slideshare.net/Netronome/ovs-hardware-offload-with-tc-flower OVS 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 Processors http://www.openvswitch.org//support/ovscon2014/18/1300-ovs-accel-nfp-2014-11-18.pdf Performance 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
    1h 18m 32s
  • #002 - Ataki na procesory - PortSmash, TLBleed, Foreshadow

    19 DEC 2018 · 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=PZZvhqnch5o https://www.youtube.com/watch?v=D29BgTLHYbk https://www.youtube.com/watch?v=I2qMY0XvYHA cał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.pdf http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100165_0201_00_en/ric1414056333562.html http://oldwww.nvg.ntnu.no/amiga/MC680x0_Sections/timstandard.HTML http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0337e/BABBCJII.html http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0210c/Chddggdf.html #1:01:50 - PortSmash https://eprint.iacr.org/2018/1060.pdf Krzywe 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.pdf Reakcja 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_technique http://cat.eyalro.net/ https://youtu.be/uQG_8TGcY84?list=PLbRoZ5Rrl5lew16BZO_C6wihpBkAYYaxi&t=190 http://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.pdf https://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.pdf https://youtu.be/fEV6eA9o21o https://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.pdf https://youtu.be/NP7f3M_saUs (pierwsze kilka min) #Intel CAT: https://software.intel.com/en-us/articles/introduction-to-cache-allocation-technology https://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)
    1h 31m 42s

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...

show more
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.
show less
Contacts
Information

Looks like you don't have any active episode

Browse Spreaker Catalogue to discover great new content

Current

Looks like you don't have any episodes in your queue

Browse Spreaker Catalogue to discover great new content

Next Up

Episode Cover Episode Cover

It's so quiet here...

Time to discover new episodes!

Discover
Your Library
Search