1 Etický hacking Mgr. Jan Kvapil 408788@mail.muni.cz 2 O mně ̶ 2012–2016: Bc. Obecná matematika, PřF MUNI ̶ Nabírání zkušeností ̶ 2016: QA a strojové učení v Honeywellu ̶ 2017–2018: Zakázkový vývoj softwaru ve Ytec (NL) ̶ 2018–2020: Mgr. Bezpečnost informačních technologií, FI MUNI ̶ Stáž v Invasys, spolupráce s CRoCS, forenzní analýza,... ̶ 2020–nyní ̶ Dobrovolnická pomoc během pandemie Covidu ̶ Information security and cryptography (PV080 @ FI), cvičící a člen core group ̶ Etický hacker, bug bounty hunter ̶ 2022–nyní PhD @ CRoCS pod doc. Petrem Švendou 3 Disclaimer Přednáška má pouze vzdělávací charakter a přednášející nenese odpovědnost za případné následné činy posluchačů. Zejména za to, zda budou etické. 4 Osnova přednášky ̶ Myšlení hackera ̶ Fyzický a digitální svět ̶ Platformy a programy ̶ Reportování chyb ̶ Příklady zranitelností: ̶ GitLab demo ̶ (Omylem) uniklé přístupové tokeny ̶ EUDCC: Duplikátní certifikáty v produkčním a testovacím prostředí ̶ ROCA Diskuze a otázky > přednáška 5 Myšlení hackera 6 Myšlení hackera ̶ Způsob myšlení a přistupování k systému ̶ Testování tvrzení o systému ̶ Důvěřuj, ale prověřuj ̶ Využití systému v plném rozsahu ̶ Hackers: Heroes of the Computer Revolution (Steven Levy) ̶ Počátky hackerství nejen na MIT, 1960+ ̶ Hackovat neznamenalo vždy rozbíjet (Spacewar) ̶ Doba mainframe počítačů a děrných štítků ̶ L0pht Heavy Industries, Guild of the Grumpy Old Hackers ̶ Pohled hackera vs. vývojáře vs. uživatele webové stránky PDP-1 - https://en.wikipedia.org/wiki/PDP-1 8 Hacking & bug bounty hunting ̶ Neustálé učení se nových věcí, technologií, jazyků ̶ Umění jít do šířky nebo se ponořit do hloubky ̶ Cit pro detail, vzorce a anomálie ̶ Kreativní myšlení a domýšlení ̶ Schopnost komunikace ̶ Volnost na úkor režimu shora ̶ Neutuchající zvědavost a fascinace možnostmi ̶ Morální a etické otázky 9 Fyzický a digitální svět 10 Fyzický a digitální svět ̶ “Chyba” ve fyzickém vs. digitálním světě ̶ Rychlost šíření této chyby ̶ Rozsah jejího dopadu ̶ Zamýšlený i nezamýšlený ̶ Jednoduchost zneužití (a zopakování) této chyby ̶ Reprezentace informace (v bitech) Exploits of a Mom - https://xkcd.com/327/ 12 Příklady Fyzický svět Digitální svět ̶ Nalezené klíče ̶ (Lesní) požár ̶ Pandemie ̶ Dlouhodobé dopady? ̶ Životní prostředí, olovnatý benzín ̶ … ̶ Digitální podpisy/Auth token ̶ SQL injekce ̶ Ransomware/viry ̶ Remote Code Execution ̶ 0-click iMessage, more 0-click ̶ Cross-Site Scripting (XSS) ̶ … 13 Platformy a programy 14 Platformy ̶ Umožňují registraci hackerům i firmám ̶ Příklady: HackerOne, Bugcrowd, Intigrity, Synack,... ̶ Moderátor mezi hackerem a konkrétním programem ̶ Firmy na nich vytváří programy ̶ Hackeři zde reportují zranitelnosti ̶ Zprostředkovávají vyplácení bug bounties ̶ Chrání soukromí hackerů, programů ̶ Gamifikují hledání chyb ̶ Signal, impact, reputace, ranking HackerOne - https://hackerone.com/hacktivity Bugcrowd - https://bugcrowd.com/programs Intigrity - https://www.intigriti.com/ 18 Programy ̶ Veřejné a skryté ̶ Skryté programy jsou nabízené na základě ̶ Možností programu ̶ Schopností hackerů ̶ Definují vlastní politiku = pravidla hackování ̶ Politiky mezi programy se liší ̶ Použití automatizovaných nástrojů/skenů ̶ Finanční ohodnocení (bounties) ̶ Assets (např. IP adresy, domény, Android/iOS aplikace,...) ̶ In scope: hackování těchto produktů je povoleno ̶ Out of scope: hackování těchto produktů je zakázáno Příklad: GitHub Aplikace na sdílení kódu a spolupráce (Git “web frontend”) https://github.com/crocs-muni/ Přehled BBP GitHub - https://hackerone.com/github Odměny za hackování GitHub 22 Proč je hackování GitHubu legální? Legal safe harbor ● We consider security research and vulnerability disclosure activities conducted consistent with this policy as “authorized” conduct under the Computer Fraud and Abuse Act, the DMCA, and other applicable computer use laws such as Cal. Penal Code 502(c). We waive any potential DMCA claim against you for circumventing the technological measures we have used to protect the applications in this bug bounty program's scope. [...] ● If your security research as part of the bug bounty program violates certain restrictions in our site policies, the safe harbor terms permit a limited exemption. Výtažek z https://hackerone.com/github, zvýraznění přidáno. DMCA = Digital Millennium Copyright Act 23 Z politiky Paypalu Ownership of Submissions As a condition of participation in the PayPal Bug Bounty Program, you hereby grant PayPal, its subsidiaries, affiliates and customers a perpetual, irrevocable, worldwide, royalty-free, transferrable, sublicensable (through multiple tiers) and non-exclusive license to use, reproduce, adapt, modify, publish, distribute, publicly perform, create derivative work from, make, use, sell, offer for sale and import the Submission, as well as any materials submitted to PayPal in connection therewith, for any purpose. You should not send us any Submission that you do not wish to license to us. [...] Výtažek z https://hackerone.com/paypal, zvýraznění přidáno. Příklad assetu in scope z BBP GitHubu, https://hackerone.com/github ̶ Internet Bug Bounty Program ̶ OpenSSL, Curl, Ruby (i Rails), Python, Rust ̶ Bounties spozorované od různých firem ̶ Google’s Bug Hunting community ̶ Patch rewards (odměny), Open-source Security Subsidies (dotace) ̶ European Commission's Open Source Programme ̶ LibreOffice, Mastodon, Odoo, Cryptpad, LEOS ̶ BBP Evropské unie na Intigrity 25 Existující programy 26 Reportování chyb 27 Obsah reportu (submission) ̶ Asset: https://api.github.com ̶ Zranitelnost: Cross Site Scripting (XSS) ̶ Závažnost zranitelnosti: Low–Critical, CVSS 3.1 kalkulačka ̶ Proof of Concept ̶ Shrnutí zranitelnosti a dopadu na program ̶ Nezbytné kroky k reprodukování zranitelnosti ̶ Rozsah (odhadovaných) škod ̶ Konkrétní kroky provedené hackerem CVSS 3.1 - https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N 29 ̶ Čekání na triage ze strany platformy nebo programu ̶ V řádu dnů až týdnů ̶ Non-applicable ~ hackování mimo scope, ztráta signálu ̶ Informative ~ chyba existuje, ale není závažná ̶ Duplicate ~ chyba existuje a je závažná, ale byli jste druzí… ̶ Triage ̶ Doplnění dalších informací (např. jaké osobní údaje hacker získal) ̶ (Společné) řešení chyby ̶ Občas částečné vyplacení odměny (GitLab) ̶ Další čekání ̶ Někdy tzv. re-testing ̶ Uzavření reportu a další čekání na vyplacení odměny Po odeslání reportu… 30 Hacking a další souvislosti ̶ Beg bounties ̶ Možná pravidla zveřejňování ̶ This bug is subject to a 90 day disclosure deadline. If a fix for this issue is made available to users before the end of the 90-day deadline, this bug report will become public 30 days after the fix was made available. Otherwise, this bug report will become public at the deadline. (Google Project Zero, zvýraznění přidáno) (až na výjimky) ̶ Po vzájemné domluvě ̶ Nikdy ̶ Komu reportovat složitější případy? ̶ Chyba se týká více programů, balíčků třetích stran ̶ Etický hacking a BBH není nic speciálního ̶ Omezené množství času, schopností,... 31 Hacking a další souvislosti ̶ Argumentování/přesvědčování o závažnosti chyby ̶ Důvody k hackování ̶ Kreativní, vzrušující a seberozvojový koníček ̶ Přivýdělek ̶ Pomoc ostatním lidem ̶ … Carna botnet, Darknet Diaries episode, https://darknetdiaries.com/imgs/carna.gif 33 GitLab 34 GitLab Demo ̶ Podobný produkt jako GitHub ̶ OpenSource ̶ https://gitlab.com/gitlab-org/ ̶ FI a MUNI má vlastní instance ̶ BBP na HackerOne; včetně publikovaných reportů ̶ Arbitrary file read via the UploadsRewriter when moving and issue 35 (Omylem) uniklé přístupové tokeny 36 (Omylem) uniklé přístupové tokeny ̶ Token je náhodný řetězec ̶ Umožňuje přístup ke službě ̶ 8537addd5d4834edf48e02fe25c3960370629aee4a2711c2c9e85afc933e5540 ̶ Nesmí být zveřejněn (podobně jako hesla) ̶ Typické využití pro Application Programming Interface (API) ̶ Strukturovaná komunikace mezi dvěma a více počítači ̶ Vlastnictví tokenu umožní autorizaci požadavku ̶ Rozsah autorizace lze někdy omezit (pouze čtení, čtení a zápis, časově omezená platnost) ̶ Jak může přístupový token uniknout? 37 (Omylem) uniklé přístupové tokeny ̶ Reportování tokenů ̶ Potřeba najít původního majitele tokenu ̶ A nereportovat omylem např. zloději tokenu ̶ Je využití tokenu pro přístup k API opodstatněné? ̶ Access tokens that don't belong to GitLab projects/groups/team members (please contact the owner of the token, you can find their email address by querying the /api/v4/user API) (výňatek z Out of scope HackerOne politiky GitLabu) ̶ Shopify a uniklý token 38 EUDCC: Duplicitní certifikáty 39 EUDCC: Duplicitní certifikáty ̶ European Union Digital Covid Certificate (EUDCC) ̶ Pas/certifikát, který prokáže o majiteli: ̶ Prodělané Covid19 onemocnění ̶ Výsledek antigenního nebo PCR testu ̶ Prodělané očkování ̶ Každý stát má vlastní infrastrukturu ̶ Vydávání a podepisování DCCs ̶ Aplikace pro ověřování certifikátů (čTečka) a uschovávání (Tečka) ̶ DCC je digitálně podepsaný národní certifikátem ̶ CSCA, UPLOAD, AUTHENTICATION, DSC ̶ Digital Green Certificates: Security analysis not included 40 EUDCC: Duplicitní certifikáty ̶ Produkční a testovací prostředí ̶ Duplikování produkčních a testovacích klíčů/certifikátů ̶ Speciální repozitář na testování funkčnosti pro jiné státy ̶ Vývoj v čase: ̶ Červen 2021: objevení problému a reportování na veřejném Slacku ̶ Červenec 2021: stále velké množství duplikátů ̶ Září 2021: první oficiálnější reakce ze strany EU ̶ Listopad 2021: člověk, který s námi komunikoval oznámil, že už na projektu nepracuje ̶ Leden 2022: vydání GitHub Security Advisory ̶ Únor 2022: update GHSA s hlavními datumy 41 EUDCC: Duplicitní certifikáty ̶ Výňatky z komunikace ̶ Nepřipravenost na hlášení z neoficiální strany (tedy ne od členského státu) ̶ Z počátku volný deadline ̶ Kvůli váznoucí komunikaci pochopení případného zveřejnění 42 OpenAI: ChatGPT 43 OpenAI – ChatGPT ̶ Populární model umělé inteligence ̶ Několik odhalených chyb ̶ Web Cache Deception Vyžaduje interakci uživatele (kliknutí na link) Umožní útočníkovi číst metadata o uživateli ̶ https://bugcrowd.com/openai 44 ROCA 45 ROCA ̶ Rok 2017, CVE-2017-15361 ̶ Matúš Němec, Marek Sýs, Petr Švenda, Dušan Klinec, Vašek Matyáš z CRoCSu ̶ https://crocs.fi.muni.cz/public/papers/rsa_ccs17 ̶ Generování slabých RSA klíčů ̶ Čipy od Infineon Technologies ̶ Rozsah na úrovni několika zemí (Slovensko, Estonsko, Španělsko) 46 Shrnutí ̶ Způsob myšlení hackera ̶ Jednání (tedy i hackování) s sebou nese důsledky ̶ Potenciálně s velkými následky ̶ Buďte všímaví a zůstávejte in scope ̶ Používejte 2FA a Password manager 47 Otázky? 48 Další odkazy a zajímavé materiály ̶ Steven Levy ̶ Lyle Bickley explains the PDP-1 ̶ Cybercompass ̶ Darknet Diaries podcast ̶ Google Project Zero ̶ Hackers Testifying at the United States Senate ̶ Hacker news 49 Zdroje ̶ Obrázek Hacker: Heroes of the Computer Revolution ̶ Poster ROCA ̶ https://about.gitlab.com/press/press-kit/ ̶ Screenshoty z https://hackerone.com/