Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Veilige software beoordelen?  (gelezen 1899 keer)

Veilige software beoordelen?
« Gepost op: 2015/12/22, 14:59:39 »
Dit vraag ik me al langer af.
Als we het hebben over veilige linux software hebben we het over software welke gecontroleerd is door de linux-community op oneigenlijkheden, en door uitblijven daarvan als deugdelijk bestempeld. Toch?

Dan vraag ik me af, kan ik dat zelf dan ook nakijken?
Ik heb bijvoorbeeld wat onprofessionele ervaring met scripting. Zo lukt het mij prima om php op "spyware" e.d. te controleren.
Je hoeft ook niet altijd volledige scripting te kennen of toe te kunnen passen om te kunnen constateren dat er bijvoorbeeld onnodige verbindingen gelegd worden met externe partijen of emailadressen. Of er data verzameld en verzonden wordt, of dat er juist iets extern ingelezen wordt wat niet nodig is. Het lukte mij al vaak genoeg om dat soort oneigenlijkheden te ontdekken.
En bijna net zo vaak lukte het mij om onveilige scripts te verbeteren in veilige.
Een pro zal ik hierin nooit worden, maar het lijkt me best interessant om me hierin binnen linux te gaan verdiepen.

Dan denk ik "open source", dus dat moet open in te zien zijn. Toch? Zoals ik nu in linux ook allerhande files kan doorlezen.
Is het dan bijvoorbeeld mogelijk om linux-software (een deb) ergens in een directory uit te pakken, de losse bestanden te openen om te lezen, en zo oneigenlijkheden op te sporen?
« Laatst bewerkt op: 2015/12/22, 15:14:41 door partyrabbit »
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Veilige software beoordelen?
« Reactie #1 Gepost op: 2015/12/22, 23:26:30 »
Dan vraag ik me af, kan ik dat zelf dan ook nakijken?
Maar natuurlijk, als anderen dat kunnen, kan jij dat ook! Dat is nou net de gein van opensource, je kunt van elk opensourceproject de broncode inzien/raadplegen/lezen. Maar je moet wel verstand van zaken hebben om te begrijpen wat die code doet. Zelf denk ik dat een bash-script doorgaans stukken eenvoudiger is te volgen dan C++-code (wanneer het een normaal script betreft, geen script dat wordt ingestuurd voor een wedstrijdje obfuscated perl bijvoorbeeld zoals deze, in de hoek van geniaal:

                                                       #
                                                   sub j(\$){($
                     P,$V)=                      @_;while($$P=~s:^
                 ([()])::x){                    $V+=('('eq$1)?-32:31
           }$V+=ord(  substr(                 $$P,0,1,""))-74} sub a{
          my($I,$K,$  J,$L)=@_               ;$I=int($I*$M/$Z);$K=int(
         $K*$M/$Z);$J=int($J*$M             /$Z);$L=int($L*$M/$Z); $G=$
         J-$I;$F=$L-$K;$E=(abs($          G)>=abs($F))?$G:$F;($E<0) and($
          I,$K)=($J,$L);$E||=.01       ;for($i=0;$i<=abs$E;$i++ ){ $D->{$K
                  +int($i*$F/$E)      }->{$I+int($i*$G/$E)}=1}}sub p{$D={};$
                 Z=$z||.01;map{    $H=$_;$I=$N=j$H;$K=$O=j$H;while($H){$q=ord
                substr($H,0,1,"" );if(42==$q){$J=j$H;$L=j$H}else{$q-=43;$L =$q
              %9;$J=($q-$L)/9;$L=$q-9*$J-4;$J-=4}$J+=$I;$L+=$K;a($I,$K,$J,$ L);
              ($I,$K)=($J,$L)}a($I,$K,$N,$O)}@_;my$T;map{$y=$_;map{ $T.=$D->{$y}
              ->{$_}?$\:' '}(-59..59);$T.="\n"}(-23..23);print"\e[H$T"}$w= eval{
              require Win32::Console::ANSI};$b=$w?'1;7;':"";($j,$u,$s,$t,$a,$n,$o
              ,$h,$c,$k,$p,$e,$r,$l,$C)=split/}/,'Tw*JSK8IAg*PJ[*J@wR}*JR]*QJ[*J'.
               'BA*JQK8I*JC}KUz]BAIJT]*QJ[R?-R[e]\RI'.'}Tn*JQ]wRAI*JDnR8QAU}wT8KT'.
               ']n*JEI*EJR*QJ]*JR*DJ@IQ[}*JSe*JD[n]*JPe*'.'JBI/KI}T8@?PcdnfgVCBRcP'.
                '?ABKV]]}*JWe*JD[n]*JPe*JC?8B*JE};Vq*OJQ/IP['.'wQ}*JWeOe{n*EERk8;'.
                  'J*JC}/U*OJd[OI@*BJ*JXn*J>w]U}CWq*OJc8KJ?O[e]U/T*QJP?}*JSe*JCnTe'.
                   'QIAKJR}*JV]wRAI*J?}T]*RJcJI[\]3;U]Uq*PM[wV]W]WCT*DM*SJ'.  'ZP[Z'.
                      'PZa[\]UKVgogK9K*QJ[\]n[RI@*EH@IddR[Q[]T]T]T3o[dk*JE'.  '[Z\U'.
                        '{T]*JPKTKK]*OJ[QIO[PIQIO[[gUKU\k*JE+J+J5R5AI*EJ00'.  'BCB*'.
                             'DMKKJIR[Q+*EJ0*EK';sub h{$\ = qw(% & @ x)[int    rand
                              4];map{printf  "\e[$b;%dm",int(rand 6)+101-60*   ($w
                               ||0);system(  "cls")if$w ;($A,$S)=    ($_[1],   $
                                _[0]);($M,   @,)= split  '}';for(     $z=256
                                ;$z>0; $z   -=$S){$S*=   $A;p @,}      sleep$_
                                [2];while   ($_[3]&&($    z+=$ S)       <=256){
                                p@,}}("".   "32}7D$j"     ."}AG".       "$u}OG"
                                ."$s}WG"    ."$t",""      ."24}("        ."IJ$a"
                                ."}1G$n"    ."}CO$o"     ."}GG$t"        ."}QC"
                                 ."$h}"      ."^G$e"    ."})IG"          ."$r",
                                 "32}?"       ."H$p}FG$e}QG$r".          "}ZC"
                                 ."$l",          "28}(LC" .""            ."".
                                 "$h}:"           ."J$a}EG".             "$c"
                                 ."}M"             ."C$k}ZG".            "$e"
                                 ."}"             ."dG$r","18"          ."}("
                                ."D;"            ."$C"  )}{h(16         ,1,1,0
                               );h(8,          .98,0,0   );h(16         ,1,1,1)
                               ;h(8.0         ,0.98,0,     1);         redo}###
                             #written                                 060204 by
                           #liverpole                                  @@@@@@@
                        #@@@@@@@@@@@

Is het dan bijvoorbeeld mogelijk om linux-software (een deb) ergens in een directory uit te pakken, de losse bestanden te openen om te lezen, en zo oneigenlijkheden op te sporen?
Yes, en ook om dingen te verbeteren. Nog eens, daarvoor dien je wel over programmeercapaciteiten te beschikken. Dat is op zichzelf niet heel moeilijk, maar je moet ervan houden. Het is niet ieders ding, programmeren.

Edit, de dromedaris hierboven komt in dit forumbericht enigszins ingekrompen over. Ik bedoelde deze code:
https://en.wikipedia.org/wiki/Just_another_Perl_hacker
scroll naar iets onder het midden.
« Laatst bewerkt op: 2015/12/22, 23:31:17 door Paul Matthijsse »

Re: Veilige software beoordelen?
« Reactie #2 Gepost op: 2015/12/23, 00:44:10 »
Kijk ;D dat bevestigd al de herkenning die ik had toen ik wat bestanden opende.
Maar mag ik vragen waarom je een link met "perl" aanhaalt? Je gaat me toch niet vertellen dat linux in perl geschreven is? Linux is toch unix?

Wel leuk. Toch eens verder kijken hiernaar. Geen gediplomeerd programmeur maar wel al in de nodige programmeertalen geprogrammeerd. Nou ja, meestal aanpassingen.
« Laatst bewerkt op: 2015/12/23, 00:45:49 door partyrabbit »
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Offline markba

  • Lid
    • http://markbaaijens.nl/
Re: Veilige software beoordelen?
« Reactie #3 Gepost op: 2015/12/23, 10:05:49 »
Dan denk ik "open source", dus dat moet open in te zien zijn. Toch? Zoals ik nu in linux ook allerhande files kan doorlezen.
Is het dan bijvoorbeeld mogelijk om linux-software (een deb) ergens in een directory uit te pakken, de losse bestanden te openen om te lezen, en zo oneigenlijkheden op te sporen?
Tuurlijk kan dat, dit is zelfs de essentie van open source: openheid, transparantie, delen.

Offline Ron

  • Forumteam
    • r0n
    • Over Tholen
Re: Veilige software beoordelen?
« Reactie #4 Gepost op: 2015/12/23, 10:17:34 »
Bedenk wel, dat een hoop veiligheid ook een kwestie van vertrouwen is.
Je kunt wel de source code inzien, maar weet je ook zeker, dat hetgeen op jouw PC loopt, van die source gemaakt is, en dat er geen "extra's" in zijn gestopt?
De Debian en Ubuntu gemeenschap vertrouw ik in deze voor 99%, maar met b.v. een PPA is het een ander verhaal..........
Openstandaard Evangelist, OpenSource Promotor, OpenData voorstander.
Xubuntu gebruiker en voorstander
Er is ook nog een andere hobby.

Re: Veilige software beoordelen?
« Reactie #5 Gepost op: 2015/12/23, 11:02:14 »
Ik zal eens kijken hoe ver ik er in kom.
Ik zie namelijk regelmatig software buiten SC die eigenlijk gewoon beschikbaar zou moeten zijn. En dat is jammer.
Maar ik vrees dat dit me net iets te hoog gegrepen gaat worden. Ach ik zie wel hoe ver ik kom.

En draait die controle met name om veiligheid? Of ook om bad scripting?
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Veilige software beoordelen?
« Reactie #6 Gepost op: 2015/12/23, 22:36:43 »
Maar mag ik vragen waarom je een link met "perl" aanhaalt? Je gaat me toch niet vertellen dat linux in perl geschreven is? Linux is toch unix?
Natuurlijk mag je dat vragen! Linux is een vorm van Unix en beide besturingssystemen zijn voor het merendeel in de taal C geschreven, met hier en daar assembler en mogelijk  ook veel in C++. Bedenk wel dat een Unix (er zijn er meerdere) of een Linux-versie uit een enorme verzameling kleine programmaatjes bestaat, die elk hun eigen ding doen. Veel van deze programmaatjes zijn geschreven in C en zijn vaak heel eenvoudig en kort.
Hier een voorbeeld van de veel gebruikte functie printf, waarmee je (of een programma) iets naar het scherm of naar een bestand schrijft. Dit is de GNU broncode, volledig openbaar.

http://sourceware.org/git/?p=glibc.git;a=blob;f=stdio-common/printf.c;h=4c8f3a2a0c38ab27a2eed4d2ff3b804980aa8f9f;hb=3321010338384ecdc6633a8b032bb0ed6aa9b19a

Stel je bent een hacker en je opdrachtgever heeft je gevraagd om het Linux besturingssysteem van een reclameboodschap te voorzien. Dan zou je dus bijvoorbeeld deze broncode moeten veranderen. Elke keer dat de opdracht print Hello world langskomt, zou je dit kunnen veranderen in Koopt onze nieuwe chocoladepasta. Dat gaat in principe goed totdat iemand opmerkt dat hier iets raars gebeurt en dat weer terug verandert. Dat is opensource, je kunt altijd nagaan wat er gebeurt. Maar nogmaals (zie die voorbeelden van 'obfuscated code', dat betekent nauwelijks begrijpelijke code; die heb je in Perl of in C of in eender welke taal), programmeren is niet voor iedereen. Ik zeg wel eens dat je een beetje (of flink) geschift moet zijn om programmeur te worden, ps, ik heb nog ergens een vergeeld diploma C-programmeur liggen, dus ik weet waar ik het over heb! ;-)
« Laatst bewerkt op: 2015/12/23, 22:38:38 door Paul Matthijsse »

Re: Veilige software beoordelen?
« Reactie #7 Gepost op: 2015/12/24, 12:42:09 »
Ik weet en begrijp wat je zegt Paul.
Nogmaals, ik pretendeer niet een programeur te zijn. Maar scripting heeft wel heel erg mijn interesse.
Ooit al begonnen met leren van basic waar het al harder ging dan het lesmateriaal, waar iedereen nog bij map 1 of 2 was en ik al bij 10/24. Toen word1 nog maar net bestond al zelf een tekstverwerker geschreven (jammer genoeg nooit doorgezet, anders was er nu misschien wel een partyrabbitoffice 14.1 ;D )
Zo ook in zeer korte tijd mezelf perl en php geleerd, waar ik me vaak bezig gehouden heb met verbeteringen van bestaande scripts en bouwen van kleine eigen scriptjes of toepassingen en aanvullende modulles. Ook bij perl en php komt het aan op punten en comma's waar als deze niet juist staan een hele site niet meer werkt. En zie dan tussen all KB's maar eens de fout te vinden, waar ik best bedreven in ben geworden voor een leek met zelfstudie.
Het modulaire waar jij het over heb is me dus ook wel bekend.

Ik zal nooit een volwaardige programeur worden. Maar ik ben zot genoeg om me er eens in te verdiepen en wie weet hoe ver (of niet) ik er mee kom. :o
Wat me al leuk lijkt is het ontdekken van misstanden. Als ik zo ver zou komen dat het me redelijk lukt om software te beoordelen op grabbing e.d.. Linux werkt prachtig, ook met de beschikbare software.
Maar nu loop ik er toch nog tegenaan dat er externe software bestaat die ik nu niet durf te gebruiken want niet geaccepteerd. Het zou geinig zijn al het me gaat lukken deze scripting voldoende door te lopen om vast te kunnen stellen dat het gewoon te gebruiken is.
En hoe ver ik er uiteindelijk mee kom zal de toekomst uit moeten wijzen. Misschien haak ik al wel heel snel af. Who knows.
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Veilige software beoordelen?
« Reactie #8 Gepost op: 2015/12/25, 00:44:04 »
Maar nu loop ik er toch nog tegenaan dat er externe software bestaat die ik nu niet durf te gebruiken want niet geaccepteerd.
Heb je toevalli voorbeelden van software die je niet durft te gebruiken want niet geaccepteerd?

Het zou geinig zijn al het me gaat lukken deze scripting voldoende door te lopen om vast te kunnen stellen dat het gewoon te gebruiken is.
Het is gebruikelijk een onderscheid te maken tussen programmeren of coderen en scripten. Voor dat eerste worden zogenaamde "lagere talen" gebruikt, voor het laatste "hogere talen". Hoe "hoger" de programmeertaal, des te beter deze door mensen is te lezen. Hoe "lager" de taal des te meer machine-instructies je tegenkomt, neem een kijkje bij de taal assember in Wikipedia bijvoorbeeld. In deze context kun je C, C++ en assembler programmeertalen noemen, en bijvoorbeeld Perl en Python scripttalen. Een scripttaal is zeker niet per definitie "minder" (langzamer, slechter...) dan een echte programmeertaal, wel wordt een script doorgaans uitgevoerd via een interpreter, dat is een onderliggende machine die de door mensen leesbare/begrijpelijke code leest en omzet in minder goed te begrijpen machine-instructies. In principe worden scripts iets langzamer uitgevoerd dan 'echte code', maar met die snelle processoren van vandaag de dag is dat tot peanuts verworden.

Re: Veilige software beoordelen?
« Reactie #9 Gepost op: 2015/12/25, 01:15:36 »
Ik heb inmiddels ook weer eens wat rondgeneusd in de verschillende programmeertalen. C en C++ welke jij ook weer noemt ook. Zo kwam ik ook weer op een samenvatting van programmeertalen en dat zijn er ondertussen nogal wat.
Weet je wat het is? Het lijkt allemaal wel heel veel op elkaar. Veel commando's komen op hetzelfde neer, al zijn ze soms net wat anders samengesteld. Programmeren is zeker nog niet zo makkelijk, maar met lezen moet ik daar toch wel een stukje in op weg kunnen komen denk ik.
Maar wat ik zo van assembler zie is dat toch wel weer een stap verder vrees ik. :|

Heb je toevalli voorbeelden van software die je niet durft te gebruiken want niet geaccepteerd?

Dat moet ik even terug zoeken. Daar kom ik nog op terug.
« Laatst bewerkt op: 2015/12/25, 01:20:14 door partyrabbit »
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore

Re: Veilige software beoordelen?
« Reactie #10 Gepost op: 2015/12/27, 23:21:07 »
Programmeren is zeker nog niet zo makkelijk, maar met lezen moet ik daar toch wel een stukje in op weg kunnen komen denk ik.
Hallo, zeer zeker, het web staat vol instructiemateriaal (wel praktisch als je het Engels beheerst...).

Re: Veilige software beoordelen?
« Reactie #11 Gepost op: 2015/12/28, 09:17:36 »
I know. Zo heb ik me meerdere talen ver eigen gemaakt.  ^-^
En door soms úren lang te zoeken wat er nu mis was, om er achter te komen dat die punt een comma moest zijn.  :-[
- I ♥ Linux -
Bij irritatie, voeg hier 'partyrabbit' toe -> https://forum.ubuntu-nl.org/index.php?action=profile;area=lists;sa=ignore