it-swarm-eu.dev

Jak provést bezpečnostní audit aplikace PHP)?

Mám aplikaci PHP), kterou bych chtěl nechat prověřit kvůli bezpečnosti. Znám většinu obecných bezpečnostních problémů, ale chci se ujistit, že mi nic neuniklo.

Jaké kroky bych měl podniknout, abych provedl vlastní audit? Jaké nástroje jsou k dispozici? Jaký je nejlepší způsob, jak najít auditora třetí strany? Nějaká doporučení?

Máte zájem o audit whitebox/codereview a blackbox/pentest?

44
VirtuosiMedia
27
M.S. Dousti

Měli byste začít s jakýmkoli interaktivním webovým proxy, jako je burp proxy, paros atd.
Sám, jsem částečný s Šumař . Ať už si vyberete jakýkoli nástroj, umožní vám to prozkoumat všechny toky požadavků/odpovědí a komunikovat s post-javascriptem požadavků. Skvělé místo pro start.

Nakonec si představím OWASP je prohledávač kód bude podporovat PHP taky ... i když právě teď nejsem obeznámen s žádným automatizovaným nástrojem zdarma. Nyní...
Samozřejmě můžete jít za jedním z velkých prodejců, např. Fortify, Ounce Labs, atd. - ale to je docela drahé a další plechovka červů ...

11
AviD

Podívejte se na Skipfish společnosti Google: http://code.google.com/p/skipfish/wiki/SkipfishDoc

6
Nev Stokes

Existuje spousta nástrojů a je to opravdu osobní preference před tím, co bude člověk použit pro nejraději. Takže vyzkoušejte všechny ty, které jsem zmínil já a ostatní, a vyberte ty, které vám nejlépe vyhovují.

Pro kontrolu bezpečnostního kódu (test whitebox) doporučujeme použít RIPY . Je to nejlepší z těch, které jsem zkusil.

Pro provedení testování blackboxu určitě potřebujete nějaký zachytávací proxy. Je jich spousta, ale doporučuji, abyste se podívali na Fiddler , pokud jste na Windows. Burp / WebScarab / Zed Attack Proxy jsou také skvělé. Pokud chcete automatizovat některé injekční testy, uchopte některá běžná užitečná zatížení z fuzzdb .

Také se seznamte s doplňky prohlížeče, jako je Firebug a Chrome Vývojářské nástroje, jsou skvělou pomocí).

Nakonec vyzkoušejte záložky z Otevřít kolekci Testování záložek . Je to obrovský seznam (jen abyste věděli, kolik nástrojů existuje), ale uvnitř je mnoho drahokamů.

6
Krzysztof Kotowicz

Pokud se chcete ujistit, že vám nic neunikne, nejlepší způsob je získat skutečného odborníka, aby se na to podíval. Na webových stránkách, na kterých vývojář prostě nevědí, že nedodržují doporučené postupy, nebo nerozumí, že běžné „zabezpečené“ postupy ve skutečnosti vůbec nejsou bezpečné, se vyskytuje příliš mnoho problémů! (např. „Nepotřebuji parametrizovat svůj SQL, pokud nahradím jednoduché uvozovky zpětnými lomítky, správně !?“).

Pokud jste společnost, najměte si externí testovací společnost, která provede test vaší aplikace. Nejsou příliš drahé a najdou většinu problémů. Je to určitě levnější pro společnost najmout doprovodnou firmu, než ztrácet dny času školením zaměstnanců na plný plat, jak najít některé chyby, a je to rčitě levnější než se snažit obnovit společnost po závažném porušení zákaznických údajů.

3
SecurityMatt