<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Code Security</title><link>https://www.dotnetzone.gr:443/cs/forums/139/ShowForum.aspx</link><description>Περιοχή που συζητάμε για το το code security - ένα θέμα που πρέπει να απασχολεί κάθε προγραμματιστή.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32609.aspx</link><pubDate>Tue, 05 Jun 2007 04:27:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32609</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32609.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32609</wfw:commentRss><description>Δεν συνηθίζω (ούτε και είναι ωραίο) να απαντάω μετά από κάθε σχόλιο, ζητώ όμως συγγνώμη για να κάνω μια εξαίρεση:&lt;br&gt;&lt;br&gt;Να ευχαριστησω τον φίλο &lt;a&gt;anjelinio&lt;/a&gt; για την ευχή και να πω επίσης το εξής:&lt;br&gt;&lt;br&gt;Σκεφτείτε πόσες εφαρμογές υπάρχουν live αυτην την στιγμή στον κόσμο σε unmanaged code και πόσες σε managed code.&lt;br&gt;&lt;br&gt;Ας μιλήσουμε με ποσοστά!&lt;br&gt;Ας πούμε 2% managed και 98% unmanaged.... και αν βάλω και την java στο παιχνίδι που έχει secure κώδικα πάμε στο 15% με 85%.&lt;br&gt;&lt;br&gt;Θεωρώντας οτι αν συμβιβαστήκατε και συχωρέσατε το.... κακό μου humor στο παραπάνω αρθράκι και οτι &lt;u&gt;αν&lt;/u&gt; οι ιστορικοί λόγοι που αναφέρει ο συμπαθέστατος φίλος anjelinio είναι το 85% της τρέχουσας πραγματικότητας τότε το managed code είναι η εξαίρεση και το unmanaged code o... κανόνας.&lt;br&gt;Ετσι δεν είναι?&lt;br&gt;&lt;br&gt;Προσωπικά πιστεύω οτι τα παραπάνω δεν είναι μόνο ιστορικά στοιχεία μιας εποχής που έχει περάσει.... αλλά πραγματικά στοιχεία της εποχής που ζούμε....&lt;br&gt;Αν μιλήσουμε για μετά από 10 χρόνια .... ok... δεν ξέρω... ίσως δεν υπάρχει ούτε Managed Code....&lt;br&gt;&lt;br&gt;Πιστεύω οτι το άρθρο αναφέρετε στο πιο μεγάλο ποσοστό τον υπαρχόντων εφαρμογών αυτήν την στιγμή.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32604.aspx</link><pubDate>Tue, 05 Jun 2007 03:53:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32604</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32604.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32604</wfw:commentRss><description>Λοιπόν,&amp;nbsp; εφικτό σε managed  ή όχι, σίγουρα το άρθρο δεν είναι αδιάφορο.&amp;nbsp; Προσωπικά πιστεύω οτι κάτι το οποίο θα με κρατήσει να το διαβάσω επιστρέφοντας σπίτι απο τη δουλειά, και στο οποίο θα διαβάσω κάτι που δεν ξέρω, είναι ενδιαφέρον και εποικοδομητικό. Στην τελική, ας το δούμε σαν ένα μάθημα ιστορίας αν μή τι άλλο - πολύ σημαντικό να μη ξεχνάς το παρελθόν, ειδικά αυτό που δεν έχεις ζήσει ο ίδιος ! ( &lt;i&gt;όχι θησέα, δε σε λέω γέρο, παρά το αρχαιοπρεπές nickname&lt;/i&gt; ...&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt; )&lt;br&gt;&lt;br&gt;Πιστεύω οτι μετά την επεισοδιακή αρχή, θα ενταχθείς μια χαρά στο forum φίλε. &lt;br&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32600.aspx</link><pubDate>Tue, 05 Jun 2007 02:56:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32600</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32600.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32600</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Παναγιώτης Καναβός:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Οι δημοσιεύσεις που παραθέτεις δεν λένε πουθενά ότι μπορεί κάποιος να γράψει κώδικα σε .NET ο οποίος να είναι ευάλωτος σε buffer overflow. Όσο για το δεύτερο post, η συγκεκριμμένη αναζήτηση επιστρέφει τα άρθρα που περιέχουν οποιαδήποτε από τις λέξεις κλειδιά. Αν βάλεις AND θα πάρεις πάλι το πρώτο vulnerability που αναφέρεις, το οποίο όμως αφορά ένα από τα components του ASP.NET, όχι τον κώδικα που μπορείς να γράψεις εσύ ο ίδιος. Άσε που 5 χρόνια μετά, ακόμα δεν έχουν βρει exploit για το συγκεκριμένο bug, ενώ αντιμετωπίστηκε ήδη στο .NET 1.0 Service Pack 2. &lt;/p&gt;
&lt;p&gt;Ακόμα και αν αλλάξεις την αναζήτηση σε .NET AND buffer, αυτό είναι το μόνο vulnerability που θα βρεις, και δεν έχει σχέση με το managed memory management. Ίσως να μπορείς να πετύχεις buffer overflow στο .NET περιλαμβάνοντας unmanaged blocks τα οποία χειρίζονται με κακό τρόπο τη μνήμη, αλλά σε αυτή την περίπτωση παρακάμπτεις ενσυνείδητα κάθε προστασία που σου παρέχει το .NET. &lt;/p&gt;
&lt;p&gt;Συνεπώς, το buffer overflow φαίνεται να είναι μάλλον αδιάφορο για το .NET.&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Σωστό, &lt;br&gt;κατά πάσα πιθανότητα με καθαρό CLR όπως και σε JVM μάλλον δεν γίνεται... ή καλύτερα δεν γνωρίζω πως μπορεί να γίνει.&lt;br&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32593.aspx</link><pubDate>Tue, 05 Jun 2007 01:22:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32593</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32593.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32593</wfw:commentRss><description>&lt;P&gt;Οι δημοσιεύσεις που παραθέτεις δεν λένε πουθενά ότι μπορεί κάποιος να γράψει κώδικα σε .NET ο οποίος να είναι ευάλωτος σε buffer overflow. Όσο για το δεύτερο post, η συγκεκριμμένη αναζήτηση επιστρέφει τα άρθρα που περιέχουν οποιαδήποτε από τις λέξεις κλειδιά. Αν βάλεις AND θα πάρεις πάλι το πρώτο vulnerability που αναφέρεις, το οποίο όμως αφορά ένα από τα components του ASP.NET, όχι τον κώδικα που μπορείς να γράψεις εσύ ο ίδιος. Άσε που 5 χρόνια μετά, ακόμα δεν έχουν βρει exploit για το συγκεκριμένο bug, ενώ αντιμετωπίστηκε ήδη στο .NET 1.0 Service Pack 2. &lt;/P&gt;
&lt;P&gt;Ακόμα και αν αλλάξεις την αναζήτηση σε .NET AND buffer, αυτό είναι το μόνο vulnerability που θα βρεις, και δεν έχει σχέση με το managed memory management. Ίσως να μπορείς να πετύχεις buffer overflow στο .NET περιλαμβάνοντας unmanaged blocks τα οποία χειρίζονται με κακό τρόπο τη μνήμη, αλλά σε αυτή την περίπτωση παρακάμπτεις ενσυνείδητα κάθε προστασία που σου παρέχει το .NET. &lt;/P&gt;
&lt;P&gt;Συνεπώς, το buffer overflow φαίνεται να είναι μάλλον αδιάφορο για το .NET.&lt;/P&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32587.aspx</link><pubDate>Mon, 04 Jun 2007 20:09:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32587</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32587.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32587</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;agmarios:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Υπέροχα, είμαι ενθουσιασμένος και περιμένω την συνέχεια.&lt;br&gt;Το θέμα είναι πολύ ενδιαφέρον και σίγουρα ενδιαφέρει και τους .net developers (εκτός αν κάποιος πιστεύει ότι το δικό του software δεν χρησιμοποιεί stack &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;) Περιμένω να δω τι λύσεις έχουν δοθεί σε "χαμηλό" επίπεδο καθώς και το τι μπορούμε/χρειάζεται να κάνουμε εμείς.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Μια που το έφερε η κουβέντα (για το πόσο το .net) είναι vulnerable σε buffer oeverflow attachs το παρακάτω άρθρο, δίνει μια εικόνα:&lt;br&gt;&lt;b&gt;&lt;a href="http://www.microsoft.com/technet/security/bulletin/ms02-026.mspx"&gt;http://www.microsoft.com/technet/security/bulletin/ms02-026.mspx&lt;/a&gt;&lt;br&gt;&lt;br&gt;EDITED:&lt;br&gt;&lt;/b&gt;Μια πιο μελετημένη αναζλήτηση θα μας δώσει τα παρακάτω&lt;br&gt;&lt;b&gt;&lt;a href="http://securitydot.net/search/exploits/vulnerabilities/articles/buffer+overflow+asp.net.html"&gt;http://securitydot.net/search/exploits/vulnerabilities/articles/buffer+overflow+asp.net.html&lt;/a&gt;&lt;br&gt;&lt;/b&gt;&lt;br&gt;Δηστυχώς δεν ακόμα προσωπική άποψη επι του θέματος.&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-6.gif" alt="Sad" /&gt;&lt;br&gt;Θα το κοιτάξω όταν και εφόσων βρώ επιτέλους λίγο free time.&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32586.aspx</link><pubDate>Mon, 04 Jun 2007 20:08:43 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32586</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32586.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32586</wfw:commentRss><description>&lt;P&gt;Επιθυμώ να είναι το τελευταίο μήνυμα που αφορά αυτό το ζήτημα σε αυτό το thread για να μην κουράζουμε και τους υπόλοιπους συναδέλφους. Αν και χρόνια τώρα γνωριζόμαστε μέσω της κοινότητας, Παναγιώτη, θα μου επιτρέψεις να πω οτι πρώτη φορά αντιμετωπίζω τέτοια αντίδραση από εσένα. Οταν χαρακτηρίζουμε ένα χρήστη υπονοώντας οτι "αντέγραψε" ενώ ο ίδιος έχει αναφέρει οτι είναι πρωτότυπος συγγραφέας του υλικού, είμαστε "φάουλ" (αν δεν έχουμε κάτι να το τεκμηριώνει). Οπως λοιπόν θα έκανα και για κάθε χρήστη του DNZ, έτσι λέω και σε σένα οτι είναι λανθασμένη αντιμετώπιση.&amp;nbsp;Με την τοποθέτηση αυτή&amp;nbsp;ολοκληρώνω και θα επιθυμούσα&amp;nbsp;(οπως και εσύ από ο,τι γράφεις) να τερματιστούν οι αναφορές σε οτιδήποτε άλλο πλην του θέματος του thread.&lt;/P&gt;
&lt;P&gt;Για το θέμα της σχετικότητας η μη του θέματος με τη γενικότερη φιλοσοφία του DNZ, απεφάνθη ο Γιώργος και δεν έχω άλλο σχόλιο. &lt;BR&gt;&lt;BR&gt;Για το θέμα των "χαμηλών τόνων" η ομάδα διαχείρισης του DNZ πράττει όπως θεωρεί καλύτερο, και το αν η πρακτική αυτή δεν βρίσκει σύμφωνους τους πάντες είναι φυσιολογικό. Ομως, εφόσον έχει επιλέξει αυτή την αντιμετώπιση των θεμάτων, αυτή ακολουθεί το DNZ εν γένει.&lt;/P&gt;
&lt;P&gt;Θα παρακαλέσω το συνάδελφο Thiseas και τον Παναγιώτη, σε περίπτωση που επιθυμούν να απαντήσουν σε κάτι από όσα ελέχθησαν εδώ, να μην το κάνουν πλέον σε αυτό το thread, αλλά να μου στείλουν προσωπικό μήνυμα, για να διατηρήσουμε την αρχική συζήτηση στο thread.&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32585.aspx</link><pubDate>Mon, 04 Jun 2007 19:50:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32585</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32585.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32585</wfw:commentRss><description>Όπως και να έχει δεν έχω σκοπό να ανακαλέσω κάτι. Εαν δεν ισχύει κάτι απο αυτά (ο ίδιος ο Thiseas, ανέφερε τι ισχύει) θα μπορούσε απλά να το αγνοήσει. Εξακολουθώ να πιστεύω όμως ότι δεν κολλάει τόσο θεωρία και σε τόσο χαμηλό επίπεδο περι "ασφάλειας" κλπ, γιατί απλούστα δεν υπάρχει καμία απολύτος εφαρμογή σε .Net. Οι ίδιοι το ξέρετε ότι δεν ισχύει τίποτα απο όλα αυτά τα θεωρητικά στο .Net. Σαν εγκυκλοπεδικές γνώσεις, ναι, ίσως είναι καλό να υπάρχει αν και πάλι έχω κάποιες ενστάσεις. Δεν αμφισβητώ ούτε τον κόπο του, ούτε την προσπάθεια του να μας "ανοίξει" τα μάτια στο κομμάτι του security, αλλά δεν πιστεύω ότι το κάνει και με τον καλύτερο τρόπο. Θα προτιμούσα να δω ενα άρθρο για Obfuscation σε .Net και το Security namespace, απο το να διαβάζω για low level Buffer overflows κλπ.&lt;br&gt;&lt;br&gt;Κλείνοντας να σου πω Σωτήρη, ότι θα σταματήσω να κάνω συζητήσεις και reply σε θέματα του Thiseas, γιατί απο ότι φαίνεται όλα αυτά πειράζουν κάποιους και δεν έχω ούτε την διάθεση, ούτε την όρεξη να γίνω κακός και δακτυλοδεικτούμενος. Απ΄ ότι φαίνεται στην προσπάθεια να κρατήσουμε τους τόνους χαμηλά, ορισμένες φορές υπερβάλλουμε.&lt;br&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32578.aspx</link><pubDate>Mon, 04 Jun 2007 18:46:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32578</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32578.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32578</wfw:commentRss><description>&lt;P&gt;Προς τους συναδέλφους Thiseas και Παναγιώτη Κ.:&lt;/P&gt;
&lt;P&gt;Χωρίς να θέλω να απευθυνθώ ξεχωριστά σε κάποιον από τους δυο σας, θα παρακαλούσα να μην εξελιχθεί αυτο το thread σε αντιπαράθεση επί προσωπικού. Εχω ήδη δημοσιεύσει μήνυμα σχολιασμού σε αυτό το thread σχετικά με το αρχικό μήνυμα του Παναγιώτη και οποιαδήποτε απάντηση υπάρχει επ'αυτού θα παρακαλούσα να απευθύνεται σε μένα (με την ιδιότητα του moderator) και όχι προς το φίλο Thiseas.&amp;nbsp;Κατά τα άλλα,&amp;nbsp;ας επικεντρωθούμε στο πολύ ενδιαφέρον ουσιαστικό θέμα του thread.&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32576.aspx</link><pubDate>Mon, 04 Jun 2007 18:37:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32576</guid><dc:creator>agmarios</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32576.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32576</wfw:commentRss><description>Υπέροχα, είμαι ενθουσιασμένος και περιμένω την συνέχεια.&lt;br&gt;Το θέμα είναι πολύ ενδιαφέρον και σίγουρα ενδιαφέρει και τους .net developers (εκτός αν κάποιος πιστεύει ότι το δικό του software δεν χρησιμοποιεί stack &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;) Περιμένω να δω τι λύσεις έχουν δοθεί σε "χαμηλό" επίπεδο καθώς και το τι μπορούμε/χρειάζεται να κάνουμε εμείς.&lt;br&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32570.aspx</link><pubDate>Mon, 04 Jun 2007 17:33:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32570</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32570.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32570</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Panagiotis Kefalidis:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Για αρχή, να πω οτι οκ, ωραίο το "άρθρο" που έγραψες/μετέφρασες/αντέγραψες (όποιο και να ισχύει δεν παίζει και τόσο σημασία εν τέλει). &lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Ισχύουνε τα δύο πρώτα, δηλαδή πρώτα το έγραψα στα αγγλικά και μετά το μετέφρασα...&lt;br&gt;&lt;a href="http://www.hellboundhackers.org/articles/497-How-a-program-works.html"&gt;http://www.hellboundhackers.org/articles/497-How-a-program-works.html&lt;br&gt;&lt;/a&gt;και&lt;br&gt;&lt;a href="http://www.secfreaks.gr/showthread.php?t=2024"&gt;http://www.secfreaks.gr/showthread.php?t=2024&lt;br&gt;&lt;/a&gt;&lt;br&gt;Τώρα για το αν το.... αντέγραψα τι να πω?&lt;br&gt;Διάβασες την βιβλιογραφία που παραθέτω... ??&lt;br&gt;Αν "δεν &lt;i&gt;παίζει και τόσο σημασία&lt;/i&gt;" η αντιγραφή για σένα είναι άποψη σου (σεβαστή μεν, απαράδεκτη δε!!), για μένα &lt;b&gt;παίζει πολύ σημασία&lt;/b&gt;!!&lt;br&gt;Θα ήθελα πολυ όμως,... να το αιτιολογήσεις και όχι να το πετάς έτσι!&lt;b&gt;&lt;br&gt;&lt;/b&gt;Περιμένω... &lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Panagiotis Kefalidis:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Δεν μπορώ όμως να καταλάβω πως ακριβώς ταιριάζει με την όλη φιλοσοφία του φορουμ εδώ. &lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Αν ταιριάζει με την φιλοσοφία του forum?&lt;br&gt;Ποιά είναι η φιλοσοφία του forum&amp;nbsp; εδω?&lt;br&gt;Είχα την εντύπωση πως κάπου διάβασα.... "Η Δύναμη των Ελλήνων Developers" (see baneraki)!!!&lt;br&gt;Μιας και μιλάμε για Developers αυτά τα στοιχειώδη θέματα security (ειτε σε .net είτε σε .nes-cafe), κατά την ταπεινή μου άποψη, πρέπει τουλάχιστον να αναφέρονται. Αν κάποιους δεν τους ενδιαφέρουν... τι να πω....? &lt;br&gt;Αναφέρετο δικαίωμα τους,... όπως κι εμένα όμως!! να τα αναφέρω...&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Panagiotis Kefalidis:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;Εννοώ δεν μας ενδιαφέρει και πολύ όλη αυτή η ιστορία περι buffer
overflow, heap corruption, κλπ κλπ, καθώς έτσι κι αλλοιώς το .Net δεν
υποφέρει απο τέτοια προβλήματα. Άλλωστε ήταν κι&amp;nbsp;είναι ένα&amp;nbsp;απο τα κύρια
πλεονεκτήματα&amp;nbsp;του managed κώδικα. Επίσης, κάποιος mod να μεταφέρει το
post κάπου αλλού, καθώς δεν έχει και καμιά σχέση για Design &amp;amp;
Architecture.&lt;br&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;
Τώρα όσο για τον managed code και Buffer Overrun.... κλπ κλπ.... πόσο σίγουρος είσαι οτι δεν υποφέρει από τέτοια προβλήματα?&lt;br&gt;Το διάβασες κάπου ή το δοκίμασες μόνος σου?&lt;br&gt;Και δεν αναφέρομαι μόνο στο buffer overflo (που έχεις δίκιο!)... αναφέρομαι γενικά στο Secure Code.&lt;br&gt;Άλλοστε στο forum βλέπω section και για unmanaged code! Μήπως κάνω λάθος?&lt;br&gt;&lt;br&gt;Εγώ οτι έχω γράψει παραπάνω τα έχω δοκιμάσει μόνος μου. Μπορείς να μου παραθέσεις κάτι που έχεις κάνει o ίδιος και να αιτιιολογεί οτι το .NET δεν πάσχει από τέτοια προβληματα?&lt;br&gt;Αν ναι... το σέβομαι!&lt;br&gt;Προσωπικά δεν το έχω δοκιμάσει.... ακόμα!! &lt;br&gt;Θα σου απαντήσω σύντομα γι αυτό, διότι, πράγματι, έθιξες ένα πολύ ενδιαφέρον θέμα.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32551.aspx</link><pubDate>Mon, 04 Jun 2007 05:28:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32551</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32551.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32551</wfw:commentRss><description>&lt;P&gt;Επειδή πιστεύω ότι το θέμα του code security είναι κάτι που πρέπει να απασχολεί κάθε προγραμματιστή, και δεν πρέπει να αποτελεί ένα από τα τελευταία θέματα πριν κλείσει ένα project, αλλά να λαμβάνεται σοβαρά από την πρώτη στιγμή ενός project, δημιουργήθηκε μια καινούργια περιοχή, κάτω από το Σχεδιασμό &amp;amp; Αρχιτεκτονική που θα μπορεί να φιλοξενεί αυτά τα θέματα.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32547.aspx</link><pubDate>Mon, 04 Jun 2007 04:41:37 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32547</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32547.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32547</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Panagiotis Kefalidis:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Για αρχή, να πω οτι οκ, ωραίο το "άρθρο" που έγραψες/μετέφρασες/αντέγραψες (όποιο και να ισχύει δεν παίζει και τόσο σημασία εν τέλει). &lt;BR&gt;Δεν μπορώ όμως να καταλάβω πως ακριβώς ταιριάζει με την όλη φιλοσοφία του φορουμ εδώ. Εννοώ δεν μας ενδιαφέρει και πολύ όλη αυτή η ιστορία περι buffer overflow, heap corruption, κλπ κλπ, καθώς έτσι κι αλλοιώς το .Net δεν υποφέρει απο τέτοια προβλήματα. Άλλωστε ήταν κι&amp;nbsp;είναι ένα&amp;nbsp;απο τα κύρια πλεονεκτήματα&amp;nbsp;του managed κώδικα. Επίσης, κάποιος mod να μεταφέρει το post κάπου αλλού, καθώς δεν έχει και καμιά σχέση για Design &amp;amp; Architecture. Ας πάει στον unmanaged code στο C++ section ή κάτι τέτοιο.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Παναγιώτη, ο Thiseas ανέφερε στην αρχή οτι ο ίδιος έχει συγγράψει το άρθρο και το έχει δημοσιεύσει ήδη σε δύο τουλάχιστον κοινότητες. Αρα δεν υπάρχει λόγος να αμφισβητείται αυτό, εκτός αν έχεις κάποια αναφορά που να τεκμηριώνει οτι δεν αποτελεί τον πρωτότυπο συγγραφέα. Θα παρακαλέσω να είμαστε πολύ προσεκτικοί με τις αναφορές μας αυτές γιατί είναι πιθανό να θίγουν τους χρήστες που πραγματοποιούν την αρχική δημοσίευση. Θα πρότεινα να ανακαλέσεις τη συγκεκριμένη σου πρόταση αν δεν έχεις κάποια επιπρόσθετη σχετική πληροφορία που να την τεκμηριώνει.&lt;/P&gt;
&lt;P&gt;Οσον αφορά στην πρόταση για μετακίνηση: Προβληματίστηκα και εγώ με το πού θα έπρεπε να ανήκει ένα τέτοιο άρθρο. Ομως, στην ευρύτερη έννοια "Design and Architecture" ίσως (τραβηγμένα βέβαια, αν σκεφτούμε οτι αρχικός σκοπός του forum ήταν το software design - architecture) ίσως ταιριάζει. Ηταν ένα πολύ εκτεταμένο και λεπτομερές άρθρο για να περάσει στα "Λοιπά θέματα". Ομως, εδώ ο admin - Γιώργος έχει τον τελευταίο λόγο. &lt;/P&gt;
&lt;P&gt;Σχετικά με το αν μας ενδιαφέρει η όλη ιστορία ή οχι: Ισως κάποιους τους ενδιαφέρει. Και πάλι θα πετούσα το μπαλάκι στον Γιώργο για να αποφανθεί αν το θέμα είναι σχετικό με την κοινότητα λιγότερο ή περισσότερο. &lt;/P&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32542.aspx</link><pubDate>Mon, 04 Jun 2007 04:13:50 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32542</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32542.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32542</wfw:commentRss><description>Για αρχή, να πω οτι οκ, ωραίο το "άρθρο" που έγραψες/μετέφρασες/αντέγραψες (όποιο και να ισχύει δεν παίζει και τόσο σημασία εν τέλει). &lt;BR&gt;Δεν μπορώ όμως να καταλάβω πως ακριβώς ταιριάζει με την όλη φιλοσοφία του φορουμ εδώ. Εννοώ δεν μας ενδιαφέρει και πολύ όλη αυτή η ιστορία περι buffer overflow, heap corruption, κλπ κλπ, καθώς έτσι κι αλλοιώς το .Net δεν υποφέρει απο τέτοια προβλήματα. Άλλωστε ήταν κι&amp;nbsp;είναι ένα&amp;nbsp;απο τα κύρια πλεονεκτήματα&amp;nbsp;του managed κώδικα. Επίσης, κάποιος mod να μεταφέρει το post κάπου αλλού, καθώς δεν έχει και καμιά σχέση για Design &amp;amp; Architecture. Ας πάει στον unmanaged code στο C++ section ή κάτι τέτοιο.</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32534.aspx</link><pubDate>Mon, 04 Jun 2007 03:34:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32534</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32534.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32534</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Thiseas:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Σε&amp;nbsp;ποιά επίθεση αναφέρεσε? Μάλλον για&amp;nbsp;code injection (&lt;A href="http://support.microsoft.com/kb/875352"&gt;http://support.microsoft.com/kb/875352&lt;/A&gt;), αλλά δεν μπορώ να το συνδέσω με την segmentation.... ?&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-8.gif" alt="Indifferent" /&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Σίγουρα κάτι "&lt;EM&gt;έφαγα&lt;/EM&gt;" στην απάντησή μου - ναι, για στο code injection αναφέρομαι.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;George J.&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: Πως λειτουργεί ένα πρόγραμμα ή τα πρώτα βήματα για την κατανόηση του Buffer Overflow.</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/32529.aspx</link><pubDate>Mon, 04 Jun 2007 00:21:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:32529</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/32529.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=32529</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;George J. Capnias:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Αν δεν κάνω λάθος, αυτό είναι ιδιαίτερο χαρακτηριστικό της οικογένειας επεξεργαστών 80x86 της Intel. Ο Ζ80 της Ziloc (? θυμάμαι καλά το όνομα;) και η σειρά 68000 της Motorola μέχρι και τον 68050 που είχα διαβάσει το intraction set, δεν λειτουργούν έτσι. Είναι όλα χύμα. Και στους 80x86 αυτο ισχύει μόνο για τα .exe προγράμματα. Tα .com προγράμματα έχουν μόνο ένα segment, το Code Segment.&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Ακριβώς Γιώργο!&lt;BR&gt;Συγκεκριμένα, το αναφέρω κι εγώ&amp;nbsp;και στη 7η παράγραφο του κειμένου μου.... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;BR&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;Thiseas:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt; &lt;SPAN style="COLOR:black;"&gt;&lt;FONT face="Times New Roman" size=3&gt;Πρώτα απ’ όλα θα ήθελα να σημειώσω πως οτιδήποτε θα πω θα αναφέρομαι για την οικογένεια επεξεργαστών xx86.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Όσο αφορά στα .COM πάλι έχεις δίκιο: Το Code και το Data Sement είναι ένα και δεν μπορεί να ξεπερνάει τα 64kb.&lt;/P&gt;
&lt;P&gt;Όλα ξεκίνησαν από τον τρόπο&amp;nbsp;που χαρακτηρίζει την μνήμη ο επεξεργαστής της Intel (από τον 8088):&lt;BR&gt;Π.χ. στο 8088 ίσχυε:&lt;BR&gt;Όλα τα bytes στην μνήμη έχουν μια ετικέτα που έχει έναν αύξοντα αριθμό, ξεκινώντας από το 0h (το 0 δεκαεξαδικό).&amp;nbsp;Αλλά κάθε τέτοιος αριθμός έχει μόνο 4&amp;nbsp;ψηφία μήκος. Από 0000 έως FFFF.&lt;BR&gt;Το δεκαεξαδικό FFFF είναι το δεκαδικό 65535. Δηλαδή 65536 θέσεις ή 1024 * 64 = 65536 ή 64kbytes!&lt;BR&gt;Αυτό είναι και&amp;nbsp;ένα&amp;nbsp;τμήμα της μνήμης!&lt;BR&gt;Δηλαδή!!!&lt;BR&gt;Δεν μπορούμε να δουλέψουμε με μνήμη, παραπάνω από ένα τμήμα?&lt;BR&gt;Πάνω από 64kb....Αν αυτό το ανέφερες σε&amp;nbsp;έναν προγραμματιστή&amp;nbsp;στις αρχές ης&amp;nbsp;δεκετίας του 80 θα σε έπαιρνε στο ψιλό!!&amp;nbsp;Μα όταν πρωτοβγήκε το DOS δεν χρειαζότανε τόσο "τεράστια" μνήμη...&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-11.gif" alt="Cool" /&gt;&lt;/P&gt;
&lt;P&gt;Αν θέλουμε όμως μπορούμε να χρησιμποιήσουμε πάνω από 1 segment?&lt;BR&gt;Η απάντηση είναι οτι&amp;nbsp;το κάνουμε με το λεγόμενο segmentation:&lt;BR&gt;Αυτή η τεχνική χρησιμοποιεί 2&amp;nbsp;segments για να αριθμήσει την μνήμη:&lt;BR&gt;segment : offset&lt;BR&gt;Το ένα για να δείξει τον αριθμό του segment και το άλλο για να δείξει τον σχετικό αριθμό της διεύθυνσης της μνήμης μέσα στο τρέχον segment. Για αυτό και οι αυτές οι διευθύνσεις σναφέρονται και σαν σχετικές διεθυύνσεις.&lt;/P&gt;
&lt;P&gt;Η παραπάνω κατάσταση είναι πράγματι πονοκέφαλος για όλους: Σχεδιαστές του Επεξεργαστή, Προγραμματιστές Συστήματος, Προγραμματιστές Εφαρμογών, .... εκτός από τους χρήστες που δεν τους νοιάζει!!!&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-11.gif" alt="Cool" /&gt;&lt;/P&gt;
&lt;P&gt;Θα θυμάστε (οι πιο παλαιοί)&amp;nbsp;τα memory models : Small, Medium, Large, Huge με τους μεταγλωτιστές της C (Borland + Microsoft)...&lt;BR&gt;Αν θυμαμαι καλά η Borland σου πρόσφερε κι το μοντέλο : tiny....&lt;BR&gt;Τεσπα.... μεγάλη κουβέντα ανοίγουμε...&amp;nbsp;και πολύ ενδιαφέρουσα!!&lt;/P&gt;
&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;George J. Capnias:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Αυτού του είδους η επίθεση μάλλον είναι αδύνατο να γίνει πλέον, στα Windows XP SP2 και νεότερα λειτουργικά για τους client, και Windows 2003 SP1 και νεότερα λειτουργικά για τους server. Αυτό έχει να κάνει με την υποστήριξη του DEP (Data Execution Prevention) στο core των Windows.&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;BR&gt;Σε&amp;nbsp;ποιά επίθεση αναφέρεσε? Μάλλον για&amp;nbsp;code injection (&lt;A href="http://support.microsoft.com/kb/875352"&gt;http://support.microsoft.com/kb/875352&lt;/A&gt;), αλλά δεν μπορώ να το συνδέσω με την segmentation.... ?&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-8.gif" alt="Indifferent" /&gt;&lt;/P&gt;
&lt;P&gt;To segmentation&amp;nbsp;αντιμετωπίστηκε από το ίδιο το λειτουργικό από την έκδοση των Windows NT 3.1 και μετά (&lt;A href="http://en.wikipedia.org/wiki/Windows_NT"&gt;http://en.wikipedia.org/wiki/Windows_NT&lt;/A&gt;)&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>