اگر به مقالات منتشرشده در حوزه امنیت نگاهی داشته باشید، مشاهده میکنید بخش عمدهای از این مقالات پیرامون مباحث فنی و کار با ابزارها هستند، در حالی که برای موفقیت در دنیای امنیت مسائل مهم دیگری مثل حاکمیت، ریسک و انطباق وجود دارد. چگونه این سه اصل مهم را در قالب یک فرآیند عملی پیادهسازی کنیم؟ پاسخ در مفهومی بهنام چارچوب (Framework) خلاصه میشود که زیرساختی منسجم برای مدیریت مخاطره یا کنترلهای امنیتی در اختیارمان قرار میدهد. مزیت بزرگ چارچوب این است که آزادی عمل زیادی ارائه میدهد تا خطمشیها را هماهنگ با نیازهای کاری پیادهسازی کنید. بهطور کلی، چارچوبها به سه گروه مهم چارچوبهای مخاطره، چارچوبهای امنیت اطلاعات و چارچوبهای معماری سازمانی تقسیم میشوند. چارچوب مدیریت مخاطره اهمیت بیشتری نسبت به دو نمونه دیگر دارد، زیرا امکان پیادهسازی موفق هر برنامه امنیت اطلاعاتی را بهوجود میآورد و اجازه میدهد دو چارچوب دیگر را بر مبنای آن بدون مشکل پیادهسازی کنیم.
مروری بر چارچوبها
چارچوب یک ساختار اساسی در بطن معماریهای بزرگ امنیتی است که راهحلها بر مبنای آن پیادهسازی میشوند. بنابراین، چارچوبها در فناوری اطلاعات و امنیت سایبری با هدف ارائه ساختاری مورد استفاده قرار میگیرند تا بتوانیم بر مبنای آن مخاطرات را مدیریت کنیم، معماریهای سازمانی را توسعه دهیم و همه داراییهای خود را ایمن کنیم. چارچوبها نقشه راهی هستند که کارشناسان فناوری اطلاعات و امنیت سایبری یک سازمان بر آن اتفاق نظر دارند و با در نظر گرفتن مسائل مختلف تدوین میشوند. چارچوبها دارای مولفههای مختلفی هستند که از مهمترین آنها به موارد زیر باید اشاره کرد:
مخاطره (Risk)
در زیرمجموعه مخاطره چهار استاندارد مهم زیر وجود دارد:
NIST RMF: چارچوب مدیریت مخاطرهای است که توسط موسسه ملی استانداردها و فناوری ایجاد شده است و خود ماحصل همگرایی سه خطمشی ارائهشده توسط موسسه NIST Special Publications به نامهای 800-39، 800-37 و 800-30 است.
ISO/IEC 27005: چارچوبی است که روی رفع مخاطره متمرکز است و توسط سازمان International Organization for Standardization در زیرمجموعه استاندارد ISO/IEC 27000 انتشار پیدا کرده است.
OCTAVE: چارچوب ارزیابی تهدید، دارایی و آسیبپذیری در عملیات حیاتی است که دانشگاه کارنگی ملون آنرا توسعه داده و بر ارزیابی ریسک متمرکز است.
FAIR : چارچوب تحلیل مخاطره اطلاعات است که توسط موسسه FAIR منتشر شده و بر اندازهگیری دقیقتر احتمال بروز حوادث و تاثیرات آنها بر فعالیتهای تجاری تمرکز دارد.
برنامه امنیتی (Security Program)
سری ISO/IEC 27000: مجموعهای از استانداردهای بینالمللی در مورد نحوه توسعه و نگهداری سیستم مدیریت امنیت اطلاعات (ISMS) است که توسط دو سازمان ISO و IEC ایجاد شده است.
NIST Cybersecurity Framework: چارچوب امنیت سایبری NIST با هدف ایمنسازی سامانههای مورد استفاده در موسسات دولتی تدوین شده است. این چارچوب پرکاربرد و جامع بر روی تامین امنیت اطلاعاتی که مخاطره زیادی دارند، متمرکز است.
کنترلهای امنیتی (Security Controls)
NIST SP 800-53: فهرستی از کنترلها و فرآیندهای انتخابی است که برای محافظت از سیستمهای فوق حساس به آن استناد میشود.
کنترلهای CIS: سازمان غیرانتفاعی Center for Internet Security یکی از سادهترین رویکردها برای محافظت از داراییها و اطلاعات حساس سازمانی را ارائه کرده که قابل پیادهسازی در شرکتهای بزرگ و کوچک هستند.
COBIT 2019: یک چارچوب تجاری است که تمرکزش بر نحوه مدیریت و حاکمیت فناوری اطلاعات در شرکتها است.
Zachman Framework: مدلی برای توسعه معماریهای سازمانی است که توسط جان زاچمن (John Zachman) توسعه پیدا کرده است.
Open Group Architecture Framework: مدلی برای توسعه معماریهای سازمانی است.
SABSA: معماری امنیت کسبوکار کاربردی شروود سرنام Sherwood Applied Business Security Architecture مدل و روشی برای توسعه معماری امنیت اطلاعات سازمانی ریسکمحور و مدیریت خدمات است. ویژگی اصلی مدل SABSA این است که تمرکز زیادی روی تجزیهوتحلیل الزامات تجاری با هدف تامین امنیت آنها دارد.
چارچوبهای ریسک
چارچوب مدیریت مخاطره (RFM) سرنام Risk Management Framework را باید بهعنوان یک فرآیند ساختاریافته تعریف کرد که به سازمان اجازه میدهد مخاطره را شناسایی و ارزیابی کند و آنرا تا حد قابل قبول کاهش دهد و اطمینان حاصل کند مخاطره در سطح قابل قبول و کنترلشدهای وجود دارد. در اصل، RMF یک رویکرد ساختاریافته برای مدیریت مخاطره (ریسک) است.
همانگونه که مشاهده میکنید، طیف گستردهای از چارچوبهای مدیریتی در دسترس قرار دارند، آنچه برای شما بهعنوان یک متخصص امنیت اطلاعات باید مهم باشد این است که اطمینان حاصل کنید سازمان دارای یک RMF است که بدون مشکل کار میکند. برخی چارچوبها در مقایسه با نمونههای دیگر مورد پذیرش بیشتر سازمانها قرار دارند، زیرا کارکرد مثبت خود در طول سالهای گذشته را نشان دادهاند. از اینرو، هنگام انتخاب یک چارچوب باید تحقیق کاملی انجام دهید و گزینه هماهنگ با استراتژیهای تجاری سازمان را انتخاب یا در صورت لزوم ویرایش و پیادهسازی کنید. یکی از چارچوبهای موفق و مهم در این حوزه NIST RMF است که قصد داریم در ادامه با مفهوم و مولفههای آن آشنا شویم.
NIST RMF
چارچوب NIST برای کمک به سازمانهایی با ابعاد مختلف و عمدتا بزرگ تنظیم شده و روی حفظ حریم خصوصی هنگام تهیه یک محصول، خدمات یا اطلاعات متمرکز است. هدف اصلی این دستورالعمل، ارتقاء امنیت زیرساختهای حیاتی سازمانهای بزرگ در برابر حملههای داخلی و خارجی است. بهطور خاص،NIST پنج رویکرد اصلی را برای مدیریت ریسکهای موجود در امنیت دادهها و اطلاعات پیشنهاد میکند. این عملکردها عبارتند از: شناسایی، محافظت، تشخیص، پاسخگویی و بازیابی. توضیح اجمالی هر یک از عملکردها بهشرح زیر است:
شناسایی (Identify): به سازمانها در شناسایی مخاطرات امنیتی پیرامون داراییها، محیط کسبوکار و حاکمیت فناوری اطلاعات از طریق فرآیندهای جامع ارزیابی و مدیریت ریسک کمک میکند.
محافظت (Protect): کنترلهای امنیتی مورد نیاز برای حفاظت از سیستمهای اطلاعاتی و دادهها را تعریف میکند و شامل کنترل دسترسی، آموزش و آگاهسازی، امنیت دادهها، روشهای حفاظت از اطلاعات و نگهداری از فناوریهای محافظتی است.
تشخیص (Detect): دستورالعملهایی برای تشخیص ناهنجاریها در سیستمهای امنیتی، نظارتی و شبکهها برای تفکیک حوادث امنیتی از حوادث غیرامنیتی مثل خرابی تجهیزات ارائه میدهد.
پاسخ (Repones): شامل توصیهها و تکنیکهایی در جهت برنامهریزی با هدف پاسخگویی به رویدادهای امنیتی، کاهش ریسک و فرایندهای پاسخگویی به حوادث است.
بازیابی (Recovery): دستورالعملهایی را ارائه میدهد که سازمانها میتوانند از آنها برای بازگشت به شرایط پایدار در هنگام بروز حملههای سایبری استفاده کنند.
این چارچوب شامل عناصر کلیدی مدیریت ریسک است که باید بهعنوان یک متخصص امنیتی در مورد آنها اطلاع داشته باشید. ذکر این نکته ضروری است که چارچوب فوق برای سازمانهای بزرگ طراحی شده و ممکن است برای پیادهسازی در سازمان مجبور به اعمال تغییراتی در ساختار کلی آن باشید. NIST RMF بر مبنای یک فرآیند هفت مرحلهای کار میکند
به این نکته مهم دقت کنید که چرخه نشاندادهشده در شکل ۱ بیپایان است، زیرا سیستمهای اطلاعاتی دائما در حال تغییر هستند. هر تغییری باید تجزیهوتحلیل شود تا مشخص شود که آیا نیازی به اعمال تغییر در مراحل دیگر ضروری است یا خیر. توضیح هر یک از مراحل نشاندادهشده در شکل 1 بهشرح زیر است:
شکل 1
آمادهسازی (Prepare)
اولین قدم حصول اطمینان از این مسئله است که فعالیتهای مدیران ارشد (در هر دو سطح استراتژیک و عملیاتی) در یک سازمان هماهنگ باشد. این موضوع شامل توافق بر سر نقشها، اولویتها، محدودیتها و تحمل مخاطره است. یکی دیگر از فعالیتهای کلیدی در مرحله آمادهسازی، انجام ارزیابی مخاطره سازمانی است که دید روشنی در اختیار تیم امنیتی قرار میدهد تا بتوانند مخاطرات را بهخوبی درک کنند. یکی از نتایج این ارزیابی، شناسایی داراییهای باارزش است که باید به بهترین شکل از آنها محافظت شود.
طبقهبندی (Categorize)
گام بعدی این است که سیستمهای اطلاعاتی را بر مبنای حساس بودن و میزبانی اطلاعات حساسی که قرار است توسط تجهیزات کلاینت مورد دستیابی قرار گرفته، پردازش شوند یا انتقال پیدا کنند، طبقهبندی کنیم. هدف این است که برای سیستمهای خود طبقهبندیهایی بر مبنای میزان حساسیت و مهم بودن آنها ایجاد کنیم تا بتوانیم از ابزارهای امنیتی مناسبی برای محافظت از آنها استفاده کنیم. امروزه بیشتر سازمانهای اروپایی و آمریکایی ملزم به پیادهسازی چارچوب NIST SP 800-60 هستند. NIST SP 800-60 با تمرکز بر میزان حساسیت و اهمیت داراییهای سازمانی (محرمانگی، یکپارچگی و دسترسپذیری) سعی میکند میزان خطرپذیری سامانهها را تعیین کند. بهطور مثال، فرض کنید یک سیستم مدیریت ارتباط با مشتری (CRM) دارید. اگر محرمانگی آن در معرض خطر قرار گیرد، آسیب قابل توجهی به شرکت وارد میشود، بهخصوص اگر اطلاعات به دست رقبا بیفتد، اما در مقابل نقض یکپارچگی و دسترسپذیری سیستم احتمالا برای کسبوکار پیامدهای بحرانی و جدی نخواهد داشت و از اینرو، به دارایی با مخاطره کم طبقهبندی میشود. بر مبنای این تعریف، طبقهبندی امنیتی برای یک سیستم مدیریت ارتباط با مشتری از طریق فرمول زیر محاسبه میشود:
SCCRM= {(محرمانگی، بالا)، (یکپارچگی، کم)، (دسترسپذیری، کم)} SP 800-60 از سه سطح طبقهبندی امنیتی کم، متوسط و زیاد استفاده میکند. برچسب کم اشاره به سیستمهای اطلاعاتی دارد که اطلاعات مهمی روی آنها قرار ندارد و در نتیجه نقض اصول سهگانه محرمانگی، یکپارچگی و دسترسپذیری کسبوکار را با چالش جدی روبهرو نمیکند. برچسب متوسط اشاره به سیستمهایی دارد که نقض حداقل یکی از اصول سهگانه باعث ایجاد اختلال در عملکرد فعالیتهای تجاری میشود. برچسب بالا، به سیستمهایی اشاره دارد که نقض هر یک از این اصول باعث متوقف شدن عملیات تجاری میشود. در مثال ما، نقض اصل محرمانگی اهمیت زیادی دارد، زیرا به اعتبار برند خدشه وارد میکند.
انتخاب (Select)
هنگامی که سیستمها را دستهبندی کردید، نوبت به انتخاب و احتمالا تنظیم کنترلهایی میرسد که برای محافظت از داراییها از آنها استفاده میکنید. NIST RMF سه نوع کنترل امنیتی مشترک، خاص و ترکیبی را تعریف میکند.
کنترل مشترک، کنترلی است که برای چند سیستم تعریف و اعمال میشود. بهطور مثال، در سناریو CRM اگر یک فایروال برنامه کاربردی وبمحور (WAF) را برای CRM پیادهسازی کنیم از مکانیزم کنترل امنیتی مشترک استفاده کردهایم، زیرا امکان استفاده از دیوارآتش در ارتباط با دیگر مولفههای نرمافزاری و سرویسهای سازمان وجود دارد. WAF فراتر از نظارت بر یک سیستم CRM کار میکند و قادر به محافظت از CRM دیگر سامانههای تحت شبکه است.
کنترلهای خاص در محدوده سیستمها پیادهسازی میشوند و بدیهی است که تنها از یک سیستم خاص محافظت میکنند. بهطور مثال، صفحه ورود به سیستم CRM را تصور کنید که از پروتکل امنیت لایه انتقال (TLS) برای رمزگذاری اطلاعات محرمانه کاربر استفاده میکند. اگر زیرسیستم احراز هویت بخش جداییناپذیر CRM باشد، آنگاه مورد مذکور نمونهای از یک کنترل خاص است.
در نگاه اول بهنظر میرسد در چارچوب NIST همهچیز به رنگ سیاه یا سفید هستند، اما دنیای امنیت پیچیدهتر از آن است و اغلب اوقات، کنترلها در حد فاصل کنترلهای مشترک و خاص قرار میگیرند. یک کنترل ترکیبی تا حدی اشتراکی و تا حدی مختص یک سیستم است. در مثال CRM، یک کنترل ترکیبی میتواند آموزش و آگاهیرسانی امنیتی باشد.
پیادهسازی (Implement)
در این مرحله دو وظیفه کلیدی وجود دارد که باید انجام شود؛ پیادهسازی و مستندسازی. قسمت اول خیلی سرراست است. بهطور مثال، اگر در مرحله قبل تشخیص دادید که باید یک قانون به WAF اضافه کنید تا حملاتی مانند تزریق زبان پرسوجو ساختاریافته (SQL) را فیلتر کنید، آن قانون را اجرا میکنید. کار ساده است. بخشی که بیشتر ما با آن مشکل داریم، مستندسازی تغییراتی است که اعمال میکنیم.
مستندسازی به دو دلیل اهمیت دارد. اول آنکه اجازه میدهد تا متوجه شویم چه کنترلهایی وجود دارند، در چه مکانی قرار دارند و چرا تعریف و پیادهسازی شدهاند. آیا تا بهحال مسئولیت سیستمی به شما محول شده که پیکربندی آن در وضعیت بحرانی قرار داشته باشد؟ شما سعی میکنید بفهمید چه پارامترها یا قوانین خاصی وجود دارند، اما در تغییر آنها تردید دارید، زیرا ممکن است عملکرد سیستم مختل شود. این مشکل به دلیل نبود یا تنظیم اشتباه اسناد بهوجود میآید که در نهایت باعث میشود هکرها از آسیبپذیریهای مستتر یا پیکربندیهای اشتباه بهرهبرداری کرده و یک حمله سایبری را با موفقیت پیادهسازی کنند. دلیل دوم اهمیت مستندسازی این است که امکان میدهد کنترلها را بهطور کامل در برنامه ارزیابی و نظارت کلی ادغام کنیم و اطلاع دقیقی در ارتباط با کنترلهایی داشته باشیم که در طول زمان منسوخ و بیاثر شدهاند.
ارزیابی (Assess)
کنترلهای امنیتی که قصد پیادهسازی آنها را داریم، تنها در صورتی مانع بروز حملههای سایبری میشوند که توانایی ارزیابی آنها را داشته باشیم. ارزیابی کنترلها، نقش مهمی در مدیریت درست مخاطرات دارد. برای سازمانها ضروری است که یک برنامه جامع داشته باشند که تمام کنترلهای امنیتی (مشترک، ترکیبی و خاص سیستم) را با توجه به خطراتی که قرار است به آنها رسیدگی کنند، ارزیابی کند. این طرح باید توسط مقام یا مقامات مربوطه بررسی و تایید شود تا قابلیت اجرایی پیدا کند.
ارزیابی باید نشان دهد که چارچوب تدوینشده توانایی مقابله با مخاطرات را دارد و قادر است از داراییهای سازمانی به بهترین شکل محافظت کند. از اینرو، تیم توسعهدهنده چارچوب نباید آنرا ارزیابی کنند و این مسئولیت باید به کارشناس امنیتی امین سازمان سپرده شود تا اثربخشی کنترلها را ارزیابی کند و اطمینان دهد ابزارهای درستی انتخاب شدهاند و اسناد بهدرستی تدوین شدهاند. به همین دلیل، ارزیابی تمامی فرآیندها، ابزارها و خطمشیهایی که قرار است پیادهسازی شوند اهمیت زیادی دارد.
ارزیابی باید تعیین کند آیا پیادهسازی کنترلها موثر هستند یا خیر. از اینرو، نتایج در گزارشها باید مستندسازی شوند تا بهعنوان مرجعی برای ارزیابیهای بعدی قابل استفاده باشند. اگر کنترلها موثر نیستند باید اقدامات اصلاحی برای رفع کاستیها انجام شود و نتیجه ارزیابی دومرتبه مستندسازی شود. در نهایت، طرحهای امنیتی بهروزرسانی میشوند تا یافتهها و توصیههای ارزیابی در آنها اعمال شود. ارزیابی کنترلهای امنیتی «ممیزی» نامیده میشود.
مجوزدهی (Authorize)
همانگونه که میدانید، هیچ سیستمی در جهان بدون مخاطره نیست. یکی از بزرگترین مشکلاتی که کارشناسان امنیتی در یک سازمان با آن روبهرو هستند، دریافت مجوزهای مختلف از مدیران ارشد است تا بتوانند خطمشیهای امنیتی در معماری شبکه سازمانی را پیادهسازی کنند.
در این مرحله، نتایج ارزیابی ریسک و کنترلها باید به فرد تصمیمگیرنده تحویل داده شود تا تاییدیه اتصال کنترلهای امنیتی به سیستمهای اطلاعاتی را صادر کند. این شخص (یا گروه) از نظر قانونی مسئول و پاسخگو هستند که پس از پیادهسازی کنترلها، سیستمها بدون مشکل به کار ادامه میدهند. از اینرو، باید اطلاعات معتبر و قابل استنادی در اختیار آنها قرار گیرد، زیرا مسئولیت هرگونه اختلال در عملکرد شبکه بر عهده این افراد و نه مسئول پیادهسازی مکانیزمهای امنیتی خواهد بود.
به همین دلیل، افرادی که چارچوب امنیتی را آماده میکنند باید برای مدیرعامل این مسئله را به روشنی شرح دهند که چه مخاطراتی برای سازمان چالشآفرین هستند و در صورت عدم توجه به مخاطرات، سازمان با چه زیانهایی روبهرو میشود. گاهیاوقات پس از تدوین چارچوب امنیتی مجبور به بازنگری در برنامه عملیاتی میشوید تا بتوانید در صورت بروز یک حمله سایبری بهسرعت واکنش نشان دهید و هکرها موفق نشوند بهراحتی از نقاط ضعف و کاستیهای مستتر در سیستمهای اطلاعاتی بهرهبرداری کنند. در بیشتر سازمانها مجوزهای پیادهسازی چارچوبهای امنیتی برای یک دوره زمانی مشخص و در قالب برنامه اقدام و نقطه عطف (POAM یا POA&M) صادر میشوند.
نظارت (Monitor)
ما باید بهصورت دورهای تمام کنترلها را بررسی کنیم و مشخص کنیم که آیا هنوز موثر هستند یا خیر. آیا تغییراتی در الگوی تهدیدات تاکتیکی و تکنیکی بهوجود آمده است، آیا آسیبپذیریهای جدیدی کشف شدهاند، آیا یک تغییر غیرمستند یا تاییدنشده در پیکربندی باعث شده تا اثربخشی کنترلهای امنیتی کمتر شده و سطح مخاطرات پیرامون داراییهای سازمانی به درجه بحرانی نزدیک شده باشند؟ اینها تنها برخی از مسائلی هستند که ما از طریق نظارت مستمر و بهبود مستمر قادر به پاسخگویی به آنها هستیم.
کلام آخر
چارچوب NIST RMF یکی از مهمترین چارچوبهای مدیریت ریسک امنیت اطلاعات است که بهطور گسترده مورد استفاده قرار میگیرد. این چارچوب دستورالعملهایی برای مدیریت ریسک امنیت اطلاعات در یک سازمان را تعریف میکند، اما رویکرد خاصی را برای اجرای آن دیکته نمیکند. به عبارت دیگر، چارچوب به ما میگوید که چه کارهایی را باید انجام دهیم، نه اینکه چگونه آنها را انجام دهیم.
در چند سال گذشته، دنیای زبانهای برنامهنویسی تغییرات قابل توجهی داشته است. این تغییرات باعث شدهاند تا برخی از زبانهای برنامهنویسی با استقبال بیشتری از سوی کاربران روبهرو شوند، و در عین حال از محبوبیت برخی دیگر کاسته شود. با اینحال، زبانهای برنامهنویسی قدیمی همواره مورد توجه سازمانهای بزرگ قرار دارند. یکی از این زبانهای برنامهنویسی پراقتدار جاوا است که برای ساخت طیف گستردهای از برنامههای کاربردی در حوزههای مختلف استفاده میشود.
در بازار کار ایران، جاوا و سیشارپ رقبای سرسختی هستند و تقریبا بازار کار به یک اندازه به هر دو تخصص نیاز دارد، اما در خارج از ایران جاوا بیشتر مورد توجه شرکتها قرار دارد. هنگامیکه نسخه جدیدی از یک زبان برنامهنویسی منتشر میشود، مهم است درباره تغییرات اعمالشده در نسخه جدید اطلاعات کافی داشته باشیم، زیرا برخی قابلیتها حذف میشوند، برخی دیگر تغییر میکنند و قابلیتهای جدیدی به آن زبان افزوده میشوند. جاوا از این قاعده مستنثا نیست و در سالهای گذشته قابلیتهای خوبی همگام با پیشرفتهای دنیای فناوری در اختیار برنامهنویسان قرار داده است. از نسخه 9 به بعد، اوراکل هر 6 ماه یکبار ویژگیها و قابلیتهایی به جاوا اضافه کرده که همین مسئله دنبال کردن تغییرات جدید را کمی سخت میکند. بهطور مثال، نسخه 17 جاوا اوایل مهرماه 1400 با قابلیتهای جدید منتشر شد و درست شش ماه بعد نسخه 18 اوایل فروردینماه 1401 منتشر شد و همچون گذشته قابلیتهای جذابی در اختیار برنامهنویسان قرار داد. در نسخه 18 شاهد ویژگیها و تغییرات نسبتا مهمی بودیم که در این مقاله با 9 مورد از آنها آشنا میشویم.
در شرایطیکه جاوا 17 یک نسخه پشتیبانی بلندمدت (LTS) است و اوراکل حداقل 8 سال از آن پشتیبانی میکند، نسخه 18 جاوا یک نسخه با پشتیبانی کوتاهمدت است که اوراکل در یک بازه زمانی کوتاه از آن پشتیبانی میکند. توسعهدهندگان میتوانند برای نصب کیت توسعه JDK18 جاوا روی سیستمعاملهای لینوکس، ویندوز و مک به سایت رسمی اوراکل به نشانی https://www.oracle.com/java/technologies/downloads/ مراجعه کنند و نسخه هماهنگ با سیستمعامل خود را دانلود و نصب کنند.
1. منسوخ شدن finalization برای حذف در نسخه بعدی جاوا
Finalizer دارای نقصهایی است که مشکلات مختلفی در ارتباط با امنیت، عملکرد، قابلیت اطمینان و نگهداری از برنامههای کاربردی بهوجود میآورد. از اینرو جای تعجب نیست که تیم پشتیبانی جاوا بهدنبال حذف آن باشند. علاوه بر این باید دقت کنید که Finalizer نیازمند برنامهنویسی نسبتا پیچیدهای است و همین مسئله کار کردن با آنرا سخت میکند. در حال حاضر، قابلیت مذکور بهطور پیشفرض فعال است، اما میتوان آنرا غیرفعال کرد تا آزمایشهای اولیه سادهتر شوند. این ویژگی بهطور پیشفرض در نسخه آینده زبان برنامهنویسی جاوا حذف خواهد شد. در نسخه 18 جاوا ویژگی مذکور غیرفعال شده تا برنامهنویسان آمادگی لازم را داشته باشند و تا فرصت باقی است برنامههای کاربردیای را که از قابلیت فوق استفاده میکنند ویرایش کنند.
در صفحه رسمی Openjdk در خصوص ویژگی مذکور آمده است: «کارهای اولیه برای حذف Finalization انجام شده است. Finalization در حال حاضر (نسخه 17) بهطور پیشفرض فعال است، اما میتوان آنرا غیرفعال کرد تا انجام آزمایشهای اولیه تسهیل شوند. ویژگی مذکور در نسخه 18 بهطور پیشفرض غیرفعال است و در نسخه بعد حذف خواهد شد. طراحان کتابخانهها و برنامههایی که از finalization استفاده میکنند باید بهسراغ تکنیکهای دیگر مدیریت منابع مانند دستورات try-with-resources و نمونههای مشابه بروند. پیشنهاد میشود یک گزینه خط فرمان برای غیرفعال کردن finalization و منسوخ کردن تمام finalizerها و متدهای finalization در API استاندارد جاوا افزوده شود. هدف از انجام اینکار کمک به توسعهدهندگان برای درک بهتر مخاطرات finalization و آمادگی توسعهدهندگان برای حذف نهایی آن است».
یکی دیگر از اهداف کنار گذاشتن ویژگی فوق در نسخه 18 جاوا آماده کردن ابزارهای کاربردی برای کمک به شناسایی میزان وابستگی به finalization است. این ویژگی که در نسخه اول جاوا معرفی شده بود با هدف پیشگیری از بروز مشکل نشت منابع استفاده میشد. ویژگی مذکور شامل یک کلاس است که میتواند یک finalizer را تعریف کند که بدنه متد داخل آن میتواند هر منبعی را آزاد کند. garbage collector میتواند finalizer یک شیء غیرقابلدسترس را بهراحتی زمانبندی کند تا قبل از اینکه حافظه شیء را اصلاح کند آنرا فراخوانی کند. با اینحال، در هنگام استفاده از متد finalize باید به این نکته دقت کنید که عملیاتی مانند فراخوانی قابلیت close در اشیاء انجام میشود. در ظاهر اینگونه بهنظر میرسد که رویکرد فوق یک راهکار موثر برای پیشگیری از بروز مشکل نشتی منابع است، اما نقصهایی دارد که از آن جمله باید به تاخیرهای غیرقابلپیشبینی اشاره کرد. این نقص باعث میشود تا فاصله زیادی بین زمانیکه یک شیء غیرقابلدسترس میشود تا زمانی که finalizer آنرا فراخوانی میکند بهوجود آید. این مسئله در برخی از برنامهها و بهویژه برنامههای حساسبهزمان مشکل جدی است. به همین دلیل است که به توسعهدهندگان توصیه شده از تکنیکهای جایگزین برای جلوگیری از نشت منابع استفاده کنند که از جمله باید به دستورات try-with-resources اشاره کرد.
2. تعریف یک SPI برای میزبان در نسخه 18 جاوا
در نسخه 18 جاوا، یک SPI برای میزبان و تبدیل آدرس اینترنتی (Name Address Resolution) تعریف شده تا Inet.Address بتواند از resolverهایی بهجز resolver داخلی پلتفرمها استفاده کند. اینکار با هدف فعالسازی بهتر Project Loom برای همزمانی و پشتیبانی بهتر از پارادایمهای جدید برنامهنویسی در جاوا، یکپارچهسازی بهتر جاوا با پروتکلهای جدید شبکه، سفارشیسازی و فعال کردن ساده آزمایشها انجام شده است. به این نکته دقت کنید که قرار نیست یک resolver جایگزین برای کیت توسعه جاوا ارائه شود.
3. پیشنمایش دوم از قابلیت تطبیق الگو در دستورات switch
با اضافه شدن ویژگی جدید به نسخه 18 جاوا تطبیق الگو برای عبارات و دستورات switch که همراه با آیتمهای گسترشی مرتبط با الگوهای این زبان هستند سادهتر میشود؛ رویکردی که باعث بهبود عملیات تطبیقی میشود. اولین پیشنمایش همراه با نسخه 17 کیت توسعه جاوا معرفی و در اختیار توسعهدهندگان قرار گرفت. فرآیند تطبیق الگوی گسترشی که برای دستور switch ارائه شده، به یک دستور اجازه میدهد الگوهای مختلف را ارزیابی کند، در حالیکه هر یک از این الگوها عملکرد مخصوص به خود را خواهند داشت. از اینرو، محاورههای پیچیده مبتنی بر دادهها میتوانند بهشکل کوتاه و ایمن اجرا شوند. ویژگی مذکور از پروژه Project Amber به جاوا وارد شده که یک پروژه OpenJDK است که بر ویژگیهای کوچکتر جاوا و بهرهوری متمرکز است. جورج ساب، معاون گروه پلتفرم جاوا در اوراکل، در این ارتباط میگوید: «تطبیق الگو برای switch چیزی است که هر برنامهنویس جاوا باید در مورد آن اطلاع داشته باشد و از آن استفاده کند». این قابلیت بهشکل گستردهای از فرآیند تطبیق الگوها در جاوا پشتیبانی خواهد کرد و در آینده به یکی از سبکهای مهم برنامهنویسی در جاوا تبدیل خواهد شد.
4. پیادهسازی مجدد core reflection
Core reflection Java.lang.reflect.Method، Constructor و Field در کنترلکننده java.lan.invoke دومرتبه کدنویسی شدهاند. از این پس کنترلکنندههای متد بهعنوان یک مکانیزم اساسی در عملیات reflection هزینه مربوط به نگهداری و توسعه واسطهای برنامهنویسی کاربردی java.lang.reflect و java.lang.invoke را به میزان زیادی کاهش میدهند. به بیان دیگر، دو مکانیسم داخلی برای فراخوانی متدها و سازندهها در اختیار توسعهدهندگان قرار میگیرد که برای اجرای سریعتر دستورات از روشهای بومی در HotSpot VM برای اولین فراخوانی شیء سازنده یا متد بازتابی استفاده میکند. برای بهبود عملکرد، پس از فراخوانیهای متعدد، بایتکد برای عملیات بازتابی تولید میشود و از کد فوق در فراخوانیهای بعدی استفاده میشود. به همین دلیل است که اضافه شدن ویژگی فوق به نسخه 18 جاوا میتواند مزایای زیادی در اختیار توسعهدهندگان قرار دهد.
5. اضافه شدن یک وبسرور ساده به نسخه 18 جاوا
در نسخه 18 یک وبسرور ساده به جاوا افزوده شده که یک ابزار خط فرمان برای راهاندازی یک وبسرور کوچک در اختیار توسعهدهندگان قرار میدهد که تنها قادر به نگهداری از فایلهای ایستا است. دقت کنید در اینجا هیچ عملکرد CGI یا عملکردی مشابه servlet در دسترس نیست. ابزار فوق میتواند برای نمونهسازی، کدگذاری ad-hoc و آزمایشها، بهویژه در محیطهای آموزشی مفید و کاربردی باشد. هدف از ارائه قابلیت جدید ارائه یک فایلسرور HTTP out-of-the-box ایستا است که راهاندازی آن ساده است. این فایلسرور میتواند به توسعهدهندگان کمک کند بهشکل سریعتری وظایف خود را انجام دهند و علاوه بر این، کیت توسعه جاوا را در اختیار آنها قرار میدهد. همچنین، به این نکته دقت کنید که یک پیادهسازی پیشفرض از طریق خط فرمان همراه با یک واسط برنامهنویسی کوچک در اختیار برنامهنویسان قرار دارد که در صورت نیاز میتوانند از آن استفاده کنند. با استفاده از تکنیک فوق، میتوانید برنامههای خود را بهراحتی ایجاد و سفارشیسازی کنید. لازم به توضیح است که قرار نیست یک سرور با قابلیتهای فوقالعاده پیشرفته در اختیار شما قرار گیرد.
6. یک تابع خارجی و یک واسط برنامهنویسی کاربردی برای تعامل بهتر با حافظه
در نسخه 18 جاوا یک واسط برنامهنویسی کاربردی معرفی شده که از طریق آن برنامههای جاوا میتوانند با دادههای خارج از زمان اجرای جاوا تعامل داشته باشند. با فراخوانی توابع خارجی (در واقع کد خارج از موتور مجازی جاوا) و با دسترسی ایمن به حافظه خارجی (حافظهای که توسط موتور مجازی جاوا مدیریت نمیشود) این واسط برنامهنویسی کاربردی به برنامههای جاوا اجازه میدهد تا کتابخانههای محلی را فراخوانی کنند و دادههای محلی را بدون مشکل JNI (رابط بومی جاوا) پردازش کنند. هدف از افزودن ویژگی فوق این است که JNI را با یک مدل توسعه جاوا بهتر جایگزین کنیم. دقت کنید این واسط برنامهنویسی کاربردی در نسخه 17 جاوا نیز در دسترس بود، اما در نسخه 18 جاوا تغییراتی روی آن اعمال شده و برخی مشکلات آن برطرف شده است. با فراخوانی توابع خارجی، کدهایی که خارج از ماشین مجازی جاوا قرار دارند قادر هستند بهشکل ایمن به حافظه خارجی و حافظهای که توسط ماشین مجازی جاوا مدیریت نمیشود دسترسی پیدا کنند.
7. vector API در نسخه 18 زبان برنامهنویسی جاوا
vector API را نباید از ویژگیهای شاخص نسخه 18 جاوا برشمرد، زیرا قبل از این در JDK 16 و JDK 17 آنرا مشاهده کردهایم. ویژگی مذکور برای انجام محاسبات برداری ارائه شده و در زمان اجرا به دستورالعملهای برداری که پردازنده مرکزی از آنها پشتیبانی میکند کامپایل میشود تا عملکرد برنامهها بهبود پیدا کند. ویژگی فوق عملیات برداری را بهشکل موازی انجام میدهد. در این حالت یک سیکل بیشتر از پردازنده مرکزی استفاده میشود، اما در مقابل عملکرد کلی برنامه بهبود پیدا کند. vector API راهحلی برای نوشتن الگوریتمهای پیچیده در جاوا با استفاده از HotSpot auto-vectorizer و یک مدل کاربری است تا عملیات بردارسازی بهشکل قابلپیشبینیتری انجام شود. در نسخه جدید JDK از پلتفرم ARM Scalar Vector Extension نیز پشتیبانی میشود تا بتوان از ویژگیهای سختافزاری پردازنده بهشکل بهتری استفاده کرد تا عملیات بردارسازی بهبود پیدا کند.
8. تعیین UTF-8 به عنوان سیستم کدگذاری پیشفرض و استاندارد واسطهای برنامهنویسی کاربردی
UTF-8 یک استاندارد کدگذاری کاراکترها در دنیای ارتباطات است که امروزه بهعنوان مجموعه کاراکترهای استاندارد وب شناخته میشود. charset مکانیزم کدگذاری تمامی کاراکترهای وب است. با توجه به تغییر اعمالشده در نسخه 18 جاوا واسطهای برنامهنویسی کاربردی این زبان که بر مبنای charset پیشفرض کار میکردند، در تمام پیادهسازیها، سیستمعاملها، پیکربندیها و غیره بدون مشکل کار میکنند. البته دقت کنید که قرار نیست شاهد عرضه استاندارد جدید یا واسطهای برنامهنویسی کاربردی خاص JDK باشیم. در شرایط عادی، برنامههای کاربردی که توسعه دادهاید بدون مشکل کار خواهند کرد و سیستم کدگذاری پیشفرض مشکلی در عملکرد آنها بهوجود نمیآورد. علاوه بر این، تیم توسعهدهنده بر این باور هستند که قابلیت جدید روی عملکرد برنامههای کاربردی نوشتهشده با جاوا در سیستمعامل مک، برخی از توزیعهای لینوکس و برنامههای سمت سرور که از UTF-8 پشتیبانی میکنند تاثیر منفی نخواهد گذاشت. این قابلیت بیشتر برای کمک به کاربران سیستمعاملهای ویندوزی در مناطق آسیایی و محیطهای سروری است که در مناطق آسیایی مستقر هستند.
9. قطعه کدها در مستندات واسطهای برنامهنویسی کاربردی
این ویژگی مهم و جذاب در نسخه 18 جاوا شامل یک تگ @snippet برای JavaDoc’s Standard Doclet است که برای ساده کردن درج نمونه مثالهایی در ارتباط با واسطهای برنامهنویسی جاوا در مستندات استفاده میشود. از کاربردهای این قابلیت باید به تسهیل اعتبارسنجی کد منبع با فراهم کردن دسترسی واسط برنامهنویسی به این قطعه کدها اشاره کرد. از دیگر کاربردهای قابلیت جدید باید به فعالسازی قابلیت سبکدهی مدرن مانند هایلایت کردن ترکیب نحوی، اتصال خودکار نامها به تعاریف، پشتیبانی بهتر محیط توسعه یکپارچه برای ایجاد و ویرایش snippetها و غیره اشاره کرد. ویژگی فوق را باید از مهمترین ویژگیهای نسخه 18 زبان برنامهنویسی جاوا دانست که توسعهدهندگان میتوانند از آن برای سادهسازی داکیومنتنویسی پروژهها استفاده کنند.
برگرفته از مجله شبکه
امنیت در حوزه فناوری اطلاعات (IT) به روشها، ابزارها و پرسنل مورد استفاده برای دفاع از داراییهای دیجیتال سازمان اشاره دارد. هدف امنیت فناوری اطلاعات محافظت از این داراییها، دستگاهها و خدمات در برابر اختلال، سرقت یا سوءاستفاده توسط کاربران غیرمجاز است که در غیر این صورت بهعنوان عوامل تهدید شناخته میشوند. این تهدیدها میتوانند خارجی یا داخلی و مخرب یا تصادفی باشند.
یک استراتژی امنیتی مؤثر از طیف وسیعی از رویکردها برای به حداقل رساندن آسیبپذیریها و هدف قرار دادن بسیاری از انواع تهدیدات سایبری استفاده میکند. شناسایی، پیشگیری و پاسخ به تهدیدات امنیتی شامل استفاده از سیاستهای امنیتی، ابزارهای نرمافزاری و خدمات فناوری اطلاعات است.
متأسفانه، نوآوری در حوزه فناوری به جای آنکه تنها در خدمت کارشناسان فناوری اطلاعات باشد، به مجرمان سایبری نیز خدمترسانی میکند. برای محافظت از داراییهای تجاری، شرکتها باید بهطور مرتب امنیت را بررسی، بهروزرسانی و بهبود بخشند تا از زیرساختها در برابر تهدیدات سایبری و مجرمان سایبری محافظت کنند.
امنیت فناوری اطلاعات از دو حوزه فیزیکی و اطلاعاتی تشکیل شده است.
امنیت فیزیکی
امنیت فیزیکی حفاظت از افراد، سختافزار، نرمافزار، اطلاعات شبکه و دادهها در برابر اقدامات فیزیکی، نفوذها و سایر رویدادهایی است که میتواند به یک سازمان و داراییهای آن آسیب برساند. حفاظت از امنیت فیزیکی یک کسبوکار بهمعنای محافظت از آن در برابر عوامل تهدیدکننده و همچنین حوادث و بلایای طبیعی مانند آتشسوزی، سیل، زلزله و شرایط جوی است. فقدان حفاظت فیزیکی میتواند سرورها، دستگاهها و ابزارهایی را که از عملیات و فرآیندهای تجاری پشتیبانی میکنند، به خطر بیاندازد. گفته میشود مردم در گروه بخش بزرگی از تهدیدهای مرتبط با امنیت فیزیکی قرار دارند.
دزدی و خرابکاری نمونههایی از تهدیدات انسانی هستند که نیازمند راهحلهای امنیتی فیزیکی هستند. نقض امنیت فیزیکی لزوما به دانش فنی نیاز ندارد، اما میتواند به اندازه نقض اطلاعات خطرناک باشد.
امنیت فیزیکی سه بخش دارد:
کنترل دسترسی
نظارت
آزمایش کردن
مطلب پیشنهادی
۱۰ مزیت گواهینامههای فناوری اطلاعات برای شما و کارفرمای شما
چرا شما به یک یا چند گواهینامه فناوری اطلاعات نیاز دارید؟
۱۰ مزیت گواهینامههای فناوری اطلاعات برای شما و کارفرمای شما
موفقیت برنامه امنیت فیزیکی یک سازمان به پیادهسازی، نگهداری و بهروزرسانی موثر هر یک از این مؤلفهها بستگی دارد.
کنترل دسترسی
کنترل دسترسی به ساختمانهای اداری، مراکز تحقیقاتی، آزمایشگاهها، مراکز داده و سایر مکانها برای امنیت فیزیکی حیاتی است. یک مثال از نقض امنیت فیزیکی، ورود مهاجم به یک سازمان و استفاده از درایو فلش گذرگاه سریال جهانی (USB) برای کپی و سرقت دادهها یا قرار دادن بدافزار در سیستمها است.
هدف کنترل دسترسی، ثبت، نظارت و محدود کردن تعداد کاربران غیرمجاز است که با داراییهای فیزیکی حساس و محرمانه تعامل دارند. کنترل دسترسی میتواند بهسادگی موانعی مانند دیوارها، نردهها و درهای قفلشده باشد. نشان شناسایی و کدهای کلید نیز بخشی از یک سیستم دسترسی فیزیکی موثر هستند. شناسایی فیزیکی یک راه عالی برای احراز هویت کاربرانی است که سعی در دسترسی به دستگاهها و مناطق رزرو شده برای پرسنل مجاز دارند.
روشهای پیچیدهتر کنترل دسترسی شامل اشکال مختلف احراز هویت بیومتریک است. این سیستمهای امنیتی از بیومتریک یا ویژگیهای بیولوژیکی منحصر به فرد برای احراز هویت کاربران مجاز استفاده میکنند. اثر انگشت و تشخیص چهره دو نمونه از کاربردهای رایج این فناوری هستند.
مطلب پیشنهادی
فناوری اطلاعات، هند را به کجا میبرد؟
تا سال ۲۰۲۵، هند از صنعت IT بین ۳۰۰ تا ۳۵۰ میلیارد دلار درآمد خواهد داشت.
فناوری اطلاعات، هند را به کجا میبرد؟
نظارت
نظارت شامل فنآوریها و تاکتیکهای مورد استفاده برای نظارت بر فعالیت در داخل و اطراف تاسیسات و تجهیزات است. بسیاری از شرکتها دوربینهای مدار بسته را برای ایمنسازی محیط ساختمان خود نصب میکنند. این دوربینها هم بهعنوان یک عامل بازدارنده در برابر مزاحمان عمل میکنند و هم ابزاری برای واکنش و تجزیهوتحلیل حوادث هستند. دوربینها، حسگرهای حرارتی، آشکارسازهای حرکتی و هشدارهای امنیتی تنها نمونههایی از فناوری نظارت هستند.
آزمایش کردن
آزمایش روشی قابل اعتماد برای افزایش امنیت فیزیکی است. شرکتهایی که دارای پروتکلهای امنیتی قوی هستند، خطمشیهای خود را آزمایش میکنند تا ببینند آیا نیاز به بهروزرسانی یا تغییر دارند یا خیر. چنین آزمایشاتی میتواند شامل تیم قرمز باشد، جایی که گروهی از هکرهای اخلاقی سعی میکنند به پروتکلهای امنیت سایبری یک شرکت نفوذ کنند، باشد.
امنیت اطلاعات
امنیت اطلاعات بهعنوان infosec نیز شناخته میشود. رویکرد فوق شامل استراتژیهایی است که برای مدیریت فرآیندها، ابزارها و خطمشیهایی استفاده میشود که از داراییهای دیجیتال و غیر دیجیتال محافظت میکند. هنگامی که infosec بهطور موثر پیادهسازی شود، میتواند توانایی سازمان را برای پیشگیری، شناسایی و پاسخ به تهدیدات به حداکثر برساند.
Infosec چند گروه از فناوریهای امنیتی زیر را شامل میشود:
امنیت برنامه اشاره به محافظت از برنامهها در برابر تهدیداتی دارد که به دنبال دستکاری، دسترسی، سرقت، تغییر یا حذف نرمافزار و دادههای مرتبط با آن هستند. امنیت برنامه ترکیبی از نرمافزار، سختافزار و سیاستهایی است که اقدامات متقابل نامیده میشوند. اقدامات متقابل رایج شامل فایروالهای برنامه، رمزگذاری، مدیریت پچ و سیستمهای احراز هویت بیومتریک است.
امنیت ابری اشاره به مجموعهای از سیاستها و فناوریهایی دارد که برای محافظت از دادهها و زیرساختها در یک محیط محاسبات ابری طراحی شدهاند. دو نگرانی کلیدی امنیت ابری، مدیریت هویت و دسترسی و حفظ حریم خصوصی دادهها است. تست نفوذ، نگهداری از زیرساخت شبکه، شناسایی حملههای مرد میانی (MitM) و اسکن برنامهها، برخی از ابزارهایی هستند که متخصصان infosec برای ایمنسازی و محرمانهگی اطلاعات استفاده میکنند.
امنیت ابر مسئولیتی مشترک میان ارائهدهنده خدمات ابری (CSP) و مشتری یا کسبوکاری است که زیرساختهایی مانند سرورها و فضای ذخیرهسازی را اجاره میکند. اگر توافقات CSP به خوبی انجام نشده باشد، یک منطقه خاکستری قانونی در امنیت ابری ممکن است رخ دهد. به عنوان مثال، اگر سرور مشتری توسط مجرمان سایبری که به سرور مشتری دیگری دسترسی پیدا میکنند در معرض خطر قرار بگیرد، چه کسی را باید مقصر دانست؟
امنیت نقطه پایانی مستلزم آن است که گرههای شبکه از استانداردهای امنیتی خاصی مانند قانون نوسازی امنیت اطلاعات فدرال قبل از ایجاد یک اتصال امن برخوردار باشند. دستگاههای گره پایانی شامل رایانههای شخصی، لپتاپ، تبلت، گوشیهای هوشمند و تجهیزاتی مانند پایانههای فروش، بارکدخوانها، حسگرها و دستگاههای اینترنت اشیا (IoT) میشوند.
امنیت اینترنت حفاظت از نرمافزارهای کاربردی، مرورگرهای وب و شبکههای خصوصی مجازی است که از اینترنت استفاده میکنند. به عنوان مثال، تکنیکهایی مانند رمزگذاری، محافظت از دادهها در برابر حملههیا بدافزاری، فیشینگ، MitM و حملات انکار سرویس در این گروه قرار میگیرند.
امنیت موبایل به عنوان امنیت بیسیم شناخته میشود و اشاره به محافظت از دستگاههای سیار مانند تلفنهای هوشمند، تبلتها و لپتاپها و شبکههایی که به آنها متصل میشوند در برابر سرقت، نشت اطلاعات و سایر حملات دارد.
امنیت شبکه از زیرساخت شبکه و دستگاههای متصل به آن در برابر تهدیداتی مانند دسترسی غیرمجاز، استفاده مخرب و تغییرات محافظت میکند.
امنیت زنجیره تامین از شبکه بین یک شرکت و تامینکنندگان آن محافظت میکند که اغلب به اطلاعات حساس مانند اطلاعات کارکنان و مالکیت معنوی دسترسی دارند. نقض دادههای SolarWinds در سال 2020 نشان داد که سازمانها در صورت نظارت ضعیف بر کانالهای زنجیره تامین چقدر میتوانند آسیبپذیر باشند. SolarWinds یک شرکت فناوری اطلاعات است که شبکهها و سیستمهای مشتری را مدیریت میکند و به زیرساخت فناوری اطلاعات مشتریان دسترسی دارد. هنگامی که هکرها به سرور بهروزرسانی SolarWinds نفوذ کردند، توانستند ویروسی را نصب کنند که به عنوان یک در پشتی دیجیتال برای سیستمها و دادههای مشتری عمل میکرد.
مفاهیم و اصول امنیت فناوری اطلاعات
برخی مفاهیم اصول پایه و اساس امنیت فناوری اطلاعات را تشکیل میدهند. برخی از مهمترین آنها به شرح زیر هستند:
مدیریت چرخه عمر: برنامه این کار با کاهش تعداد باگها، نقصهای طراحی و خطاهای پیکربندی، از تمام مراحل فرآیند توسعه برنامه محافظت میکند.
دفاع در عمق: یک استراتژی است که از چندین اقدام متقابل به طور همزمان برای محافظت از اطلاعات استفاده میکند. این روشها میتواند شامل تشخیص و پاسخ نقطه پایانی، پاسخ نرمافزار آنتیویروس به تهدیدات و مقابله با تجهیزاتی است که به شکل غیرقانونی نصب شدهاند. دفاع در عمق بر این اصل نظامی مبتنی است که برای دشمن سخت است که بتواند از یک سیستم دفاعی چند لایه به جای یک لایه عبور کند.
مدیریت پچ وصلهها و بهروزرسانیها: کدهایی برای رفع مشکل در برنامهها، سیستمعاملها و سفتافزارها است که توسط شرکت سازنده ارائه میشود.
اصل کمترین امتیاز: این اصل با محدود کردن دسترسی کاربر و برنامه به پایینترین سطح از حقوق دسترسی مورد نیاز برای انجام کارها یا عملکردهایشان، امنیت فناوری اطلاعات را تقویت میکند.
مدیریت ریسک: این فرآیند شناسایی، ارزیابی و کنترل خطرات امنیتی است که محیط فناوری اطلاعات یک سازمان را تهدید میکند.
مدیریت آسیبپذیری: با این رویکرد، مدیران امنیتی بهطور اقدام به شناسایی و طبقهبندی آسیبپذیریها میکنند تا تعداد آنها در زیرساخت را بهحداقل برسانند و ضعفهای امنیتی موجود در فناوری اطلاعات را کمتر کنند.
موارد یاد شده برخی از مهمترین مفاهیم و اصول امنیت و فناوری فناوری اطلاعات هستند. با این حال، ترکیب همه این اصول امنیت 100٪ تضمین نمیکند که زیرساخت فناوری اطلاعات یک سازمان در امنیت کامل قرار دارد. تهدید سایبری یک مشکل اساسی است که هر مدیر و کسبوکار امنیت فناوری اطلاعات با آن مواجه است. با این حال، با استقرار یک استراتژی امنیتی جامع، سازمانها میتوانند در برابر تهدیدات امنیتی فیزیکی و infosec دفاع کنند.
امنیت سایبری در مقابل infosec
با توجه به تلاقی امنیت اطلاعات با نقطه پایانی، اینترنت اشیا و امنیت شبکه، جدا کردن امنیت اطلاعات از امنیت سایبری میتواند دشوار باشد. با این حال، تفاوتهای متمایزی وجود دارد. یک تفاوت، مسائل ژئوپلیتیکی است. امنیت سایبری میتواند به مکانیسمهای دفاعی اشاره داشته باشد که از یک کشور یا دادههای یک دولت در برابر جنگ سایبری محافظت میکند. این به این دلیل است که امنیت سایبری شامل محافظت از دادهها و فناوریهای مرتبط با آن در برابر تهدیدات است.
از سوی دیگر، امنیت اطلاعات بر اطمینان از دسترسپذیری اطلاعات، محرمانگی و حفظ یکپارچگی آن تمرکز دارد.
در مورد SAR چه میدانید؟
کمی درباره مفهوم SAR صحبت کنیم حتما در مورد مضرات امواج رادیویی بر بدن انسان شنیده اید میزان SAR برای برخی از افراد اهمیت دارد و بسیاری هم تا به حال چیزی درباره آن نشنیده اند یا هنگام خرید اصلا به آن توجه نمیکنند
با پشرفت تکنولوژی و تاثیر مثبت آن بر زندگی انسان ها و بیشتر شدن لوازم الکترونیکی زندگی انسان ها با این گونه وسایل به طرز شگفت آوری گره خورده است و زندگی بدون تلفن همراه برای بسیاری از افراد مشکل است باید این را هم بدانید که در یک زندگی شهری پیشرفته در گردابی از امواج الکترومغناطیسی گرفتار هستنید
اما چیزی که اهمیت دارد این است که که میزان جذب این انرژی توسط بدن به چه میزانی میباشد
اما SAR چیست : SAR مخفف Specific Absorption Rate (نرخ جذب خاص ) در واقع میزان انرژی جذب شده توسط بدن میباشد که با واحد وات بر کیلوگرم اندازه میشود که استاندارد حداکثر میزان آن در آمریکا 1.6 w/kg بر یک گرم وزن بدن و در اورپا 2 w/kg بر 10 گرم وزن بدن میباشد
این میزان برای بهترین گوشی سونی عدد 0.55 وات بر کیلوگرم میباشد که مقدار آن نصف رقبای خود میباشد
ما شما را نگران نمیکنیم و میگوییم که گوشی که میزان زیان آور بودن آن از حد مجاز بالاتر باشد توسط کمیسیون ارتباطات فدرال( (FCC تایید نمیشود و به مرحله ساخت نهایی فرستاده نمیشود پس حتما از برند های معتبر خرید کنید یا به عبارت صحیح تر گوشی های چینی به نام و نشان را خریداری نکیند
اما هرچه میزان SAR کمتر باشد جذب بدن از امواج کمتر واثرات زیان آور وسیله مذکور کمتر خواهد بود
اما از کجا میتوان حداکثر میزان SAR یک گوشی را بدست آورد برای فهمیدن SAR میتوانید به سایت www.gsmarena.com مراجعه کرده و در قسمت انتهایی مشخصات گوشی میزان SAR آنرا مشاهده نمایید
در عکس زیر با مستطیل سیاه رنگ مشخص میباشد
آیا براستی باید نگران امراج الکترو مقناطیسی اطراف خود باشیم؟ یکی از آثار تشعشعات مایکروویو اثرات گرمایش دیلکتریک است که در آن هر جسم عایق (مانند بافت موجود زنده) توسط حرکت مولکولهای قطبی که در میدان الکترومغناطیسی قرار دارند گرم میشود. وقتی که فردی از گوشی همراه استفاده میکند، بیشتر اثرات گرمایشی در اطراف سطح سر او بوجود میآیند و باعث میشود که دمای سر حدود کسری از درجه افزایش پیدا کند. این دما کمتر از گرمایی است که در اثر تابش مستقیم خورشید بوجود میآید. در این هنگام، جریان [انتقال خون] مغز قادر است با بیشتر کردن جریان خون در آن قسمت گرما را به جاهای دیگر منتشر کند. اما قرنیه چشم این سامانه تعدیل سازی دما را ندارد و آزمایش تابش ۲ الی ۳ ساعته در چشمهای خرگوشها در مقیاس اس ای آر ۱۰۰-۱۴۰ W/kg که دمایی موضعی ۴۱ الی ۴۰ درجه سانتیگراد را تولید کرده باعث بوجود آمدن آب مروارید در آنها شدهاست. البته آب مرواریدهای زود هنگام به خاطر استفاده از گوشی همراه نمیباشد، چون برونداد امواج گوشیهای همراه پائین تر است
●تاثیر بر روی غشاهای سلولی انسان
سید حسن سید موسوی مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار در گفتگو با خبرنگار مهر نتایج تحقیقات درباره اثر امواج فرکانس رادیویی تلفن همراه بر روی قسمت های مختلف بدن را تشریح کرد و گفت: بعضی از اثرات امواج فرکانس رادیویی بر پروتئین های غشاء و حرکت یونها در میان غشاها هنگامی در سلول ظاهر می شود که شدت این امواج باعث تولید حرارت قابل توجهی شود بطوریکه درجه حرارت بدن بیش از حد نرمال (۳۷درجه سانتیگراد) شود.
وی اضافه کرد: برخی شواهد نشان می دهد که تشعشعات فرکانس رادیویی در سطوحی که توسط تلفن همراه تولید می شود روی کانالهای یونی و پروتئین های غشاء نورونها در مغز تحت شرایط نرمال نیز اثر می گذارد.
این تاثیرات ممکن است باعث تغییرات ظریفی در عملکرد سلول شود اما میزان اهمیت این تاثیرات در سلامت انسان هنوز مبهم است.
●تاثیر بر روی رفتارهای شنیداری انسان
به گفته مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار فرکانس رادیویی با شدت بالا ممکن است واکنش های رفتاری را در پی داشته باشد چرا که در این حالت درجه حرارت بطور موقت افزایش می یابد و در حین افزایش دما معین می شود که لرزش صوتی ناشی از فرکانس رادیویی شنیده می شود یا خیر.
وی ادامه داد: برای ایجاد لرزشهای صوتی قابل شنیدن به نرخ بالای موقت گرمایش در بافتهای سر نیاز است که خیلی بالاتر از مقدار تولید شده مربوط به تلفن همراه است بنابراین در این زمینه، تلفن همراه اثر چندانی در سلامت ندارد.
●تاثیر بر یادگیری و حافظه
سید موسوی معتقد است که استفاده از تلفن همراه ممکن است اثرات زیان آوری روی عملکردهای ادراکی انسان مانند حافظه و تمرکز ایجاد کند اما با این وجود مطالعاتی که تشعشعات امواج فرکانس رادیویی با سطح پایین یعنی محدوده فرکانس موبایل ۸۰۰ مگاهرتز تا ۲ گیگاهرتز را بر روی حیوانات بررسی کرده اند، تاثیری در عملکردهای ادراکی گزارش نکرده اند.
●تاثیر بر روی ملانونین
این مقام مسئول با بیان اینکه مطالعات هیچ تاثیری را از تشعشع فرکانس رادیویی برروی ترشح ملانونین گزارش نکرده اند به مهر گفت: با توجه به محل قرارگیری هیپوتالاموس و غده صنوبری در قسمتهای عمیق تر سر انسان نسبت به حیوانات مورد آزمایش، در صورت تغییر در ترشح ملانونین این تغییر در انسانها نسبت به حیوانات بسیار کمتر خواهد بود.
●آسیب DNA ، جهش و یا انحراف کروموزومی؟
این کارشناس با تاکید بر اینکه در درجه حرارت نرمال، میدانهای فرکانس رادیویی روی سلولهای جسمی و بنیادی اثری نمی گذارند اضافه کرد: مطالعات روی باکتریها، سلولهای حیوانی و کشت شده تحت تشعشع در محیط مصنوعی شواهد مشخصی را روی آسیب DNA حتی در شدتهای بالا نشان نداده اند.
وی افزود: فقط با تحت تشعشع قرار دادن موشها در محیط طبیعی با فرکانس های رادیویی پالسی اختلالاتی در DNA سلولهای مغز دیده شده است.
●تاثیر بر سیستم ایمنی و طول عمر انسان
سید موسوی با بیان اینکه سیستم ایمنی در مقابل میکروارگانیزمها، ویروسها و بعضی از سلولهای سرطانی از بدن محافظت می کند خاطرنشان کرد: هرگونه تغییر در فرکانس رادیویی روی سیستم ایمنی اثرات مهمی روی سلامتی می گذارد.
وی گفت: گزارشات حاکی از آن است که فرکانس ۱۰ گیگاهرتز و در سطوح خیلی پایین سیستم ایمنی بدن را تحریک می کند اما در کل مطالعات، هیچ تاثیری در رابطه با تشعشع فرکانس رادیویی روی طول عمر نشان نمی دهند.
●تاثیرات در پیشرفت و جابجایی تومور
به گفته مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار یافته های علمی اثر امواج فرکانس رادیویی در سطوح ارتباطات همراه (حداکثر ۴۵/۲ گیگاهرتز) را در ایجاد و دوره نهفتگی و پیشرفت تومورها تایید نکرده اند که این نشان می دهد که تشعشع فرکانس رادیویی باعث پیدایش تومور نمی شود.
وی به مهر گفت: اگرچه میدانهای فرکانسی رادیویی مربوط به تلفن همراه ممکن است باعث افزایش جزئی در فعالیت آنزیمهای کلیدی (کینازهای پروتینی) شود اما بنا به یافته های علمی بسیار بعید به نظر می رسد که این تغییرات در رشد تومور تاثیر داشته باشند. حتی جدیدترین یافته های حفاظت در برابر اشعه فدرال آلمان نیز خطر پیشرفت سرطان در اثر امواج تلفن همراه را تایید نکرده است.
●تاثیرات بر روی چشم انسان
سید موسوی در مورد یافته های علمی چشم انسان نیز با بیان اینکه تشعشعات سطح بالا به مدت حداقل یک ساعت باعث تشکیل آب مروارید می شود گفت: فرکانس مربوط به این تشعشعات بین یک تا ۱۰ گیگاهرتز است در این محدوده انرژی بالایی به میزان ۱۰۰ SAR توسط بدن انسان جذب می شود که در این وضعیت درجه حرارت داخل چشم بسیار بالا و در حدود ۴۳ درجه سانتیگراد است.
وی افزود: البته شدت فرکانس رادیویی مورد استفاده در این تحقیق بالاتر از محدوده فراکنسی مورد استفاده در تلفن همراه است و به همین ترتیب تاثیر تخریبی گوشی موبایل بر سلامتی چشم انسان منتفی است.
●اثرات بر روی گوش انسان
مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار با تاکید بر اینکه آزمایشات نشان می دهد که گوش انسان به فرکانس های محدوده ۲۰۰ مگاهرتز تا ۳ گیگاهرتز پاسخ می دهد به مهر گفت: انرژی فرکانس رادیویی باعث انبساط بافتهای مغز می شود که ناشی از تغییرات حرارت کوچک اما سریع بافتها است.
این امر باعث ایجاد امواج فشاری می شود که از طریق جمجمه به گوش درونی فرستاده می شود جایی که گیرنده های حساس صوتی در آنجا قرار دارند. اما افزابش دمایی که باعث ایجاد امواج فشاری می شود کمتر از ۱۰ به توان منفی ۵ درجه سانتیگراد است.
●تاثیرات روی دستگاه قلبی عروقی انسان
سید موسوی معتقد است که با استفاده عادی از تلفن همراه، وقتی تلفن در کنار گوش قرار داده شود، تاثیر مستقیم آن روی قلب انسان خیلی بعید به نظر می رسد اما تاثیر روی گیرنده های وابسته به شریان بدن محتمل است و محققان نتیجه گرفته اند که تاثیرات روی فشار خون به دلیل انقباض زیاد عروق و یا شاید بخاطر افزایش در فعالیت سمپاتیک در ساقه مغز باشد که این زمینه نیاز به مطالعات بیشتری دارد.
وی تصریح کرد: اثرات ناشی از سطوح بالای فرکانسی نیز مربوط به تاثیرات حرارتی روی قلب و عروق است.
●تاثیرات روی عملکرد مغز انسان
این مقام مسئول با تاکید بر اینکه یافته های علمی نشان می دهد که تلفن همراه در کوتاه مدت بر عملکرد مغز اثری ندارد، اضافه کرد: گزارشات اخیر در ارتباط با بی خطر بودن تلفن های همراه در طولانی مدت نشان می دهد که استفاده از موبایل باعث افت حافظه، تغییرات در حواس و نوسان فشار خون می شود. همچنین فقط نواحی از مغز که به گوش نزدیکترند تحت تشعشع قرار می گیرد.
●تاثیر روی سیستم های عصبی
سید موسوی با اشاره به تحقیقات با سیستمهای برخوردار از مدلهای گوناگون عصبی گفت: تغییرات در تحریک پذیری نورونی عملکرد سیستم عصبی و رفتارهای اکتسابی فقط در اثر تشعشعالت بالا که منجر به جذب انرژی فراوانی در بدن شده و حرارت قابل توجهی را سبب می شود اتفاق می افتد.
●تاثیر بر موج نگاریهای مغزی در حیوانات
مدیرکل دفتر تحقیقات و مطالعات راهبردی شرکت ارتباطات سیار خاطرنشان کرد: طبق آزمایشهای انجام شده بر روی گربه ها و خرگوشها، در فرکانسهای رادیویی یک تا ۱۰ مگاهرتز تغییراتی در موج نگاریهای مغزی (EEG) و پارامترهای رفتاری گزارش شده است.
وی گفت: همچنین با افزایش زمان تشعشع مجددا تغییراتی در طیف موج نگاری دیده شده است. گزارشاتی نیز تاثیر این امواج را بر روی موج نگاری مغزی موشها و خرگوشهایی که در محدوده فرکانسی بالاتر از تشعشعات گوشی همراه قرار داشتند، بیان می کند.
برگرفته از سایت پلیس فتا
همهگیری کرونا باعث شد تا تقاضای دورکاری روزبهروز افزایش یابد. امروزه، مشاغل و کسبوکارهایی که بهدنبال سودآوری بیشتر هستند، سعی میکنند تمام یا بخشی از فعالیتهای تجاری خود را دیجیتالی و تماممکانیزه کنند. به همین دلیل است که بسیاری از شرکتها بهدنبال توسعهدهندگان واجد شرایط فرانتاند و بکاند هستند تا زیرساختهای مناسب برای انجام فعالیتهای آنلاین را برای آنها آماده کنند. در حال حاضر، توسعهدهندگان زبان برنامهنویسی سیشارپ بازار کار خوبی دارند، با اینحال، استخدام یک برنامهنویس ماهر کار سادهای نیست. هماکنون بسیاری از توسعهدهندگان از راه دور کار میکنند و مایل به همکاری با شرکتها و استارتاپها در قالب پروژهای هستند. از اینرو، دورکاری نیز بهعنوان یکی از اشکال اشتغال مورد قبول شرکتها و افراد قرار گرفته است؛ بهطوری که انتخابها در مورد استخدام دیگر محدود به حضور فیزیکی متخصصان در محل کار نیست. در این مقاله مجموعه پرسشها و پاسخهایی را مطالعه میکنید که موردنیاز هر دو گروه کارفرمایان و برنامهنویسان است. اگر کارفرمایی هستید که قصد استخدام یک توسعهدهنده سیشارپ را دارد، این پرسشها کمک میکنند تا فرد شایستهای را انتخاب کنید. اگر توسعهدهنده سیشارپ هستید، این مجموعه پرسشها نشان میدهند، در جلسات مصاحبه باید آمادگی پاسخگویی به چه پرسشهایی را داشته باشید.
shabake-mag.jpg
اصلیترین پرسشی که کارفرمایان مطرح میکنند این است که چگونه برای پروژههای آینده خود یک توسعهدهنده سیشارپ را استخدام کنند. اگر بهدنبال یک توسعهدهنده سیشارپ هستید، باید موارد زیادی را در نظر بگیرید، از جمله:
لازم است بدانید که این زبان برنامهنویسی کدام یک از نیازهای پروژه شما را برطرف میسازد.
لازم است یاد بگیرید که چگونه مهارتهای نرم و سخت یک توسعهدهنده را در طول مصاحبه ارزیابی کنید.
لازم است بدانید که استخدام یک برنامه نویس سیشارپ در مکانهای مختلف که روشهای استخدامی متفاوتی دارند، چقدر هزینهبر است.
نیازی نیست که زمان زیادی را صرف جستوجوی این اطلاعات کنید، ما مهمترین مطالب را در این مقاله گردآوری کردهایم تا در دسترس شما قرار دهیم. برای آنکه بدانید چگونه یک توسعهدهنده سیشارپ واجد شرایط را پیدا و استخدام کنید، توصیه میکنیم که ادامه مطلب را بخوانید.
مطلب پیشنهادی
بازار کار کدام زبان برنامهنویسی داغتر میشود؟
آشنایی با زبانهای برنامهنویسی
بازار کار کدام زبان برنامهنویسی داغتر میشود؟
محبوبیت سیشارپ چه تاثیری بر فرآیند استخدام دارد؟
طبق مطالعه نشریه تخصصی IEEE Spectrum در سال 2021، سیشارپ رشد قابلتوجهی داشته و ششمین زبان برنامهنویسی محبوب دنیا است. اکوسیستم این زبان برنامهنویسی در حال رونق است. برنامهنویسان از سیشارپ برای ساخت و توسعه وبسایتها، نرمافزارهای سفارشی، بازیها و برنامههای موبایل استفاده میکنند. سیشارپ بهدلیل سادگی که لازمه برنامهنویسی مدرن و مورد توجه تیمهای توسعهدهنده بزرگ است، انتخاب خوبی برای ساخت برنامههای کاربردی قدرتمند در کوتاهترین زمان ممکن است. به همین دلیل است که همطراز با پایتون در صدر فهرست زبانهای برنامهنویسی محبوب قرار دارد. علاوه بر این، ترکیب نحوی ساده، خوانایی بالا، پشتیبانی توسط بزرگترین چارچوب دنیای برنامهنویسی (داتنت) و ارائه بهترین الگوی طراحی باعث شده تا بازار کار خوبی برای متخصصان بهوجود آورد. با توجه به محبوبیت فزاینده زبان سیشارپ، درخواست برای توسعهدهندگان مسلط به این زبان در حال افزایش است، اما برنامهنویسان حرفهای روی پروژههای مختلفی در حال کار هستند، بنابراین یافتن توسعهدهندگان واجد شرایط و در دسترس روزبهروز سختتر میشود.
بهترین موارد مصرف سیشارپ چیست؟
سیشارپ از روشها و الگوهای عمومی که امنیت و عملکرد را بهبود میبخشند، پشتیبانی میکند. با اینحال، اگر میخواهید اپلیکیشنهای وب پیچیده بسازید، بهتر است جاوا را برای توسعه بکاند انتخاب کنید؛ در حالی که سیشارپ بیشتر در زمینه توسعه نرمافزارهای کاربردی، بازیهای ویدیویی و توسعه موبایل استفاده میشود، اما ترکیب سیشارپ و آنگولار (Angular) قدرت زیادی در اختیار برنامهنویسان قرار میدهد. توسعهدهندگان از سیشارپ در ارتباط با پروژههای زیر استفاده میکنند:
ساخت اپلیکیشنهای تجاری پیشرفته.
ساخت اپلیکیشنهایی که قرار است روی سرور اجرا شوند.
ساخت بازیهای ویدیویی حرفهای.
ساخت برنامههای کاربردی وبمحور.
ساخت برنامههای مخصوص سیستمعامل ویندوز و مک.
ساخت برنامههای مخصوص iOS و اندروید از طریق پلتفرم زامارین (Xamarin).
ساخت رابطهای کاربردی با استفاده از HTML5 و اتصال آن به برنامههای سیشارپ.
توسعهدهندگان سیشارپ از پلتفرمهای مختلفی مثل مایکروسافت ویژوال استودیو، ویژوال استودیو کد، آژور و نمونههای مشابه برای ساخت برنامههای کاربردی استفاده میکنند. همانگونه که اشاره شد، بزرگترین نقطه قوت سیشارپ پشتیبانی چارچوب داتنت از این زبان همهمنظوره است.
مردم اغلب داتنت را با سیشارپ اشتباه میگیرند، زیرا این اصطلاحات با یکدیگر عجین شدهاند. با این حال، تفاوت در این است که سیشارپ یک زبان برنامهنویسی و داتنت چارچوبی است که این زبان برنامهنویسی از آن استفاده میکند. این ترکیب جادویی به توسعهدهندگان فولاستک کمک میکند از Asp.Net Core برای بکاند و سیشارپ و VB.NET برای توسعه فرانتاند استفاده کنند.
مهندسان سیشارپ چه کاری انجام میدهند؟
بهطور معمول، برنامهنویسان مسلط به سیشارپ که قصد استخدام در شرکتی را دارند بهعنوان مهندسان نرمافزار جذب میشوند. از اینرو، شرح وظایفی بیشتر از یک برنامهنویس ساده دارند. از مهمترین وظایف مهندسان سیشارپ به موارد زیر باید اشاره کرد:
عملیات توسعه (توسعه وب، توسعه نرمافزارهای کاربردی یا سازمانی) مثل کدنویسی، آزمایش، طراحی، و تجزیهوتحلیل نرمافزارها.
توسعه یا ادغام پلتفرمهای نرمافزاری در راستای پاسخگویی به نیازهای داخلی شرکت.
ارزیابی برنامههای دسکتاپ نوشتهشده به زبان سیشارپ.
ساخت و نگهداری برنامههای کلاینت-سرور و وب مبتنی بر سیشارپ، چارچوب داتنت، پلتفرم ASP.NET، SQL و فناوریهای مرتبط.
انجام آزمایشهای تست واحد (Unit Test)، تست استاندارد، بررسی کد و اشکالزدایی کدها.
در مورد مهارتهای نرم، یک توسعهدهنده واجد شرایط سیشارپ باید ضربالاجلها را رعایت کند، با کارکنان فنی، غیرفنی و مشتریان تعامل داشته باشد تا نیازهای برنامههای کاربردی را بهخوبی درک کند تا بتواند نمونههای اولیه تجاری موفقی بسازد.
در مصاحبههای استخدامی چه پرسشهایی مطرح میشوند؟
در حالت کلی، پرسشهایی که مطرح میشوند به دانش مصاحبهکننده و تسلط او بر این زبان بستگی دارد، اما بهعنوان یک قاعده کلی، باید آمادگی پاسخگویی به پرسشهای زیر را داشته باشید:
سوالات مصاحبه برنامهنویسی سیشارپ در سطح مقدماتی
زبان برنامهنویسی سیشارپ را معرفی کنید؟
تفاوت زبان برنامهنویسی C# با زبان C چیست؟
مفهوم کلاس در زبان برنامهنویسی C# چیست؟
انواع کلاس در C# کدامند؟
مفهوم شیء در C# چیست؟
منظور از سازنده در سیشارپ چیست؟
منظور از آرایههای دندانهدار در سیشارپ چیست؟
کاربرد عبارت using در سیشارپ چیست؟
تسلسل در سیشارپ به چه معنا است؟
زمان اجرای زبان مشترک (Common Language Runtime) به چه معنا است؟
منظور از بازیابی حافظه در سیشارپ چیست؟
منظور از کدهای مدیریتشده و مدیریتنشده چیست؟
منظور از Interface در برنامهنویسی سیشارپ چیست؟
تفاوت میان کلاس انتزاعی و اینترفیس چیست؟
تفاوتهای دو کلمه کلیدی ref و out چیست؟
متدهای توسعه (Extension Methods) در سیشارپ چه متدهایی هستند؟
منظور از توابع Boxing و Unboxing در زبان برنامهنویسی سیشارپ چیست؟
ژنریکها (Generics) در سیشارپ چه هستند؟
تفاوت Array با ArrayList در سیشارپ چیست؟
وراثت در سیشارپ به چه معنا است و آیا سیشارپ از وراثت چندگانه پشتیبانی میکند؟
آیا در سیشارپ امکان اجرای چند بلوک Catch وجود دارد؟
آیا امکان استفاده از کلمه کلیدی this درون یک متد ایستا وجود دارد؟
سوالات مصاحبه برنامهنویسی سیشارپ در سطح پیشرفته
تفاوت میان عملگر تساوی (==) و متد Equals() در زبان سیشارپ چیست؟
تفاوت میان مقیدسازی دیرهنگام (Late Binding) و انقیاد زودهنگام چیست؟
رایجترین نوعهای استثناها در .NET را نام ببرید.
نام کلاسی در سیشارپ که تمام کلاسها از آن مشتق میشوند، چیست؟
منظور از رفلکشن در سیشارپ چیست؟
تفاوت System.Array.CopyTo() و System.Array.Clone() چیست؟
منظور از Property در سیشارپ چیست؟
کنترل سفارشی و کنترل کاربر در سیشارپ چیست؟
ارثبری یک کلاس به یک کلاس دیگر در سیشارپ چگونه انجام میشود؟
استثناهای سفارشی در سیشارپ به چه معنا است؟
Object Pool در .NET چیست؟
تفاوت میان Constant و Read Only در سیشارپ چیست؟
کلاسهای جزئی در سیشارپ به چه مفهومی اشاره دارد؟
Delegate در سیشارپ چیست؟
منظور از آرایهها در سیشارپ چیست؟
اندیسگذار در سیشارپ چیست؟
چه روشهای مختلفی برای سربارگذاری متدها در سیشارپ وجود دارد؟
تفاوت دو کلاس String و StringBuilder در سیشارپ چیست؟
تفاوت میان یک Struct و یک کلاس در سیشارپ چیست؟
نوع شمارشی در سیشارپ چیست؟
سوالات کاربردی و عملی برنامهنویسی سیشارپ
معکوس کردن ترتیب کلمهها در سیشارپ چگونه انجام میشود؟
برنامهای که یک رشته را در سیشارپ معکوس کند چگونه نوشته میشود؟
برنامه پیدا کردن زیررشته خاصی از یک رشته در سیشارپ چگونه نوشته میشود؟
چگونه پالیندروم بودن یک رشته کاراکتر در سیشارپ را بررسی میکنید؟ (پالیندروم به کلمه، رشته یا اعدادی گفته میشود که از دو طرف (راست به چپ و چپ به راست) دقیقاً به یک شکل خوانده میشوند).
برنامهای بنویسید که اول بودن یک عدد صحیح مثبت در سیشارپ را تشخیص دهد.
بهعنوان یک برنامه نویس سیشارپ حرفهای نباید مشکلی از بابت پاسخگویی به این نمونه پرسشها داشته باشید، زیرا تمامی این پرسشها بخشی از کار عملی شما در هنگام کدنویسی هستند.
اطلاعات حقوق و دستمزد چگونه میتواند برای فرآیند استخدام مفید باشد؟
برای محاسبه هزینههای تقریبی توسعه، با در نظر گرفتن حقوق، مالیات، کارمزد، مزایا و حقوق مرخصی، لازم است میانگین حقوق توسعهدهندگان سیشارپ را بدانید. دانستن میانگین حقوق مربوط به توسعهدهندگان سیشارپ در سرتاسر جهان به این دلیل مفید است که اگر زمانی تصمیم گرفتید با شرکتهای مستقر در کشورهای مختلف همکاری کنید، اطلاعات کلی در اختیار خواهید داشت. با تجزیهوتحلیل میانگین حقوق، متوجه میشوید کدام مدل استخدام و کدام کشور دستمزد خوبی به توسعهدهندگان سیشارپ میدهد.
چگونه مهارتهای توسعهدهندگان سیشارپ را ارزیابی کنیم؟
همه مدلهای استخدام، فرصتی برای برقراری ارتباط با توسعهدهندگان سیشارپ و ارزیابی مهارتهای سخت و نرم آنها را فراهم میکنند. پس لازم است بدانیم که یک توسعهدهنده سیشارپ باید چه مهارتهایی داشته باشد.
مهارتهای سخت توسعهدهنده سیشارپ
دانش کافی در ارتباط با ترکیب نحوی و کدنویسی دقیق و تمیز در سیشارپ.
دانش کافی در ارتباط با چارچوب داتنت.
آشنایی با نحوه کدنویسی بکاند و فرانتاند با سیشارپ.
امروزه، بیشتر برنامهنویسان در ارتباط با جاوااسکریپت، HTML و CSS دانش اولیه دارند.
بررسی این موضوع که آیا توسعهدهنده از مهارتهای فنی مورد نیاز شما برخوردار است یا خیر، مهم و حیاتی است. کار را با پرسیدن سوالات عمومی در مورد زبان برنامهنویسی سیشارپ آغاز کنید تا بتوانید تجربه شغلی داوطلب را ارزیابی کنید.
شما میتوانید با پرسیدن سوالات مربوط به مهارتهای فنی، داوطلب را در طول مصاحبه ارزیابی کنید. علاوه بر این، انجام تستهای کوتاه برنامهنویسی بهصورت زنده یا انجام یک تست کوتاه که مصاحبهشونده بتواند در خانه آماده کند، میتواند در ارزیابی مهارتهای برنامهنویسی او به شما کمک کند.
مهارتهای نرم برنامه نویس سیشارپ
مهارتهای کار گروهی.
تمرکز بر نتایج.
توانایی سازگاری با شرایط.
وقتشناسی.
احترام به سایر کارکنان و تمایل به پایبندی به اخلاق کاری.
تجربه در توسعه نرمافزار چابک (Agile Software Development).
این فهرست میتواند طولانیتر باشد، زیرا مهارتهای نرم شامل ویژگیهای مثبت فرد هستند که به او کمک میکنند زبان مشترکی پیدا کند و یک کار باکیفیت ارائه دهد. علاوه بر این، تحقیقات لینکدین نشان میدهد که برای اکثر کارفرمایان، مهارتهای نرم مهمتر از مهارتهای سخت هستند.
چگونه یک توسعهدهنده سیشارپ استخدام کنیم؟
مهم نیست به یک توسعهدهنده تماموقت، پارهوقت، مهندس درونسازمانی یا دورکار نیاز داشته باشید، در همه موارد راهکارهای مختلفی برای استخدام وجود دارند. پس در ادامه نگاهی عمیقتر به این موضوع میاندازیم.
استخدام توسعهدهندگان سیشارپ بر اساس موقعیت مکانی
بر اساس موقعیت جغرافیایی که در آن زندگی میکنید، این گزینهها را در اختیار دارید:
جذب توسعهدهندگان محلی.
جذب توسعهدهندگان ساکن در شهرهای مختلف (یا در موارد خاص کشورهای دیگر).
هر دو گزینه مزایا و معایبی دارند که در هنگام انتخاب یک مهندس نرمافزار باید در نظر گرفته شوند.
استخدام توسعهدهندگان محلی
در این مورد، کارکنان در همان کلانشهری زندگی میکنند که کارفرما زندگی میکند. این نوع استخدام و اشتغال مزایای زیادی برای هر دو طرف دارد.
میتوانید شخصاً با برنامهنویسان سیشارپ ملاقات کنید.
امکان برگزاری جلسات در محل کار وجود دارد.
برنامهنویس میتواند بهطور مستقیم با مشتریان شرکت در ارتباط باشد.
برنامهنویس تحت قوانین شرکت وظایف خود را انجام میدهد.
استخدام توسعهدهنده ساکن در شهرها یا کشورهای مختلف
ابتدا لازم است تفاوت میان استخدام توسعهدهنده ساکن در شهر یا کشور دیگری را بررسی کنیم. در هر دو حالت، برنامهنویس بهطور فیزیکی در محل شرکت وجود ندارد، اما تفاوت اصلی در این است که توسعهدهندگان فرامرزی بر مبنای قوانین حاکم در آن کشور با شما همکاری خواهند داشت که مسائل خاص خود را دارند. بهطور مثال، ممکن است دستمزد خود را به دلار دریافت کنند، دستمزد بیشتری درخواست کنند تا کسری مالیات را جبران کند و بهاحتمال زیاد باید قراردادها را در فرمت بینالمللی و به زبان انگلیسی بنویسید. از اینرو، استخدام این گروه از برنامهنویسان باید واقعا توجیه اقتصادی داشته باشد. در نقطه مقابل، برنامهنویسان ساکن در شهرهای مختلف ایران قرار دارند که تابع قوانین کار ایران هستند و تعامل با آنها سادهتر است.
مزیت اصلی استخدام مهندسان سیشارپ برونشهری این است که میتوانید بهترین و مناسبترین فرد را انتخاب کنید، زیرا استعدادهای برتر قرار نیست همگی در یک شهر باشند و برخی از آنها بهدلیل مشکلات مختلف ترجیح میدهند در شهر خود بمانند و دورکاری کنند. بنابراین، گاهیاوقات استخدام برنامهنویسان برونشهری مزایای خوبی برای شرکت بههمراه دارد.
استخدام توسعهدهنده سیشارپ بر اساس نوع استخدام
بسته به نوع استخدام، گزینههای زیر را در اختیار دارید:
استخدام توسعهدهندگان درونسازمانی.
استخدام توسعهدهندگان سیشارپ از طریق پیمانکاری.
استخدام توسعهدهندگان از طریق موسسات کاریابی یا شرکتهای برنامهنویسی.
استخدام آزادکارها.
همه این استخدامها مزایا و معایبی دارند. در ادامه هر یک از آنها بررسی میکنیم تا بتوانید با درک بهتر گزینه مناسب با نیازهای خود را انتخاب کنید.
استخدام یک توسعهدهنده سیشارپ درونسازمانی
حضور مهندسان کاربلد درونسازمانی، برای توسعه بنیادی و انجام مهمترین وظایف، همیشه بهترین راهحل است. این مدل سنتی، استخدام کارکنان تماموقت بهعنوان تیم توسعهدهندگان است. در هر حال، با توجه به هزینه توسعه، این مدل گرانترین مدل استخدام محسوب میشود، زیرا هزینههای اضافی بیشتری غیر از حقوق این افراد دارید، مانند تعطیلات با حقوق، بیمه درمانی، اجاره دفتر، تجهیزات و غیره. اگر بهدنبال مهندسان بیشتری هستید تا به تیم درونسازمانی شما بپیوندند، باید بهسراغ سایتهای کاریابی بروید که در این زمینه مشغول به کار هستند. از نمونههای خارجی در این زمینه باید به گلسدور، Indeed، Github، LinkedIn و نمونههای مشابه اشاره کرد.
استخدام توسعهدهندگان اختصاصی سیشارپ بر مبنای رویکرد پیمانکاری
افزایش کارکنان غیرثابت که نوعی استراتژی برونسپاری است، به شما امکان میدهد تیم توسعه نرمافزاری خود را از طریق پیمانکاران قراردادی یا نیمهوقت گسترش دهید. این یک راهحل عالی برای استخدام توسعهدهندگان با شرایط خاص یا تیمی از توسعهدهندگان است که به تیم درونسازمانی شما کمک میکنند کارهای توسعه نرمافزاری را انجام دهند.
استخدام از طریق سایتهای کاریابی یا شرکتهای نرمافزاری
این مدل استخدام سادهترین راه برای برونسپاری فرآیند توسعه است. شما میتوانید یک سایت کاریابی پیدا کرده و از طریق آن برنامهنویسان را جذب کنید یا شرکت توسعه نرمافزار قابلاعتمادی پیدا کنید و در مورد ایدهها و نیازهای خود صحبت کنید. آنها میتوانند یک تیم توسعه مورد نیاز متشکل از توسعهدهندگان، طراحان و مهندسان تضمین کیفیت (QA) را برای کار روی پروژه شما آماده کنند و در کنار آن خدمات مدیریت پروژه را ارائه دهند.
استخدام آزادکارها (فریلنسرها)
فریلنسینگ یا آزادکاری، یک مدل استخدام پارهوقت پرطرفدار است که برای کارها و پروژههای کوتاهمدت اضافی بهترین کاربرد را دارد. هنگام استفاده از خدمات آزادکاری، در واقع شما برای اجرای سریعتر کارهای موردنیاز، تیم توسعه خود را با کارکنان موقت تکمیل و احیا میکنید. با اینحال، یافتن فریلنسرهای باکیفیت کار آسانی نیست. علاوه بر این، هر لحظه این احتمال وجود دارد که توسعهدهندهای که استخدام کردهاید را دیگر در تیمتان نداشته باشید، زیرا آنها بهطور دائم بهدنبال پروژههای خوب یا مشتریانی هستند که پول بیشتری پرداخت میکنند و برخی از آنها هیچ قرارداد کاری با شرکتها منعقد نمیکنند. بهترین مکان برای پیدا کردن توسعهدهندگان آزادکار مسلط به زبان برنامهنویسی سیشارپ، آموزشگاههایی هستند که در زمینه تدریس برنامهنویسی فعالیت میکنند.
میانگین حقوقی توسعهدهندگان سیشارپ در سراسر جهان
انقلاب دیجیتال سراسر جهان را فرا گرفته است. بسیاری از شرکتهای فناوری اطلاعات برای جذب مهندسان واجد شرایط سیشارپ و ارائه دستمزدهای خوب برای بهدست آوردن آنها با یکدیگر رقابت میکنند. دستمزد یک برنامهنویس سیشارپ بسته به کشور، سال تجربه و سابقه کار متفاوت است. برای مقایسه تفاوت حقوق توسعهدهندگان در کشورهای مختلف، آماری را گردآوری کردهایم که نشان میدهد کدام کشورها بهترین انتخاب برای برونسپاری مقرونبهصرفه و باکیفیت هستند. با این حال، توجه داشته باشید که این اعداد فقط حقوق توسعهدهندگان را نشان میدهند و هزینههای اضافی مانند پاداش و غیره را شامل نمیشوند.
حقوق سالانه توسعهدهندگان سیشارپ در کشورهای مختلف
آمریکای شمالی و جنوبی
یک برنامه نویس سیشارپ در ایالات متحده بهطور متوسط سالانه 112952 دلار درآمد دارد. لازم به ذکر است که این بالاترین نرخ دستمزد در جهان است. اما در کشورهای آمریکای لاتین برنامهنویسان واجد شرایط سیشارپ حقوق پایینتری دارند. بهعنوان مثال، در مکزیک، متوسط حقوق سالانه 20400 دلار و در آرژانتین تنها 8200 دلار است. این تفاوت حقوق بهدلیل هزینه کمتر زندگی است، اما آمریکای لاتین معروف به داشتن مراکز روبهرشد فناوری اطلاعات و مهندسان نرمافزار کاربلد و درجه یک است.
اروپا
وضعیت در اروپا در هر کشور متفاوت است. در اروپای غربی میانگین حقوق بالاتر است. بهعنوان مثال، در آلمان، متوسط دستمزد سالانه یک توسعهدهنده سیشارپ ۵۲۸۰۰ دلار است، در حالی که در بریتانیا این میزان به 69959 دلار میرسد. با اینحال، اروپای شرقی محبوبترین مقصد برای برنامهنویسان آزادکار بااستعداد است. توسعهدهندگان از اوکراین، بلغارستان و بلاروس، بهعنوان مهندسان درجه یک شناخته میشوند، اما بهدلیل هزینه کمتر زندگی، میانگین حقوقشان در مقایسه با اروپای غربی و ایالات متحده بسیار کمتر است. متوسط حقوق سالانه یک توسعهدهنده سیشارپ اوکراینی 36000 دلار است و در بلاروس توسعهدهنده سیشارپ سالانه 30000 دلار دریافت میکند.
آفریقا و آسیا
توسعهدهندگان از هند و آفریقای جنوبی در مقایسه با ایالات متحده و اروپا حقوق کمتری دریافت میکنند. بهعنوان مثال، اطلاعات مربوط به SalaryExplorer بیان میکند که یک توسعهدهنده از هند سالانه 6800 دلار حقوق دریافت میکند، در حالی که در چین میانگین حقوق 39000 دلار است. در آفریقای جنوبی، این میزان حقوق به 26000 دلار در سال میرسد.
جمعبندی
زبان برنامهنویسی سیشارپ بهسرعت در حال محبوب شدن است و توسعهدهندگان سیشارپ هر روز متقاضیان بیشتری پیدا میکنند. بنابراین، سعی کردیم بهترین شیوههای استخدام توسعهدهندگان درجه یک سیشارپ را بهطور خلاصه مورد تحلیل و بررسی قرار داده و شرح دهیم که کجا و چگونه بهدنبال یک مهندس کاربلد بگردید. همچنین، اطلاعاتی در خصوص میانگین حقوق جهانی توسعهدهندگان عنوان کردیم و نگاهی هم به گزینههای مختلف استخدام داشتیم که کمک میکنند تا بفهمید کدام مکان و مدل استخدام، مناسبترین گزینه بر اساس نیازهای شما است.
شرکت پیشران صنعت ویرا با اساس نامه اتوماسیون صنعتی و کنترل ابزار دقیق و ساخت تابلوهای برق فشار قوی و ضعیف از سال 92 تاسیس گشت و ازهمان ابتدا در حوزه کاربرد ابزار دقیق در bms و سپس تولید و ساخت آنها قدم نهاد و در ادامه مسیر توانست با اتکا به تجربیات چندین ساله و استخدام نیروهای متخصص برق عملا جزو شرکتهایی باشد که محصولات قابل اتکایی با عناوین مانیتورینگ شرایط محیطی اتاق سرور -کنترلرهای دمای دیتا سنتر -دیتالاگرهای سردخانه و انبار -هشدار دهنده های دمای یخچال و فریزر و شمارشگرهای نمایشگاهی و فروشگاهی و تابلوهای برق متنوع با کاربردهای مختلف روانه بازار نماید در حال حاضر سیستمهای کنترل دما و رطوبت اتاق سرور این شرکت تنها سیستم مبتنی بر سخت افزار صنعتی plc-hmi در ایران است.