شما برای موفق شدن و پیش بردن کار خود در کار گرافیک نیاز به یک سیستم کامپیوتر دارید تا بتوانید بدون هنگی و کندی سرعت در آن طراحی های خود را انجام داده و با سرعت خوب هم از آن خروجی بگیرید.
نوع سیستم عامل
برای انتخاب نوع سیستم عامل اگر بخواهیم سخن بگوییم باید در مورد نرم افزار ها هم صحبت کنیم. با این وجود سیستم عامل لینوکس اصلا برای کار های گرافیکی مناسب نخواهد بود چرا که نرم افزار های شرکت ادوبی برای لینوکس منتشر نشده اند و تنها برای ویندوز و مک عرضه شده اند.
حالا می ماند سیستم عامل های مک و ویندوز. سیستم عامل مک توسط شرکت اپل عرضه شده است و برای استفاده از این سیستم عامل حتما باید از کامپیوتر های اپل استفاده کنید که هزینه ارتقا آن بالا تر می باشد و هزینه های خرید آن هم زیاد است.
اما سیستم عامل ویندوز که بهترین گزینه برای کار های گرافیکی می باشد زیرا شما میتوانید آن را به راحتی ارتقا بدهید و نرم افزار های ادوبی بر روی آن نصب می شوند و به طور کلی استفاده از آن می تواند راحت تر و کم خرج تر باشد.
لپ تاپ یا PC؟
برای انتخاب یکی از این دو گزینه شما بیشتر از همه باید به نیاز خود نگاه کنید. اگر میخواهید محل کار تان مختص به یک جای خاص باشد میتوانید از PC ها استفاده کنید که دوام بیشتری دارند اما ممکن است قیمتشان مقداری از لبتاپ ها بیشتر باشد.
اگر میخواهید سیستم خود را همه جا با خود ببرید میتوانید از لبتاپ ها استفاده کنید که قیمت مناسب تری دارند و قابل حمل نیز می باشند و وزن آن چنان زیادی هم ندارند.
در ادامه نسبت به یک میزان حدودی هزینه سیستم و کارایی که میتواند به شما بدهد را بیان میکنیم.
با چه مقدار هزینه میتوانم یک سیستم برای طراحی گرافیک داشته باشم؟
هر چه بیشتر هزینه کنید میتوانید یک سیستم با قدرت پردازش بالاتر و با دوام بیشتری تهیه کنید که می تواند به شما سرعت بالا تری را بدهد.
لپ تاپ حدود 10 میلیون تومان مخصوص طراحی
شما با هزینه 10 میلیون تومان می توانید لپ تاپی با مشخصات زیر تهیه کنید که با آن میتوانید کار های گرافیکی سبک و طراحی های معمولی انجام دهید. اگر طراح لوگو هستید این لپ تاپ میتواند تا حدودی نیاز شما را برطرف کند.
پردازنده Core i3 چهار هسته ای
رم 8 گیگابایت
کارت گرافیک 1 گیگابایت یا OnBoard
هارد SSD با ظرفیت 240 گیگابایت
لپ تاپ حدود 15 میلیون تومان مخصوص طراحی
شما با هزینه حدودی 15 میلیون تومان برای لپ تاپ می توانید یک لپ تاپ برای کار های گرافیکی متوسط از جمله موشن گرافیک های متوسط و استفاده از ایندیزاین و ایلوستریتور و 3DMAX را میتوانید انجام دهید. البته برای این کار ها هم بهتر است تا بیشتر هزینه کنید تا لپ تاپ شما قدرت پردازش بیشتری را به شما ارائه کند.
با هزینه کردن حدودا 20 میلیون تومان برای لپ تاپ و برای طراحی گرافیک شما میتوانید یک لپ تاپ با قدرت پردازش نسبتا خوبی داشته باشید که شما را برای کار کردن با نرم افزار های انیمیشن سازی و کار های سه بعدی و طراحی تبلیغات گرافیکی اذیت نمیکند و می تواند تجربه لذت بخشی را از کار گرافیکی به شما ارائه دهد.
پردازنده Core i7
32 گیگابایت رم
کارت گرافیک 4 گیگابایت
هارد 1 ترابایت SSD
راهنمای بیشتر برای خرید لپ تاپ مناسب برای طراحی گرافیک
شما می توانید برای انتخاب بهترین لپ تاپ با بودجه خودتان، به مشورت های یک متخصص در زمینه سخت افزار گوش فرا دهید و بتوانید بهترین لپ تاپ را با وجود بودجه خود خریداری کنید که بهترین کارایی را برای شما داشته باشد و در کسب درآمد به شما کمک کند زیرا هر چه سرعت پردازش سیستم شما بالا تر باشد سرعت شما را در کارتان افزایش خواهد داد.
همیشه برای خرید پردازند به نسل آن دقت کنید هرچه نسل پردازنده شما بالا تر باشد کارایی و قدرت آن هم بالاتر خواهد بود.
هارد یا حافظه کامپیوتر میتواند متغیر باشد، اگر شما میخواهید از یک PC برای کار خود استفاده کنید میتوانید از هارد SSD برای سرعت بخشیدن به نرم افزار ها و ویندوز خود استفاده کنید و برای ذخیره سازی از یک هارد HDD استفاده کنید که علاوه بر حافظه بالا قیمت مناسب تری دارند.
اما اگر میخواهید از لپ تاپ استفاده کنید و در حین جا به جایی یا در ماشین از آن استفاده کنید حتما باید از هارد های SSD استفاده کنید که در حین جا به جایی خراب نشوند زیرا نقطه ضعف هارد های HDD در حین حرکت استفاده کردن هستند که باعث خراب شدن آن ها می شود.
هارد های M2 هارد هایی به مراتب بهتر و سریع تر نسبت به هارد های SSD می باشند اما به مراتب گران تر از این هارد ها هستند.
سخن پایانی
در این مقاله قصد داشتیم تا شما را با سیستم ها و قیمت آن ها آشنا کنیم و شما را در راه خرید یک سیستم کامپیوتر مناسب برای کار های طراحی گرافیک کمک کنیم تا بتوانید با استفاده از یک سیستم بهتر و سریع تر به کار خود سرعت بیشتری ببخشید و میزان کسب درآمد خود را افزایش دهید. در نظر داشته باشید تمامی قیمت ها به صورت تقریبی میباشد و برای تعیین حدود هزینه میباشد.
در حوزه حملات مبتنی بر الگوریتم های رمزنگاری ، حمله ای با عنوان روز تولد یاBirthday Attack وجود دارد . اگر بخواهیم در خصوص این حمله که بیشتر به عنوان یک تئوری تا یک حمله واقعی مطرح می شود صحبت کنیم ، باید بگوییم که بیشتر از اینکه یک حمله باشد ، یک دیدگاه معماری نرم افزار و طراحی بانک اطلاعاتی سطح کلان است. اول بیایید بصورت کاملا خلاصه و بدون درگیر شدن به مسائل ریاضی ، تئوری روز تولد را با هم بررسی کنیم و سپس به بررسی مشکلاتی که ممکن است از داخل این تئوری برای ما پیش بیاید بپردازیم.حمله روز تولد (Birthday Attack) یک تکنیک رمزنگاری است که از پارادوکس روز تولد برای یافتن برخورد (Collision) در توابع هش استفاده میکند. این حمله نشان میدهد که احتمال یافتن دو مقدار با هش یکسان بسیار بیشتر از آن چیزی است که در نگاه اول به نظر میرسد. در دنیای واقعی، مهاجمان از این روش برای شکستن امضاهای دیجیتال و جعل دادهها استفاده میکنند. در آموزش هک، درک این حمله برای بررسی امنیت الگوریتمهای رمزنگاری ضروری است.
تئوری روز تولد چیست؟
ایده اولیه تئوری روز تولد یا Birthday Theory به این شکل است که اگر فرض کنیم که 367 نفر درون یک کلاس حضور داشته باشند واین یعنی 2 نفر بیشتر از تعداد روزهای سال ، به احتمال قطع به یقین ما حداقل 2 نفر را در این اتاق داریم که تاریخ تولد ( روز و ماه ، نه سال ) یکسانی داشته باشند. درست است؟
این درست است اما پارادوکس قضیه اینجاست که ما باید احتمالات را چک کنیم ، احتمال با یقین متفاوت است . بگذارید با مثال دیگری بحث را بازتر کنیم. حتی اگر 23 نفر درون یک کلاس درس باشند ، احتمال اینکه 2 نفر از این 50 نفر تاریخ تولد یکسانی داشته باشند نزدیک به 50 درصد است !!! اینکه چگونه چطور به این نتیجه میرسیم یک عملیات ریاضی و محاسبه است که در لینک زیر می توانید بصورت کامل نحوه محاسبه این میزان احتمال را مشاهده کنید :
حمله روز تولد چیست؟ آیا Birthday Attack واقعی است یا تئوری؟
حمله روز تولد در واقع یک تئوری حمله و معرفی یک آسیب پذیری یا بهتر بگوییم ضعف در طراحی پروتکل رمزنگاری ( Hashing ) ای به نام MD5 است. الگوریتم هشینگ MD5 به دلیل ضعف در طراحی و تبدیل کردن مقادیر ( فایل ها و رشته های و ... ) به Hash این احتمال را دارد که در حجم عظیمی از داده ها ، تداخل Hash داشته باشد.
به زبان ساده تر این امکان در الگوریتم هشینگ MD5 وجود دارد که دو فایل با دو سورس کد مختلف با دو شکل مختلف ، دو رشته مختلف ، مقدار Hash مشابهی را در خروجی داشته باشند. با توجه به همین نقطه ضعف الگوریتم MD5 عملا منسوخ شده به حساب می آید و البته که هنوز مورد استفاده و محبوب می باشد.
در تئوری ممکن است شما بتوانید یک فایل مخرب و آلوده را با Hash یکسان با یک فایل قابل اعتماد جایگزین کنید و از این طریق حمله خود را انجام دهید اما اینکار چندان هم ساده نیست. حمله روز تولد عملا یک نوع حمله Brute Force برای الگوریتم رمزنگاری MD5 است که احتمال به وقوع پیوستن آن بسیار بسیار کم است اما تئوری احتمال وجود آن در داده های کلان وجود دارد. در میزان داده های کم این تداخل یا Hash Collision احتمال وقوع بسیار پایینی دارد اما در سطح کلان ممکن است این تداخل به وجود بیاید. به همین دلیل اساسا الگوریتم های سری SHA به کلی جایگزین MD5 شدند.
برگزاری 9 دوره آموزشی SANS Security | آموزش تخصصی دوره های SANS Security | به روزترین مرجع آموزشی SANS به زبان فارسی | مجموعه دوره های آموزشی SANS | همگی کلیدواژه هایی هستند که شما را به این مقاله می رساند. در این مقاله قصد داریم مجموعه آموزشهای تخصصی امنیتی و نفوذ شرکت SANS Security که بصورت کامل و جامع در وب سایت توسینسو قرار گرفته اند را به شما معرفی کنیم. در ابتدا به معرفی شرکت SANS Security Institute می پردازیم و سپس ، لیستی از بهترین و برترین دوره های آموزشی سنز سکیوریتی به زبان فارسی که در وب سایت توسینسو تدریس شده است را به شما معرفی می کنیم.
سنس سکیوریتی ( SANS Security ) چیست؟ معرفی شرکت SANS
انیستیتو SANS ( سنس یا سنز ) یک مرکز آموزشهای تخصصی امنیت سایبری و تست نفود در ایالات متحده آمریکاست که بصورت یک شرکت آموزشی فوق تخصصی در زمینه آموزش هک و نفوذ در دنیا فعالیت می کند. انیستیتو SANS Security Institute فعالیت خودش را از سال 1989 در زمینه آموزش امنیت اطلاعات ، آموزش امنیت سایبری و ارائه گواهینامه های امنیت اطلاعات در حوزه آموزش آغاز کرده است.
مهمترین عناوینی که شرکت سنز سکیوریتی در آموزشهای خود در نظر گرفته است به ترتیب آموزشهای فوق تخصصی حوزه امنیت تدافعی شبکه ، امنیت تدافعی سایبری ، تست های نفوذ سنجی ، پاسخگویی به حملات و حوادث سایبری ، کشف جرایم رایانه ای و البته بازرسی های امنیت اطلاعات متمرکز می شود.
دوره های تخصصی امنیت اطلاعاتی که توسط SANS Security تهیه و تدوین می شوند معمولا مخاطبین خاص خودشان را دارند که فعالیتی مرتبط در حوزه امنیت دارند که به ترتیب می توان از مدیران شبکه ، مدیران امنیت ، متخصصین امنیت اطلاعات و تست نفوذسنجی و هکرهای قانونمند را عنوان کرد.
بد نیست بدانید که نام انیستیتو SANS در واقع برگرفته ای از طیف مخاطبین دوره های آموزشی امنیت اطلاعات این شرکت است که به ترتیب SysAdmins ها ، Auditor ها ، Network Engineer ها و Security Officer ها را شامل می شوند. مهمترین دوره های تخصصی SANS Security که می توانید به زبان فارسی از آنها نهایت استفاده را بکنید را در ادامه به شما معرفی می کنیم.
هر چند که دوره های SANS هم برای انجام تست های نفوذ و هک های قانونمند است اما دوره با عنوان Ethical Hacking یا CEH یا دوره Certified Ethical Hacking مختص کمپانی EcCouncil است ، پیشنهاد می کنم مطالب زیر را نیز مطالعه کنید :
CEH چیست؟ معرفی دوره هک قانومند به زبان بسیار ساده
هک قانونمند چیست؟ آشنایی با Ethical Hacking به زبان بسیار ساده
تفاوت دوره CEH و SANS 560 در چیست؟ مقایسه SANS 560 و CEH
در دوره SANS 542 یا تست نفوذ اپلیکیشن های تحت وب شما با هنر نفوذ و هک کردن نرم افزارهای تحت وب و پیدا کردن آسیب پذیری های امنیتی وب سایتها ها در سازمان خود آشنا خواهید شد. شما با ابزارها و روشهایی که هکرها برای نفوذ به وب سایت های شما استفاده می کنند آشنا خواهید شد و با این آشنایی ، تبدیل به یک مدافع بسیار خوب در حوزه امنیت خواهید شد.
در دوره آموزش هک وب سایت ها یا SANS 542 شما با جزئیات و بصورت کاملا عملی با تمرین های متنوع و راهنمایی های مدرس می توانید مراحل چهارگانه تست نفوذ به نرم افزارهای تحت وب و وب سایت ها را به خوبی یاد بگیرید. بسیاری از حملات قدرتمند حوزه وب از جمله SQL Injection برای دسترسی و نفوذ به بانک های اطلاعاتی وب سایت ها گرفته تا دسترسی به اطلاعات حساس و البته حملات Cross Site Scripting را همگی آموزش خواهید دید.
در عین حال با تکنیک های جستجو و پیدا کردن ساختار آسیب پذیری های وب نیز آشنا خواهید شد. این دوره آموزشی SANS SEC542 برای اولین بار در ایران بصورت ویدیویی و آنلاین در وب سایت توسینسو بصورت کامل و جامع و با جدیدترین به روز رسانی ها در ادامه در دسترس شما عزیزان است.
سرفصل های دوره SANS 542 ( آموزش تست نفوذ وب )
542.1 : Introduction and Information Gathering 542.2 : Configuration, Identity, and Authentication Testing 542.3 : Injection 542.4 : JavaScript and XSS 542.5 : CSRF, Logic Flaws, and Advanced Tools 542.6 : Capture the Flag
مخاطبین دوره SANS 542 ( آموزش تست نفوذ وب ) چه کسانی هستند؟
علاقمندان به دوره های تخصصی و تست نفوذ وب سایت ها و Web Application
برنامه نویسان وب سایت ها ، سامانه ها و Web Application ها
مدیران شبکه ، متخصصین شبکه و امنیت شبکه
مدیران امنیت و فناوری اطلاعات سازمان ها و شرکت ها
مدیران و متخصصان امنیت اطلاعات
افسران امنیت اطلاعات و پلیس های سایبری
مهندسین امنیت سیستم های اطلاعاتی
تحلیلگران ریسک ، تهدیدات و آسیب پذیری
مدیران امنیت شبکه و سرور
متخصصین فناوری اطلاعات
متخصصین و مشاورین امنیت
کارشناسان تست نفوذسنجی
دانشجویان فناوری اطلاعات و کامپیوتر
تجزیه و تحلیلگران امنیت اطلاعات
ممیزان و سرممیزان امنیت سایبری
متخصصین مراکز عملیات امنیت | SOC
چه چیزی در دوره SANS 542 یاد میگیریم؟
چگونگی شناسایی و Exploit کردن ضعف ها و آسیب پذیری های Web Application
چگونگی تشریح تهدیدات و آسیب پذیری های وب سایت های و Web Application ها
شناخت و معرفی و چگونگی استفاده از انواع ابزار های تست نفوذ وب سایت ها و Web Application ها
آشنایی کامل با انواع آسیب پذیر های وب مانند sqlinjection , XSS, LFI,RFI , Apath injection, XXE , Html Injection به صورت عملی و بر اساس لابراتورا های آسیب پذیر
آشنایی با اکسپلویت نویسی به زبان هاب javascript, php و Python
آشنایی با نحوه کد نویسی امن و Secure وب سایت ها و Web Application ها
بیان راه های مقابله با آسیب پذیری های تحت وب بر اسا کد نویسی
ارائه تکنیک ها و روش های دور زدن و Bypass کردن مکانیزم ها و کد نویسی های امن و Secure
در دوره آموزشی SANS 503 شما با مفاهیم ، دانش و روشهای فنی تشخیص نفوذ و جلوگیری از حملات بصورت کاملا عملی آشنا می شوید و روشهای دفاع در برابر تهاجم به روش تشخیص نفوذ با IDS و IPS را به خوبی یاد می گیرید. در این دوره آموزشی تشخیص نفوذ در عمق ، شما با پروتکل ها و نحوه عملکرد آنها در شبکه بصورت کاملا کاربردی آشنا می شوید و به درستی مفاهیم و عملکرد TCP/IP را خواهید شناخت ، پس از یادگیری این دوره آموزشی شما می توانید ترافیک شبکه را تجزیه و تحلیل و از درون این ترافیک بصورت کاملا هوشمندانه ، حملات و خرابکاری ها را شناسایی کنید .
سرفصل های دوره SANS 503 ( آموزش تشخیص نفوذ حرفه ای )
503.1: Introduction to Wireshark 503.2: Writing tcpdump filters 503.3: IDS/IPS evasion theory 503.4: Snort rules 503.5: Analysis of three separate incident scenarios 503.6: The entire day is spent engaged in the NetWars: IDS Version challenge
مخاطبین دوره SANS 503 ( آموزش تشخیص نفوذ حرفه ای )
متخصصین امنیت شبکه و شبکه
فعالان عرصه امنیت سایبری
فعالان و دانشجویان عرصه امنیت اطلاعات
افراد علاقمند به ارتقا دانش خود به سطح SANS 503
و تمامی افرادی که در حوزه امنیت و شبکه های کامپیوتری فعالیت میکنند
چه چیزی در دوره SANS 503 یاد میگیریم؟
تسلط کافی بر روی TCP/IP و اجزا آن
تسلط و آشنایی بر روی مکانیزم و نحوه پیاده سازی حملات مختلف و خطرناک شبکه های کامپیوتری
تسلط بر روی نحوه Exploit نویسی برای حملات مختلف تحت شبکه
در دوره آموزشی SANS 560 شما با انجام درست و حرفه ای پروژه های تست نفوذ موفق و هک قانونمند آشنا خواهید شد. شما نحوه انجام دقیق و درست عملیات شناسایی ، نفوذ به سیستم های هدف نفوذ ، دسترسی پیدا کردن به اطلاعات هدف نفوذ ، اندازه گیری میزان ریسک موجود در آسیب پذیری در دنیای واقعی ، اسکن کردن حرفه ای شبکه با استفاده از ابزارهای حرفه ای و انجام تمرین های دنیای واقعی هک و نفوذ به شبکه را آموزش خواهید دید.
در این دوره شما فقط با چهره و قابلیت ها و تنظیمات ابزارها آشنا نمی شوید ، بلکه با استفاده حرفه ای و به روز از ابزارها آشنا خواهید شد . در این دوره شما با لابراتوارهای واقعی دنیای هک ، تمرین های فتح پرچم یا Capture The Flag در تست نفوذ آشنا می شوید و با این روش دانش خود در زمینه هک قانونمند را بسیار حرفه ای تر می کنید.
سرفصل های دوره SANS 560 ( آموزش تست نفوذ شبکه )
560.1 : Comprehensive Pen Test Planning, Scoping, and Recon 560.2: In-Depth Scanning 560.3: Exploitation 560.4: Password Attacks and Merciless Pivoting 560.5: Domain Domination and Web App Pen Testing 560.6: Penetration Test and Capture-the-Flag Workshop
مخاطبین دوره SANS 560 ( آموزش تست نفوذ شبکه )
متخصصین امنیت شبکه و شبکه
کارشناسان شبکه و زیرساخت
کارشناسان SoC
فعالان و متخصصین و دانشجویان عرصه امنیت سایبری
فعالان و متخصصین و دانشجویان عرصه امنیت اطلاعات
افراد علاقمند به ارتقا دانش خود به سطح SANS 560
و تمامی افرادی که در حوزه امنیت و شبکه های کامپیوتری فعالیت میکنند
چه چیزی در دوره SANS 560 یاد میگیریم؟
تسلط و آشنایی کامل با مراحل تست نفوذ در سطح سازمانی براساس استانداردهای بین المللی
تسلط بر روی تکنیک های Reconnaissance
تسلط بر روی تکنیک های مختلف بررسی و اسکن و آنالیز ترافیک های شبکه
تسلط بر روی پیاده سازی تکنیک های Exploitation و گرفتن دسترسی
تسلط بر روی پیاده سازی تکنیک های Post Exploitation و دور زدن مکانیزم های امنيتي
تسلط و آشنایی بر روی حملات Password و حمله به پروتکل های احراز هویت تحت شبکه مانند Kerberos و NTLM
تسلط و آشنایی با حملات Domain Controller و گرفتن دسترسی از آن
تسلط و آشنایی بر روی مباحث Cloud و استراتژی های امنیتی Cloud Provider ها
تسلط بر روی تکنیک ها و حملات پیشرفته زیرساختی
و مباخث دیگری که در این دوره آموزشی گفته شده است
دوره آموزشی SANS SEC580 ( Metasploit Kung Fu for Enterprise Pen Testing )
در دوره آموزشی SANS 580 شما تبدیل به یک غول در استفاده از فریمورک متاسپلویت ( Metasploit ) می شود و از قابلیت های شگفت انگیزی که در این ابزار وجود دارد در حوزه تست نفوذ و ارزیابی آسیب پذیری های امنیتی استفاده خواهید کرد. در این دوره شما با نحوه استفاده از متااسپلویت بصورت روزمره در فرآیند های تست نفوذ آشنا می شوید ، دانش عمیقی نسبت به فریمورک متاسپلویت به دست خواهید آورد و نحوه اکسپلویت کردن انواع آسیب پذیری ها را آموزش خواهید دید.
بصورت مفصل در خصوص فرآیند اکسپلویت کردن ، شناسایی های قبل از استفاده از اکسپلویت ، دستکاری کردن Token ها ، حملات Spear Phishing و بصورت ویژه کار کردن با قابلیت های پیشرفته Meterpreter و دلخواه سازی این Shell برای حملات هدفمند آشنا خواهید شد.
سرفصل های دوره SANS 580 ( آموزش متاسپلویت )
580.1 :Guided Overview of Metasploit's Architecture and Components 580.2 :Deep Dive into the Msfconsole Interface, including Logging and Session Manipulation 580.3 :Careful and Effective Exploitation 580.4 :The Ultimate Payload: The Metasploit Meterpreter In-Depth 580.5 :Metasploit's Integration into a Professional Testing Methodology 580.6 :Automation with Meterpreter Scripts to Achieve More in Less Time with Consistency 580.7 :It's Not All Exploits - Using Metasploit as a Recon Tool 580.8 :Using Auxiliary Modules to Enhance your Testing 580.9 :Ultra-Stealthy Techniques for Bypassing Anti-Virus Tools 580.10 :Client-Side Attacks - Using One-Liners instead of Executables 580.11 :Port and Vulnerability Scanning with Metasploit, Including Integration with Nmap, Nessus, and Qualys 580.12 :Capturing SMB Credentials and Metasploit's awesome PowerShell integration 580.13 :Merciless Pivoting: Routing Through Exploited Systems 580.14 :Exposing Metasploit's Routing Using SOCKS Proxies 580.15 :Privilege Escalation Attacks 580.16 :Metasploit Integration with Other Tools 580.17 :Making the Most of Windows Payloads 580.18 :Advanced Pillaging - Gathering Useful Data from Compromised Machines 580.19 :Evading Countermeasures to Mimic Sophisticated Attackers 580.20 :Scripting Up the Meterpreter to Customize Your Own Attacks 580.21 :Persisting Inside an Environment 580.22 :Carefully Examining Your Attack's Forensic Artifacts 580.23 :Integration with CrackMapExec, a Stand-alone Testing Tool
مخاطبین دوره SANS 580 ( آموزش متاسپلویت )
متخصصین و مهندسین حوزه امنیت شبکه و فناوری اطلاعات
کارشناسان تست نفوذ سنجی و هک قانونمند
مشاورین امنیت اطلاعات و ارتباطات
کارشناسان ارزیابی آسیب پذیری و مدیریت آسیب پذیری
متخصصین مراکز SOC ( مرکز مدیریت عملیات امنیت )
بازرس های امنیت اطلاعات و کارشناسان جرایم رایانه ای
محققین حوزه امنیت اطلاعات
کلیه علاقه مندان به حوزه امنیت و هک و نفوذ
چه چیزی در دوره SANS 580 یاد می گیریم؟
تبدیل به یک فوق تخصص در فریمورک متااسپلویت خواهید شد
به کلیه بخش ها ، قسمت ها و قابلیت های Metasploit مسلط می شوید
کار کردن با اسکریپت های متااسپلویت را بصورت کامل آموزش می بینید
می توانید حملات Client Side را به خوبی انجام دهید
ساختن انواع Payload با Metasploit را به خوبی یاد می گیرید
انواع حملات را می توانید براحتی بر روی هدف انجام دهید
بصورت کامل با Meterpreter آشنا خواهید شد
به ابزار Armitage مسلط می شوید
دوره آموزشی SANS SEC573 ( Automating Information Security with Python )
در دوره آموزشی SANS 573 هدف اصلی دوره حل کردن چالش های امنیتی حوزه فناوری اطلاعات با استفاده از اسکریپت های زبان پایتون است. اگر همیشه قرار است که منتظر بمانید که یک Vendor یا تولید کننده الزاما برای شما Patch امنیتی بسازد و ارائه بدهد ، یا راهکار امنیتی خاصی به شما ارائه کند
شما همیشه از مسیر و راه امنیت عقب هستید . در واقع این روزها ، کارشناسان حرفه ای حوزه امنیت اطلاعات باید بتوانند برای خودشان ابزارهای خاص منظوره طراحی و توسعه بدهند . در این دوره آموزشی شما توانایی استفاده و توسعه از اسکریپت های حوزه امنیت اطلاعات را پیدا می کنید.
سرفصل های دوره SANS 573 ( اتوماسیون امنیت اطلاعات با پایتون )
573.1: Essentials Workshop with pyWars 573.2: Essentials Workshop with MORE pyWars 573.3: Defensive Python 573.4: Forensics Python 573.5: Offensive Python 573.6: Capture-the-Flag Challenge
مخاطبین دوره SANS 573 ( اتوماسیون امنیت اطلاعات با پایتون )
متخصصان امنیتی که تمایل دارند کارهای روتین و روزانه خود را بصورت خودکار انجام دهند
کارشناسان کشف جرائم رایانه ای که میخواهند تجزیه و تحلیل خود را بصورت خودکار انجام دهند
متخصصان شبکه که تمایل دارند کارهای روزانه و تکراری خودرابصورت خودکارانجام دهند
تست نفوذگرانی که تمایل دارند به جای کاربا ابزارهای آماده (Script kiddie ) به سمت متخصص حرفه ای هک و نفوذ (هکر برنامه نویس) بروند
مشاوران امنیتی که قصد دارند ابزارهایی برای انواع راه حل های امنیتی بسازند
چه چیزی در دوره SANS 573 یاد می گیریم؟
تغییر ابزار های open source موجود و شخصی سازی آنها مطابق با نیاز خود و یا سازمان
دستکاری انواع log file ها با فرمت های مختلف به جهت سازگاری آنها با ابزارهای مختلف جمع آوری Log
ساخت ابزار های جدید آنالیز Log فایل ها و پکت های شبکه به منظور کشف هکرها در سازمان
توسعه ابزار های تخصصی کشف جرائم رایانه ای
خودکار سازی جمع آوری هوشمندانه اطلاعات به منظور افزایش سطح امنیت شما از منابع آنلاین
خودکار سازی استخراج داده های حیاتی در بحث کشف جرائم رایانه ای از رجیستری ویندوز و دیگر دیتابیس ها
دوره آموزشی SANS SEC504 ( Hacker Techniques )
هدف اصلی دوره آموزشی SANS 504 آماده شدن و توسعه مهارت های شما با محوریت پاسخگویی به رخدادهای امنیتی است. شما در این دوره آموزشی یاد می گیرید که چگونه برای مقابله با حملات سایبری و تهدیدات امنیت سایبری آماده شوید و نقشه مقابله مناسبی را برای دفاع در برابر این حملات طراحی کنید. در این دوره آموزشی آخرین تهدیدات امنیتی سازمان ها از جمله تهدیدات سمت کاربر یا تهدیدات امنیتی سمت سرور تجزیه و تحلیل می شود و بر اساس آن راهکارهای امنیتی ارائه می شوند.
دوره SANS SEC504 به شما دانش این را می دهد که متوجه شوید هکرها چگونه اسکن می کنند ، چگونه از اکسپلویت ها استفاده می کنند ، چگونه ارتباطات دائمی با سیستم قربانی برقرار می کنند و اساسا تکنیک های خاص هکری که استفاده می کنند ، شامل چه چیزهایی می شود. بیش از 50 درصد زمان این دوره آموزشی مختص انجام داده تمرین های عملی و کارگاهی برای کار کردن با ابزارها و موضوع های مهم و پیچیده در بحث تکنیک های نفوذ است. یادگیری این دوره آموزشی به شدت به شما در راه اندازی تیم آبی و تیم قرمز در سازمان ها کمک می کند.
سرفصل های دوره SANS 504 ( آموزش تکنیک های پیشرفته هک و نفوذ )
504.1: Incident Handling Step-by-Step and Computer Crime Investigation 504.2: Recon, Scanning, and Enumeration Attacks 504.3: Password and Access Attacks 504.4: Public-Facing and Drive-By Attacks 504.5: Evasion and Post-Exploitation Attacks 504.6: Capture-the-Flag Event
مخاطبین دوره SANS 504 ( آموزش تکنیک های پیشرفته هک و نفوذ )
متخصصین امنیت شبکه و شبکه
فعالان عرصه امنیت سایبری
فعالان و دانشجویان عرصه امنیت اطلاعات
افراد علاقمند به ارتقا دانش خود به سطح SANS 504
و تمامی افرادی که در حوزه امنیت و شبکه های کامپیوتری فعالیت میکنند
چه چیزی در دوره SANS 504 یاد می گیریم ؟
نحوه مدیریت حوادث و پاسخ گویی براساس راهکار های بین اللملی
تسلط و آشنایی با حملات متنوع بستر سیستم ها و شبکه های کامپیوتری
تسلط و آشنایی بر روی تکنیک های متنوع جمع آوری اطلاعات
تسلط و آشنایی بر حملات و نحوه کشف آنها در محیط های Web
دوره آموزش SANS FOR500 و SANS FOR506 ( Windows and Linux Forensics )
دوره آموزش SANS FOR500 و دوره آموزشی SANS FOR506 دو دوره تخصصی سنز سکیوریتی در حوزه کشف جرایم رایانه ای از سیستم عامل های ویندوز و لینوکس می باشند . هدف از این دوره آموزشی تجزیه و تحلیل و احراز صحت داده های جمع آوری شده از سیستم عامل های خانواده ویندوز و لینوکس در جهت بدست آوردن اطلاعات دقیقتر می باشد. در این دوره ها به دانشجویان متدلوژی های مختلف کشف جرم در شکل ها و موقعیت های مختلف در دنیای واقعی آموزش داده می شود. این دوره ویژه کارشناسان امنیت و تیم های آبی و قرمز در سازمان های بزرگ است.
سرفصل های دوره SANS FOR500 و SANS FOR506
FOR500.1:Digital Forensics and Advanced Data Triage FOR500.2:Shell Items and Removable Device Profiling FOR500.3:Email Analysis,Windows Timeline,SRUM and Event Logs FOR500.4:Web Browser Forensics FOR500.5:Windows Forensics Challenge FOR500.6:Registry Analysis,Application Execution and Cloud Storage Forensics
مخاطبین دوره SANS FOR500 SANS FOR506
پزشکان قانونی دیجیتال
فعالان و کارشناسان حوزه پزشکی قانونی دیجیتال و جرم شناسی دیجیتال
کارشناسان سطح 1 2 3 مرکز عمليات امنیتی (SoC)
متخصصین و فعالان عرصه امنیت سایبری
متخصصین و مهندسين عرصه امنیت اطلاعات
کارشناسان حوزه امنیت شبکه
افراد علاقمند به شروع و یادگیری مبحث کامپیوتر فارنزیک
(Computer Forensic) دانشجویان و علاقمندان حوزه فارنزیک ( Forensic )
چه چیزی در دوره SANS FOR500 SANS FOR506 یاد می گیریم؟
تسلط بر روی دوره SANS FOR500.1 و FOR500.2
تسلط بر روی دوره SANS SEC506.6
تسلط بر روی مباحث و اصول جرم شناسی دیجیتال سیستم ها و سرورهای ویندوزی
تسلط بر روی مباحث و اصول جرم شناسی دیجیتال سیستم ها و سرورهای لینوکسی
تسلط بر روی ابزار ها و تکنیک های جرم شناسی و یا فارنزیک سیستم ها و سرورها
تسلط کافی بر روی قسمت های حساس سیستم ها به منظور کشف شواهد جرم
سلام دوستان ، در این مطلب قرار یاد بگیرین چطور در Visual studio code یک پروژه از نوع Asp.net Core ایجاد کنید.اول از همه باید یک ورژن از dotnet روی سیستم شما نصب باشه ، برای نصب نسخه های مختلف دات نت به لینک های زیر برید(ترجیحا نسخه ۶ رو نصب کنید)برای ساخت یک پروژه ASP.NET Core در VS Code، ابتدا باید .NET SDK را نصب کنید. سپس با اجرای دستور dotnet new webapp -o MyProject در ترمینال، یک پروژه جدید ایجاد کنید. پس از آن، با دستور cd MyProject وارد پوشه پروژه شده و code . را اجرا کنید تا در VS Code باز شود. با اجرای dotnet run، سرور داخلی راهاندازی شده و پروژه قابل مشاهده خواهد بود. همچنین، نصب C# Extension برای تکمیل خودکار کد و دیباگ ضروری است. در آموزش برنامهنویسی، یادگیری ASP.NET Core برای توسعه وب اپلیکیشنهای مدرن بسیار مفید است.
1) net 6.
Download .NET 6.0 (Linux, macOS, and Windows) (microsoft.com)
2) net 5.
Download .NET 5.0 (Linux, macOS, and Windows) (microsoft.com)
۳) net core 3.1.
Download .NET Core 3.1 (Linux, macOS, and Windows) (microsoft.com)
بعد از دانلود یکی از ورژن های بالا cmd ویندوز رو باز کنید و دستور
dotnet new --list
وارد کنید. اگر درست نصب کرده باشین با صفحه زیر مواجه می شوید:
در مکان دل خواه یک پوشه ایجاد کنید.(مسیر پوشه را ذخیره کنید)
خب حالا VsCode را باز کنید.
از منوی File گزینه OpenFolder را انتخاب کنید.
به مسیر پوشه خود بروید و ان را انتخاب کنید.
حالا از منوی Terminal گزینه New Terminal را انتخاب کنید و در ترمینال باز دستور
dotnet new mvc را وارد کنید. پروژه ای از نوع Asp.net core mvc ایجاد می شود.
با دستور dotnet build دوباره پروژه را ایجاد کنید تا یک سری فایل ها کامل ساخته شود.
در نهایت با دستور dotnet run پروژه را استارت کنید
در اینجا دو لینک مانند لینک های زیر در اختیار شما قرار می گیرد.
https://localhost:7147http://localhost:5075
یک مورد را کپی کرده و در ادرس بار مرورگر خود paste کنید.
و حالا می توانید خروجی پروژه خود را مشاهده کنید.
امیدوارم این اموزش برای شما دوستان کاربردی بوده باشه.
پس از گرفتن دسترسی غیرمجاز از سمت یک کامپيوتر نیاز است که داده های مربوط به سیستم را از آن استخراج کنیم که این امر را به عنوان Data exfiltration میشناسیم. به واسطه فرآيند Data exfiltration ما توانایی استخراج داده های موجود در یک سیستم را داریم که این امر میتواند استخراج داده ها از سمت یک سیستم با دسترسی فیزیکی ما باشد و حتی میتواند یک سیستم و یا یک شبکه بزرگ آلوده شده به بد افزار باشد.
پس از گرفتن دسترسی غیرمجاز از سمت یک کامپيوتر نیاز است که داده های مربوط به سیستم را از آن استخراج کنیم که این امر را به عنوان Data exfiltration میشناسیم. به واسطه فرآيند Data exfiltration ما توانایی استخراج داده های موجود در یک سیستم را داریم که این امر میتواند استخراج داده ها از سمت یک سیستم با دسترسی فیزیکی ما باشد و حتی میتواند یک سیستم و یا یک شبکه بزرگ آلوده شده به بد افزار باشد.
سرفصل های این مطلب
مفهوم DNS Exfiltration چیست؟
پیاده سازی حمله DNS Exfiltration به صورت اتوماتیک
پیاده سازی حمله DNS Exfiltration به روش دستی
آماده سازی سیستم جهت حمله DNS Exfiltration
ساخت یک DNS Exfiltration Listener
طبق گزارش های که سالیانه ارائه میشود پروتکل DNS و Port 53 پرچمدار در حملات Data Exfiltration میباشند و به واسطه این پروتکل این حمله و این فرآيند استخراج داده ها از سازمان بسیار مورد توجه هکرها و بدافزارها قرار میگیرد زیرا که تجهیزات مدرن مانند NGFW ها ( فایروال های نسل بعدی )، IDS/IPS ها ( سیستم های تشخیص و جلوگیری از نفوذ ) تمرکز عمیقی بر روی این پروتکل ندارند و این پروتکل دراغلب موارد به صورت پیش فرض مجاز میباشد و ارتباطش کاملا باز است اما از این جهت تیم های امنیتی امروزی باید نگاه خود را بیشتر بر روی این پروتکل و اطلاعات آن قرار دهند. ما در این مقاله قصد داریم که بررسی کنیم مفهوم DNS Exfiltration چیست و چگونه پیاده سازی میشود.
تا به جای اینجا ما متوجه شدیم که فرآيند Data Exfiltration چیست اما این فرآيند بیشتر یک Tactic میباشد و DNS Exfiltration یک Technique جهت پیاده سازی کردن حمله و فرآيند Data Exfiltration جهت استخراج کردن داده ها از سمت سازمان یا کامپیوتر آسیب دیده
پیاده سازی این فرآيند بسیار ساده اما در عین حال خطرناک میباشد برای مثال یک بار واسطه حمله Dependency Confusion شرکت های بزرگ از حمله Apple و Microsoft و Adobe تحت تاثیر حملات سایبری قرار گرفته بودند و فرد هکر جهت اینکه بتواند اطلاعات و داده های حساس را استخراج کند از حمله DNS Exfiltration استفاده کرده بوده است.
پیاده سازی حمله DNS Exfiltration به صورت اتوماتیک
یکی از ابزارهای پرکاربرد در بحث DNS Exfiltration ابزار DNSteal میباشد که به نوعی میشود گفت یکی از ساده ترین روش ها جهت پیاده سازی DNS Exfiltration است که تمامی مراحل اتوماتیک انجام میشود. برای استفاده از این ابزار ابتدا آن را از Github این ابزار دانلود میکنیم
git clone https://github.com/m57/dnsteal
پس از دانلود این ابزار آن را اجرا سازی میکنیم
به منظور کارکردن با این ابزار باید از دستور زیر جهت ساخت قرار دادن آدرس خودمان درحالت Listen استفاده کنیم و همچنین از سوییچ -z به منظور اینکه فایل ها از حالت Zip خارج شوند زیرا که به صورت پیش فرض در حالت Zip میباشند.
در بالا میبینیم که دستوراتی برای ما تولید شده است و ما به شکل زیر میتوانیم این دستورات را در سیستم هدف اجرا سازی کنیم و فایل را بر روی سیستم خودمان دریافت کنیم. برای مثال فایلی که قرار است دریافت کنیم TOSINSO.txt میباشد و حاوی رمز عبور 12345 است.
بیشتر ببینید: دوره آموزش SANS Security 503 | تحلیل و تشخیص نفوذ
ابتدا در سیستم هدف دستور را اجرا سازی میکنیم:
و حالا بر روی سیستم امنیتی خودمان بررسی میکنیم که آیا فایل TOSINSO.txt دریافت شده است یا خیر درصورت دریافت شدن از کنترل C به منظور ذخیره شدن آن استفاده میکنم و فایل را بازمیکنیم مانند تصویر زیر و مقدار 12345 را به راحتی دریافت میکنیم
پیاده سازی حمله DNS Exfiltration به روش دستی
در این روش تمامی فرآيندها و مراحل به صورت کاملا دستی انجام میشود و شما در اینجا نیاز به دو چیز دارید:
یک نام دامنه ( میتوانید از دامنه های رایگان استفاده کنید )
یک آدرس IP Static ( میتوانید از یک VPS استفاده کنید و از آدرس IP Public آن استفاده کنید )
در ابتدا ما به سراغ ایجاد و ثبت یک نام دامنه رایگان در وب سایت Freenom.com میرویم و مراحل را به شکل زیر دنبال میکنیم:
مرحله دوم
مرحله سوم
مرحله چهارم
مرحله پنجم (نهایی)
در تصویر بالا ( تصویر آخر ) میبینید که اینجا ما یک نام دامنه با عنوان exfi.tk را ایجاد کردیم و به صورت فعال میباشد. حالا باید برویم سراغ متصل کردن آدرس IP یا به نوعی Route کردن تمامی درخواست های DNS مربوط به این دامنه به سمت آدرس IP خودمان که اینکار را به واسطه CloudFlare انجام میدهیم و با ساخت یک اکانت رایگان در CloudFlare میتوانیم این موضوع را طی کنیم. دلیل استفاده ما از CloudFlare این میباشد که بقیه سرویس دهنده های رایگان DNS اغلب امکان استفاده و ایجاد NS Record در آنها وجود ندارد.
به همین دلیل ما به سراغ CloudFlare میرویم که با یک حساب رایگان میتوانیم فرآيندمان را به راحتی انجام دهیم و دامنه خودمان را پس ساخت اکانت CloudFlare مانند تصویر زیر ثبت کنیم
نکته: CloudFlare پس از دریافت نام دامنه به منظور بررسی کردن دامنه و اطمینان از این موضوع که دامنه کاملا به ثبت رسیده است از چند دقیقه تا 24 ساعت زمان لازم دارد پس باید صبور باشید تا CloudFlare این دامنه را تایید کند.
حال قسمت رایگان CloudFlare را انتخاب میکنیم و روی گزینه Continue کلیک میکنیم
توجه کنید که تمامی پارامترهای قرمز رنگ تکمیل شده باشند.
پس از این فرآيند وارد قسمت Management Tools میشویم
در بخش NameServer و NameServer های CloudFlare را از صفحه باز شده کپی و در قسمت NameServer پیست میکنیم و بر روی گزینه Change NameServer میزنیم
تکمیل شدن این فرآيند چند دقیقه تا 24 ساعت زمان میبرد.
حالا برای تایید این موضوع که NameServer ها تغییر کرده اند میتوانیم از ابزار dig استفاده کنیم و اگر خروجی به شکل زیر بود متوجه میشویم که ماجرا به انجام رسیده است
$ dig @8.8.8.8 +short NS exfi.tk
dawn.ns.cloudflare.com.
jack.ns.cloudflare.com.
نکته: درصورتی که اروری مبندی وجود نداشتن دستور dig گرفتید ( Dig: Command Not Found ) از دستور apt install dig جهت نصب آن استفاده کنید ( برای سیستم های Debian Based )
آماده سازی سیستم جهت حمله DNS Exfiltration
برای این موضوع ابتدا بررسی میکنیم که Port 53 متعلق به DNS Server آزاد میباشد یا خیر که اینکار را به واسطه دستور lsof به شکل زیر انجام میدهیم
$ sudo sof -i :53
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
این کد نویسی را در قالب فایل .py قرار میدهیم و بر روی سیستم اجرا سازی میکنیم و بر روی سیستم مقابل میرویم و داده های که قصد داریم انتقال دهیم را بر روی دامنه ای که ثبت کردیم انتقال میدهیم و در سمت مقابل دریافت میکنیم
حمله DNS Exfiltration یک روش درآموزش هک برای استخراج داده از شبکه داخلی از طریق پروتکل DNS است. در این حمله، دادههای حساس بهصورت قطعهقطعه در درخواستهای DNS قرار گرفته و به یک سرور تحت کنترل مهاجم ارسال میشوند. مهاجم معمولاً از subdomain encoding برای ارسال دادهها استفاده میکند. در سمت سرور، درخواستها دریافت شده و دادهها دوباره سرهمبندی میشوند. برای پیادهسازی، مهاجم به یک دامنه تحت کنترل و یک سرور DNS سفارشی نیاز دارد.
به زبان ساده کگل | Kaggle یک پلتفرم آنلاین علم داده است که در مالکیت گوگل بوده و برای دسترسی به مجموعه داه های، روشهای حل و رقابت های یادگیر ماشین (علم داده | Data Science ) استفاده میشود.
سرفصل های این مطلب
خدمات ارائه شده توسط کگل | Kaggle :
مسابقات کگل | Kaggle :
نحوه برگزاری مسابقات کگل | Kaggle :
کرنل کگل | Kaggle:
مجموعه داده کگل | Kaggle :
استارت پروژه کگل | Kaggle در سال 2010 توسط آقای آنتونی گلدبلوم و جرمی هوارد با ارائه مسابقات یادگیری ماشین زده شد و امروزه به عنوان یک پلتفرم عمومی در حوزه پردازش داده ها در دسترس عموم قرار گرفته است، کگل در سال 2017 توسط شرکت گوگل خریداری شد و هم اکنون گوگل صاحب آن است.
کرنل کگل: یک محیط کار بر پایه سرویس ابری که توسط متخصصین علم داده برای پردازش داده و یادگیری ماشین استفاده می شود
مجموعه دادههای عمومی: مجموعه از داده ها و کرپس ها بوده که توسط افراد، پژوهشگران و شرکت ها در دسترس متخصصین علم داده قرار گرفته است.
مسابقات کگل | Kaggle :
تاکنون کگل | Kaggle صدها مسابقه در حوزه یادگیری ماشین، پردازش زبان طبیعی | NLP ، پردازش تصویر | Image Processing و ... اجرا کرده است که باعث حل چالش و موفقیت بسیاری از مسائل شده است. از جمله آن میتوان به پیشرفتهای مهم در تحقیقات HIV، سیستم های تشخیص چهره و پیشبینی ترافیک و ... اشاره کرد.
نحوه برگزاری مسابقات کگل | Kaggle :
نحوه برگزاری مسابقات کگل | Kaggle به این شکل است که ابتدا سازمان یا شرکت، داده های چندسن ساله خود را در اختیار افراد قرار می دهد و سپس مسئله خود را به همراه هدف و میزان جایزه بیان می کند، در ادامه متخصصین علم داده هر یک به نوعی الگوریتم های توسعه داده خود را به همراه خروجی و میزان دقت در پاسخ به مسئله موجود در اختیار تیم داوری قرار می دهند در نهایت تیم داوری با توجه به معیارهای ارزیابی علم داده بهترین رویکرد و راه حل پیشنهاد شده را انتخاب کرده و آن تیم را به عنوان تیم برنده جایزه اعلام می کنند. بسیاری از شرکت های تجاری و بزرگ کارمندان تحلیلی خود را از این سایت انتخاب می کنند.
کرنل کگل | Kaggle:
متخصصین علم داده می توانند در محیط ارائه شده توسط پلتفرم کگل که بر پایه سرویس ابری است به راحتی الگوریتم های یادگیری ماشین خود را توسط دهند و از سخت افزهای این پلترفم برای اجرا و تست برنامه های خود استفاده کنند.
مجموعه داده کگل | Kaggle :
یکی دیگر از مزایای پلتفرم کگل که باعث محبوبیت بیشتر آن شده است دسترسی رایگان متخصصین علم داده به میلیون ها کرپس یا مجموعه داده به منظور اجرا و یادگیری پروژه های علم داده.
با پیشرفت روزافزون تکنولوژی علاوه بر مزایا و ویژگی های خاص این حوزه، مشکلات جدیدی نیز به وجود می آید که یکی از آنها حملات سایبری است. اخبار مربوط به هک وبسایت ها و انتشار بدافزارها ( از قبیل ویروس، کرم، باج افزارها و ... ) را باید همه شنیده باشند، حال این سوال پیش می آید که اطلاعاتی در رابطه با حملاتی که علیه سیستم های اینترنت اشیا ( Internet Of things) دارید؟ سیستم های اینترنت اشیا بیش از پیش در صنعت و خانه های هوشمند استفاده می شوند. با حجم داده های موجود در هر دستگاه و قابلیت کنترل کل سیستم تولید در صنعت، اینترنت اشیا یک بازی خوب برای هکرها و کسانی است که قصد نفوذ دارند.در دنیای اینترنت اشیا (IoT)، حملات سایبری به دلیل ضعفهای امنیتی، افزایش چشمگیری داشتهاند. حملاتی مانند Botnet (مانند Mirai)، حملات Man-in-the-Middle، سرقت دادهها و نفوذ به دستگاههای هوشمند از رایجترین تهدیدها هستند. ضعف در رمزنگاری، احراز هویت ضعیف و پیکربندیهای پیشفرض ناامن، مهاجمان را قادر به سوءاستفاده میکند. برای مقابله، باید بهروزرسانی مداوم، احراز هویت قوی و مانیتورینگ امنیتی را جدی گرفت. در آموزش هک، شناخت این حملات و روشهای جلوگیری از آنها برای افزایش امنیت IoT بسیار مهم است.
سرفصل های این مطلب
حملات اینترنت اشیا چیست؟
حملات فیزیکی :
حملات مبتنی بر MAC آدرس دستگاه هاحمله شبکه
تعریف MAC :
حملات مبتنی بر MAC آدرس و خطرات ناشی از آن
نتیجه گیری
حملات اینترنت اشیا چیست؟
تعداد کل دستگاه های اینترنت اشیا امروزه به میلیاردها مورد می رسد و انبارهای داده عظیمی را ذخیره می کنند. بیشتر این دادهها دربرگیرندهی اطلاعات شخصی افراد مانند اطلاعات تماس، اندازهگیریهای محیطی و بهداشتی هستند. وقتی نفوذگران سعی می کنند به هر دستگاه یا جریان داده نفوذ کنند، یک حمله رخ داده است. سناریوها می توانند سرقت یا تغییر داده ها، ربودن دستگاه ها یا کل سیستم ها، یا احتمالاً اتصال دستگاه ها به شبکه های مجازی دیگر باشد.
* هنگامی که سیستم اینترنت اشیا به طور فزاینده ای توسعه می یابد، خطر حمله وجود دارد. *
اگر یک سیستم اینترنت اشیا مورد نفوذ قرار گیرد، باعث اختلال در عملکرد سیستم و از کار افتادن آن به صورت کلی خواهد شد. داده های موجود در سیستم عمدتاً بلادرنگ هستند و تأثیر زیادی بر صاحبان خود و کسب و کارشان دارند. تصور کنید در خانه هوشمند خود هستید اما شخص دیگری می تواند از شما جاسوسی کند. بدتر از آن، می توانید خط تولید خودرو را تصور کنید که قرار دادن اشتباه یک قطعه می تواند منجر به از کار افتادن کل ماشین شود یا بدتر از آن، خطایی ایجاد کند که باعث از کار افتادن کل خط شود. در زیر تکنیک های رایج حمله مورد استفاده علیه سیستم های اینترنت اشیا، از جمله حملات فیزیکی، MAC و شبکه آورده شده است.
حملات فیزیکی :
اینترنت اشیا مجموعه ای وسیع و پراکنده از دستگاه ها است. این دستگاه ها بیشتر برای اهداف مکانیکی و لوازم الکترونیکی خانگی هستند تا همه بتوانند به آنها دسترسی داشته باشند. مکانیزم آنها نیز تنها بر مسائل اتصال متمرکز است اما اکثرا بر روی امنیت سرمایه گذاری نکردهاند. بنابراین خطر بالقوه نفوذ به هر نقطه از سیستم و باز کردن یک آسیب پذیری جدی برای هکرها وجود دارد. حملات فیزیکی مستلزم این است که مهاجم نزدیک سیستم باشد. به عنوان مثال، حسگرها از رمزگذاری AES برای انتقال داده ها استفاده می کنند. هکرها به صورت دستی به دستگاه دسترسی پیدا می کنند و کلید مخفی AES را دریافت می کنند و در نتیجه دسترسی و اطلاعات لازم برای ورود به شبکه را به دست آوردهاند. هکرها حتی می توانند قطعات ماشین ها را جدا کرده و برنامه های مخرب را روی سطح تراشه جاسازی کنند. گفته می شود که حمله فیزیکی بعید است، اما زمانی که انجام شود، عواقب آن غیرقابل پیش بینی است. سرمایه گذاری روی افراد و تقویت حفاظت از سخت افزار کاری است که همه باید انجام دهند، به ویژه شرکت هایی که از اینترنت اشیا در صنعت استفاده می کنند.
* خطر احتمالی حمله فیزیکی به دستگاه ها *
حملات مبتنی بر MAC آدرس دستگاه ها
تعریف MAC :
MAC مخفف Media Access Control است. MAC وظیفه ایجاد مکانیزم آدرس دهی و کنترل دسترسی به دستگاه را دارد. MAC به عنوان یک رابط عمل می کند که انتقال داده ها را در دستگاه IOT آسان تر می کند. علاوه بر این، به چندین گره اجازه می دهد تا به یک محیط فیزیکی متصل شوند و آن محیط را به اشتراک بگذارند. آدرس MAC، همچنین به عنوان آدرس فیزیکی شناخته می شود، رابط پیش فرض یک دستگاه است. هر دستگاه متصل به شبکه فقط یک آدرس MAC برای شناسایی در سیستم دارد. این آدرس به کارت شبکه متصل شده و توسط سازنده مشخص شده است.
* مک آدرس *
حملات مبتنی بر MAC آدرس و خطرات ناشی از آن
انواع مختلفی از حملات MAC وجود دارد. اولین مورد، جعل MAC است که نوعی حمله است که با جعل هویت به سیستم نفوذ می کند. سیستم های اینترنت اشیا در برابر این امر بسیار آسیب پذیر هستند. اکثر دستگاه ها را سازندگان مختلف تولید می کنند و هیچ استاندارد امنیتی مشترکی برای این کار وجود ندارد، بنابراین تشخیص دستگاه های تقلبی دشوار است.
نوع دوم حمله MAC، حمله پارازیت است. سیستم های IOT با مقیاس وسیع و انتقال داده از طریق شبکه های بی سیم، زمینه مناسبی برای این نوع حملات هستند. هکر یک ایستگاه پایه ایجاد می کند و یک سری سیگنال را به دستگاه های موجود در سیستم ارسال می کند. افزایش ناگهانی ترافیک، خط انتقال را از بین می برد و باعث اختلال در سیستم می شود.
* وقتی زندگی به اینترنت اشیا بستگی دارد، حملات MAC تأثیر زیادی دارند. *
حمله شبکه
همه دستگاه ها در اینترنت اشیا یک اتصال اینترنتی یا داخل شبکه دارد، البته هک کردن از طریق شبکه راه مورد علاقه هکرها است. انواع رایج حملات سایبری در این قسمت عبارتند از حمله به وسیله بات نتها، مرد میانی یا نصب بدافزار بر روی دستگاه ها
اولین مورد استفاده از باج افزارها می باشد. نفوذگران سعی می کنند نرم افزارهای مخرب پنهان شده در اطلاعات را از طریق شبکه به دستگاه ارسال کنند، اگر کاربر به طور تصادفی آن را دانلود کرد، این نرم افزار را فعال می کنند. باج افزارها اغلب دستگاهها را قفل می کنند تا از کاربران باج بگیرند. حمله دیگر استفاده از بات نتها است که نوعی استفاده از دستگاه های IOT ربوده شده برای ادامه حمله به سیستم های دیگر است. به لطف کد مخرب نصب شده بر روی دستگاه، هکرها یک شبکه مجازی ایجاد می کنند و سپس حمله DDOS را انجام می دهند، به عنوان مثال داده ها را جمع آوری و از سیستم های دیگر جاسوسی می کنند، هرزنامه ارسال می کنند و برخی موارد دیگر.
نتیجه گیری
امیدواریم مفاهیم و تعاریف موجود در این مقاله، درک و دید بهتری نسبت به حملات سایبری رایج در سیستم اینترنت اشیا را به شما نشان دهد. در واقع هیچکس نمی خواهد، با حملات سایبری و مشکلات امنیتی رو به رو شود اما اتفاق می افتد، بنابراین ما باید همیشه تا حد امکان هوشیار باشیم. فناوری اطلاعات بیش از پیش رشد خواهد کرد و امنیت در اولویت بقای این فناوری است.
در این مطلب قصد داریم با ویژگی های جدید سی شارپ 12 که به تازگی توسط شرکت مایکروسافت و تیم دات نت ارائه شده آشنا شویم. زبان سی شارپ از زمان ارائه، دائم در حال تکامل بوده و با هر نسخه ای که ارائه می شود قابلیت های جدیدی به زبان سی شارپ اضافه می شود.در C# 12 قابلیتهای جدیدی اضافه شده که توسعهدهندگان را در کدنویسی سادهتر و بهینهتر یاری میکند. از جمله این ویژگیها میتوان به پارامترهای اختیاری در متدهای اصلی (primary constructors) برای کلاسها، بهبودهای collection expressions و پشتیبانی بهتر از default parameters در delegates اشاره کرد. همچنین، تغییراتی در interceptors و ref readonly parameters باعث بهینهسازی مدیریت حافظه شده است. این نسخه تمرکز زیادی روی خوانایی کد و عملکرد بهتر دارد. یادگیری این ویژگیها در آموزش برنامهنویسی به توسعهدهندگان کمک میکند تا از قابلیتهای جدید برای بهبود پروژههای خود بهره ببرند.
سرفصل
سازنده های اولیه یا Primary Constructors
عبارات مجموعه ها یا Collection Expressions
پارامترهای ref readonly
parameter default value در lambda expression ها
تعریف alias
تعریف inline arrays
ExperimentalAttribute
سازنده های اولیه یا Primary Constructors
در ابندا این قابلیت تنها در رکورد ها قابل استفاده بود و در سی شارپ 12 این قابلیت به class ها و struct ها نیز اضافه شده است. بوسیله این قابلیت می توان پارامترهای سازنده را در مقابل نام کلاس تعریف کرده و از آن در کل بخش های کلاس استفاده کرد. در ادامه نحوه تعریف سازنده های اولیه را مشاهده می کنید:
var p = new Person("Hossein", "Ahmadi");
public class Person(string firstname, string lastname) { public string Firstname { get; set; } = firstname; public string Lastname { get; set; } = lastname; }
عبارات مجموعه ها یا Collection Expressions
این قابلیت روش جدیدی برای مقدار دهی اولیه مجموعه ها را در اختیار برنامه نویسان قرار می دهد. در زیر نمونه هایی از این قابلیت را مشاهده می کنید:
int[] numbers = [1,2,3,4];
List names = ["Hossein","Mehdi", "Mohammad","Ali"];
برای تعریف آرایه های jagged به صورت زیر می توان از این قابلیت استفاده کرد:
یکی از ویژگی های جالب Collection Expressions استفاده از Spread Operator است، این قابلیت به شما این اجازه را می دهد تا مقادیر یک آرایه را داخل یک آرایه دیگر درج کنید، یعنی هر مقدار به صورت جداگانه در یک خانه قرار میگیرد:
یک سری نکات برای ارسال مقدار به متدهایی که پارامترهای ref readonly دارن باید رعایت بشه:
مقدار ارسالی حتماً باید به صورت متغیر باشه در غیر اینصورت کامپایلر اخطار نمایش میده
برای ارسال پارامتر حتماً از کلمات کلیدی ref یا in باید استفاده بشه، در غیر اینصورت کامپایلر اخطار نمایش میده
در ادامه نمونه کدهایی برای فراخوانی متد تعریف شده در بالا مشاهده می کنید:
int num = 12; SampleMethod(12); // compiler will generate warning SampleMethod(ref num); // OK SampleMethod(num); // compiler will generate warning SampleMethod(in num); // OK
parameter default value در lambda expression ها
بوسیله این قابلیت امکان مشخص کردن مقدار پیش برای پارامترهای عبارت های lambda وجود خواهد داشت. به عنوان مثال:
var divideExp = (int num1, int num2 = 2) => num1 / num2;
var r1 = divideExp(12); var r2 = divideExp(12, 3);
همانطور که مشاهده می کنید برای پارامتر num2 مقدار پیش فرض 2 مشخص شده و در زمان فراخوانی، می توان رای num2 مقداری مشخص نکرد.
تعریف alias
بوسیله این قابلیت می توان با alias را برای هر نوع داده ای تعریف کرد. در نسخه های قبلی می بایست حتماً یک نوع داده تعریف شده و بر اساس آن alias را تعریف کرد. اما در سی شارپ 12 این قابلیت به صورت زیر نیز قابل انجام است:
using MyType = (int x, int y);
var mt = new MyType(1,2);
تعریف inline arrays
بوسیله این قابلیت امکان تعریف یک آرایه با طول ثابت بوسیله تعریف struct ها وجود دارد. افزودن این قابلیت برای افزایش Performance برنامه بوده و به گفته خود مایکروسافت کاربرد این قابلیت برای تیم توسعه دهنده دات نت و همچنین برنامه نویس هایی است که کتابخانه هایی را برای استفاده سایر برنامه نویس ها توسعه می دهند. برای تعریف inline arrays از attribute ای با نام InlineArray استفاده می شود که فضای نام System.Runtime.CompilerServices قرار دارد. نحوه استفاده از این قابلیت به صورت زیر است:
[System.Runtime.CompilerServices.InlineArray(12)] struct Names { private int _element0; }
var names = new Names();
names[0] = 12; Console.WriteLine(names[0]);
زمان استفاده از این قابلیت توجه داشته باشید که استفاده از attribute ذکر شده تنها بر روی struct ها مجاز بوده و همچنین داخل نوع داده تعریف شده، حتماً باید یک فیلد تعریف شود.
ExperimentalAttribute
با قرار دادن این Attribute بر روی یک class یا struct یا method، زمان استفاده از آن یک اخطار نمایش داده می شود که این نوع داده یا متد تعریف شده آزمایشی می باشد. تنها در صورتی امکان استفاده از آن وجود خواهد داشت که داخل کد اخطار غیر فعال شد. نمونه کد زیر نحوه استفاده از این قابلیت را نمایش می دهد:
#pragma warning disable C_MyClass_M_DoSomething // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed. c.DoSomething(); #pragma warning restore C_MyClass_M_DoSomething // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed.
class MyClass { [Experimental("C_MyClass_M_DoSomething")] public void DoSomething() {
راهکار SSL Offloading چیست و چگونه کار میکند؟ در اصل این راهکار یکی از روش های کاهش بار بر روی وب سرور میباشد که فرآيند و بار رمزگذاری و رمزگشایی داده های وب سرور هارا کاهش از روی وب سرور ها حذف میکند. پروتکل SSL (البته این پروتکل منسوخ شده است و نسخه جایگزین آن TLS میباشد اما نام راهکار SSL Offloading تغییری نکرده است برای همان از عنوان SSL استفاده میکنیم) پروتکلی است که به جهت رمزگذاری و رمزگشایی داده ها و ضمانت ارسال داده ها به صورت کامل و کاملا امن را بر روی بستر HTTP میباشد. انجام محاسبات و الگوریتم SSL به جهت اینکه داده هم رمزنگاری و هم رمزگشایی شود بسیار سخت و سنگین میباشد پس از همین بابت برای کاهش بار موجود بر روی وب سرور و جداسازی ترافیک دریافتی وب و بارمحاسباتی رمزگذاری و رمزگشایی ما از راهکار SSL Offloading استفاده میکنیم.
راهکار SSL Offloading چیست؟
با این راهکار و مفهوم SSL تا حدودی آشنا شدیم اما به صورت کلی SSL پروتکلی است که داده هارا برای ما رمزنگاری میکند و در جلوگیری از حملات متنوعی از جمله Reply Attack و MITM کاربرد دارد و کمک زیادی میکند. پروتکل SSL باتوجه به خوبی که دارد میزان بار محاسباتی زیادی هم در پی دارد بدین شکل که این فرآيند بر روی سرور(ها) و پردازش CPU آنها بسیار تاثیر گذار میباشد
درکنار اینکه این سرور(ها) میزان ترافیک دریافتی و پردازش درخواست های دریافتی وب راهم باید بررسی کند و پاسخ آن را ارسال کند پس از همین جهت باید راهکاری داشته باشیم که وب سرور ما توانایی این را داشته باشد که به پاسخ های دیگری پاسخ دهد و بار اضافی بر روی آن نباشد.بیشتر ببینید: دوره SANS Security 573 | خودکارسازی امنیت اطلاعات با Python
پس ما یک راهکار را به این جهت استفاده میکنیم که بار محاسباتی SSL که شامل رمزنگاری داده ها و رمزگشایی آنها میشود را از روی وب سرور حذف کنیم و بر روی یک سرور دیگر که به اصطلاح به آن SSL Load Balancer یا SSL Offloading Server گفته میشود قرار دهیم.
نحوه کار SSL Offloading چگونه است؟
توجه داشته باشید این فرآيند و هدف از این راهکار این است که ما پردازش SSL را مستقیما بر روی سرور وب خودمان به انجام نرسانیم و وقتی که ما این پردازش را جداسازی میکنیم و روی یک تجهیز دیگه قرار میدیم بدین شکل میشه که وقتی داده ای از سمت کاربر به سمت وب سرور ارسال میشه در ابتدا داده بر روی پروتکل HTTPS ( به صورت رمزنگاری شده ) در سروری که SSL Offloading را انجام میدهد دریافت میشود و بعد از آن بعد از رمزگشایی کردن داده ها، داده به صورت متن ساده ( Clear Text ) به سمت وب سرور ارسال میشود.بیشتر بخوانید: UBA یا همان User Behavior Analytics چیست؟ به زبان ساده
توجه داشته باشید که این فرآيند صرفا بر روی یک تجهیز خارجی و تهجیز بالا دستی از سرور قابل انجام نیست بلکه این موضوع میتواند بر روی خوده سرور وب انجام شود اما پردازش با یک پردازشگر و سختافزاری دیگری به انجام برسد.
مزیت استفاده از SSL Offloading چیست؟
قرار گیری میزان بار محاسباتی SSL Handshake بر روی یک دیوایس دیگر با سرعت بالاتر
افزایش سرعت و میزان توانایی پردازش سرور وب
افزایش سرعت بارگذاری صفحات وب سایت
افزایش پایداری و Performance وب سایت
پیاده سازی راحت تر HTTPS Inspection ( بازرسی HTTPS فرایندی میباشد که در آن بسته های HTTPS کاملا بررسی و بازرسی میشوند که کد های مخرب به صورت رمز شده در آنها قرار نگرفته باشد چون که رمزنگاری و SSL هم میتونه یک شمشیر دو لبه باشه )
توجه داشته باشید که SSL Offloading دو حالت را شامل میشود که به شرح زیر میباشند:
حالت اول - SSL Termination
این روش همان روشی است که در بالا توضیح دادیم و نحوه کار آن هم بدین شکل است که داده رمزنگاری شده در سرور SSL Offloading دریافت میشود و داده پس از رمزگشایی به سمت وب سرور ارسال و پاسخ آن نیز در سرور SSL Offloading رمزنگاری میشود و به سمت کلاینت و درخواست کننده مورد نظر ارسال میشود.
حالت دوم - SSL Bridging
این حالت با حالت SSL Termination متفاوت میباشد زیرا که داده ها به صورت رمزنگاری شده در سرور SSL Offloading دریافت میشوند و به همان صورت هم به سمت وب سرور ارسال میشوند و فرآيند رمزگشایی آنها به عهده وب سرور میباشد. دراصل این فرآيند به جهت بررسی های اضافی و داشتن بازرسي بر روی ترافیک های رمزنگاری شده وب میباشد که از لحاظ داشتن محتوا و کد های مخرب بررسی شوند و درصورت داشتن مشکل Drop شوند در غیر این صورت به همان شکل ( کاملا رمز شده ) به سمت وب سرور ارسال شوند به جهت رمزگشایی در وب سرور و پردازش درخواست
گسترش روزافزون داده ها ساختاریافته و ناساختاریافته در وب، باعث ایجاد چالشی تحت عنوان داده های کلان شده است. با توجه به نوع داده ها موجود در ساختار داده های کلان از روش های مختلفی مانند یادگیری ماشین و پردازش زبان طبیعی برای تحلیل این نوع داده ها استفاده می شود. بخش عظیمی از داده های کلان را داده های ناساختاریافته در قالب زبان طبیعی انسان (متن) تشکیل می دهند، محتویات موجود در وب سایت ها، مجلات، شبکه های اجتماعی و ... از نوع داده های متنی هستند، که در سال های اخیر رشد چشم گیری داشته اند.
پردازش زبان طبیعی (NLP) مجموعه روش های سنتی هوش مصنوعی هستند که برای درک، فهم و تحلیل بهتر زبان طبیعی انسان ها توسط ماشین استفاده می شود. از جمله این روش ها می توان به استخراج نام ها از متن، استخراج موجودیت ها از متن، ریشه یابی کلمات، حذف کلمات زائد از متن و ... نیز اشاره کرد که در سال های اخیر با ترکیب سایر مؤلفه های هوش مصنوعی مانند یادگیری عمیق قدرت درک، فهم و تحلیل داده های متنی توسط روش های پردازش زبان طبیعی افزایش یافته است.
یکی از مهمترین وظایف پردازش زبان طبیعی، تحلیل احساسات داده های متنی می باشد. کاربران انسانی خیلی تمایل دارند تا با استفاده از دستگاه های هوشمند در شبکه های اجتماعی مانند توییتر، فیس بوک، اینستاگرام، واتس اپ و ... احساسات یا نظرات خود را نسبت به یک مطلب، ارائه دهند و آن را با دیگران به اشتراک بگذارند. توییتر یکی از بهترین ابزارهای موجود برای جمع آوری و سنجش افکار کاربران وب در وقایع مختلف می باشد که نسبت به سایر شبکه های اجتماعی از محبوبیت بیشتری بین کاربران وب برخوردار می باشد.
لذا با حجم عظیمی از داده های متنی در شبکه های اجتماعی و انجمن های انلاین اینترنتی روبه رو هستیم که روز به روز به تعداد آن افزوده شده بدون آنکه دانش مفیدی از آن استخراج گردد. تحلیل احساسات به سیستم ها این امکان را می دهند تا با تحلیل و آنالیز کلمات موجود در متن، احساس کاربران را نسبت به یک واقعه یا رویداد استخراج نماید، که به طور معمول دارای دو برچسب مثبت یا منفی می باشد. برای پیاده سازی یک رویکرد یا سیستم تحلیل احساسات دو روش وجود دارد که عبارتند از:
روش های مبتنی بر واژه:
این روش متکی بر یک واژه نامه احساس می باشد، به عنوان مثال در صورت وجود واژه های نفرت انگیز یا شگفت انگیز در یک متن، برچسب Positive یا Negative را به آن متن نسبت می دهد. اما این رویکردها مدام نیاز به بروزرسانی واژه نامه احساسی دارد و برای تحلیل احساسات معنای عینی جملات کاربرد دارد. لذا نمی تواند برحسب معنای ضمنی جملات به آن برچسب تخصیص دهد به عنوان مثال این رویکرد در تخصیص برچسب به جمله من یک ماشین هفته پیش خریدم و امروز بر روی بدنه آن یک لکه ظاهر شد ناتوان است.
در این رویکرد ابتدا مدلی براساس کلمات موجود در دیتاست آموزش دیده و سپس بر روی بخش دیگری از جملات یک دیتاست آزمایش می شود. در صورتی که در مرحله آزمایش دقت قابل قبولی را کسب کند از آن مدل به عنوان یک مدل تصمیم گیرنده یا پیش بینی کننده احساسات سایر جملات یا رکوردهای دیتاست استفاده می شود. روش های و الگوریتم های زیادی در این نوع رویکرد وجود دارد مانند الگوریتم های Random Forest، SVM ، NB و ... . اگر چه این رویکرد نسبت به رویکردها مبتنی بر واژه از دقت بهتری برخورد دار می باشد اما یکی از عیوب این روش انتخاب ویژگی توسط برنامه نویس است.
روش های یادگیری عمیق:
در سال های اخیر برای حل مشکل رویکردهای مبتنی بر یادگیری ماشین از یادگیری عمیق استفاده شده است با استفاده از یادگیری عمیق، دیگر نیاز به انتخاب ویژگی توسط برنامه نویس نیست، اما در مقابل باید حجم داده های آموزشی که برای یادگیری مدل استفاده می شود بسیار زیاد باشد. لذا رویکرد سومی تحت عنوان یادگیری عمیق در سال های اخیر برای تحلیل احساسات داده های متنی شکل گرفته است.میزان دقت رویکرد یادگیری عمیق با توجه به عدم دخالت کاربر در تعیین ویژگی های با اهمیت، نسبت به رویکردهای قبلی کمتر می باشد.
با رشد روز افزون داده ها، باید بپذیریم که حکومت آن ها بر جهان شروع شده است و جهان به دنبال شکار متخصصین این حوزه به منظور مقابله با داده ها می باشد، دانشمندان علم داده | Data Scientist با توانایی های آماری، مصورسازی، دسته بندی، خوشه بندی، پردازش زبان طبیعی، یادگیری عمیق و ... می توانند به عناصر جهان مانند شرکت ها، دولت ها در تحلیل و کسب سوددهی بیشتر از داده ها کمک کنند.
لذا در کاملترین دوره آموزش علم داده | Data Science | مقدماتی تا پیشرفته | سناریو محور و گام به گام در خدمت شما بوده و قصد داریم در پایان این دوره از شما دانشجوی عزیز یک متخصص علم داده يا دانشمند علم داده | Data Scientist بسازیم. متخصص علم داده | Data Scientist یکی از پردرآمدترین شغل های حال حاضر دنیا در قرن جاری می باشد.
این مطلب برای آموزش نامگذاری متغیر ها و کلاس ها و توابع است و در مورد این که چگونه انتخاب نام ما باعث تمیز تر شدن کد ما می شود صحبت خواهیم کرد.در آموزش برنامهنویسی، نامگذاری متغیرها باید خوانا، معنادار و مطابق با استانداردهای زبان برنامهنویسی باشد. معمولاً از camelCase در زبانهایی مانند جاوااسکریپت و جاوا (myVariable) و از snake_case در پایتون (my_variable) استفاده میشود. نام متغیر نباید با عدد شروع شود و بهتر است از کلمات کلیدی زبان اجتناب شود. استفاده از نامهای توصیفی مانند userAge به جای x باعث خوانایی بیشتر کد میشود. رعایت این اصول باعث بهبود نگهداری و توسعه کد خواهد شد. انتخاب نام مناسب یکی از ابتدایی ترین اصولی است که برای تمیزی کد باید آن را رعایت کنیم. کد نویسی تمیز بسیار اهمیت دارد زیرا که باعث می شود که سایر اعضای تیم و یا سایر انسان ها بتوانند کد شما را بخوانند. جمله ای از زبان یکی از برنامه نویسان بزرگ هست که می گوید: "هر احمقی میتواند کدی بنویسد که کامپیوتر درک کند. برنامهنویسان خوب کدی مینویسند که انسانها درک کنند."
سرفصل های این مطلب
نام خوب نامی است که قصد و هدف را مشخص کند
از نامگذاری گمراه کننده پرهیز کنید.
از نام هایی که خیلی شبیه به هم هستند استفاده نکنید.
در تعریف متغیر ها از سری عددی استفاده نکنید.
از نامگذاری با معنی و قابل تلفظ استفاده کنید.
انتخاب نام کلاس و تابع
نام گذاری با توجه دامنه استفاده
صریح کد بنویسید
پس بهتر است که این اصول رعایت شود تا کد ما خوانا تر باشد و همانطور که گفتم یکی از ابتدایی ترین بخش های آن انتخاب نام صحیح می باشد.
نام خوب نامی است که قصد و هدف را مشخص کند
نام هایی که ما برای موجودیت های برنامه (متغیر، کلاس، تابع) انتخاب می کنیم باید نشان دهنده قصد و هدف ما از آن موجودیت باشد. یعنی نامی را که انتخاب کرده ایم به ما می گوید که اولا چرا چنین موجودیتی وجود دارد ثانیا چه کار می کند و ثالثا چطوری از آن استفاده می شود. دقت کنید که اگر نامگذاری شما برای رساندن منظور خود نیاز به کامنت گذاشتن دارد بدانید که آن نامگذاری درست نیست و باید نام آن موجودیت را تغییر دهید. مثلا نامگذاری زیر اشتباه است:
int d; // elapsed time in days
بهتر است که نام متغیر بالا را به شکل زیر تغییر دهیم.
int elapsedTimeInDays;
شاید بگویید که این نامگذاری باعث طولانی شدن نام متغیر ما می شود و تایپ کردن آن زمانبر بوده و باعث پایین آمدن سرعت ما خواهد شد. دقت کنید که با ادیتور ها و IDE های موجود این بهانه کاملا رد می شود زیرا با قدرت و هوشمندی که ابزار های برنامه نویسی دارند لازم نیست که شما نام کل متغیر را تایپ کنید. اما مقدار شفافیتی که این نام با نام قبلی دارد بسیار زیاد است. پس نگران طولانی بودن نباشید و به با معنی بودن بپردازید.
از نامگذاری گمراه کننده پرهیز کنید.
برای انتخاب نام نباید نام هایی استفاده کنید که کسی که کد شما را می خواند به اشتباه بیاندازد و یا سرنخ غلط به او بدهد. مثلا ممکن است که اسم یک متغیر hp قرار داده شده باشد. خب با توجه به معروف بودن hp مشخص نیست که این متغیر دقیقا به چه منظور ساخته شده است و هدف ساختن آن چه بوده است. همچنین اگر مجموعه ای از دانش آموزان دارید که همه آنها را در متغیری به نام studentList ذخیره کرده اید دقت داشته باشید که نوع این متغیر حتما باید از نوع List باشد و آرایه یا ساختمان داده ی دیگری نباشد زیرا که خواننده را به اشتباه خواهد انداخت. اگر نوع متغیر این مجموعه دانش آموزان از نوع لیست نیست پس نام دیگری مانند students برای آن انتخاب کنید تا گویای مطلب باشد و گمراه کننده نباشد.
از نام هایی که خیلی شبیه به هم هستند استفاده نکنید.
زیرا که بخش بزرگی از این دونام شبیه به هم هستند و همین امر باعث می شود که چشم های خواننده خسته شود و یا برنامه نویسان دیگر آنها را به جای همدیگر استفاده کنند که باعث دردسر خواهد شد. همچنین استفاده از L کوچک و o بزرگ به خاطر این که ممکن است که با اعداد 1و 0 اشتباه گرفته شود ممنوع است. همچنین استفاده از عباراتی مانند klass که همان کلاس است ولی به خاطر کلمه کلیدی بودن با k نوشته شده است تا کامپایلر خطا نگیرد نیز کار درستی نیست.
در تعریف متغیر ها از سری عددی استفاده نکنید.
استفاده از سری عددی به دنبال یک حرف کار بسیار کثیفی است مثل a1,a2,a3,…. با این که این نام ها گمراه کننده نیستند ولی هیچ قصد و منظوری را مشخص نمی کنند و هیچ اطلاعی از متغیر و استفاده از آن را به ما نمی دهند. دقت داشته باشید که نام متغیر باید به 3 سوال گفته شده در بالا پاسخ دهند.
از نامگذاری با معنی و قابل تلفظ استفاده کنید.
کسی که کد شما را می خواند باید کد شما برایش مانند یک نوشته جذاب و قابل فهم باشد مثلا نامی مثل gwda را نمی شود تلفظ کرد و همچنین برای خواننده هیچ معنی خاصی ندارد. همچنین نام getYYYYYY اسمی واقعا بد و بدون معنی می باشد.
همچنین از پیشوند هایی که به پیشوندهای لهستانی معروف هستند و در زبانهای قدیمی رایج بوده اند استفاده نکنید. مثلا استفاده از حرف c قبل از نام کلاس و یا _ قبل از نام فیلد داخلی واقعا کار اشتباهی است و نباید استفاده شود.
انتخاب نام کلاس و تابع
نام کلاس ها را از اسم ها انتخاب می کنیم مانند Account, Employee, Student, Message و نام توابع را به صورت فعل دستوری می نویسیم مثل GetAge و یا InsertName
نام گذاری با توجه دامنه استفاده
اگر متغیری داریم که در یک بخش 3 خطی و کمتر استفاده می شود می توانیم نام آن را کوتاه انتخاب کنیم ولی اگر دامنه استفاده از این متغیر بیشتر از 3 خط است باید نام آن را کامل بنویسیم. پس طول نامگذاری متغیر با اندازه دامنه رابطه مستقیم دارد ولی برای نام کلاس و متد این قضیه به صورت عکس عمل می کند. مثلا هرچه یک متد یا کلاس عام تر باشند بهتر است نام آن کوتاه تر باشد. مثل open یا close که هم برای فایل ها و هم برای دیتابیس و هم برای سوکت ها استفاده می شود. ولی در دامنه های کوچک بهتر است که نام ما کامل باشد تا منظور ما کامل انتقال داده شود.
در نامگذاری کلاس های ارث بری شده می توان یک صفت به نام آن اضافه کرد مثلا کلاس SavingAccount که از کلاس Account ارث بری کرده است.
صریح کد بنویسید
از نام های جوک و شاعرانه و فلسفی و این چیز ها استفاده نکنید و صریح و واضح نام گذاری کنید مثلا نام abort درست است و استفاده از نامی مانند eatMyShorts به جای آن غلط است. درکدتان مزه نریزید و ضرب المثل نزنید و با کدتان لاس نزنید.
برای هر منظور از یک نام مشخص استفاده کنید. مثلا fetch و get, retrieve تقریبا مشابه هم هستند ولی تصمیم بگیرید که در برنامه از یکی استفاده کنید و به آن پایبند باشید و آن را عوض نکنید. عکس قضیه رو هم رعایت کنید. از یک نام برای چند منظور استفاده نکنید و از قاعده هر کلمه فقط برای یک مفهوم استفاده کنید.
کدی که شما می نویسید توسط برنامه نویس ها خوانده خواهد شد. پس مشکلی ندارد که از نام های معمول رشته کامپیوتر استفاده کنید مثل jobQueue . با دیدن این اسم برنامه نویس خواهد فهمید که یک ساختمان داده صف برای job ها در نظر گرفته شده است.
در کد نوشته شده می توان از نام های موجود در problem domain هم استفاده کر مثلا اگر سیستم حسابداری می نویسید می توانید از نام های معمول در حسابداری استفاده کنید.
مطالب گفته شده از کتاب clean code uncle bob آورده شده است.برای درک بهتر مفاهیم این مقاله دوره های زیادی وجود دارد که به مراجعه به آنها درک عمیقی خواهید داشت.
مکانیزم آموزش برنامه نویسی جاوا در این دوره در قالب سناریو محور و کارگاهی با کامل کردن پروژه های دنیای واقعی می باشد.در این آموزش زبان برنامه نویسی جاوا از ابتدایی ترین موارد شروع کرده و تا پیشرفته ترین موارد آموزش می دهد. شما اگر هیچ آشنایی قبلی با زبان برنامه نویسی جاوا هم نداشته باشید با مشاهده این دوره آموزشی می توانید تبدیل به یک برنامه نویس Java شوید. مقدماتی تا پیشرفته بودن دوره اولین نشانه از جامع بودن دوره آموزشی جاوا است.
مکانیزم آموزش برنامه نویسی اندروید | Android ای که در این دوره بکار گرفته شده است در قالب سناریو محور و کارگاهی است و شما با کامل کردن پروژه های برنامه نویسی موبایلی که می توانید عملا در طی دوره بنویسید و از آنها روی گوشی خود استفاده کنید ، برنامه نویسی را آموزش می بینید. شما اگر هیچ پیش زمینه خاصی در یادگیری برنامه نویسی موبایل در اندروید هم نداشته باشید با مشاهده این دوره آموزشی تبدیل به یک برنامه نویس اندروید حرفه ای می شوید . این اولین نشانه از جامع بودن آموزش Android Programming ای است که شما در آن حضور دارید.
بهترین برنامه موتور بازی سازی برای ساخت بازی های دو بعدی و سه بعدیاندروید با کامپیوتر . نرم افزار با و بدون برنامه نویسی . چگونه طراحی بازی با یونیتی Unity انجام می شود . نحوه ساخت بازی با کامپیوتر چگونه است ؟ چگونه می توانم بازی های رایانه ای بسازم ؟ آیا برای ساخت بازی های ویدیویی رایانه ای نیاز به بلد بودن برنامه نویسی است ؟ معرفی نرم افزار مخصوص بازی سازی در ایران و جهان . چگونه می توانم بازی سازی شوم ؟ به این سوالات و بسیاری از سوالات دیگر در ادامه پاسخ داده شده است .
نرم افزار های ساخت بازی کدام است ؟
اولین سوال این است . کدام برنامه و نرم افزار برای ساخت بازی مناسب می باشند . آیا می خواهید بازی بسازید یا نه ! اگر واقعا قصد ساخت بازی را دارید ، چه ساده یا پیشرفته یا دو بعدی یا سه بعدی ، باید برنامه نویسی کنید ! تمام کسانی که می گویند بدون برنامه نویسی میشود بازی ساخت ، اشتباه می گویند . آیا این حرف را باور ندارید ؟ نرم افزار اسکرچ برای کودکان 6 ساله است که برنامه نویسی دارد ! پس نگویید که برنامه نویسی ندارد . برنامه نویسی برای ساخت بازی ، گونه ای از کدنویسی است که شما براحتی می توانید آنرا یاد بگیرید . البته ما نمی خواهیم با اسکرچ بازی بسازیم ! ساخت بازی با اسکرچ ، برای کودکان 6 تا 10 ساله است . اگر شما بیشتر از 10 سال سن دارید ، حتی اگر 120 سال هم که داشته باشید ، می توانید با انجین یونیتی بازی بسازید .
یونیتی چیست و چه کار هایی را می توان با آن انجام داد ؟
سوال دوم این است که یونیتی چیست و چه تفاوتی با دیگر نرم افزار ها دارد و چه بازی هایی را می توان با ان تولید کرد ؟در جواب می گوییم که تمامی بازی های دنیا از بازی های دو بعدی و سه بعدی برای اندروید و کامپیوتر و پلی استیشن و ایکس باکس می توانید بسازید . هر بازی از هر نوع و هر سبکی که بخواهید ! درآمد یک یونیتی کار را در وسط این مقاله بررسی کرده ایم .
بازار کار بازی سازی با Unity چگونه است؟
درآمد دقیقی را نمی توان بیان کرد . بستگی به تلاش و تجربه شما دارد . البته اینکه برای استودیو بازی بسازید یا برای خودتان یا برای کشور ها خارجی ، در درآمد کار با یونیتی تاثیر دارد . حدودا می توانیم بگوییم در ایران درآمد یونیتی کار از 5 میلیون شروع می شود . البته کسانی را داریم در ایران که ماهی 200 میلیون تومان ، درآمد دلاری و ریالی از یونیتی دارند که در ادامه درباره آن نیز بحث شده . آیا پس از یادگیری بازی سازی با یونیتی در جایی استخدام می شویم؟ یکی از سوالات درباره یونیتی این است که آیا استخدام می شویم یا نه ؟ تقریبا می توان گفت که به چند ویژگی مربوط می شود .
یک : شما برای خودتان کار می کنید پس هر وقت که بخواهید ، بازی می سازید و نیاز به استخدام در شرکت یا استودیویی را ندارید .
دوم : شما با درآمد دلاری ، خود را از دیگر مباحث بی نیاز می کنید و با درآمد دلاری به صورت مستقل یا نیمه مستقل برای کامل کردن کد ، فروش مدل دو بعدی یا سه بعدی ، پکیج ، افکت ، صدا ، فریلنس و . . . که در این دوره اینها با شما کار شده است و نیاز به تهیه دوره دیگری نیست . در پایین تر نیز ، درآمد دلاری بررسی شده است.
سوم : استخدام در یک استودیو بازی سازی در ایران . برای استخدام ، چندین راه وجود دارد . یکی از این کارها ، دورکاری است . یعنی در خانه خود کار می کنید . اما معمولا استودیو ها ، حضوری را ترجیح می دهند . می توانید در اینترنت نیز ، محلی را پیدا کنید و در آنجا مشغول به کار شوید . عکس زیر ، استخدام آنلاین است که در آن ، درآمد یک یونیتی کار هم درج شدخ است و از یکی از سایت های معتبر استخدام مجازی است .
بازی های بروز دنیا با کدام نرم افزار ها ساخته می شوند؟ مانند سبک بقا؟
عموما بازی های سبک بقا ، مانند پابجی و کالاف دیوتی ، همان شوتر اول یا سوم شخص هستند که انلاین می باشند . همانطور که می دانید بازی های سبک بقا نیز با یونیتی ساخته می شوند ! ایا می توانیم این مطلب را اثبات کنیم ؟ افراد تازه کار نمی توانند و معمولا شرکت بازی ساز نیز نمی خواهد مردم بفهمند که بازی اش را با کدام نرم افزار شاخته است . اما بازی شرکت گارنا که یک میلیارد دانلود شده است به نام فری فایر ، با یونیتی ساخته شده است . اثبات این مطلب : اگر بازی فری فایر را نصب کرده اید ، مدیریت فایل گوشی خود را باز کنید و . . . ادامه مطلب در این پست
چرا یونیتی جزو آینده دار ترین نرم افزارهای بازی سازی در دنیاست؟
همین الان خانوادگی یا گروهی و شرکتی ، با یونیتی بازی می سازند و پولدار می شوند . اما در ایران هنوز به صورت رسمی ، در دانشگاه های تخصصی ، بازی سازی را به صورت حرفه و یک شغل مستقل دنبال نمی کنند و این یک فرصت عالی است ! تاچند سال آینده به احتمال زیاد در دانشگاه های ایران نیز آموزش بازی سازی با یونیتی و نرم افزار های وابسته به بازی سازی یعنی تری دی مکس و فتوشاپ و زیبراش ، به صورت شغل مستقل دنبال خواهد شد و این یعنی آینده دار بودن نرم افزار در دنیا و مخصوصا در ایران . با یونیتی بازی های دو بعدی و سه بعدی می توان ساخت . از هر نوع و سبک و رنگ و صلیقه ای که فکرش را بکنید .
چگونه با بازی سازی با Unity درآمد دلاری داشته باشیم؟
بهترین حالت برای درآمد های دلاری چند حالت است . 1 : فروش اسپرایت ها و اشکال دو بعدی 2- کد نویسی قسمتی از بازی که به شما واگذار می کنند . یعنی تکمیل قسمتی از بازی که در سایت های مختلف فریلنسر و فریلنس ها می توانید انواع آنرا پیدا کنید . 3- فروش اشکال سه بعدی ریگ بندی شده و . . .
البته شما می توانید چند ساعت با افکت ها کار کنید و با خلاقیت خود ، یک پکیج مثلا 3 یا 4 دلاری قرار دهید که بارها قابلیت خریداری شدن دارد ! شما می توانید کد ، مدل های سه بعدی و دو بعدی ، پکیج ها ، صدا های بازی و . . . را در سایت های خارجی و داخلی بفروشید . خود سایت یونیتی که بازار کار خوبی هم دارد در تصویر زیر برای شما قرار دارد . اگر کسی بخواهد بازی بسازد ، بجای استخدام یک گروه تری دی مکس کار ، یک پک مدل سه بعدی می خرد و بدین صورت هم شما سود می کنید و هم فرد خریدار . در آموزش ما ، تری دی مکس نیز تدریس شده است ! سایت است استور یونیتی
و اما سوال مهم . کدام دوره یونیتی را تهیه و تماشا کنم ؟
اولین دوره یونیتی کدام است ؟ به این مقاله سر بزنید تا سر در بیاورید که بازی سازی با چه نوع آموزش و نرم افزار هوشمندانه است . می توانید همین الان ، پنج ساعت اول آموزش یونیتی رایگان است . البته این دوره به همراه گرفتن مدرک است . آموزه ها به سبک دانشگاه های فرانسه است . می توانید این دوره را به صورت قسطی هم پرداخت کنید . قویترین و جامعترین آموزش یونیتی
اولیندوره آموزش ساخت بازی با یونیتی Unityکدام است و از کجا شروع کنم ؟ | ساخت بازی اندروید | کلاس آموزش بازی سازیرایگان و فارسی خوب Pc و... مبتدی تا پیشرفته کدام است و از کجا باید تهیه و تماشا کنم ؟ یکی از ابتدایی ترین و نخستین سوالاتی که ذهن را برای ساخت بازی درگیر می کند ، تهیه یک آموزش خوب است . کدام آموزش می تواند به من کمک کند تا یک بازی ساز حرفه ای شوم . یونیتی چیست و به چه دردی می خورد و اصلا چرا باید یونیتی را یاد بگیریم ؟ آیا برنامه نویسی هم برای ساخت بازی مهم است و باید برنامه نویسی بلد باشم ؟ به سوالات شما در ادامه مطلب پاسخ داده شده است .
انجین بازی سازی یونیتی Unity چیست و چه کار هایی را می توان با آن انجام داد ؟
موتور بازی سازی یونیتی یا همان نرم افزار یونیتی ، یک برنامه است که بر روی کامپیوتر نصب می گردد و با آن می شود که انواع بازی ها را ساخت . هم بازی هایی که برای اندروید و کامپیوتر هستند هم بازی هایی که برای پلی استیشن و ایکس باکس نصب می شوند . یونیتی ، یکی از جدید ترین برنامه های ساخت بازی است که از سر تاسر دنیا ، طرفداران خود را دارد . اگر سوال دیگری درباره یونیتی و بازی سازی دارید ، در زیر همین مطلب پیام بگذارید .
اولین دوره آموزش ساخت بازی با یونیتی کدام است ؟
اولین دوره از کدام دانشگاه ؟ مراکز خصوصی داخلی یا دانشگاه ها و مراکز معتبر دنیا ؟ اصلا ساخت بازی با یونیتی ، دوره به دوره نیست و این امر در هیچ کجای جهان پذیرفته نیست ! دوره بازی سازی با یونیتی ، صفر تا صدی است و گرایش مخصوص خود را دارد . اگر ما هم به این مطلب پی ببریم ، شاید مانند فرانسه هر ساله هزاران بازی ساز را صادر کنیم ! پس تمامی سایت هایی که می گویند دوره هوش مصنوعی ، دوره کدنویسی مقدماتی ، دوره پخش ویدیو و . . . تماما آموزش های بیهوده هستند زیرا استانداردی ندارند ! شما پس از گذراندن یک دوره کامل ، باید آزمون دهید و مدرک آنرا نیز دریافت کنید ! مدرکی به زبان انگلیسی که در تمام دنیا قابل قبول باشد ! حالا اگر دوست دارید ، می توانید دوره های مختلف بیهوده بی سر و ته را نگاه کنید !
پس کدام دوره یونیتی را تهیه و نگاه کنیم ؟
اگر زبان انگلیسی یا فرانسوی شما خوب است ، بروید و از دانشگاه های آنها آموزش را با مبلغ تقریبا زیاد خریداری کنید و به صورت آموزش از راه دور ، تماشا کنید . اما اگر زبان فرانسوی شما زیاد خوب نیست یا به هر دلیلی سرمایه خرید آموزش های آنها را ندارید تا به دانشگاه های آنها وصل شوید و بازی سازی را یاد بگیرید ، می توانید از این دوره که همراه با مدرک است استفاده کنید . 5 ساعت از این آموزش کاملا رایگان است و ادامه آموزش را می توانید به صورت قسطی پرداخت کنید ! هر زمان که خواستید ! سوالات بیشتر شما دوستان درباره یونیتی و بازی سازی و برنامه نویسی برای ساخت بازی ، در مقاله زیر بررسی شده است . آموزش یونیتی به همراه جواب سوالات اولیه یونیتی در ضمن آموزش ساخت بازی ما ، دوره های سه بعدی تری دی مکس و دو بعدی و انیمیشن های هرکدام را نیز دارا است . آموزش ما ، دارای بخش هایی است که تا کنون در ایران تدریس نشده است . می توانید فعلا قسمت های رایگان دوره را ببینید تا متوجه شوید !
ایندیزاین یک نرمافزار قدرتمند طراحی و صفحهبندی است که توسط Adobe توسعه یافته و در چاپ و نشر دیجیتال کاربرد فراوانی دارد.با ابزارهای پیشرفته مانند تایپوگرافی و مدیریت تصاویر، طراحی مجلات، بروشورها و کتابها را به صورت حرفهای ممکن میکند.این نرمافزار به طراحان کمک میکند تا پروژههای پیچیده را با دقت بالا و ساختار منسجم مدیریت کنند.اینآموزش گرافیک به زبان ساده، شما را با مبانی اولیه و ابزارهای منحصر به فرد ایندیزاین آشنا میکند.
ایندیزاین چیست؟ نرم افزار ادوبی ایندیزاین چی کاربردهایی دارد؟ این نرم افزار که ساخته شرکت ادوبی میباشد و ممکن است کسانی با این نرم افزار اشنایی نداشته باشند در این مقاله قصد داریم راجع به InDesign و کاربردهای این نرم افزار به صورت مفصل صحبت کنیم.
قطعا اشخاصی که در حوزه گرافیک فعالیت میکنند نام نرم افزار ایندیزاین را شنیده اند همانطور که که میدانید ایندیزاین یکی از فوق العاده ترین نرم افزار ها در صنعت چاپ میباشد که برای طراحی بروشور و روزنامه و مجله و از این قبیل طراحی ها کاربرد فراوانی دارد در واقع ایندیزاین در کاربرد زیادی در بخش تبلیغات دارد و طراحان گرافیک میتوانند در کنار سایر نرم افزار های طراحی از این برنامه نیز استفاده کنند.
از نرم افزار ایندیزاین میتوانید برای حرفه ای تر شدن و بالا بردن سطح کیفیت طرح خود استفاده کنید ، با این برنامه شما میتوانید لوازم طراحی خود را آماده کرده و و هر چیزی که در ذهنتان است را به کار بگیرید. لازم به ذکر است شما با این برنامه نمیتوانید به صورت مسقیم کار طراحی یا ادیت را انجام دهید و به دلیل قابلیت بالایی که این نرم افزار دارد با استفاده از سایر نرم افزار های شرکت ادوبی به صورت مکمل طراحی خود را اجرا کنید.
تاریخچه ایندیزاین چیست؟
تعریف ویکی پدیا : Adobe InDesign یک نرمافزار طراحی صفحهآرایی و انتشار رومیزی است که توسط Adobe Inc. تولید و برای اولین بار در سال 1999 منتشر شد. میتوان از آن برای ایجاد آثاری مانند پوستر، بروشور، بروشور، مجله، روزنامه، ارائه، کتاب و کتاب الکترونیکی استفاده کرد. InDesign همچنین می تواند محتوای مناسب برای دستگاه های تبلت را در ارتباط با Adobe Digital Publishing Suite منتشر کند. طراحان گرافیک و هنرمندان تولید، کاربران اصلی هستند. همچنین با Adobe Photoshop بهتر کار می کند. (طراحی برای ویرایش تصاویر عکاسی) و Adobe Illustrator (طراحی برای ساخت گرافیک برداری) کدام Adobe InDesign ساخته شده است.
InDesign جانشین Adobe PageMaker است که Adobe با خرید Aldus Corporation در اواخر سال 1994 آن را خریداری کرد. (Freehand، رقیب Aldus برای Adobe Illustrator، از Altsys سازنده Fontographer مجوز دریافت کرد.) در سال 1998 PageMaker بخش زیادی از بازار حرفه ای خود را از دست داده بود. QuarkXPress نسخه 3.3 با ویژگی های نسبتاً غنی، منتشر شده در 1992، و نسخه 4.0، منتشر شده در سال 1996. در سال 1999، Quark پیشنهاد خود را برای خرید Adobe و واگذاری شرکت ترکیبی PageMaker برای جلوگیری از مشکلات تحت قانون ضد تراست ایالات متحده اعلام کرد. ادوبی پیشنهاد Quark را رد کرد و به توسعه یک برنامه انتشار دسکتاپ جدید ادامه داد. آلدوس شروع به توسعه جانشینی برای PageMaker کرده بود که با اسم رمز "Shuksan" شناخته می شد. بعدها، ادوبی پروژه را با نام رمز "K2" نامگذاری کرد و Adobe InDesign 1.0 را در سال 1999 منتشر کرد.
InDesign اسناد را در قالب سند قابل حمل Adobe (PDF) صادر می کند و از چندین زبان پشتیبانی می کند. این اولین برنامه DTP بود که از مجموعه کاراکترهای یونیکد، تایپوگرافی پیشرفته با فونتهای OpenType، ویژگیهای شفافیت پیشرفته، سبکهای طرحبندی، تراز کردن حاشیه نوری و اسکریپتنویسی بین پلتفرمی با جاوا اسکریپت پشتیبانی میکرد. نسخه های بعدی نرم افزار فرمت های فایل جدیدی را معرفی کردند. برای پشتیبانی از ویژگیهای جدید، بهویژه تایپوگرافی، که با InDesign CS معرفی شدهاند، هم برنامه و هم قالب سند آن با عقبنشینی سازگار نیستند. در عوض، InDesign CS2 فرمت INX (inx.) را معرفی کرد، یک نمایش سند مبتنی بر XML، تا امکان سازگاری با نسخههای آینده را فراهم کند. نسخههای InDesign CS که با بهروزرسانی 3.1 آوریل 2005 بهروزرسانی شدهاند، میتوانند فایلهای ذخیرهشده در InDesign CS2 صادر شده به فرمت inx. را بخوانند. قالب InDesign Interchange از نسخه های زودتر از InDesign CS پشتیبانی نمی کند. با InDesign CS4، Adobe INX را با InDesign Markup Language (IDML) جایگزین کرد.
InDesign اولین نرم افزار بومی انتشار Mac OS X بود. با سومین نسخه اصلی، InDesign CS، Adobe توزیع InDesign را با بستهبندی آن با Adobe Photoshop، Adobe Illustrator و Adobe Acrobat در Adobe Creative Suite افزایش داد. Adobe InDesign CS3 (و Creative Suite 3) را به عنوان نرمافزار باینری جهانی سازگار با مکهای بومی اینتل و PowerPC در سال 2007، دو سال پس از برنامه اعلامشده در سال 2005، توسعه داد، که باعث ناراحتی کاربران اولیه مکهای مبتنی بر اینتل شد. بروس چیزن، مدیر عامل شرکت Adobe اعلام کرده بود که "Adobe با یک خط کامل از برنامه های جهانی اولین خواهد بود.
کاربرد های ایندیزاین چیست؟
از ایندیزاین برای طراحی صفحات روزنامه ، طراحی و ساخت بروشور های تبلیغاتی، صفحه بندی و کادر بندی در طراحی ها استفاده میشود. البته استفاده از این برنامه در صورتی میتواند طراح را به اهداف خود برساند که از سایر نرم افزار ها در کنار این نرم افزار استفاده کند زیرا این نرم افزار در کنار همه کاربرد ها و مزایایی که دارد برای طراحی حرفه ای تصاویر چندان حرفه ای عمل نمیکند و بایداز نرم افزار های دیگر برای طراحی تصاوی بهره گرفت و از این برنامه برای حرفه ای تر کردن آن استفاده کرد.
از بهترین نرم افزار هایی که میتوانید در کنار ایندیزاین از آن استفاده کنید فتوشاپ و ایلوستریتور میباشد. با این نرم افزار میتوانید تصاویر جذاب تولید کرده و با کمک از ایندیزاین ، وکتور های ساده بسازید و از آن ها در کار های حرفه ای خود استفاده کنید. نرم افزار ایندیزاین ابزارهای ضروری برای طراحی صفحات و قالب بندی های مختلف متون را که برای صنعت چاپ و رسانه های دیجیتال کاربرد دارد . ایندیزاین کاربران را قادر می سازد تا به روش ساده ای صفحات حرفه ای خلق کنند که بتوان آن ها را به شکل چاپی یا آنلاین منتشر کرد. این نرم افزار به خصوص برای اسنادی که دارای چندین صفحه است و طرح هایی که در آن ترکیبی از متن و تصاویر وجود دارد کاربرد دارد. به علاوه می توانید ویرایش و ایجاد افکت روی تصاویر را در حد بسیار اندک و جزئی در این نرم افزار انجام دهید و با کمک ابزارهای داخل آن وکتورهای بسیار ساده بسازید.
Adobe InDesign CC بخشی از Creative Cloud است، مجموعه ای از برنامه های کاربردی که برای طراحی و ارتباط در چاپ و تبلیغات استفاده می شود. InDesign CC برای استفاده در رایانه های Mac یا Windows در دسترس است. CC تعیین می کند که برنامه بخشی از Creative Cloud است.
InDesign CC دسترسی به سایر منابع Adobe را فراهم می کند. بسیاری از این خدمات در InDesign CC شامل خدمات پولی اضافی هستند که در آن Adobe هزینه های اضافی را برای دریافت مجوز ماهانه برای برنامه های CC دریافت می کند. اینها شامل Adobe Stock است که با هزینه های اضافی، دسترسی به تصاویر را فراهم می کند. به طور مشابه، فونت های Typekit با هزینه های اضافی تر از هزینه InDesign در دسترس هستند. در واقع این ها هزینه اضافی نیستند وشما به نسخه پریمیوم دسترسی پیدا میکنید که کلی دست شما را در طراحی باز میذارد.
استاندارد های روز بازار : در حال حاضر بیشتر کسب و کار ها برای طراحی صفحات و قالب بندی از ایندیزاین استفاده میکنند که با توجه به وجود دیگر برنامه ها ما ایندیزاین را به شما پیشنهاد میکنیم.
فضای ذخیره سازی Adobe Cloud : با استفاده از این بخش میتوانید با پرداخت اشتراک ماهیانه از امکانات خیلی بیشتر و فوق العاده نرم افزار بهره ببرید.
صدور فرمت PDF : در نرم افزار ایندیزاین به صورت پیش فرض میتوانید فایل های pdf بسازید و به راحتی از آن برای چاپ استفاده نمایید. با نرم افزار ایلوستریتور برای مثال میتوانید طرح بندی خود را انجام دهید و با ایندیزاین یک فایل با توجه به چاپگر خود ایجاد نمایید.
کاربری ساده و راحت : اجازه ساخت و کپی یک فایل و استفاده از آن در سایر برنامه ها با استفاده از کپی و جایگذاری بین تمام نرم افزار های ساخته شرکت ادوبی.
ساخت قالب : با استفاده از این نرم افزار میتوان قالب های منحصر به فرد و جذابی خلق کرد.
پروژه های چند صفحه ای : با استفاده از ایندیزاین میتوان تصاویر و متن را به صورت چند صفحه ای و ترکیبی چیدمان کرد.
مدیریت رنگ ها : مانند همه محصولات Adobe، مدیریت رنگ سرراست است و میتواند در بین برنامهها و فضای کاری هماهنگ شود. Adobe InDesign به شما گزینهها و کنترل بیشتری روی خروجی میدهد.
چشم انداز تهدید یا همان Threat Landscape یکی از اصطلاحتی میباشد که امروزه در حوزه امنیت سایبری ( CyberSecurity ) به گوش میخورد و معنا و مفهوم منحصر به فرد خود را دارد که در این مقاله قصد داریم مفهوم چشم انداز تهدید یا همان Threat Landscape را در امنیت سایبری ( CyberSecurity ) بررسی کنیم ، به صورت کلی چشم انداز تهدید ( Threat Landscape ) شامل تمامی تهدیداتی میباشد که میتوانند بر روی مجموعه ایی از سیستمها، دارای های یک سازمان و افراد و گروه های مختلف تاثیر گذار باشند که این تاثیر گذاری درقالب حملات سایبری و آسیب های متنوع به سمت این منابع میباشد.
چشم انداز تهدید (Threat Landscape) شامل چه چیزی میشود؟
حالا که با مفهوم چشم انداز تهدید آشنا شدیم باید بررسی کنیم که این مفهوم شامل چه تهدیدات و چه آسیب های بر روی منابع ما میشود. باید توجه داشته باشید که منظور از این کلمه یعنی تمامی آسیب پذیری ها، اشکالات امنیتی، افراد مهاجم و هکر ها، بد افزار میباشد که با تکنیک های مشخص زمینه مشخصی از یک سازمان و منابع مارا به خطر میندازند. عنوان و مفهوم زمینه یا Context در Threat Landscape به معنای بخشی از ویژگی ها و دارایی های یکسازمان یا یک شخص خاص میباشد که از جمله این ویژگی ها عبارتند از:
سطح و میزان امنیت
میزان و ارزش بالا دارایی ها و اطلاعات
دارا بودن اطلاعات و دارایی ها مهم و ارزشمند برای افراد مهاجم
موقعیت جغرافیایی ( برخی گروه های APT براساس موقعیت های مکانی اهداف خود را که ممکن است افراد و سازمان ها از یک منطقه جغرافیایی خاص و یا یک کشور خاص باشند انتخاب میکند. )
چه عواملی بر روی چشم انداز تهدید (Threat Landscape) تاثیر گذار هستند؟
توجه داشته باشید که چشم انداز تهدید به مرور زمان میتواند تغییر کند به آن اضافه شود و یا از آن کم شود که این موضوع بستگی به موقعیت و عوامل مختلفی دارد، به عنوان مثال از سال 2020 که شرایط بیماری کرونا و ایجاد شدن بستر های دورکاری مثله Remote Access توانسته که چشم انداز تهدید را به این سمت بکشاند و افراد مهاجم تمرکزشان را بر روی این سیستم ها و این افراد که از خانه به سمت سازمان متصل میشوند و دسترسی دارند بزارند و راهی به داخل سازمان و پیاده سازی کردن حملات داشته باشند که از این رو از سال 2020 به اینور این حملات بر روی بستر های Remote Access و کاربرانی که از خانه به سازمان وصل میشوند زیاد شده است.
عوامل دیگری نیز وجود دارند که میتوانند تاثیر گذاری خودشان را بر روی چشم انداز تهدیدات داشته باشند که عبارتنداز:
ظهور و کشف آسیب پذیری های جدید فرصت جدید و خوبی را برای هکرها ایجاد میکنند که بتوانند اهداف خود را پیاده سازی کنند.
ظهور تجهیزات جدید و تکنولوژی های جدید مثله Cloud Computing
به وجود آمدن رخداد های طبیعی مثله کرونا که سبب ایجاد تغییرات مختلف در زیرساخت سازمان ها شده است.
چرا باید از چشم انداز تهدید (Threat Landscape) استفاده کنیم؟
درواقع چشم انداز تهدید این امکان را به ما میدهد که تهدیدات و مشکلات و ضرر های احتمالی که بر روی سازمان ها و شرکت ها و یا افراد و منابع مختلف تاثیر گذار هستند را در اسرع وقت شناسایی و به منظور جلوگیری از روی دادن آن اقدامات پیشگیرانه را به انجام برسانیم.
بصورت مقدماتی تا پیشرفته تکنیک های هک و نفوذ حرفه ای را به شما آموزش می دهد. دوره SANS 504 یا تکنیک های هک یکی از مهمترین دوره های هک و نفوذ می باشد که با هدف تکمیل کردن مباحث تست نفوذ پیشرفته ، از شما یک کارشناس هک قانونمند حرفه ای می سازد. دوره آموزشی SANS SEC 504 به عنوان برتریندوره آموزشی امنیت| هک و تست نفوذ در دنیا مطرح می باشد که بصورت تخصصی بر روی آموزش مباحث Incident Response و تکنیک های خاص تست نفوذ می پردازد.