<?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>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59719.aspx</link><pubDate>Tue, 24 Aug 2010 16:49:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59719</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59719.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59719</wfw:commentRss><description>1. Όταν χρησιμοποιείς κάτι έτοιμο έχεις πάντα ένα ρίσκο: Όταν (και όχι άν) βγει ένα 0-day, απλά έχασες.&lt;br&gt;&lt;br&gt;2. Στο θέμα του security και ειδικά της μεθόδου login/password pair θα συμφωνήσω με αυτό που είπε ο Μάνος ("&lt;i&gt;...και να έχεις στο μυαλό σου ότι το θέμα του security είναι πολύ 
ιδιαίτερο, τόσο που αξίζει/συμφέρει/πρέπει να κάνεις κάτι δικό σου, μόνο
 αν το κατέχεις σε βάθος το πράγμα.&lt;/i&gt;") και να προσθέσω: Αξίζει/Πρέπει να το κατέχεις καλά το θέμα και να φτιάξεις κάτι δικό σου χρησιμοποιόντας ή/και επεκτείνοντας κάποιες ήδη έτοιμες τεχνικές.&lt;br&gt;&lt;br&gt;3. Για τις ερωτήσεις που κάνεις (αν είναι ασφαλές το prefix, suffix salts + MD5 κλπ) εμένα προσωπικά με κάλυψε 100% ο &lt;a&gt;darklynx&lt;/a&gt; οπότε δεν θα φλυαρίσω παραπάνω.&lt;br&gt;&lt;br&gt;4. Για το αν και πότε πρέπει να κοιμάσαι ήσυχος πάντως μία είναι η λύση: Ξεκνάς με 1 Lexotanil. Αν δεν δεις προκοπή πας στα πιο σίγουρα: tavor. Άλλη λύση (fmo) δεν υπάρχει... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;br&gt;&lt;br&gt;5. Aναφέρθηκες όμως μόνο στο login/pass storage που είναι η μία όψη του νομίσματος, από την μεριά του server (και δη της database). Υπάρχει και ο client. Εκεί θα παίξεις με session cookies? Θέματα σαν το &lt;a href="http://www.owasp.org/index.php/Cross-Site_Request_Forgery_%28CSRF%29"&gt;Cross Site Request Forgery&lt;/a&gt; και το &lt;a href="http://en.wikipedia.org/wiki/Session_fixation"&gt;Session Fixation&lt;/a&gt; πρέπει να σε απασχολήσουν. &lt;br&gt;&lt;br&gt;Νομίζω οτι η παρακάτω παρουσίαση που έγινε στο Athcon 2010 θα σε βοηθήσει να πάρεις μια πρώτη ιδέα:&lt;br&gt;&lt;a href="http://p0wnbox.com//index.php?showtopic=1798"&gt;http://p0wnbox.com//index.php?showtopic=1798&lt;/a&gt;&lt;br&gt;</description></item><item><title>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59647.aspx</link><pubDate>Sun, 08 Aug 2010 14:08:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59647</guid><dc:creator>zeon</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59647.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59647</wfw:commentRss><description>Όλα καλά τελικά. Ευχαριστώ πολύ και τους δυό σας για τις απαντήσεις. Το asp.net membership με κάλυψε&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59644.aspx</link><pubDate>Sat, 07 Aug 2010 18:02:10 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59644</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59644.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59644</wfw:commentRss><description>&lt;P&gt;Χαχα, οκ, ψυχραιμία! Θα πρέπει να αφιερώσεις λίγο χρόνο και όταν πρόκειται για τέτοιες καταστάσεις (research, learn, κλπ) χρειάζεται ξεκούραστο μυαλό.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59643.aspx</link><pubDate>Sat, 07 Aug 2010 16:57:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59643</guid><dc:creator>zeon</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59643.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59643</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;KelMan:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;Βιάζεσαι να βγάλεις συμπέρασμα χωρίς να έχεις μελετήσει το θέμα. Όλα αυτά που λες γίνονται μια χαρά. Δες εδώ &lt;a href="http://www.asp.net/security/tutorials"&gt;http://www.asp.net/security/tutorials&lt;/a&gt;&amp;nbsp;για περισσότερα. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Εκεί είμαι ... με 2 ώρες ύπνο :D&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59642.aspx</link><pubDate>Sat, 07 Aug 2010 16:47:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59642</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59642.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59642</wfw:commentRss><description>&lt;P&gt;Βιάζεσαι να βγάλεις συμπέρασμα χωρίς να έχεις μελετήσει το θέμα. Όλα αυτά που λες γίνονται μια χαρά. Δες εδώ &lt;A href="http://www.asp.net/security/tutorials"&gt;http://www.asp.net/security/tutorials&lt;/A&gt;&amp;nbsp;για περισσότερα. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59641.aspx</link><pubDate>Sat, 07 Aug 2010 15:57:22 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59641</guid><dc:creator>zeon</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59641.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59641</wfw:commentRss><description>Ενδιαφέρον το  &lt;a href="http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx"&gt;ASP.NET Membership&lt;/a&gt; και μάλιστα στο 2010 είναι και σχετικά ή μάλλον απλά εύκολο. Όσο όμως μένεις στα βασικά που δίνονται. Αν θέλω να κάνω store σε δικιά μου βάση, να καρατάω περισσότερα στοιχειά για τους χρήστες, να κάνω reset το password μπλέκει δυστυχώς το θέμα. Εκτός αν εγώ δεν το έχω πιάσει καλά.&lt;br&gt;</description></item><item><title>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59640.aspx</link><pubDate>Fri, 06 Aug 2010 22:02:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59640</guid><dc:creator>darklynx</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59640.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59640</wfw:commentRss><description>Συμφωνώ και εγώ για τη λύση του ASP.NET Membership Provider,σε καλύπτει σχεδόν στα πάντα.Όσον αφορά τις ερωτήσεις σου,το MD5 δεν είναι ασφαλές εδώ και μια πενταετία,το SHA-1 είναι σχετικά ασφαλέστερο και υποστηρίζεται από το .NET (έχουν βρεθεί αδυναμίες του αλλά δεν έχει πρακτικά "σπάσει") και το SHA-2 ακόμα δεν έχει υποστεί επιθέσεις.Τα prefix και suffix για να είναι αποτελεσματικά πρέπει να είναι random,δες την τεχνική που ονομάζεται &lt;a href="http://en.wikipedia.org/wiki/Salting_(cryptography)"&gt;salting&lt;/a&gt;&amp;nbsp;για περισσότερες λεπτομέρειες.Τέλος για να κάνεις δύσκολη τη δουλειά αυτού που προσπαθεί να "σπάσει" το σύστημα μπορείς να κάνεις τα εξής : καλό validation του user input προτού το επεξεργαστείς καν, να επιβάλεις στους χρήστες σύνθετους κωδικούς (με ειδικούς χαρακτήρες κ.τ.λ ) που να κάνουν δύσκολη τη χρήση dictionary στις επιθέσεις,να περιμένεις δύο δευτερόλεπτα ανά δύο διαδοχικές προσπάθειες και ανά 5 λάθος προσπάθειες να επιβάλεις γεωμετρικά αυξανόμενη αναμονή με τις δύο τελευταίες τεχνικές να κάνουν εφιάλτη τις brute force τεχνικές.</description></item><item><title>Απ: Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59639.aspx</link><pubDate>Fri, 06 Aug 2010 21:21:21 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59639</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59639.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59639</wfw:commentRss><description>&lt;P&gt;Θεωρώ ότι μπορείς να κοιμάσαι ήσυχος αν χρησιμοποιήσεις το &lt;A href="http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx"&gt;ASP.NET Membership&lt;/A&gt; το οποίο έχει λύσει προ πολλού όλα αυτά τα θέματα που αναφέρεις. Δεν χρειάζεται να ασχοληθείς με το πώς γίνεται το&amp;nbsp;storage&amp;nbsp;του&amp;nbsp;password&amp;nbsp;(hashed ή encrypted, salt, κλπ), το πότε γίνεται locked-out ο χρήστης, το πώς γίνεται recover το password, και ένα σωρό άλλα τέτοια. Από εκεί και πέρα καλό θα είναι να διαβάσεις το security guide από το patterns &amp;amp; practices (&lt;A href="http://msdn.microsoft.com/en-us/library/aa302415.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa302415.aspx&lt;/A&gt;) και να έχεις στο μυαλό σου ότι το θέμα του security είναι πολύ ιδιαίτερο, τόσο που αξίζει/συμφέρει/πρέπει να κάνεις κάτι δικό σου, μόνο αν το κατέχεις σε βάθος το πράγμα. &lt;/P&gt;</description></item><item><title>Users passwords encryption</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/59628.aspx</link><pubDate>Wed, 04 Aug 2010 04:54:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:59628</guid><dc:creator>zeon</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/59628.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=59628</wfw:commentRss><description>Στο παρελθόν σε διάφορες asp.net εφαρμογές έχω εφαρμόσει μεθόδους για encryption και storing σε database passwords χρηστών, αλλά αυτές οι εφαρμογές ήταν σε επίπεδο intranet ή τέλος πάντων όχι τόσο μαζικές και τώρα υπάρχει αναγκαιότητα για asp.net εφαρμογή σε μεγάλο range χρηστών (βασικά σε όλο το διαδύκτιο) θα ήθελα κάποιος έμπειρος να μου πει την άποψή του αν με τα παρακάτω είμαι οκ ή τέλος πάντων σχετικά οκ.&lt;br&gt;Παίρνω το password που δίνει ο χρήστης και προσθέτω prefix και suffix. Εκτελώ md5 και αποθηκεύω αυτό που παίρνω. &lt;br&gt;Prefix και suffix μπορώ να βάλω με διάφορους τρόπους και ανάλογα με το record ίσως. &lt;br&gt;Το θέμα είναι πως μπορώ να έχω όσο το πιο δυνατόν "καλύτερα" suffix και prefix? Να μην μπορεί κάποιος να τα "μαντέψει/βρει"? Ή κάτι τέτοιο δεν χρειάζεται να με απασχολεί?&lt;br&gt;Και δεύτερον με αυτό τον τρόπο, μπορώ να κοιμάμαι σχεδόν ήσυχος?&lt;br&gt;Ποιες άλλες μεθόδους μπορώ να ακολουθήσω για ακόμα καλύτερη ασφάλεια? Να κάνω ας πούμε ανενεργό ένα χρήστη αν δοκιμάσει κάποιες φορές λάθος pass? &lt;br&gt;&lt;br&gt;Ευχαριστώ εκ των προτέρων&lt;br&gt;</description></item></channel></rss>