Saif's Tech Blog

  • ماذا تعرف عن قرصنة البرامج وأنواعها وكيف تواجه كبرى شركات بناء التطبيقات هذه المشكلة

    لقد جذب انتباهي في الفترة الأخيرة حديث تبادلته مع زميل لي كان يدور حول مدى صعوبة الحصول هذه الأيام على التطبيقات العملاقة مصحوبة (بملفات فك الحماية Cracks) اللازمة لتشغيل هذه التطبيقات بشكل غير قانوني.

     

    تكلف قرصنة البرامج صناعة التطبيقات مليارات الدولارات سنوياً (تقدر بأربعين مليار دولار سنوياً على مستوى العالم)، سواء بسبب خسارة عملاء قاموا بالحصول على التطبيقات بطريقة غير شرعية، أو بسبب إنفاق شركات صناعة التطبيقات مئات الآلاف لإيجاد طرق تمنع القراصنة من فك حماية تطبيقاتها أو توفير سياسات استخدام معقدة تسمح للعملاء فقط بشراء الخدمات التي يرغب في استخدامها (دون الحاجة لشراء التطبيق بالكامل). هذا وتشير دراسة إلى أن قرابة خمسة وثلاثون في المائة من التطبيقات المباعة حول العالم تستخدم بطريقة غير شرعية أو بشكل مخالف لإتفاقية الاستخدام End User License Agreement

     

     

    أنواع قراصنة البرامج (الخسائر المقدرة من قبل شركة Microsoft في عام 2006) كتالي:

     

    Casual Pirates

    الخسائر: قرابة ستمائة وثلاثون مليون دولار سنوياً

    وهم أفراد (أو جهات) يقومون بشراء التطبيقات عن طريق قنوات رسمية، ثم نشرها (سواء عن طريق نسخ الإسطوانات، نشر الرقم المسلسل...) بحرية دون التقيد بشروط (اتفاقية الاستخدام) أو End User License Agreement

     

    Soft Pirates

    الخسائر: أكثر من مليار دولار سنوياً

    وهم مجموعة من الأفراد (أو الجهات) الذين يبحثون عن ملفات فك الحماية Cracks داخل شبكة الإنترنت وهم على دراية تامة بما يبحثون عنه "ملفات فك حماية تطبيقات". مشكلة هذه الفئة أن شبكة الانترنت مليئة بملفات فك الحماية لمعظم التطبيقات العملاقة والتي من السهل العثور عليها واستخدامها حتي أصبح بإمكان طفل لا يتجاوز الخمسة أعوام فك تطبيقات تساوي مئات الدولارات في ثوان معدودة ودون أي عناء

     

    Blatant Pirates

    الخسائر: تسعمائة وعشرون مليون دولار سنوياً

    وهم مجموعة من الجهات (أو الأفراد) يمتلكون مهارات وإمكانية تقنية عالية يقوم بتوظيفها للوصول إلى طرق غير شرعية لفك حماية التطبيقات. تكمن خطورة هذه المجموعة في أنها مستعدة للذهاب إلى أبعد وأصعب الطرق لفك حماية التطبيقات. قد تكون أهداف هذه المجموعة من فك حماية التطبيقات هي الاستخدام الخاص أو النشر عن طريق شبكة الإنترنت.

     

    سأكتفي بهذا القدر هذه المرة، ولكن للحديث بقية...

    محمد سيف النصر

  • Exciting WPF Training Kit Release

    MCTS Self-Paced Training Kit (Exam 70-502): Microsoft® .NET Framework 3.5 Windows® Presentation Foundation

    If you are considering a good start to enter the world of WPF, and at the same time prepares yourself for taking the exam (70-502) to be (MCTS .NET Framework 3.5 – WPF), then this training kit is more than a good start.

     

    The author assumes a solid background about using one of the .NET main languages (VB, or C#) in addition to a practical expertise in building and deploying desktop applications using Windows Forms 2.0 and Visual Studio .NET 2005. Having this knowledge will help the reader to better understand the new features of WPF and the new solved problems.

     

    Although the exam objectives are well covered, the content arrangement was not in the best shape if you plan a comprehensive reading from cover to cover which may cause some frustration.

     

    The author has elegant and organized writing skills, which helped him to deliver ideas and explanations in a direct and plain way, without the need to spend pages and pages trying to explain simple point.

     

    Reading this book is like an exciting adventure, some chapters will amaze you with the new features of WPF like routed events, content model, 2D graphics features, multimedia integration, and last but not least data binding and validation. Some other chapters will assure you that your previous knowledge of WinForms was not a total waste.

     

    To sum up, although this book may not be the best start to learn about WPF, it is an adventure that takes you inside the world of WPF. If you consider this book as exam preparation guide, you are 100% at the right location.

     

    Regards,

  • أمن التطبيقات لتشغيل أكثر أماناً - المقالة الثالثة قريباً

    في المرة القادمة ستأحدث عن نوع آخر من الحماية، تحديداً عن (أمن المعلومات Data Security)، والذي يعد أيضاً من أهم العناصر الأمنية لأي نظام حماية يحترم نفسه، فالمعلومات تنتقل عبر الأسلاك، وهناك مئات (بل آلاف) العيون التي تراقب تنقل هذه المعلومات، بعض هذه العيون له مخططات أخرى غير المراقبة... فكيف تحمي الأنظمة الأمنية نفسها منها؟؟

     

    محمد سيف النصر
  • أمن التطبيقات لتشغيل أكثر أمانا - المقالة الثانية

    أهلا بكم من جديد. اليوم أتحدث بشيء من التفصيل عن النظام الأمني الإضافي المقدم من بنية نظام .NET Framework

     

    كما أشرت في مقالتي السابقة، يدير نظام التشغيل السياسة الأمنية بناء على الحساب الذي قام المستخدم بتسجيل دخوله به، وكانت المشكلة أنه بمجرد دخولك بحساب ذي صلاحيات واسعة، فإنه عند تشغيل أي تطبيق غير معروف المصدر، قد يسبب أضرار فادحة بالنظام، وذلك لامتلاكه نفس مستوى الصلاحيات الواسعة التي يتمتع بها حسابك.

     

    يعتمد نظام أمن .NET Framework على (الحماية الأمنية بناء على طبيعة التطبيق Code Based Security). فبنية نظام .NET Framework لا تهتم (بشكل افتراضي) بصلاحيات المستخدم المسجل دخوله على النظام حالياً، ولكنها تهتم بطبيعة البرنامج الذي يتم تشغيله. ويعتمد هذا النظام الأمني على (دليل المصدر Evidence) لتحديد السياسة الأمنية المناسبة لتشغيل هذا التطبيق. ويحتوي (دليل المصدر Evidence) على معلومات تدل على أصول هذا البرنامج، مثل: مسار التنفيذ، (الناشر Publisher)، وغيرها.

     

    فمثلاَ، يقوم (مدير النظام System Administrator) بتحديد السياسة الأمنية لتشغيل التطبيقات على النظام من خلال بعض أدوات .NET Framework مثل (caspol.exe). ويحدد السياسة الأمنية عن طريق الخطوات التالية:

     

    1. تحديد مستوى السياسة الأمنية: وهنا يوجد ثلاث مستويات هي من الأوسع إلى الأضيق (Enterprise Level) تنتطبق على جميع الأجهزة المسجلة في مجال ما، (Machine Level) تتطبق على جميع المستخدمين للجهاز الواحد، (User Level) تتطبق على مستوى المستخدم الواحد.

     

    2. يحتوي كل مستوى أمني على واحد أوكثر من (مجموعة تطبيقات Code Group)، كل واحدة منها تعرف بعنصرين. العنصر الأول هو (شرط العضوية Membership Condition)، والذي يحدد ما هي التطبيقات التي تنتمي إلى هذه المجموعة (مثل عضوية جميع التطبيقات التي تتشارك في ناشر واحد، أو جميع التطبيقات التي يتم تشغيلها من على الشبكة المحلية، أو التطبيقات التي يتم تشغيلها من على القرص الصلب للجهاز.. وغيرها). العنصر الثاني هي (مجموعة الصلاحيات الممنوحة Permission Set)، والتي تحدد ماذا يمكن وماذا لا يمكن للتطبيقات التي تحقق شرط العضوية أن تفعله، تتراوح هذه الصلاحيات من (الثقة الكاملة Full Trust) والتي تعني صلاحيات مطلقة، إلى (لا شيء Nothing) والتي تعني رفض جميع الصلاحيات بما فيها (صلاحية التشغيل Executing Permission).

     

    3. عند تشغيل البرامج يتم تطبيق أقل مجموعة صلاحيات من المستويات الأمنية الثلاثة. فمثلا إذا تم رفض صلاحية الوصول إلى (مسجل النظام System Registry) من مستوى (Enterprise)، فذلك يعني أنه لا يوجد تطبيق بإمكانه الكتابة إلى (مسجل النظام System Registry) على مستوى جميع الأجهزة والمستخدمين!

     

    4. عندما يطلب المستخدم تشغيل برنامج ما، فإن .NET Framework تقوم بالحصول على (دليل المصدر Evidence)، والذي يناء عليه سيتم تحديد إنتماء هذا البرنامج إلى أية (مجموعة تطبيقات Code Group) معرفة في النظام، وبالتالي معرفة الصلاحيات الممنوحة للتشغيل.

     

     

    مما سبق، نصل إلى أنه بالرغم من تسجيل دخولك بحساب ذي صلاحيات واسعة، قامت بنية نظام .NET Framework بحمايتك من التطبيقات غير السليمة بمنحها صلاحيات أقل..

     

    أراكم قريباً

    محمد سيف النصر

  • أمن التطبيقات لتشغيل أكثر أماناً - المقالة الأولى

     

    مع انتشار شبكات المعلومات أصبح من الهام جداً وضع خطوط دفاعية قوية، قادرة على حماية المستخدمين والمعلومات من مخربيها. تقدم بنية نظام .NET Framework نظاماً أمنياً إضافياً، يدعم نظام أمن نظام التشغيل، وأنظمة الأمن الأخرى.

     

    دعني قبل الخوض في تفاصيل نظام أمن .NET Framework بالمرور سريعا على بعض أفكار النظم الأمنية. يعتمد نظام التشغيل (مثل Windows) على نظام أمني يسمى (الحماية الأمنية بناء على حقيقة المستخدم Role Based Security)، حيث يمنح نظام التشغيل الصلاحيات بناء على (أوراق إعتماد المستخدم User Credentials)، والتي غالبا ما تكون عبارة عن كلمة سر واسم مستخدم. فمثلاً إذا قام المستخدم بتسجيل دخوله على نظام التشغيل باسم (Admin)، وهو حساب من نوع (Administrator)، فإن له الحق في القيام بأي عملية على نظام التشغيل. ولكن في حال دخوله باسم (Guest)، وهو حساب محدود الصلاحيات، فإن العمليات المصرح بالقيام بها تكون محدودة أكثر. ومن هنا نستنتج أن نظام التشغيل يحدد السياسة الأمنية للجهاز بناء على حقيقة المستخدم. ولكن السؤال هنا، ما مشكلة هذا النظام الأمني؟

     

     الإجابة تكمن في المثال التالي: تخيل أنك قمت بتسجيل دخولك إلى نظام التشغيل بحساب من نوع (Administrator)، هنا أنت تمتلك جميع الصلاحيات، ثم قمت بتشغيل برنامج من على (الشبكة المحلية Local Intranet)، فإن هذا البرنامج سيمتلك صلاحيات تشغيل غير محدودة، وقد تكون غير محظوظ في اختيارك، وبالتالي قد يسبب هذا البرنامج أضرار جسيمة بالنظام أو المعلومات. من هذا المثال، يتبين فشل نظام التشغيل في حمايتك من الضرر بسبب تسجيل دخولك بحساب (Administrator).

     

    هل من حل لهذه الثغرة الأمنية؟ الإجابة تأتي في نظام أمن .NET Framework الذي يسمى (أمن تشغيل التطبيقات Code Access Security)، والذي سيكون حديثي في المرة القادمة التي أراكم فيها.

     

     

    إلى ذلك الحين،

    محمد سيف النصر

  • محتوى تقني باللغة العربية، المعادلة الصعبة

    يشكك العديد من المطورين، ومتخصصي تقنيات المعلومات، من قدرة اللغة العربية على عرض محتوى تقني عال، دون التعدي على حرمة المصطلحات العلمية الدقيقة، والتي غالباً ما تكون باللغة الإنجليزية.

     

    من خلال قراءتك لهذا المقال، إما أن تقرر أن تعطي فرصة أخرى للغة العربية، وأيضاً للكتاب العرب، للتعبير عن أفكارهم باللغة الأم، أو أنك ستقرر أنه ولو بعد عشرات السنين لا تلمس أي كتاب أو مقال تقني عربي من الآن وصاعداً! ونظراً لما هو موجود على المحك سأحاول أن أكون حريصاً في التعامل مع المحتوى الذي سأقوم بعرضه في سلسة من المقالات العربية ذات الطابق التقني البحت.

     

    بحكم تأليفي لكتب تقنية عربية، أحدها يعد الوحيد في منطقة الشرق الأوسط، سأحاول بشكل جاد في توفير محتوى تقني دقيق، لا يشعر من يقرؤه من التقنيين العرب من أي ضيق قد ينتج عن الإفراط في (الدبلجة العربية)، وذلك عن طريق الموازنة بين المصطلحات الأجنيبة وما يقابلها من اقتراحات عربية.

     

    قريبا سأراكم مجددا

    فإلى ذلك الحين،

    محمد

  • Is the technology moving fast!

    November 2005, the release of SQL Server 2005 along with Visual Studio .NET 2005, and introducing .NET Framework 2.0. Soon after, we hear things about new .NET platform with code name “WinFx”, which later declared to be .NET Framework 3.0 and scheduled for release with Windows Vista. The .NET Framework 3.0 came with remarkable shift in platform paradigm. While most of us is just watching this tremendous changes, Microsoft announces the plans for release .NET Framework 3.5, which will be included as the runtime engine in the new SQL Server Katmai, and the upcoming Visual Studio .NET “Orcas”. Notice that I did not say anything about dozens of other technologies released almost at the same time of all the above technologies. Just for the sake of saying it (Exchange Server 2007, Office System 2007, Windows Server 2008 (soon!), and ...

     

    This put us, technology developers (hopefully not just users), in a very delegate situation. I believe that from now and on, you must prepare yourself to be flexible and agile when comes to learning new technologies, or else…

     

    Learning new technologies just will require “brave” technologists. Yes, very “brave” technologists. So the question is: Are you up for the challenge? Do you have the required braveness?

     

    Regards,

    Mohamed Saif El-Nasr
    Technical Trainer – New Horizons

    Microsoft Certified Trainer
    MCTS SQL Server 2005

    MCTS .NET Framework 2.0 Web Applications
    MCTS .NET Framework 2.0 Windows Applications
    MCTS .NET Framework 2.0 Distributed Applicaitons

    MCPD Enterprise Application Developer

  • SQL Server Future Release! Code Name "Katmai"

    SQL Server code name "Katmai" is a complete enterprise-class offering that builds upon the success of SQL Server 2005 and delivers increased functionality to a comprehensive range of applications from the desktop to the data center.

    SQL Server code name "Katmai," the next release of Microsoft SQL Server, provides a comprehensive data platform that is secure, reliable, manageable and scalable for your mission critical applications, while enabling developers to create new applications that can store and consume any type of data on any device, and enabling all your users to make informed decisions with relevant insights.

    You can find out the "Katmai" data sheet on the following link:

    Katmai datasheet

    for more information you could go to:

    http://www.microsoft.com/sql/prodinfo/futureversion/default.mspx

  • Just got my MCPD: Enterprise Application Developer, You wonder how?

    It just feel great after earning the highest certificate in the developer track (Microsoft Certified Professional Developer: Enterprise Application Developer). As being a Microsoft Certified Trainer, I am trying to find technical ways to deliver these levels of certificate back at New Horizons Cairo. The problem is there no official materials (MOCs) from Microsoft to deliver these certificates, which make it even harder to study and prepare for the exam.

     

    There is a light of hope comes from Microsoft Press. Microsoft Press released 3 books addressing the problem of lacking a material for you preparation for one of the MCPD certificate (MCPD Web, MCPD Windows, MCPD Enterprise). These books cover most of the exams areas of interest.

     

    So, the important question, how I did it? The answer is simple. The main goal of MCPD certificates is to demonstrate a practical knowledge of building and designing applications (build diagrams, take appropriate design decisions…), while MCTS certificates (Microsoft Certified Technology Specialist) the technical knowledge. It is a fact you must be MCTS certified before you could be MCPD certified (unless you got you MCSD .NET before). So, this is what it takes to be MCPD:

     

    1.       Prove you technical knowledge by earning appropriate MCTS certificate.

    2.       Has at least 2 years of experience of writing code and designing solutions.

    3.       Study the corresponding Microsoft Press Training Kit (you can get a professional training at New Horizons Cairo, which covers both MCTS and MCPD requirements).

    4.       Now you are ready to take the exam.. good luck.

     

    Let me know if any of this information had helped you..

     

    Mohamed Saif El-Nasr
    Technical Trainer – New Horizons
    Microsoft Certified Trainer
    MCTS SQL Server 2005

    MCTS .NET Framework 2.0 Web Applications
    MCTS .NET Framework 2.0 Windows Applications
    MCTS .NET Framework 2.0 Distributed Applicaitons

    MCPD Enterprise Application Developer

     

  • SQL Server 2005 achieved the #1 price/performance result

    SQL Server 2005 achieved the #1 price/performance result for 3TB TPC-H non-clustered benchmark. This is a record breaking TPC-H three terabyte benchmark for a database running on Microsoft Windows and an HP Integrity rx8640 Server. The recent TPC-H benchmark study with HP demonstrates Microsoft SQL Server’s ability to deliver enterprise scalability and performance enabling our customers to run large scale, mission critical applications with the best price/performance. This result is twice the size of previous SQL Server benchmarks achieved for the launch of SQL Server 2005 demonstrating that SQL Server continues to push the performance envelope. Furthermore, SQL Server 2005 outperformed the previous best result on Windows with performance of 60,359 QphH@3TB (queries per hour) compared to the previous record of 37,813 with a much better price/performance of $32.60 compared to $38.00.*

    * TPC results as of 5/21/07. HP Integrity rx8640 (with SQL Server), 60359 QphH@3TB, 32.60 $/QphH@3TB, available 5/21/07.

    HP Integrity rx8640 (with Oracle), 37813 QphH@3TB, 38.00 $/QphH@3TB, available 5/14/07.

    Source: Transaction Processing Performance Council (www.tpc.org).

Post Calendar

<February 2012>
SuMoTuWeThFrSa
2930311234
567891011
12131415161718
19202122232425
26272829123
45678910

Syndication






© All rights are reserved