Toon posts:

Static Code Analyzer resultaten binnen Open Source community

Pagina: 1
Acties:

Vraag


  • Ask!
  • Registratie: Februari 2015
  • Laatst online: 21-02-2022
We hosten een open source project op Github, en hebben een Github Action gemaakt voor het scannen van code in SonarCloud voor wat static code analysis.
Ik vraag me af wat een best practice is voor het publiekelijk (of niet) maken van de SonarCloud resultaten.

Aan de ene kant wil je alles natuurlijk delen, omdat het project Open Source is.
Aan de andere kant wil je misschien niet alle vulnerabilities public hebben? (Of juist wel, want Open Source).

Heeft iemand ervaring met deze discussie? :)

Ik kan weinig best practices vinden op internet hierover, misschien hebben jullie ervaring!

Beste antwoord (via Ask! op 12-02-2021 14:43)


  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Het lijkt me gezond verstand. Door de vulnerabilities openbaar te maken geef je gebruikers van de code ook de optie om eerst op een fix te wachten voordat ze die code gebruiken. Of ze kunnen ervoor kiezen om op een andere manier te mitigeren voor die kwetsbaarheid. Het alternatief is dat de gebruikers slachtoffer van een kwetsbaarheid in jouw code worden omdat jij die kwetsbaarheid geheim hield.

Alle reacties


  • 418O2
  • Registratie: November 2001
  • Laatst online: 23-05 12:27
Wat houdt iemand tegen om je project uit te checken en dat zelf te doen?

Je zou zelfs kunnen ageren dat het goed is en code niet in Main komt zonder vulnerabilities. Dat wekt meer vertrouwen dan "We draaien sonarcloud maar maken dat niet openbaar" ;)

[Voor 20% gewijzigd door 418O2 op 12-02-2021 10:09]


  • Ask!
  • Registratie: Februari 2015
  • Laatst online: 21-02-2022
Zeker een goed punt!
Ik hoop wat meer meningen te krijgen :)

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 23-07-2021
Tja, is de uitkomst van de static code analyzer zo beroerd? Want dan zou ik eerder overwegen een andere static code analyzer oid te gebruiken.

Kijk zoals Catch22 al zegt, iedereen kan het zelf ook draaien.
Het enige waar je goed mee moet uitkijken is of jouw/jullie conventies wel overeen komen met de conventies/instellingen van de static code analyzer. Anders is het vechten tegen de bierkaai.

De enige reden die ik me kan voorstellen dat je het vraagt is dat het resultaat nu simpelweg slecht is.

En dat kan wmb 3 oorzaken hebben :
- Er zitten daadwerkelijke known exploits etc tussen, dan zou ik het eerst fixen en daarna pas online gooien wmb hoef je geen known exploits van jezelf online te zetten. Terwijl als het een unknown exploit is anderen je er juist perfect op kunnen wijzen terwijl je het misschien zelf nog niet eens ziet.
- Jullie conventies komen niet overeen met de analysis zijn conventie, maar dat is een kwestie van de analysis anders instellen, het heeft geen zin om 3000 warnings te krijgen op iets wat jullie gewoon standaard doen.
- De code is gewoon slecht, tja dan zou ik me afvragen of je het uberhaupt wel moet open sourcen...

Kijk, ik denk dat het het belangrijkste is dat je het wel zo moet instellen dat hij enkel toont waarvan je ook echt de intentie hebt om het te gaan fixen.
Als je 5000 meldingen krijgt, maar je filtert ze er voor nu uit omdat je het nu niet gaat oppakken (en dat zeg je al een half jaar) dan moet je wmb ze ook in de config uitschakelen.
Het heeft geen zin om 5000 warnings te tonen en als iemand een half jaar later kijkt dat die nog steeds dezelfde 5000 warnings ziet. Dan heb je gewoon niet de intentie gehad om die te gaan oppakken.

[Voor 18% gewijzigd door Gomez12 op 12-02-2021 10:50]


  • Ask!
  • Registratie: Februari 2015
  • Laatst online: 21-02-2022
Gomez12 schreef op vrijdag 12 februari 2021 @ 10:43:
Tja, is de uitkomst van de static code analyzer zo beroerd? Want dan zou ik eerder overwegen een andere static code analyzer oid te gebruiken.

Kijk zoals Catch22 al zegt, iedereen kan het zelf ook draaien.
Het enige waar je goed mee moet uitkijken is of jouw/jullie conventies wel overeen komen met de conventies/instellingen van de static code analyzer. Anders is het vechten tegen de bierkaai.

De enige reden die ik me kan voorstellen dat je het vraagt is dat het resultaat nu simpelweg slecht is.

En dat kan wmb 3 oorzaken hebben :
- Er zitten daadwerkelijke known exploits etc tussen, dan zou ik het eerst fixen en daarna pas online gooien wmb hoef je geen known exploits van jezelf online te zetten. Terwijl als het een unknown exploit is anderen je er juist perfect op kunnen wijzen terwijl je het misschien zelf nog niet eens ziet.
- Jullie conventies komen niet overeen met de analysis zijn conventie, maar dat is een kwestie van de analysis anders instellen, het heeft geen zin om 3000 warnings te krijgen op iets wat jullie gewoon standaard doen.
- De code is gewoon slecht, tja dan zou ik me afvragen of je het uberhaupt wel moet open sourcen...

Kijk, ik denk dat het het belangrijkste is dat je het wel zo moet instellen dat hij enkel toont waarvan je ook echt de intentie hebt om het te gaan fixen.
Als je 5000 meldingen krijgt, maar je filtert ze er voor nu uit omdat je het nu niet gaat oppakken (en dat zeg je al een half jaar) dan moet je wmb ze ook in de config uitschakelen.
Het heeft geen zin om 5000 warnings te tonen en als iemand een half jaar later kijkt dat die nog steeds dezelfde 5000 warnings ziet. Dan heb je gewoon niet de intentie gehad om die te gaan oppakken.
De code is nu niet slecht, het is zelfs erg goed!
Maar mochten er vulnerabilities in komen door wat voor commit dan ook, wil je dat dan public hebben.
Dat was meer de vraag :)

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 23-07-2021
Ask! schreef op vrijdag 12 februari 2021 @ 10:56:
[...]


De code is nu niet slecht, het is zelfs erg goed!
Maar mochten er vulnerabilities in komen door wat voor commit dan ook, wil je dat dan public hebben.
Dat was meer de vraag :)
Tja, wat is de reden dat je het open sourced?

Is dat omdat het je gewoon niets boeit en je de code dan net zo goed beschikbaar kan stellen?
Of is dat omdat je graag hebt dat de OS-community je kan helpen en je kan wijzen op dingen?

Kijk, je vulnerabilitie staat sowieso al public na een commit. Dat is nog ongeacht of je analyzer het een vulnerability vind. Het is wmb meer de vraag of je hulp accepteert of niet bij het vinden/oplossen van die vulnerability.

Nogmaals, zou ik met kwade bedoelingen naar een vulnerability zoeken, dan zou ik gewoon elke dag jouw code pullen en die door een zwaar apart geconfigureerde static analyzer gooien, dat is veel minder werk als elke dag jouw static-analyzer uitslag gaan bestuderen om te zien of er niet toevallig een vulnerability in opgetreden is.

Maar sowieso zegt SonarCloud niet per definitie of iets een vulnerability is afaik, en anders kan je gewoon het nivo aanpassen zodat hij niet publiek inzichtelijk wordt.

Acties:
  • Beste antwoord
  • +1Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Het lijkt me gezond verstand. Door de vulnerabilities openbaar te maken geef je gebruikers van de code ook de optie om eerst op een fix te wachten voordat ze die code gebruiken. Of ze kunnen ervoor kiezen om op een andere manier te mitigeren voor die kwetsbaarheid. Het alternatief is dat de gebruikers slachtoffer van een kwetsbaarheid in jouw code worden omdat jij die kwetsbaarheid geheim hield.

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 21:25

Haan

dotnetter

Security through obscurity is sowieso geen security ;) dus inderdaad eens met de anderen dat dit soort resultaten niet zou moeten verbergen.

Kater? Eerst water, de rest komt later


  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 23-07-2021
Haan schreef op vrijdag 12 februari 2021 @ 13:22:
Security through obscurity is sowieso geen security ;)
Dat is nu echt een complete dooddoener.

Security through obscurity is wellicht theoretisch geen security. Maar in de praktijk werkt het toch verdraaide goed als het om slechts een obscuur programmaatje gaat.

Praktijk is namelijk wel/ook dat als er bepaalde exploits optreden dat menig scriptkiddie dan gewoon github af gaat zoeken naar waar die exploit gebruikt wordt om daarna Shodan / Google te gebruiken om doelen te vinden.

En als jouw code dan niet op GitHub staat dan scheelt het jouw klanten toch een zooitje drive-by-scriptkiddies.

Security through obscurity werkt niet als men een gerichte aanval uit gaat voeren, maar je hebt daarnaast ook een heleboel drive-by aanvallen die je wel gewoon kan voorkomen.

  • Ask!
  • Registratie: Februari 2015
  • Laatst online: 21-02-2022
Bedankt allemaal!
Ik ben goed geholpen! :)

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 23-07-2021
En waar ga je nu dan voor?

Wel public tonen of niet public tonen?

  • Ask!
  • Registratie: Februari 2015
  • Laatst online: 21-02-2022
Ik ga voorstellen om het public te houden, puur om transparant te blijven en gebruikers inderdaad de optie te geven om code wel of niet te gebruiken op basis van bijvoorbeeld bepaalde vulnerabilties.
Daar hebben jullie me van overtuigd :)

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 21:25

Haan

dotnetter

Gomez12 schreef op vrijdag 12 februari 2021 @ 14:14:
[...]

Dat is nu echt een complete dooddoener.

Security through obscurity is wellicht theoretisch geen security. Maar in de praktijk werkt het toch verdraaide goed als het om slechts een obscuur programmaatje gaat.

Praktijk is namelijk wel/ook dat als er bepaalde exploits optreden dat menig scriptkiddie dan gewoon github af gaat zoeken naar waar die exploit gebruikt wordt om daarna Shodan / Google te gebruiken om doelen te vinden.

En als jouw code dan niet op GitHub staat dan scheelt het jouw klanten toch een zooitje drive-by-scriptkiddies.

Security through obscurity werkt niet als men een gerichte aanval uit gaat voeren, maar je hebt daarnaast ook een heleboel drive-by aanvallen die je wel gewoon kan voorkomen.
De code van de TS staat echter wel op GitHub, dus ik snap niet welk punt je precies probeert te maken nu?

Kater? Eerst water, de rest komt later


  • Hydra
  • Registratie: September 2000
  • Laatst online: 26-05 12:13
Gomez12 schreef op vrijdag 12 februari 2021 @ 14:14:
[...]

Dat is nu echt een complete dooddoener.

Security through obscurity is wellicht theoretisch geen security. Maar in de praktijk werkt het toch verdraaide goed als het om slechts een obscuur programmaatje gaat.
Precies.

Het is een verkeerde interpretatie van een incomplete quote. "Security through obscurity" betekent security alleen door obscurity. Het komt voor uit de discussie dat bijvoorbeeld je crypto secure moet zijn door de sterkte van de key en het algorithme en niet afhankelijk mag zijn van het onbekend zijn van het algorithme.

Er is niks mis met obscurity toevoegen om het misbruikers moeilijker te maken. Sterker nog; informatie die het ze makkelijker maakt moet absoluut verwijderd worden. In een header je Apache of PHP versie meesturen is volkomen debiel.

Het misbruik van die quote gebeurt veel te vaak. Het is schokken hoe veel mensen (heb het niet over mensen in dit topic) denken security te snappen en dan doodleuk dit soort quotes te pas en te onpas rondstrooien.
En als jouw code dan niet op GitHub staat dan scheelt het jouw klanten toch een zooitje drive-by-scriptkiddies.
Maar het scheelt ook een hoop ogen die meekijken. Dus het is een afweging. De kans dat mensen misbruik maken versus de kans dat mensen problemen rapporteren.

In deze discussie is het, aangezien de code zelf al publiek staat, wel een no-brainer trouwens. Een dergelijke vulnerability scan kunnen 'hackers' zelf ook wel doen op de bestaande code. Er is weinig reden het af te sluiten.

[Voor 18% gewijzigd door Hydra op 13-02-2021 13:31]

https://niels.nu

Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee