vyhladávanie exploitov

HackForum

vyhladávanie exploitov#
Zdravím, ako výskumníci a profi hackeri vyhladávajú exploity resp zranitelnosti ? napríklad v pretečený nejakého buferu alebo poškodenie pameti , proste nejaký sanbox escape atd . napríklad Zero Day RCE exploity na browser alebo na OS .
vzhladom na to že ceny RCEčiek sa hýbu milion eur a vyššie to nebude asi jednoduchá záležitosť , ale aj tak je jasné že vo väčšine prípadov nájdene zero day zranitelnosti sú účelovo hladané , nieje to len nejaké náhoda , alebo nejaké random skúšanie takže by tam mala byť nejaká logická postupnosť alebo logické uvažovanie čo by mohlo byť relatívne zranitelné .. samozrejme na toto je potreba velkú znalosť technologii (zrejme na atomovej úrovni) ale aj tak ma to zaujíma ..
(odpovědět)
_FaLlqRkjR_ | 90.64.64.*20.11.2019 17:43
re: vyhladávanie exploitov#
Ahoj nad tim jsem take docela premyslel. A dospel jsem k zaveru ze opravdove "zero day" museji hledat zpetnou analizou kodu. Dekompilace mozna az na uroven assembleru? A totalni znalost toho jak urcite systemy na kterych ten kod bezi funguji na te nejzakladnejsi urovni.
(odpovědět)
Dotaz | 37.48.52.*21.11.2019 17:36
re: vyhladávanie exploitov#
Prvně: Hledání chyb typu BOF, HOF nebo Format String je založené na jiných přístupech než hledání chyb typu sandbox escape. První je možné hledat mechanicky a automatizovaně. Druhé většinou předpokládá znalost implementace daného sandboxu a jeho fungování.

Co se hledání těch prvních chyb týká: Těch přístupů je celá řada. Když bych to měl vzít zjednodušeně, jmenoval bych asi tyhle tři:
1. Nalezení chyby na základě reportovaného pádu aplikace. V tomhle případě se nejedná o cílené hledání chyby ze strany výzkumníka, ale o získání logu z aplkkace po jejím pádu.
2. Nalezení chyby manuální analýzou kódu. Tento přístup můžeme rozdělit ještě na přístup tzv. blackboxu - hledání chyb bez znalosti zdrojového kódu (ve většině případů je nutná znalost assembleru, v omezeném případě je možné kód zpětně dekompilovat do (téměř) původní podoby) - a whiteboxu - hledání chyb na základě znalosti zdrojového kódu (nutnost znalosti syntaxe programovacího jazyka, ve které je aplikace napsána).
3. Nalezení chyb pomocí fuzzingu (fuzzing se dělí na několik skupin v závislosti na způsobu generování testovaných dat). Tento přístup je založený na znalosti testované aplikace (například formát vstupních dat, formát souboru, struktura komunikačního protokolu). Na základě těchto znalostí se vytvoří šablona, do které se podle zadaných kritérií pomocí aplikace zvané fuzzer generují testovací paterny. Fuzzer následně kontroluje, jestli testovaná aplikace na použitý vstup padne nebo ne. V případě, že nepadne, pokračuje generováním dalšího vstupu. V případě, že padne, zaznamená potřebné informace nutné k replikaci chyby (v některých případech se může jednat o chyby, které se replikovat nepodaří, protože k pádu aplikace došlo souhrou náhod).

Ať tak či tak, nalezení chyby je teprve první krok. Následuje snaha o replikaci, implementaci exploitu (dnešní operační systémy poskytují celou řadu bezpečnostních 'překážek' - Windows například ASLR, SafeSEH, SEHOP, DEP a další). Následuje ověření různých verzí aplikace, aby bylo zřejmé, jak dlouho se chyba v aplikaci nachází a jak velké je potenciální riziko zneužití. Dále se otestují možnosti replikace chyby na různé verze operačního systému (některé části exploitu budou pro různé verze operačního systému různé). Na základě těchto zjištění je teprve (někdy) možné vytvořit (téměř) spolehlivý univerzální exploit.
Každopádně hledání chyb v softwaru je z pohledu IT security pomyslný vrcholný stupeň, protože předpokládá hluboké znalosti z několika oborů (reverzní inženýrství, operační systémy, programování, počítačové sítě a další) a tím pádem není pro každého. S nástupem programů jako je například HackerOne nebo společností jako je například Zerodium nebo akcemi typu Pwn2Own se počet snadno nalezitelných chyb v softwaru výrazně snížil. Navíc dnes už nejsou exploity v kritickém softwaru o jedné jediné chybě, ale jedná se o zřetězení nejméně dvou, většinou však spíše ještě více chyb. To je také důvod, proč se dnes za chyby v kritickém softwaru platí takové ceny.

----------
Sec-Cave.cz - [link]
(odpovědět)
RubberDuck | E-mail | Website24.11.2019 23:37

Zpět
Svou ideální brigádu na léto najdete na webu Ideální brigáda
 
 
 

 
BBCode