آخرین اخبار و مقالات و مطالب پیرامون کدهای جاوا در ایران آی سی تی نیوز ، پایگاه فناوری اطلاعات و ارتباطات ایران

بر روی این دامنه اینترنتی

سیستم مدیریت محتوا

پارس

سی ام اس

نصب شده است که نرم افزاری قوی جهت

طراحی سایت

می باشد.

طراحی وب

با استفاده از

پرتال

(

پورتال

) پارس منجر به

طراحی وب سایت

شما می شود.

طراحی وب سایت

کپی رایت

پورتال

پارس

حفظ امنیت کدهای نوشته شده به زبان جاوا

با وجود کارایی زیاد و انعطاف پذیری بالای زبان برنامه نویسی جاوا، این ابزار قدرتمند و رو به توسعه هنوز نتوانسته جایگاه مناسبی برای پیاده سازی پروژه های تجاری در مقایسه با سایر framework های موجود بیابد. از جمله دلایل اصلی عدم استفاده از جاوا در بیشتر پروژه های بزرگ تجاری، می توان به مشکل بازگشت پذیری یا decompile شدن کدهای نوشته شده، با این زبان برنامه نویسی اشاره کرد که این خود به تنهایی یک معضل بزرگ امنیتی در مسیر توسعه نرم افزارهای تجاری با استفاده از این ابزار به شمار می آید.
برنامه های نوشته شده در جاوا به دلیل استفاده از واسط زمان اجرای java runtime environment یا به طور اختصار jre برای مهیا کردن بستری مناسب برای جلوگیری از کامپایل مجدد کد منبع و همچنین حفظ قابلیت جابه جایی و استفاده در پلتفرم های مختلف، پس از کامپایل به جای تبدیل شدن به زبان ماشین یا همان «صفر» و «یک» به قالب خاصی از داده ها به نام byte code تبدیل می شود که این خروجی همان قالب قابل فهم و اجرا برای jre است.
همین موضوع باعث می شود کد برنامه های نوشته شده به زبان جاوا را با استفاده از متدهای مهندسی معکوس تا حدود زیادی بازیابی کرد. این مشکل به حدی جدی است که شرکت توسعه دهنده زبان جاوا یعنی سان میکروسیستمز، اقدام به ارائه ابزاری به نام obfuscator برای مبهم سازی کد منبع نوشته شده از طریق تزریق کدهای اضافی به زبان جاوا کرده تا پس از انجام عملیات دیکامپایل، کاربران نتوانند به راحتی قطعات مختلف کد حاصل را درک و تفسیر کنند.
اجرای این برنامه به گونه ای است که در بدنه توابع و کلاس ها در نتیجه نهایی و خروجی اصلی برنامه تغییری را در پی نخواهد داشت. البته استفاده از این متد که به صورت توکار (یا درون ساخت built-in) هم در کتابخانه های جاوا و هم توسط ide پیش فرض شرکت سان، یعنی netbeans نیز پشتیبانی می شود، نمی تواند تمام آنچه که برنامه نویسان برای ایجاد امنیت بیشتر به آن نیاز دارند را تامین کند. گذشته از این، استفاده از روش مذکور سبب افزایش حجم فایل اجرایی پس از کامپایل، کندی در بارگذاری و اجرای برنامه، سخت تر شدن انجام عملیات اشکال زدایی (دیباگ)، بالا بردن میزان استفاده از حافظه اصلی و تحمیل بار مضاعف بر دوش پردازنده به دلیل استفاده مکرر از حلقه های تکرار و تصمیم گیری می شود.
در این میان روشی کاملا ابتکاری توسط برخی برنامه نویسان برای هر چه بالاتر بردن ضریب امنیت در کدهای جاوا یا حتی دیگر زبان های برنامه نویسی که از یک قالب همسان با فریم ورک جاوا بهره می برند، ارائه شده است. این روش که به متد رمزگذاری (encryption) معروف است، هم اکنون به عنوان یکی از بهترین و موثرترین راه حل های مطرح شده برای حفاظت از کدهای جاوا شناخته می شود. تفاوت عمده این روش با دیگر متدها در این است که روش رمزگذاری از آغاز تا پایان باید توسط برنامه نویس و گروه توسعه دهنده پروژه پیاده سازی شود؛ برخلاف روش obfuscator که برای مبهم کردن کد منبع از الگوهای محدود و تکراری استفاده می کند.
شاید این موضوع در نگاه اول کمی دشوار به نظر برسد اما کارایی واقعی روش رمزگذاری به این موضوع وابسته است که منطق رمزنگاری در برنامه شما می تواند کاملا متفاوت با تصور دیگران یا به عبارت دیگر کاملا ابتکاری و شخصی باشد.
رفتار متد رمزگذاری
در این روش فرض بر این است که تمام یا تعدادی از کلاس های نوشته شده، به جز کلاس اصلی پروژه و کلاسی که قرار است عملیات کدبرداری دیگر کلاس ها را انجام دهد، با استفاده از یک برنامه واسط و یک کلید اصلی به مجموعه ای از کاراکترهای غیرقابل فهم و نامفهوم تبدیل شده است. سپس کلاس های کدشده در مسیر مناسب به پروژه افزوده می شوند.
کلاس اصلی پروژه باید بتواند با استفاده از توابعی که برای رمز گشایی کلاس های کدشده توسط برنامه نویس طراحی شده اند، کلاس های مذکور را در حافظه دیکد و بازسازی کند تا در محل و زمان مناسب فراخوانی و استفاده شوند. به این ترتیب حتی بعد از دیکامپایل شدن برنامه نیز کاربران با انبوهی از کلاس های رمزگذاری شده و کاراکترهای غیرقابل فهم روبه رو خواهند شد.
نحوه پیاده سازی
پیش از هر چیز باید گفت که بهترین حالت ممکن برای پیاده سازی روش رمزگذاری، زمانی است که تمام برنامه نویسی های مربوط به کلاس ها و متدهایشان به صورت کامل انجام شده و پروژه آماده کامپایل شدن نهایی باشد. همان طور که پیشتر نیز گفته شد، برای پیاده سازی این متد ما نیاز به یک برنامه واسط برای رمزنگاری کلاس های مورد نظرمان با استفاده از یک کلید اصلی و بر اساس الگویی که برنامه نویس مشخص کرده است داریم. برای نمونه، برنامه ساده ای بنویسید که تمام کاراکترهای یک فایل از نوع کلاس جاوا را به عنوان ورودی دریافت کرده و با یک مقدار به عنوان کلید اصلی xor کند. سپس باید کلاس یا تابع مستقلی برای کدبرداری کلاس های رمزگذاری شده با استفاده از همان کلید اصلی نوشته شود تا در هنگام اجرای برنامه بتوانیم با فراخوانی آن، کلاس های کد شده را در حافظه رمزگشایی و دوباره سازی کنیم و سرانجام برنامه بدون هیچ مشکلی بتواند اجرا شود. توجه داشته باشید که کلید اصلی به عنوان یک عنصر حیاتی برای حفظ امنیت و حتی ضامن اجرای صحیح برنامه، می تواند برای هر کلاس به صورت متفاوت تولید شود یا از مجموعه چند عملیات پیچیده ریاضی روی مقادیر گوناگون به دست آمده باشد، یا حتی روی یک قفل سخت افزاری ذخیره شود تا برنامه بدون وجود آن اصلا اجرا هم نشود.
برای پنهان ماندن الگوریتم کدبرداری کلاس ها نیز می توانید از فایل های کتابخانه ای پویا و استاندارد (برای ویندوز پسوند dll و برای گنولینوکس پسوند so) نوشته شده با زبان c استفاده کنید. البته در این حالت پیاده سازی الگوریتم رمزگشایی باید در همین کتابخانه ها انجام شود و همین طور برای حفظ قابلیت اجرا و انتقال روی سایر پلتفرم ها نیز باید کتابخانه های مورد نیاز و قابل استفاده روی سایر پلتفرم ها را هم ایجاد کرده و همراه با دیگر منابع به پروژه بیفزایید تا بتوانید با توجه به نوع سیستم عامل، فایل کتابخانه مورد نظر را بارگذاری کرده و توابع مورد نیاز برای رمزگشایی را از داخل این فایل ها فراخوانی کنید.
نتیجه گیری
روش یا متد رمزگذاری راه حل مناسبی برای حفظ امنیت کد برنامه های نوشته شده به زبان جاواست که بر خلاف دیگر روش های معمول در روند عادی اجرای برنامه خللی وارد نمی کند و در صورتی که به درستی پیاده سازی شود حتی می توان با اتکا به آن از فریم ورک جاوا، بدون ترس از دیکامپایل شدن برنامه در پروژه های تجاری بزرگ و مستقل از سکو نیز استفاده کرد و با خیال راحت از مواهب بسیار زیاد جاوا برخوردار شد.
منابع
http://java.sun.com
http://www.javaworld.com
http://www.devarticles.com
محمد جواد احمدی


قیام اوراکل علیه گوگل

... شرکت کامپیوتری اوراکل علیه گوگل شکایت کرد و این شرکت را به خاطر سرقت اختراع جاوا و استفاده از آن در سیستم عامل آندروید، مقصر دانست ... به گزارش بتانیوز، جاوا که پیش از این در اختیار شرکت سان بود، هم اکنون به عنوان زیرمجموعه اوراکل به شمار می آید ... » در این شکایت آمده است که آندروید از هفت فناوری جاوا که حقوق آن در اختیار اوراکل است، استفاده غیرقانونی کرده است: - محافظت دامنه هایی که در سیستم کامپیوتری امنیت ایجاد می کنند - کنترل دسترسی به یک منبع خاص - متد و اسباب لازم برای پیش پردازش و بسته بندی فایل های کلاس - سیستم و متد لازم برای پیش بارگذاری دینامیک کلاس ها در فضای حافظه - متد و اسباب لازم برای شناختن داده در کد تولیدی - تفسیر توابعی که نقش ترکیبی دستورات ماشین و دستورات ماشین مجازی را شناسایی می کنند - متد و سیستم لازم برای بهبود آغاز استاتیک ... هر چند وقتی کد به حالت اجرایی تبدیل شد، دیگر بایت کدهای جاوا در آن به کار نرفته است و تنها عملیات اولیه آن با جاوا مشابه است ... گوگل روز جمعه در بیانیه ای کوتاه و رسمی اعلام کرد: «از این که اوراکل به گوگل و جامعه منبع باز جاوا با این شکایت بی پایه حمله کرده است، متاسفیم ... جامعه منبع باز جاوا فراتر از کار هر سازمانی است و هر روز تلاش می کند تا وب را به مکانی بهتر تبدیل کند ...

منبع : جام جم آنلاین    تاریخ : 31   مرداد   1389   شاخه : شرکت ها   


فایرفاکس 3٫7 با مدیر جدید افزونه ها از راه می رسد

... گفتنی است با توجه به اینکه فایرفاکس در قابلیت مدیریت افزونه ها از کدهای جاوا اسکریپت استفاده می کند، شما برای استفاده از آن باید گزینه اجرای جاوا اسکریپت را همیشه فعال نگاه دارید ...

منبع : وین بتا    تاریخ : 14   اردیبهشت   1389   شاخه : نرم افزار   


نرم افزارapple safari 4.0.5 final

... همچنین توسط این مرورگر می توان از نمایش یکسری از مندرجات درون وب سایت ها نیز جلوگیری به عمل آورد که این مندرجات می توانند شامل فعالیت های کدهای جاوا اسکریپت و همچنین پلاگین ها و دیگر موارد باشد ...

منبع : بازیاب    تاریخ : 3   فروردین   1389   شاخه : اینترنت   


کشف آسیب پذیری جدید در اینترنت اکسپلورر

... شرکت سیمانتک درباره چگونگی عملکرد این کد می گوید: هکرها برای استفاده از این حفره امنیتی کاربران را به وب سایتی می کشانند که حاوی کدهای مخرب جاوا اسکریپت است ... سیمانتک اعلام کرد: به منظور کاهش احتمال آلودگی توسط این کد مخرب، کاربران مرورگر ie باید آنتی ویروس خود را به روز کنند، کدهای جاوا اسکریپت را غیر فعال کنند و تنها در سایت های معتبر و ایمن به گشت و گذار بپردازند تا وصله امنیتی لازم از سوی مایکروسافت منتشر شود ...

منبع : فناوران    تاریخ : 2   آذر   1388   شاخه : امنیت   


ممنوعیت درآمدزایی در بلاگفا

... به گزارش ایسنا، براساس اعلام سایت بلاگفا، برخی از سیستم های کلیکی به صورت مشخص کدهای مخرب و ویروس یا تروجان به کامپیوتر کاربران ارسال می کردند و در موارد بسیار متعددی شاهد بودیم که وبلاگ های غیراخلاقی صرفا به طمع استفاده از منافع مالی حاصل از این سیستم ها توسط برخی افراد سودجو ایجاد شده اند و متاسفانه نظارت مناسبی از طرف مدیران این سایت های کسب درآمد اعمال نمی شد ... علاقه ای نداریم که در استفاده از اسکریپت ها و کدهای جاوا محدودیت بیشتری ایجاد کنیم، اما از کاربران سایت می خواهیم که به هیچ عنوان از کدهای سیستم های کسب درآمد براساس کلیک و یا موارد مشابه (مانند مشارکت در فروش و ... مسوولان بلاگفا اعلام کرده اند که از این پس با وبلاگ هایی که کدهای ممنوعه در قالب وبلاگ خود استفاده می کنند، برخورد کرده و حتی تا مسدود شدن دائم آن وبلاگ هم پیش بروند ...

منبع : جام جم آنلاین    تاریخ : 5   مهر   1388   شاخه : اینترنت   


راهنمای مدیران؛ انتخاب طراح وب سایت

... اگر در این حین توسط کدهای نوشته شده در سایت سردرگم شوند، از آنها می گذرند و یا اعتبار سایت را پایین می آورند ... موتورهای جست وجو هنگامی که با کدهای جاوا که به درستی در جایگاه مناسب قرار نگرفتند، برخورد می کنند گمراه می شوند ... در طراحی وب سایت باید تمام فاکتورها مانند کم حجم کردن تصاویر، بهینه سازی دسترسی به بانک های اطلاعاتی، کوچک کردن کدهای نوشته شده و ... کدهای استاندارد را چک کنید اطمینان حاصل کنید که طراح وب سایت مورد نظر شما، با استانداردهای وب مانند css، html 4، xhtml، rss آشنا هستند ...

منبع : اخبار فناوری اطلاعات    تاریخ : 5   مهر   1388   شاخه : وب   


ممنوعیت استفاده از سایت های کسب درآمد در بلاگفا

... برخی از سیستمهای کلیکی بصورت مشخص کدهای مخرب و ویروس یا تروجان به کامپیوتر کاربران ارسال می کردند و در موارد بسیار متعددی شاهد بودیم که وبلاگهای غیر اخلاقی صرفا به طمع استفاده از منافع مالی حاصل از این سیستمها توسط برخی افراد سودجو ایجاد شده اند و متاسفانه نظارت مناسبی از طرف مدیران این سایتهای کسب درآمد اعمال نمی شد ... علاقه ای نداریم که در استفاده از اسکریپتها و کدهای جاوا محدودیت بیشتری ایجاد کنیم اما از کاربران سایت می خواهیم که به هیچ عنوان از کدهای سیستمهای کسب درآمد براساس کلیک و یا موارد مشابه (مانند مشارکت در فروش و ... توجه داشته باشید که این پس نسبت به وبلاگهایی که کدهای ممنوعه در قالب وبلاگ خود استفاده می کنند برخورد خواهد شد و ممکن است به محض رویت تبلیغات سایتهای کسب درآمد وبلاگهای فوق مسدود شوند ...



انتقال مطالب وبلاگ وطنی تون به وردپرس

... همچنین بهتر است از فایرفاکس به tools>option>content رفته، تیک enable javascript را برداشته، ok را بفشارید، بویژه اگر در وبلاگ از کدهای جاوا استفاده کرده باشید ...

منبع : خوارزمی    تاریخ : 13   شهریور   1388   شاخه : ترفندها   


لینوکس تحت وب

... بازی دووم قدیمی و یا لینوکس dsl در مرورگر شما! jpc نام محصولی است که به کمک کدهای جاوا، کامپیوترهای x86 را شبیه سازی کرده است، به همین جهت شما می توانید با راه اندازی اپلت جاوای آن، درست داخل مرورگر خود، یک لینوکس یا حتی بازی دووم قدیمی را اجرا کنید ...

منبع : بازیاب    تاریخ : 26   تیر   1388   شاخه : وب   

صفحه 1
2 3 4


Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player