Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

30 json ld update for tree json return #50

Merged
merged 24 commits into from
May 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
13c277a
JSON-LD added and bind in results
Kretchen001 Mar 4, 2024
43b5d6b
Update cveResult-ld.html
Kretchen001 Mar 7, 2024
7923ab9
Merge branch 'master' into 30-json-ld-update-for-tree-json-return
Kretchen001 Mar 25, 2024
b6ed778
Json-LD @context fixed...
Kretchen001 Mar 26, 2024
2d71d7b
cveResult-ld.html 90% completed
Kretchen001 Mar 26, 2024
68c12aa
HTML for nodePackageResult-ld modified
Kretchen001 Mar 26, 2024
95796d1
litle Index error fix
Kretchen001 Mar 31, 2024
f41e109
Endpoint Purge
Kretchen001 Apr 3, 2024
d5fb0a9
new DataClass for Header and route-correction in docker
Kretchen001 Apr 3, 2024
9c433d5
dev-cert fixed?
Kretchen001 Apr 4, 2024
3e146dc
fix empty data of return content
Kretchen001 Apr 5, 2024
058603e
fixed jsonld in dependency controller
Kretchen001 Apr 5, 2024
41e1bf9
Update DependeciesController.cs
Kretchen001 Apr 5, 2024
8ce812f
create table that save the guid of the repo to analyze
Kretchen001 Apr 8, 2024
eb9efe3
work with the dependencies on the new folder-structure
Kretchen001 Apr 8, 2024
0dfd886
little using purge
Kretchen001 Apr 8, 2024
cda737f
Merge pull request #48 from WSE-research/47-improve-clone-projects-fo…
KnYL3R Apr 8, 2024
27e587a
Merge branch 'master' into 30-json-ld-update-for-tree-json-return
Kretchen001 Apr 8, 2024
ee03f30
another route-purge
Kretchen001 Apr 8, 2024
6182c94
naming of routes uniform
Kretchen001 Apr 19, 2024
a553313
Header to Query
Kretchen001 Apr 22, 2024
13a078a
endpoints reworked with signatures
Kretchen001 Apr 29, 2024
4848116
Merge pull request #49 from WSE-research/46-swagger-verification-and-…
KnYL3R Apr 29, 2024
d8640bf
JSON-LD finished description cveResult
Kretchen001 May 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 2 additions & 58 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,72 +9,16 @@ Masterprojekt des Jahrgangs 22INM der HTWK Leipzig
<tr>
<td>Absolventen</td>
<td>
<a href="mailto:andreas.both@htwk-leipzig.de">Konstantin Blechschmidt</a><br>
<a href="mailto:andreas.both@htwk-leipzig.de">Tim Kretzschmar</a>
<a href="mailto:konstantin.blechschmidt@htwk-leipzig.de">Konstantin Blechschmidt</a><br>
<a href="mailto:tim_michael.kretzschmar@htwk-leipzig.de">Tim Kretzschmar</a>
</td>
</tr>
</table>

## Planung
<img src="documentation/planning/procedure-1.png" alt="neu kompilieren!" title="procedure-1.png" />
<figcaption><a href="documentation/planning/procedure.md">Speicherort der Rohdatei</a></figcaption>
Hier der geplante und immer wieder aktualisierte Fortschritt des Projektes.

## Projekt-Verwaltungsstruktur
### Ordnerstruktur
- [Code](code/)
- [Anwendung](code/AmIVulnerable/)
- [Dokumentation](documentation/)
- [Ausarbeitung/Paper](documentation/latex/)
- [Planungsdokumentation](documentation/planning/)

## Vorbereitung - Golden Circle
### Motivation
Die Nutzung frei verfügbarer Pakete sind im Arbeitsalltag gang und gäbe.
Freiwillige oder Hobby-Programmierer ermöglichen mit ihrem Einsatz, dass weltweit die Entwicklung neuer Software sowohl im kommerziellen als auch privaten und öffentlichen Bereich vereinfacht, vereinheitlicht und beschleunigt wird.

Dank der Konkurrenz freier Pakete, zum Beispiel anhand ihrer Nutzungszahl, gestaltet sich dort ein Wettbewerb, der gute Pakete beständig besser werden lässt und nicht durchdachte entweder (a) in die Bedeutungslosigkeit befördert oder (b) soweit verbessert, dass ihre Funktionen und Benutzbarkeit anschließend überzeugen konnten.

Ein anderer essentieller Aspekt außer der Nutzbarkeit oder Funktionserfüllung ist die Sicherheit.
Eben jene muss sich bei jedem Paket separat und gekapselt gesehen auf einem solchem Niveau befinden, dass ihre Verwendung keine fahrlässig Gefahr darstellt.

Dies beginnt bei zu kurzen Schlüssellängen und endet bei komplexen Programmen mit verschiedenen Angriffsschwachstellen.

Der Aufgabe <i>Einschätzung der Sicherheit und Einhaltung von Standards</i> hat sich die Mitre Corporation gestellt; eine us-amerikanische Forschungsabteilung der "National Cybersecurity FFRDC", die staatliche Finanzierung genießt.
CVE nennt sich ihr Referenziersystem und stellt dabei die englische Abkürzung "Common Vulnerabilities and Exposures" <sup>dt. Bekannte Schwachstellen und Anfälligkeiten</sup> dar.

Aber die Aufgabe, für jedes verwendete Paket einzeln die Sicherheitslücken nachzulesen oder für eine Paketsammlung nachzuvollziehen, ist selbst mit dem Angebot der "National Cybersecurity FFRDC" zeitaufwendig und ressourcenintensiv - schließlich werden so personelle Kräfte und Rechenkapazitäten gebunden.

Eine Automatisierung der Analyse solcher Pakete zielt somit nicht nur eine Reduktion des Zeitaufwandes mit sich, auch ist eine umfangreichere Analyse ohne Mehraufwand möglich.
Dies spiegelt sich beispielsweise in der Möglichkeit wieder, ganze Projekte direkt analysieren zu lassen anstelle der einzelnen Pakete.

### Ziele
Dank der CVE-Daten ist es möglich für Pakete bekannte Sicherheitsprobleme zu ermitteln.

CVE-Nummern sind verteilte Nummern der CNA - CVE-numbering authority - die spezifische Schwachstellen einer Software beschreiben.
Zusammengefasst lokalisiert auf der Webseite der CVE <sup>https://www.cve.org/Downloads</sup>, können diese dort eingesehen können.

Ziel der Ausarbeitung und des begleitenden Projektes ist die vereinfachte Analyse von Projekten mithilfe dieser CVE-Daten.

Es soll untersucht werden,

1. inwieweit ganze Projekte mit ihren Abhängigkeiten performant erfasst und
2. Sicherheitslücken ermittelt aus den CVE Daten weiterverarbeitbar aufbereitet

werden können.

### Vorgehen und Maßnahmen
Diese Arbeit begleitet den Entwicklungsfortschritt eines Webservices und dessen Analyse.

Umgesetzt als ASP.NET Core-Web-API wird dieser Dienst in einem Docker-Netzwerk realisiert und die Daten der Mitre Corporation in eine eigene Datenbank überführt.
Mittels dieser soll bei Anfrage an die API eine Suche gestartet werden, ob sich ein sicherheitsauffälliges Paket finden lässt und dies dann zurückgegeben werden.

Die Resultate werden im [JSON-LD Format](https://json-ld.org/) zurückgegeben und sollen dort die wichtigsten Parameter für den Anfragesteller gebündelt zurückgeben.

Im Ersten Schritt ist dies mit der Übergabe eines einzelnen Paketes gedacht - ähnlich der Webseite [cvedetails.com](https://www.cvedetails.com/vulnerability-search.php). <br>
Anschließend ist die Umsetzung auf ein Framework geplant, wo zuerst ein Abhängigkeitsbaum ermittelt werden muss und darauf aufbauend eine Rückgabe eventuell gefundener Probleme. <br>
Weitere zusätzliche Schritte sind je nach Zeit und Machbarkeit noch nicht näher definiert.

Die Ausarbeitung verfolgt ebenfalls den Zweck, die Planung, Erkenntnisse und Wege der Verifizierung verschiedener einzelner Pläne zu begleiten.
Somit wird für spätere weiterführende Projekte eine Möglichkeit geschaffen, exemplarisch aufgetretene Probleme abzugleichen oder zu umgehen.

Loading
Loading