We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Is your code tainted?

00:00

Formale Metadaten

Titel
Is your code tainted?
Untertitel
Finding security vulnerabilities using taint-tracking
Serientitel
Anzahl der Teile
132
Autor
Lizenz
CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
"Taint tracking" is a technique used in code analysis to find security vulnerabilities and other problems. Any data that comes from an untrusted source, for example a HTTP request, is treated as "tainted". If that "tainted" data is able to reach a vulnerable part of your code, then you have a problem. Sophisticated code analysis tools can track this data, and reveal potential security problems. Examples of the sort of problem that can be found include cross-site scripting (XSS), code injection, SQL injection and others. In this talk I will show how taint tracking analysis works in practice, introducing the concepts of source, sink and sanitizer. I will then demonstrate using taint tracking to find a XSS vulnerability in a django app. (We will chose a project that is designed to teach django security, where the vulnerability is deliberate.) I will also explain how thinking in terms of "taint" can help you write safer code, even without access to code analysis. During this talk I will use the code analysis tools on lgtm.com to demonstrate the analysis. lgtm.com is free to use for open-source projects. A paid version is available.
CodeObjektverfolgungSoftwareProjektive EbeneSchedulingGenerizitätAnalysisOpen SourceWeg <Topologie>Computeranimation
ObjektverfolgungDemo <Programm>Tonnelierter RaumInternetworkingInhalt <Mathematik>Elektronische PublikationKomponente <Software>QuellcodeSoftwareschwachstelleFlächentheorieParametersystemSocketAbfrageCodeEin-AusgabeInternetworkingQuellcodeClientPunktTermWort <Informatik>Mailing-ListeParametersystemURLFunktionalanalysisCASE <Informatik>SichtenkonzeptLaufwerk <Datentechnik>Weg <Topologie>ProgrammierungAnalysisQuick-SortDateiverwaltungVariableDemo <Programm>SystemverwaltungElektronische PublikationFortsetzung <Mathematik>ÄhnlichkeitsgeometrieInjektivitätHyperbelverfahrenZahlenbereichPasswortBildschirmmaskeInhalt <Mathematik>OrdinalzahlHydrostatikMagnetbandlaufwerkMaschinencodeZusammenhängender GraphÜberlagerung <Mathematik>MereologieSynchronisierungMaskierung <Informatik>Computeranimation
MereologieQuellcodeParametersystemSocketAbfragePhysikalisches SystemElektronische PublikationEin-AusgabeKomponente <Software>InjektivitätCodeObjektverfolgungComputersicherheitSocket-SchnittstelleLeckMusterspracheComputersicherheitSystemzusammenbruchFortsetzung <Mathematik>CodePunktCASE <Informatik>InjektivitätBildschirmmaskeMereologieCross-site scriptingAbfrageDateiverwaltungVarietät <Mathematik>RPCSkalarproduktMaskierung <Informatik>Quick-SortSoftwareschwachstelleVersionsverwaltungEin-AusgabeMapping <Computergraphik>ParametersystemSchnittmengeExogene VariableURLÄquivalenzklasseMatchingZeichenketteWeg <Topologie>Socket-SchnittstelleElektronische PublikationQuellcodeFunktion <Mathematik>HalbleiterspeicherLeckInformationSynchronisierungMusterspracheSocketBefehl <Informatik>CliquenweiteObjekt <Kategorie>Güte der AnpassungBitp-BlockComputeranimation
TouchscreenAnalysisCodeQuellcodeDatenflussVektorpotenzialData DictionaryMathematikMultiplikationsoperatorRechter WinkelGamecontrollerObjekt <Kategorie>Coxeter-GruppeInjektivitätWeg <Topologie>KreisbogenFunktionalanalysisKonditionszahlProgrammierungSyntaktische AnalyseProdukt <Mathematik>ResultanteFormale SpracheFormale SemantikBitMinimumParametersystemVariableURLSondierungElement <Gruppentheorie>AbfrageAttributierte GrammatikZahlenbereichAdditionSchnittmengeEndliche ModelltheorieFormation <Mathematik>MereologieOrtsoperatorExpertensystemBildschirmfensterSichtenkonzeptElektronische PublikationDemo <Programm>FunktionentheorieSynchronisierungServerComputersicherheitEntscheidungstheorieGüte der AnpassungComputeranimation
Komponente <Software>SpeicherabzugDynamisches SystemQuellcodeImplementierungEin-AusgabeOrdnungsreduktionAnalysisDatenflussInternetworkingAnalysisCodeFormale GrammatikFramework <Informatik>BenutzerbeteiligungZweiPhysikalisches SystemMaßerweiterungFormale SpracheFunktionalanalysisMaskierung <Informatik>ZeichenketteComputersicherheitObjekt <Kategorie>ExpertensystemQuellcodeDatenflussEin-AusgabeParametersystemQuick-SortWort <Informatik>BitSystemaufrufInternetworkingFunktion <Mathematik>Fortsetzung <Mathematik>MultiplikationsoperatorSichtenkonzeptPunktSynchronisierungProzess <Informatik>Computeranimation
BildschirmmaskeEin-AusgabeMultiplikationsoperatorProgrammierungWeb-ApplikationProzess <Informatik>ZeichenketteKontrollstrukturTermPunktRechter WinkelFramework <Informatik>AusnahmebehandlungPhysikalische TheorieResultanteCASE <Informatik>SoftwareRelativitätstheorieComputeranimation
Transkript: Englisch(automatisch erzeugt)