Upload
victormatheus-santos
View
216
Download
0
Embed Size (px)
DESCRIPTION
Vulnerabilidades.
Citation preview
6/8/2014 Segurana de Software: cdigo aberto versus fechado faz diferena quando tratamos de vulnerabilidades em programas
http://www.4linux.com.br/noticia/seguranca-de-software-codigo-aberto-versus-fechado-faz-diferenca-quando-tratamos-de 1/5
SEGURANADESOFTWARE:CDIGOABERTOVERSUSFECHADOFAZDIFERENAQUANDOTRATAMOSDEVULNERABILIDADESEMPROGRAMAS?12/11/2013
Estepostvisaesclareceraimportnciadaseguranadesoftwareecomoaauditoriadecdigoemelhoriasnosprocessossoitensfundamentaisparaaqualidade.A
auditabilidadedeumcdigoumdosfatoresaseremconsiderados,masnopodeser...
Resumo:
Estepostvisaesclareceraimportnciadaseguranadesoftwareecomoaauditoriadecdigoemelhoriasnosprocessossoitensfundamentaisparaaqualidade.Aauditabilidadedeumcdigoumdosfatoresaseremconsiderados,masnopodeseronico.
Gostariadecomearestepostcomalgunsavisoseagradecimentos.Primeiramente,gostariadeagradecera4Linuxpormecederesteespaoparadiscutirumtemaquerecentementetemganhadomuitoespao(esclarecereiosmotivosparaousodapalavrarecentemente,mesmosendoesteumtemabastanteantigo).Preferidivulgarestepequenoartigoatravsda4LinuxsimplesmenteporelesseremumaempresasriaejaltamentereconhecidanacomunidadeOpenSource,sendoestaumdosmeusprincipaisobjetivosdeatingir.Paraaspessoasquepreferempartirparaperguntasecomentrios,antesdesequerestudar(leiaseestudar,noapenasler)umdeterminadocontedo,sugiroqueleiamcompletamenteoFAQquedisponibilizeiaofinaldesteartigo.spessoasinteressadasemsaberumpoucomaissobremimtambmrecomendoquevoparaaFAQ.Atodosaquelesquesoamantesdosoftwarelivre,peoqueleiamotextopensandonoquevocspodemmudarparacontribuircomamelhoriadaqualidadenaseguranadosoftware,jaltamenteefetiva,quecolaboram,utilizamoupromovem.Paratodososleitores:porfavorentendamquemeuobjetivoaquidesmentiralgoqueacabasendoprejudicialcomunidadedesoftwarelivre,enoatacaromesmo.Softwarelivreemminhaopinioamelhoropoedeveserincentivado.
Esteartigofoiamplamentemotivadopelaconstantedvidaediscussoemtornodaseguranadesoftware.Programascrescem,novosprogramadorescontribuem(independentementedocdigoserabertooufechado)ediferentesquesitosenecessidadesdequalidadesurgemdependendodosobjetivosdomesmo(umgrandeexemploosoftwareutilizadoemdispositivosmdicos,amplamentetestadoparaproveraconsistnciadosdados,masnonecessariamenteprotegidocontraleiturasindevidas[1]).Essarealidadefazcomquebugs(nonecessariamentedesegurana)constantementesejaminseridosecorrigidos.Advidaediscussodiscorresobreoquefazerarespeito.Comogarantirasegurananodesenvolvimentoeaconstantemelhoriadestequesitoespecficoemumaaplicao?Asdennciasrecentesemrelaoaespionagemamericana[2]aindaenfatizaramainsero
6/8/2014 Segurana de Software: cdigo aberto versus fechado faz diferena quando tratamos de vulnerabilidades em programas
http://www.4linux.com.br/noticia/seguranca-de-software-codigo-aberto-versus-fechado-faz-diferenca-quando-tratamos-de 2/5
propositaldevulnerabilidadesemaplicaes.Adiscussoaquemerefirosurgequandoosdefensoresdesoftwarelivreutilizamtaisdennciasparadizerqueomelhoremaissegurousarsoftwarelivre.
Garantiraseguranadeumsoftwareexigeprocessosdetesteeauditoriadecdigoconstantes.Obviamentepelosoftwareserlivre,eportanto,seucdigoamplamentedisponvel,confundeseestafacilidadecomaautomticaseguranaqueamesmaproporcionaria.Infelizmenteemumareadeexatas,afacilidadeparaalgonoimplicanecessariamentequeestealgovenhaaserfeito.Eaquificaminhasplicaparaaspessoasdesoftwarelivre:aprendammaissobrecomoencontrarvulnerabilidadesemprogramas.Entendammaissobrequesitosdeseguranaquedefatodificultamaexploraodesistemas(taiscomoativarcanarynacompilao,fornecerexecutveisPIEqueproporcionamaefetivaaplicaoderandomizao,utilizaocorretadecriptografiaeseusdiversoselementos),implementemeaceitemtestesespecficosparaencontrarproblemasdesegurana(fuzzerseanlise
esttica).
Oargumentodeinserodefalhaspropositaisemsoftwareproprietriosdeveriadeixardeserutilizado,poisassumequetaisfalhasnopoderiamserinseridosemsoftwareabertos(vejamainfluncia,porexemplo,daNSAnodesenvolvimentodokerneldoLinuxcomoSELinux[3]).Talargumentotambmassumequesoftwareproprietriosnopoderiamserauditados(emboraatarefasejamaistrabalhosa,amesmanoimpossvel,aindamaisquandoseassumeasformasclssicasqueaparentementeamaioriadaspessoasimaginaparainserodevulnerabilidadesemprogramas).
Aproveitandoparafalarsobreainseropropositaldevulnerabilidades,queroenfatizarqueamesmanosetratademodificaesvisivelmentefalhas.Emgeral,taisinseressosutis,misturadascomreaisbenefciosparaosoftwareefacilmenteconfundidascomerrosnointencionaisquandodescobertas.Dadoisto,comosaberseumoumaiscontribuidoresdesoftwarenoofazemdepropsito,tantoemempresasdesoftwareproprietrioquantoemprojetosOpenSource?Opagamentoporvulnerabilidadesdescobertaseosaltosvaloresnegociadosemexploits[4]mudamabalanadevaloresquandotratamostaisassuntos,eainocnciaperanteestefatonodeveserdesconsiderada.
Dadotudooquefoiditoatagora,doquesetrataentoumsoftwareseguro?Tratasedosoftwarecorretamenteauditado(porumnmeroadequadodeprogramadoresqueentendamosproblemasdeseguranainfelizmentenoexisteumnmeromgico,nemumaproporomgica,dadoquetudodependedacomplexidadedosoftware,interrelaocomelementosexternosediferentesquesitos),umsoftwarequepossuitestesconstantesdesegurana(automatizadosnaformadefuzzerseanlisesestticas,bemcomomanuaisemnovos
6/8/2014 Segurana de Software: cdigo aberto versus fechado faz diferena quando tratamos de vulnerabilidades em programas
http://www.4linux.com.br/noticia/seguranca-de-software-codigo-aberto-versus-fechado-faz-diferenca-quando-tratamos-de 3/5
recursosadicionados).
Umdosargumentosquecostumoouvirequeestacorretssimoparaosoftwareabertoemdiversoscasos,masinfelizmentenoseaplicaaquestoseguranaestnofatodequeumaempresainteressadaemutilizardeterminadosistemaequedesejegarantirqueomesmonopossuivulnerabilidadesintencionaisepossuicertaqualidadeemtermosdesegurana,poderiasimplesmentecontratarumterceiroparaefetuarumaauditoria,dadaadisponibilidadedocdigo.Estequesitomostraseerrado(namaioriadoscasos,masobviamenteemcasosmenorespodesertotalmenteplausvel,esperoqueoleitorentendataisargumentosecomeceacriarumavisocrticaparaavaliarcadacaso)poisocustoparadefatoserealizarumaanliseextremamentecompletadeumprojetodeportemedianodepoisdedesenvolvidoseriaastronmico(issosemconsideraraanlisecontnuadomesmorazopelaqualasempresasdesoftwarefechadohojeapanhamtantoemrelaoaseguranadeseusprogramas,afinal,poranosnoinvestirameagoramesmoosbilhesdirecionadosaestafinalidadenoconseguemresolveroproblema)eportantoumaanliseamostralteriadeserutilizada.Comoexplicado,vulnerabilidadesintencionaissofacilmentedisfaradascomovulnerabilidadesnormais,eportantomesmoumaauditoriacompletamostrarianomximoalgumasvulnerabilidadesenotodasdeumsoftware.Talresultadopodeseratingidodamesmaformacomanlisedeaplicativosbinrios(comojcomprovadopelasdiversasvulnerabilidadeslanadasemdiferentesprogramasdemercado).Aoinvsdeutilizaroargumentodesermaisseguroporseraberto,deverseiaaproveitaraverdadeiravantagemdocdigoaberto:Porseraberto,poderiasertornadomaisseguro,casoaempresaestivessedispostaainvestiremespecialistasparatalprojeto.Issocriariaoincentivoparadiversasempresasusuriasdesoftwarelivreapoiaremosprojetos,almdedesenvolverummercadomaiorparaespecialistasfocadosemsoftwareabertoeinfluenciarpositivamenteaseguranadele.Aeconomiacomlicenaspoderiaserrevertidaemconhecimentoparaaempresa(comacontrataodetaisespecialistas),queauxiliariamnoapenasnesteprojeto,comoemdiversasoutrasnecessidadesdeseguranadamesma,gerandoeconomiaposterior(danosaimagemeperdasemcasosdeinvases,bemcomonaprpriacontrataodemodeobraqualificada).
Seconsiderarmosopapeldosgovernosnamelhoriadaqualidadedesoftware,aindamaisemfacedasespionagensdenunciadasrecentemente,devemospensarqueincentivosnaeducaoeinvestimentosemsistemasauditveis(eemprocessosdeauditoriasabertosparaosmesmos)soprovavelmenteanicaviaparaproverindependnciatecnolgica.Deixareiparadiscutiresteitememumprximopost,masfiquemavontadeparacomearemaopinar.
Aperguntaqueficaento,:comosetornarumpesquisadordevulnerabilidades?Este
6/8/2014 Segurana de Software: cdigo aberto versus fechado faz diferena quando tratamos de vulnerabilidades em programas
http://www.4linux.com.br/noticia/seguranca-de-software-codigo-aberto-versus-fechado-faz-diferenca-quando-tratamos-de 4/5
perguntamemuitasvezesfeitaporpessoasquepensamemencontrarvulnerabilidadesemsoftwareproprietrioseentrarnomercadodeexploits.Estaspessoasseesquecemqueapessoaqueauditacdigos(tantoproprietriodentrodasempresas,quantoOpenSource,sejadentrodeempresasouapenaspordiverso)tambmumpesquisadordevulnerabilidades.Muitospesquisadoresdevulnerabilidadesestofocadosnaanlisebinria(engenhariareversa,fuzzing)deumsoftware,masdiversos(eudiriaqueamaioria)soespecializadosemanlisedecdigo.Comotudoemsegurana(ouquase?),aprticalevaaperfeioeaquiosoftwareabertopodecontribuir(ecomissorecebercontribuies)emuito!Olharasdiversascorreesefetuadasaolongodosanos,osproblemasencontradoseasmelhoresprticasadotadasparaevitlosessencialparaointeressadoconseguircriaramentalidadenecessriaparaauditarcdigo.Cursosnareapodemagilizaresteprocesso,dandoavisodepadresclaramenteerrados,paraqueaexperinciaposteriorpermitaoaprendizadoeaextrapolaodecasosmaisgerais.
FAQ:
1)Mas,ofatodosoftwareserlivrefacilitaaauditoria
Esseargumentoconstantementeusadoeapesardeservlido,aindadeixaemabertoaquestodequemirrealizartalauditoriaecomoelaseriarealizada.Mesmoprojetosdetamanhomdiopossuemtamanhacomplexidadequeauditoriascompletassoinviveiseportantoamostragensdevemserutilizadas.Emtaiscasos,umsoftwareproprietriopodesertooumelhorauditadoqueumsoftwarelivre(dadoqueamostragenspodemcontererrosdeamostra,sortenasescolhas,melhorexperinciadoanalistacomdeterminadoquesitodosoftware,etc.)
Talargumentotambmesqueceofatormudanadeumsoftwarelivre:osprojetosevoluemmaisrapidamentedoqueasempresasconseguematualizarseussistemas,oquefazcomquediversasvulnerabilidadescorrigidasnomainlineaindanoestejamcomasatualizaespresentesnasdistribuiesemenosaindanossistemasemproduo.Investirnestesprocessosessencialparaoaumentodaseguranadosoftwarelivre.
Aeconomiadomercadodevulnerabilidadesoutrofatorconstantementeignoradoportalargumento.Lembrandoquevulnerabilidadesinseridassosutis,emuitasvezesconfundidas/misturadascomnovosrecursos.
2)Entoosoftwareproprietriovantajosoemtermosdesegurana?
Maisumaconclusoprecipitada,comumentevistaemdiscussesemqueaspessoasseapressamageneralizareconcluircoisasantesdeasentenderem.NO.Softwareproprietrionovantajosoemtermosdesegurana.Nemdesvantajoso.Elepossuiaspectosfavorveis(comoocontroledereleases/verseseprticasdetestes)efatoresdesfavorveis(asempresassoinfluenciadaspelomercadoenoporquesitostcnicosepodemserforadasporgovernosatomaraesduvidosasemrelaoasegurana).
Osoftwarelivrepodeedeveriasersempremelhor,tambmnoquesitosegurana.Oqueacontecequeemdiversosprojetos,talquesitonoprioritrioouentodecididoporprogramadoresnoespecialistasnoassuntosegurana.
SOFTWARESEGUROAQUELEEMQUEDECISESDEPROJETOLEVAMEMCONSIDERAOASEGURANADASINFORMAESEAUDITORIASCONSTANTES
6/8/2014 Segurana de Software: cdigo aberto versus fechado faz diferena quando tratamos de vulnerabilidades em programas
http://www.4linux.com.br/noticia/seguranca-de-software-codigo-aberto-versus-fechado-faz-diferenca-quando-tratamos-de 5/5
GARANTEMQUEERROSSEJAMENCONTRADOS,CORRIJIDOS,DOCUMENTADOSELIESSEJAMAPRENDIDAS.Emgeral,softwarelivrefalha(emuito)napartededocumentaes[6].
3)Nohsentidoemfazercursosparaauditoriadesoftware,dadoquecadasoftwarediferente?
Semprepenseiquecursospodemajudarcasoaexperinciaprticadoprofessoragilizeoaprendizadodoaluno.Nuncaaceiteienemaceitareiqueumcursosubstituaaprticaouquesemumcursooaprendizadoseriaimpossvel.Nocasodeauditoriadeprogramas,dadoocrescimentodosmesmos,acomplexidadeeaquantidadedeinformaesdisponveisatualmente,umcursopodeajudaraalinharospensamentoseaspesquisas,provendoinformaesquecontribuamparaaextrapolaoposteriordocontedoparacasosmaisespecficosvivenciadosnaprtica.
4)Vocachasoftwarelivremaisseguro?
Vejodiversosproblemasnosprocessosatuaisdesoftwareemgeral,sejaelelivreouproprietrio.Masasvantagensdosoftwarelivreextrapolamquaisquerdesvantagensnamaioriadoscasoseseasdiscussesfossemmaisjustascommenosargumentosduvidosos(porambasaspartes,eemgeralfeitosporpessoasquenosodefatoespecialistasnositensemqueestoargumentando),creioqueficariaMUITOmaisclaroparatodosasvantagensdosoftwarelivre.