Archief - De topics van lang geleden

Veilig programmeren

20-10-2006, 10:19 door Anoniem, 35 reacties
Hallo,
Ik las net dat artikel over microsoft´s 8 stappen plan voor veilig
programeren.En dacht misschien is het wel een leuke topic wat
nou echt goeie tips zijn.Ik kwam zelf al op 1 puntje.

Vermijd buffers die onodig groot zijn als bv int byte;
Reden: Wanneer je een declaratie doet als int byte; zou deze gevoeliger
zijn voor overflows als wanneer je int byte[8]; zou gebruiken.
Reacties (35)
20-10-2006, 10:52 door SirDice
Opzich een goed idee.. Ik zou de tips alleen taal onafhankelijk maken.. En behalve melden wat je niet moet gebruiken meteen een veilig alternatief bieden? strncpy ipv strcpy bijvoorbeeld..

1. input validatie

(Vermijd is overigens met een ij en niet met ei)
20-10-2006, 13:07 door Anoniem
Oh zo zou het even aanpassen,Thx trouwens heb het gelijk even verbeterd
20-10-2006, 15:44 door Anoniem
Door SirDice
Opzich een goed idee.. Ik zou de tips alleen taal
onafhankelijk maken.. En behalve melden wat je niet moet
gebruiken meteen een veilig alternatief bieden? strncpy ipv
strcpy bijvoorbeeld..

1. input validatie

(Vermijd is overigens met een ij en niet met ei)


Maakt niet altijd uit, strncpy is ook vulnerable, maar dan
voor adjacent memory overflows.

- Nomenumbra -
20-10-2006, 15:57 door Anoniem
Blijkbaar heb je de smaak te pakken (C)Koekie.
Maak je borst maar nat want er komen hier mensen die zoveel
ervaring hebben als de computer oud is.
Maar uitdagingen niet uit de weg gaan,dat siert je.
Sucses.
20-10-2006, 16:11 door SirDice
Door Anoniem
Maakt niet altijd uit, strncpy is ook vulnerable, maar dan
voor adjacent memory overflows.

- Nomenumbra -
Alleen als je niet oplet maar dat geldt voor het hele idee achter veilig coderen ;)
20-10-2006, 17:30 door Anoniem
Door Koekie
Vermijd buffers die onodig groot zijn als bv int byte;
Reden: Wanneer je een declaratie doet als int byte; zou deze gevoeliger
zijn voor overflows als wanneer je int byte[8]; zou gebruiken.

Ik begrijp de reden die je geeft niet. In C is "int byte" een declaratie van
een integer variabele met de naam byte. int byte[8] is een array van 8
integers (byte[0], byte[1], byte[2]...byte[7]). Dat is dus groter dan int byte.
Wat bedoel je nu precies?

De werkelijke grootte van int hangt af van het platform en de compiler.
Meestal is het 32 bits, een long is ook 32 bits.

Draai Enquire maar eens.
http://homepages.cwi.nl/~steven/enquire.html
20-10-2006, 17:53 door Sebastian
Door Beukenoot
Maak je borst maar nat want er komen hier mensen die zoveel
ervaring hebben als de computer oud is.
Dat zou ik niet zo hard durven stellen, tenzij je in
reïncarnatie gelooft :)
De eerste computer stamt uit 1833, een mechanisch apparaat
die door invoer van ponskaarten wiskundige berekeningen kon
uitvoeren. De eerste binaire computer stamt uit 1938, ook
nog volledig mechanisch tot in de 2e Wereld Oorlog de eerste
electronische computer werd gebouwd. Deze laatste bestond
uit 18.000 buizen, 70.000 weerstanden, 10.000 condensatoren
en 6000 verschillende schakelaars.
Pas in het begin van de jaren '70 van de vorige eeuw werd
het mogelijk om een complete processor (CPU) op een chip te
integreren en verscheen de éérste personal computer in 1975.
20-10-2006, 17:56 door Anoniem
Beukenoot

Dankje,Dat heb ik trouwens altijd gehad met pc's merk steeds meer hoe
dieper je in de theorie gaat hoe leuker het wordt.En dat merk ik ook weer
terug dat die uitdagingen dan ook steeds groter worden.
20-10-2006, 22:29 door Anoniem
Je voelt wel op je klompen aan dat ik 1975 bedoel.
Als je toen even in 20 was, nou vul maar in.
En die mannen zitten nog steeds in het vak,en die maak je echt niks
meer wijs.
Dan moet je van goede huize komen,daarom zei ik ooit tegen
SirDice,"als jij het zegt geloof ik het direct" en je merkt wel dat
de grijze celletjes bij hem nog prima werken.
Van eentje ben ik de naam even kwijt,maar ik kom overal zijn nickname
tegen,al jaren actief in dit wereldje. ook een enkele keer hier.
Vedorie ik kom niet op z"n naam.
23-10-2006, 10:04 door SirDice
Ik ben nog een relative laatkomer.. 1983... Maar ja, toen was ik 12 ;)
23-10-2006, 10:22 door Anoniem
Dat is nog voor dat de 286 uit kwam en nog uit het atari tijd perk :)))
23-10-2006, 10:53 door SirDice
C= 64 rulez! ;)
23-10-2006, 10:57 door Anoniem
Door SirDice
Ik ben nog een relative laatkomer.. 1983... Maar ja, toen was ik 12 ;)

Nu heb ik een ultra moderne rekenmachine,en wat denk je?
Tja, die geeft je leeftijd weer.
Maar ik geloof nooit dat je hier wel de waarheid spreekt.
Voor het eerst geloof ik je niet! Toch leuk geprobeerd.
23-10-2006, 11:14 door SirDice
En toch ben ik 35 ;) Of denk je dat ik ouder ben?
23-10-2006, 12:10 door Anoniem
SirDice. (off topic)
Dit gaat over veilig Programmeren! Maar even eruit moet kunnen.
Nu heb ik een second opinion gedaan met een optelraam.
En je hebt weer gelijk. 35jaar.
Maar als je eerder al eens schreef,dat je geheugenschijf 25 jaar
data bevat,(in dit vak) dan geloof ik eerder dat je 35 om moet draaien.
En omdat ik een beetje denk dat je de kachel bij mij wil opstoken,dan
denkt Beuk,hij neemt je in de maling!
23-10-2006, 12:18 door SirDice
Om en nabij de 25 computer ervaring ja.. 35-12= 23.. ok 2 jaar minder dan ;) En sinds m'n 22e professioneel.. Zo goed? :)
23-10-2006, 13:13 door Anoniem
Door SirDice
Om en nabij de 25 computer ervaring ja.. 35-12= 23.. ok 2 jaar minder
dan ;) En sinds m'n 22e professioneel.. Zo goed? :)

En overduidelijk een FreeBSD fanaat. En terecht!
23-10-2006, 14:35 door [Account Verwijderd]
[Verwijderd]
23-10-2006, 14:52 door Anoniem
Door rookie
Door SirDice
(Vermijd is overigens met een ij en niet met ei)

nazi :P

Nee, een vriendelijke constructieve tip. Als je (veel)
spelfouten maakt neemt men je niet serieus.
23-10-2006, 16:39 door Anoniem
Als je een Anonieme reactie plaatst,is dat natuurlijk geen probleem.
23-10-2006, 17:51 door [Account Verwijderd]
[Verwijderd]
23-10-2006, 18:26 door Anoniem
Let wel jongens ,nu krijg je ongetwijfeld de vraag ,
en wie bedoel je met dat volk van buiten?
En ik denk dan "Niet op reageren Lena" en hou het gezellig.
23-10-2006, 23:32 door GateHawk
Zelf ben ik bezig met een programma waarmee ik mijn
Linux-server in de gaten kan houden of bestanden worden
veranderd. Bijvoorbeeld na een inbraak. Ik ben het nu aan
het testen en het werkt best netjes, al zeg ik het zelf ;)

Nu moet ik wel toegeven dat root-access op geen enkel
systeem gewenst is. Maar ik probeer gebruik te maken van een
database die niet bekend is bij "hackers" waardoor het niet
zo eenvoudig is om mijn ids te omzeilen.

De uitdaging is: bouw het zelf ;)
23-10-2006, 23:33 door Anoniem
beukenoot
Breave in breave out
23-10-2006, 23:49 door Anoniem
Zelf ben ik bezig met een programma waarmee ik mijn
Linux-server in de gaten kan houden of bestanden worden
veranderd. Bijvoorbeeld na een inbraak. Ik ben het nu aan
het testen en het werkt best netjes, al zeg ik het zelf ;)

Is dit gebaseerd op het tcp/ip model of het systeem zelf?Want heb hier ook
over na gedacht en kwam tot de conclusie dat netwerk monitoring een tijd
verspilling is.
24-10-2006, 11:06 door SirDice
Door GateHawk
Zelf ben ik bezig met een programma waarmee ik mijn Linux-server in de gaten kan houden of bestanden worden veranderd. Bijvoorbeeld na een inbraak. Ik ben het nu aan het testen en het werkt best netjes, al zeg ik het zelf ;)
Veranderingen van bestanden? Klinkt als tripwire en consorten.. En wat nu als er geen bestanden worden veranderd? (Denk aan Code Red)

Door Koekie
Is dit gebaseerd op het tcp/ip model of het systeem zelf?Want heb hier ook over na gedacht en kwam tot de conclusie dat netwerk monitoring een tijd verspilling is.
Voor het beste resultaat gebruik je een combinatie van HIDS (Host-based Intrusion Detection System) en NIDS (Network-based Intrusion Detection System).
24-10-2006, 12:05 door Anoniem
Gaat HIDS of NIDS niet ten koste van de streaming en de snelheid als
netwerk data niet eerst moet ingelezen worden bij het vergelijken van
kwaat aardige codes?
24-10-2006, 12:20 door SirDice
NIDS doe je, zeg maar, offline. De data gaat er niet doorheen maar er langs (passive IDS) en heeft dan geen invloed op de netwerk snelheid.. Dit integenstelling tot IPS waar de data wel doorheen moet wat een nadelig effect heeft op de latency. Persoonlijk ben ik geen voorstander van IPS (of zoals het vroeger heette een active IDS) om de doodeenvoudige reden dat een IDS/IPS nogal eens false positives genereert.

HIDS werkt op host niveau en bekijkt zaken als foute logins, welke processen draaien, veranderingen aan (configuratie)bestanden etc. Dergelijke auditting staat meestal toch wel aan. HIDS kan dat monitoren en eventueel centraal melden.

Door het centraal melden van de HIDS/NIDS meldingen kun je een mooi overzicht krijgen van wat er waar gebeurd. Vergeet niet dat het opzich niet de beveiling verhoogt. Het geeft je wel inzicht in wat er gebeurd en is een hulpmiddel bij de analyze.
24-10-2006, 12:29 door Anoniem
Dus voor analyze en detectie zou een HIDS een aanrader zijn?Kan je ook
met zo HIDS programma zien trouwens bij een foute login gelijk kan zien
om wat voor proces het gaat en gelijk laten loggen? En gelijk zien om welke paketjes het gaat waarmee de aanvraag is gedaan?
24-10-2006, 13:38 door SirDice
Het loggen gebeurd al.. Daar heb je, onder windows, bijv. een (security) eventlog voor en onder *nix diverse bestanden in /var/log/.. Een HIDS verzamelt, correleert en registreert dit, al dan niet centraal.

Wil je weten wat voor pakketjes er verstuurd zijn dan hebben we het over NIDS.

Veel personal firewalls (voor windows) zijn tegenwoordig eigenlijk hybrids van een firewall, HIDS, NIDS en IPS.
24-10-2006, 15:14 door SirDice
Maar weer even terug on-topic:

In een multi-tasking, multi-user omgeving moet je, als je een object aanmaakt, er niet vanuit gaan dat je dit altijd lukt. Een voorbeeld is een connectie naar een database of een geheugen allocatie. Controleer altijd of je ook daadwerkelijk gekregen hebt wat je aangevraagt hebt en zorg voor een correcte fout afhandeling als het niet zo is.
24-10-2006, 15:18 door Anoniem
Wat ik jammer vind bij personal firwalls is dat informatie over de aanval zo
beperkt is. En waneer je er mee aangifte zou willen doen onvoldoende
bewijs is en de politie er niks mee kan.
24-10-2006, 17:37 door SirDice
Door Koekie
Wat ik jammer vind bij personal firwalls is dat informatie over de aanval zo beperkt is. En waneer je er mee aangifte zou willen doen onvoldoende bewijs is en de politie er niks mee kan.
Vergeet ook de lading false positives niet ;)

En met 1 alarmpje zul je inderdaad geen aangifte kunnen doen. Dan moet er heel wat meer aan de hand zijn. En als je denkt dat je daadwerkelijk een target bent kun je beter al het verkeer opslaan met tcpdump. Dan heb je wel voldoende bewijs.
24-10-2006, 17:46 door Anoniem
Heb je ook tcpdump onder windows dan?
24-10-2006, 17:58 door SirDice
Door Koekie
Heb je ook tcpdump onder windows dan?
[url=http://www.winpcap.org/windump/]windump[/url] maar je kan natuurlijk ook [url=http://www.wireshark.org]wireshark[/url] gebruiken
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.