Sichere Entwicklung an PHDays 8: Ergebnisse des PDUG Community Meetings



Am 15. und 16. Mai fand auf dem Gelände des PHDays Cybersecurity-Forums das nächste Treffen der Safe Development User Group, einer Community für sichere Entwicklung, statt. Das zweitägige Programm umfasste 11 Berichte mit unterschiedlichem Hardcore-Grad und einen runden Tisch, der der statischen Analyse gewidmet war.

Im Rahmen des Schnitts teilen wir Besprechungsmaterialien: Präsentationen und Videoaufnahmen von Berichten.

Alle Präsentationen getrennt vom Video sind auf dem Speakerdeck-Community-Kanal verfügbar.

Erster Tag


Eröffnungsrede von Vladimir Kochetkov, Positive Technologies


Ist es möglich, den Quellcode-Analysator zu verallgemeinern?


Ivan Kochurkin, Positive Technologien

In dem Bericht werden verschiedene Arten von Codeanalysatoren erläutert, die reguläre Ausdrücke, Token, Analysebäume, Datenflussdiagramme und symbolische Ausführungsanweisungen akzeptieren. Der Redner beschreibt die Probleme, die beim Zusammenfassen der einzelnen Analysatortypen in verschiedenen Programmiersprachen auftreten, und bietet Lösungen an. Außerdem werden die Schwachstellen und Schwachstellen aufgezeigt, die bei jedem Ansatz auftreten können (z. B. goto fail), und die Funktionen des Open Source PT.PM-Quellenanalysators sowie seine Verwendung und Entwicklungsperspektiven beschrieben.


Mythen und Legenden der sicheren Entwicklung


Yuri Shabalin, Schwertfisch-Sicherheit

Der Autor des Berichts spricht über die wichtigsten Mythen und Stereotypen, die die Richtung einer sicheren Entwicklung verfolgen, über die wichtigsten Fehler beim Planen und Starten.

Basierend auf diesen Mythen, Legenden und Fehlern erklärt der Redner, wie man sich dem Aufbau von Prozessen nähert, was berücksichtigt werden muss, wie man seine Stärken richtig einschätzt und den Prozess der sicheren Entwicklung richtig startet. Organisatorische Maßnahmen, technische Mittel (ohne Angabe von Anbietern), die Interaktion zwischen Entwicklung und Informationssicherheit, Sensibilisierungsprogramme, die Verwaltung des gesamten Prozesses und Effizienzmetriken werden als Hauptbeispiele für Fehler und Möglichkeiten zu deren Überwindung vorgestellt.


Integer Type Security in C ++


Igor Sobinov, Sicherheitsexperte

Der Bericht befasst sich mit den Problemen der Sicherung von Anwendungen in C ++ vor Angriffen auf Überläufe ganzzahliger Typen. Typische Fälle von Schwachstellen im Zusammenhang mit dieser Angriffsklasse, die möglichen Folgen ihrer Ausnutzung und Schutzmethoden werden untersucht.


Erkennung von Sicherheitslücken in Theorie und Praxis oder Warum es keinen perfekten statischen Analysator gibt


Yaroslav Alexandrov, Alexander Chernov und Ekaterina Troshina, Solar Security

Der Bericht erörtert die Grundprinzipien eines statischen Code-Analysators und gibt einen vergleichenden Überblick über die Methoden und Algorithmen, die modernen statischen Analysatoren zugrunde liegen. Anhand konkreter Beispiele wird gezeigt, wie ein statischer Analysator nach Schwachstellen sucht, und es wird eine Antwort auf die Frage gegeben, warum es keinen idealen statischen Analysator gibt, der schnell funktioniert, keine Fehlalarme liefert und Schwachstellen nicht übersieht. Die Autoren erklären, wie ein statischer Analysator in den Entwicklungsprozess integriert werden kann, damit er ressourcenschonend ist und qualitativ hochwertige Ergebnisse liefert.


Perfekte statische Analyse


Vladimir Kochetkov, Positive Technologien

Eine ideale statistische Analyse als Werkzeug gibt es nicht. Aber gibt es eine ideale statistische Analyse als Prozess? Wie sollte die Rollenverteilung zwischen einer Person und SAST-Tools sein? Was sollten die Werkzeuge sein, um es einer Person so einfach wie möglich zu machen, die Aufgabe der statistischen Analyse zu lösen?


Runder Tisch "SAST und sein Platz im SDLC"


Moderator: Vladimir Kochetkov, Positive Technologies
Teilnehmer: Positive Technologien, SolidLab, Mail.ru, Solar Security, PVS-Studio, ISP RAS




Zweiter Tag


LibProtection: 6 Monate später


Vladimir Kochetkov, Positive Technologien

Der Redner spricht über die Ergebnisse der öffentlichen Tests der Bibliothek, geht detailliert auf die gefundenen Umgehungen und deren Beseitigung ein und stellt Pläne für die Entwicklung der Bibliothek für das laufende Jahr vor.


Sicherheitsgrundlagen für Blockchain-Konsensalgorithmen


Evangelos Deirmentzoglou, Positive Technologien

Konsensalgorithmen sind ein wesentlicher Bestandteil jeder Blockchain-Plattform. Der Bericht hebt die Arbeitsprinzipien von Konsensalgorithmen wie Arbeitsnachweis (Abschlussnachweis), Einsatznachweis (Eigentumsnachweis), delegierter Nachweis des Einsatzes (delegierter Eigentumsnachweis) und Autoritätsnachweis (Autoritätsnachweis) hervor. Bei der Analyse der Unterschiede zwischen diesen Algorithmen werden die häufigsten Angriffe für Systeme berücksichtigt, die auf diesen Technologien basieren, z. B. doppelte Ausgaben, 51% -Angriff, Bestechungsangriff, Sibyl-Angriff, Nothing-At-Stake-Angriff und andere.

Bericht in englischer Sprache:


Bericht in russischer Sprache:


Vorhersage von Zufallszahlen in intelligenten Ethereum-Verträgen


Arseny Reutov, Positive Technologien

Intelligente Verträge werden nicht nur für die erstmalige Platzierung von Kryptowährungstoken verwendet. Die Solidity-Sprache implementiert verschiedene Lotterien, Casinos und Kartenspiele, die jedem zur Verfügung stehen, der die Ethereum-Blockchain verwendet. Die Autonomie der Blockchain begrenzt die Entropiequellen für Zufallszahlengeneratoren (RNGs). Es gibt keine gemeinsame Bibliothek, mit der Entwickler sichere RNGs erstellen würden.

Aus diesem Grund kann die Implementierung eines eigenen RNG viele Probleme verursachen. Es ist bei weitem nicht immer möglich, ein sicheres RNG zu implementieren, das Angreifern die Möglichkeit bietet, das Ergebnis vorherzusagen und Geld zu stehlen. Der Bericht enthält eine Analyse blockchain-basierter Smart Contracts für die Glücksspielbranche. Der Autor des Berichts zeigt reale Beispiele für eine unsachgemäße Implementierung des RNG und spricht darüber, wie Probleme im RNG identifiziert und ein eigener sicherer Generator erstellt werden kann, wobei die Einschränkungen der Blockchain berücksichtigt werden.


Fallstricke der Parametrisierung und des Objektansatzes


Vladimir Kochetkov, Positive Technologien

Ist es immer die Verwendung von Parametrisierungstools und der Übergang zum Objektmodell, die die Aufgaben der Gewährleistung der Anwendungssicherheit effektiv lösen können? Welche Risiken bergen diese Ansätze? Sind bei der Verwendung Schwachstellen im Projektcode möglich? Der Autor des Berichts beantwortet diese Fragen anhand konkreter Beispiele und realer Fälle.


Methode Hooking auf Android


Alexander Guzenko, Tinkoff

Der Autor des Berichts erklärt, was Method Hooking und Injector sind, und erklärt, wie Sie diese beiden Konzepte kennen, sie auf Android anwenden und die Anwendung eines anderen dazu zwingen, das zu tun, was Sie benötigen.


So erstellen Sie eine schnelle WAF. Aufbau eines leistungsstarken Netzwerkverkehrsanalysesystems


Michael Badin, Wallarm

Der Bericht beschreibt die Phasen der Verarbeitung eines Pakets in WAF, die Probleme beim Abrufen der erforderlichen Informationen aus einer Anforderung, beim Optimieren von Tokenisierungsprozessen, beim Filtern anhand regulärer Ausdrücke und beim Implementieren einer Verhaltensanalyse als Teil des Nachbearbeitungsverkehrs.


Wir danken unseren Referenten und Teilnehmern für ein produktives Treffen!

Wenn Sie Fragen an die Organisatoren / Redner haben oder Ihre Präsentation beim nächsten PDUG-Meeting halten möchten, schreiben Sie an pdug@ptsecurity.com .

Source: https://habr.com/ru/post/de414627/


All Articles