بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...
بانک آموزشی

بانک آموزشی

نرم افزار - سخت افزار - طراحی - برنامه نویسی _ ویروس شناسی ...

روش های کاربردی مقابله با بدافزارها

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

برای حاصل شدن امنیت و اطمینان خاطر برای رایانه خود بهتر است فقط صفحات مطمئن را باز کنید اگر به لینک یا فایلی برای دانلود اطمینان ندارید، از بازکردن یا بارگذاری آن جلوگیری کنید. اغلب بدافزارها در سایت هایی که محتوای غیرقانونی دارند دیده می شوند. برخی برنامه ها نیز می توانند در یافتن این سایت ها موثر باشند به عنوان مثال Web of Trust WOT یک ابزارک برای مرورگرهای اینترنتی است که علاوه بر یک پایگاه اطلاعاتی بزرگ از سایت های آلوده، دارای برخی روش های شناسایی است.

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

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

درایوهای بیرونی را کنترل کنید. زمانی که یک بدافزار رایانه را آلوده می کند قبل از هر اقدامی به دنبال روشی برای تکثیر و انتشار خود است. به همین دلیل تمام خروجی ها که توانایی ذخیره اطلاعات را دارند می توانند به بدافزارها آلوده شوند. فرقی نمی کند که این خروجی درون شبکه است یا یک فلش دیسک که به سیستم متصل شده و حتی ممکن است این فایل ها روی دیسک هم ذخیره شوند. قبل از بازکردن فلش ها حتما محتویات آن را با آنتی ویروس اسکن کنید. برنامه های مطمین را نصب کنید. وقتی یک نرم افزار را نصب می کنید ممکن است بدون اطلاع شما به همراه آن تعدادی از جاسوس ها و برنامه های مخرب هم نصب شوند.

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

هشدار به دارندگان گوشی‌های اندروید

محققان امینتی موسسه Bitdefender به تازگی اعلام کرده‌اند که گوشی‌های هوشمند اندروید در معرض جاسوس‌افزار و بدافزار خطرناکی هستند که به هکرها و مجرم‌های سایبری اجازه دسترسی به اطلاعات این گوشی‌ها را می‌دهد.

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

 گوشی‌های اندروید به علت Open Source بودن و طراحی سیستم عامل آن‌ها بسیار مورد حمله قرار گرفته‌است. و هکرهای پرشماری توانسته‌اند از گوشی‌های قربانیان سوء استفاده کنند.

باج‌افزار گونه‌ای از بدافزار است که هکرها را قادر می‌سازد کنترل سیستم را به دست گرفته و اطلاعات کاربر را فاش می‌کند. باج‌افزارها معمولاً از قربانیان خود تقاضای پول می‌کنند.

57734110

‫ هشدارهای امنیتی مهم سیسکو

کمپانی سیسکو در جدیدترین اخبار منتشره از بخش امنیتی خود اعلام کرده است که 30 آسیب پذیری جدید در محصولات خود کشف کرده است که 16 آسیب پذیری دارای اهمیت بالایی هستند. حدود نیمی از این آسیب پذیری ها با درجه اخطار High مشخص شده است که نشان دهنده خطرناک بودن این آسیب پذیری ها می باشد.
سیسکو اعلام کرده است تمامی محصولاتی که از Apache Struts استفاده می کنند آسیب پذیر نبوده و تنها یکی از محصولات این کمپانی تحت تاثیر آسیب پذیری اخیر و خطرناک RCE بر روی Apache Struts می باشد. محصولاتی هم که از این آسیب پذیری رنج می برند، به زودی به روز رسانی شده و یا Patch های امنیتی برای آنها ارائه خواهد شد. لیست این محصولات را در تصویر زیر مشاهده می نمایید:

یکی دیگر از آسیب پذیری های منتشر شده، آسیب پذیری خطرناک بر روی Cisco Umbrella API می باشد که به نفوذگر این اجازه را می دهد پس از نفوذ، از راه دور توانایی مشاهده و اعمال تغییرات بر روی داده های محصولات آسیب پذیر را داشته باشد. همچنین محصولات Umbrella Enterprise Roaming Client و Enterprise Roaming Module آن دارای آسیب پذیری Privilege Escalation به شماره شناسایی های CVE-2018-0437 و CVE-2018-0438 هستند که این آسیب پذیری ها در سطح خطرناک طبقه بندی شده اند.
از دیگر آسیب پذیری های خطرناک اعلام شده توسط این کمپانی، سه آسیب پذیری مهم بر روی محصولات دیوارآتش و مسیریاب های سری RV-series می باشد. در این میان محصولات RV110W Wireless-N VPN Firewall و RV130W Wireless-N Multifunction VPN Router و RV215W Wireless-N VPN Router به صورت اختصاصی توسط سیسکو معرفی شده است. این آسیب پذیری ها که هم اکنون توسط مشخصه CVE-2018-0423 معرفی شده است به صورت Buffer Overflow بر روی Management Interface بوده است که اجازه ی حمله ی DoS و همچنین امکان اجرای کدهای مخرب را بر روی محصول آسیب پذیر را به نفوذگر می دهد. نفوذگر می تواند توسط ارسال درخواست های آلوده به Device های فوق، به صورت کامل عملیات Exploiting را انجام داده و به دستگاه دسترسی کامل را پیدا کند. همچنین روترها و دیوارآتش های مشابه در همان سری، دارای آسیب پذیری Directory Traversal با شماره شناسایی CVE-2018-0426 و آسیب پذیری Command Injection به شماره شناسایی CVE-2018-0424 و آسیب پذیری Information Disclosure به شماره شناسایی CVE-2018-0425 می باشند که همگی این آسیب پذیری ها دارای سطح آسیب پذیری خطرناک می باشند. در ادامه لیست Device های آسیب پذیر مهم را مشاهده می فرمائید:
• Cisco Webex Meetings client for Windows - privilege escalation (CVE-2018-0422 )
• Cisco Webex Teams - information disclosure and modification (CVE-2018-0436)
• Cisco SD-WAN Solution - certificate validation (CVE-2018-0434), command injection (CVE-2018-0433), privilege escalation (CVE-2018-0432)
• Cisco Prime Access Registrar - denial of service (CVE-2018-0421)
• Cisco Integrated Management Controller - command injection (CVE-2018-0430 and CVE-2018-0431)
• Cisco Data Center Network Manager - privilege escalation to the underlying operating system (CVE-2018-0440)

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

محققان Quick Heal یک تروجان جدید اندروید را کشف کردند که شامل قابلیت‌های تروجان بانکداری، انتقال تماس، ضبط صدا، ثبت ضربات کلید و فعالیت‌های باج افزاری است. این بدافزار، برنامه‌های بانکی محبوب مانند HFC، ICICI، SBI، Axis Bank و دیگر کیف پول‌های الکترونیکی را هدف قرار داده است.
اپراتور این بدافزار برای موفقیت در حمله، نیاز به تعامل بیشتری با کاربر دارد و تا زمان دسترسی به مجوز "AccessibilityService"، صفحه‌ی تنظیمات دسترسی را به کاربر نمایش می‌دهد. داشتن قابلیت "AccessibilityService" به این بدافزار اجازه می‌دهد تا بدون نیاز به اجازه‌ی کاربر، به همه‌ی مجوزها دسترسی پیدا کند.

باج افزار PooleZoor

مشاهده و رصد فضای سایبری در زمینه باج افزار، از شروع فعالیت نمونه‌ جدیدی از خانواده‌ی HiddenTear به نام PooleZoor خبر می‌دهد. بررسی ها نشان می دهد که فعالیت این باج افزار در اوایل ماه آگوست سال 2018 میلادی شروع شده و به نظر می رسد تمرکز آن بیشتر بر روی کاربران ایرانی می باشد. این باج‌افزار از الگوریتم رمزنگاری AES در حالت CBC - 256 بیتی برای رمزگذاری استفاده می‌کند و تنها فایل‌هایی با پسوندهای مشخص که بر روی Desktop سیستم قربانیان موجود هستند را رمزگذاری می‌کند. باج افزار مورد اشاره پس از رمزگذاری فایل‌ها، پسوند آن‌ها را به ".PooleZoor" تغییر می‌دهد و از قربانیان تقاضای پرداخت مبلغ یک میلیون تومان به عنوان باج می‌کند که طبق گفته‌ی مهاجمان این مبلغ صرف امور خیریه خواهد شد. از آنجایی که با یک نسخه آفلاین از پروژه متن باز HiddenTear طرف هستیم و با توجه به تشابهات موجود در کد باج‌افزار با نسخه اصلی آن، به نظر می‌رسد مهاجمین صرفاً با اعمال تغییرات اندک در کد منبع این باج‌افزار نسبت به انتشار آن اقدام نموده اند. لذا با توجه به نقایص ذاتی موجود در پروژه HiddenTear ، فایل‌های رمزگذاری شده توسط این باج‌افزار براحتی قابل رمزگشایی می‌باشند.

فضای ذخیره سازی ابری کجا قرار دارد و آیا امن است؟

فضای ذخیره سازی ابری کجا قرار دارد و آیا امن است؟


 زمانی که شما ایمیل ارسال می‌کنید، متن ایمیل در چه محلی ذخیره می‌شود؟ پیوست‌های موجود در ایمیل در چه محلی ذخیره می‌شوند؟ چرا مردم در سراسر دنیا به نگهداری داده‌های خود در فضای ابری روی آورده‌اند و به‌عنوان مثال کمتر به سراغ موبایل‌هایی با ظرفیت داخلی بالا می‌روند؟ در ادامه به این موضوع پرداخته خواهد شد.

data center

 مرکز پردازش ابری در واش، کویینسی

کوئنتین هاردی، معاون سردبیر روزنامه تایمز به موضوع «محل قرارگیری داده‌ها در فضای ابری» پاسخ می‌دهد:

 «ذخیره‌سازی اَبری» روی هارد دیسک انجام می‌شود و از ذخیره‌سازی‌های معمول، امن‌تر است.

چه چیزی ذخیره‌سازی ابری را متفاوت می‌کند؟ برخلاف ذخیره‌سازی در دستگاه شخصی خود شما (همانند موبایل، یا هارد دیسک لپ‌تاپ)، داده‌های ابری روی محل دیگری «در سرورهایی که متعلق به شرکت‌های بزرگ است» ذخیره می‌شوند و شما می‌توانید از طریق اینترنت به آن داده‌ها دست‌یابی پیدا کنید.

هنگامی‌که مردم به پردازش ابری فکر می‌کنند، اغلب آن‌ها به یاد فضای ابری «متصل به اینترنت» همانند آمازون، مایکروسافت و گوگل می‌افتند. اگر شما از جیمیل، دراپ‌باکس یا آفیس 365 استفاده می‌کنید، در حقیقت از سرویس ابری استفاده می‌کنید. همچنین نوعی فضای ابری وجود دارد که به‌عنوان‌ مثال عکس‌های شما را در فضای مجازی نگهداری می‌کند (همانند فیس‌بوک یا توییتر) یا ایمیل‌ها و موسیقی‌های شما را نگه می‌دارند (همانند اپل یا گوگل).

هرکدام از این شرکت‌ها سیستم پردازش ابری «سرورهای کامپیوتری و دستگاه‌های ذخیره‌سازی متصل شده به شبکه‌های ارتباطی کامپیوتری» دارند و به تمام دنیا سرویس‌دهی می‌کنند. سرورهای فیس‌بوک می‌توانند به بیش از یک میلیارد نفر اجازه‌ی تعامل با یکدیگر بدهند. داده‌های شما معمولا در نزدیک‌ترین مرکز داده به محل زندگی شما ذخیره‌سازی و نگه‌داری می‌شود.

شرکت‌های مستقل نیز می‌توانند فضای ابری مختص به خود (که فضای ابری خصوصی نامیده می‌شود) داشته باشند و کارمندان و مشتریان آن شرکت از طریق اینترنت و از طریق شبکه خصوصی خود، می‌توانند به این فضا دسترسی داشته باشند.

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

وقتی حجم کاری به اشتراک گذاشته می‌شود، کامپیوترها می‌توانند تقریبا با حداکثر ظرفیت کاری خود «با انجام چند کار هم‌زمان» کار کنند. این کار بسیار مؤثرتر از حالتی است که هر کامپیوتر در هرزمانی فقط یک کار را انجام بدهد.

برای کاربران اهمیتی ندارد که داده‌های آن‌ها در حال حاضر در چه مکانی ذخیره‌شده است. پردازش‌ها در بخش ابری انجام می‌پذیرد و حالت ایده‌آل این است که اگر یکی از پردازشگرها از کار بیافتد، بخش دیگری وظایف پردازشی را با کمترین تأخیر بر عهده می‌گیرد.

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

همان‌گونه که نگه‌داشتن پول در خزانه بانک از نگه‌داشتن آن در کمد شما امن‌تر است، نگه‌داری داده‌های شما نیز در فضای ابری امن‌تر خواهد بود و از آن‌ها محافظت می‌شود.

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

نحوه کار و آشنایی با IOmeter - بخش چهارم

این آخرین مقاله از این مجموعه درباره تست عملکرد SSD است و این که چطور باید نتایج این تست ها را تفسیر کرد.

امیدواریم مبانی تست عملکرد SSD را به طور کامل درک کرده باشید، بدون هیچ مشکلی نتایج این تست ها را تفسیر کنید و قابلیت SSDها را ارزیابی کنید. از آنجا که مطالب زیادی در این مورد بیان شد، در اینجا خلاصه ای از مطالب گفته شده را می آوریم:

  1. برای این که نتایج قابل اطمینان و قابل مقایسه ای در تست عملکرد SSD بگیریم، نیاز به صرف زمان و تلاش زیادی در این مورد داریم. دیسک برای رسیدن به حالت پایدار باید Precondition شود که در این حالت می توان آن را تست کرد.
  2. عملکرد یک دیسک کاملا نو که تازه تخلیه شده است همیشه بهتر است، چون نیازی به اجرای Garbage Collection ندارد.
  3. وقتی نیاز به انتخاب یک SSD با مقدار عملکرد خاصی داریم، باید بررسی شود که آیا این تست از راهنمای SNIA یا روش های مناسب دیگری برای تست SNIA تبعیت می کند یا نه (که شامل Preconditioning می شود).
  4. اگر تست خاصی از Preconditioning مخصوصِ به خود استفاده می کند بهتر است مطمئن شوید که مجموعه ای که نتایج تست را ارائه می دهد (مثلا یک مجله فناوری آنلاین یا شرکت فروشنده سخت افزار) مراحل مختلف تست را به طور کامل توضیح داده است. فقط دیسک هایی که مراحل تست آنها (از جمله Preconditioning) دقیقا یکسان بوده است این قابلیت را دارند که از نظر عملکرد باهم مقایسه شوند.
  5. اگر مجموعه ای که نتایج تست را منتشر می کند، چیزی درباره شرایط و مراحل انجام تست نگفته است، بهتر است فرض کنید که این تست در حالتی انجام شده است که دستگاه کاملا نو است و تازه از جعبه بیرون آورده شده است. در این صورت باید انتظار داشت که عملکرد آن در حالت واقعی به مقدار قابل ملاحظه ای افت خواهد کرد.
  6. باید توجه کنید که نتایج تست عملکرد بعضا ممکن است با گذر زمان به مقدار 90 درصد نسبت به تست اولیه کاهش یابد!
  7. ارزیابی تست های عملکرد دستگاه های ذخیره سازی به خصوص در جایی اهمیت می یابد که Storage Applianceها نیاز به نوعی ذخیرۀ بلادرنگ (Real-Time) داشته باشند. این مساله شامل اندازه گیری ها، ضبط ویدئو و صوت به صورت بلادرنگ می شود.
  8. اگر نیاز است که سیستم خاصی دارای حداقل خاصی از عملکرد باشد (چون در غیر این صورت به خوبی کار نخواهد کرد) بهتر است عملکردِ قدری بالاتر از آن را در نظر بگیرید.

نحوه کار و آشنایی با IOmeter - بخش چهارم

یک مساله دیگر را هم باید متذکر شویم: بعضا ممکن است با نتایج تست عملکردی روبرو شوید که عملکرد دستگاه ذخیره سازی را نیز در بر داشته باشد و از دستگاه ذخیره سازی SSD استفاده می کند. این نتایج لزوما فقط وابسته به عملکرد SSD نیستند بلکه بستگی به سایر اجزای سیستم هم دارند مثل Networking ،CPU و نرم افزارهایی که در آن سیستم استفاده می شود.
برای از بین بردن محدودیت های احتمالی در این تست می توانید از SSDهای نو استفاده کنید، چون SSD نو خیلی سریع تر کار می کند. این روش تست برای نشان دادن حداکثر عملکرد یک دستگاه در یک Storage Appliance به کار می رود. در این تست باید تاثیر دستگاهی که تست بر روی آن انجام می شود نیز در نظر داشت و نباید کل نتیجه را به طور مستقل به آن دستگاه ذخیره سازی اسناد داد. مثلا اگر از یک Network Adapter تست عملکرد می گیریم، نتیجه تست هایی که بر روی دستگاه های ذخیره سازی انجام شده است نیز باید در این تست که بر روی Network Adapter انجام شده است، در نظر گرفته شود.

نحوه کار و آشنایی با IOmeter - بخش سوم

تست عملکرد SSD خود را آسان کنید. این سومین قسمت از این مجموعه مقالات است. در این قسمت تست عملکرد را مطرح می کنیم و این که Purge کردن SSD یعنی چه و چرا Preconditioning و مراحل بعد از آن ضروری است.

برای مطالعه قسمت های قبل می توانید به لینک های زیر مراجعه نمایید:


عملکرد SSD را تست کنید 
همان طور که در مقاله قبل گفته شد SSDها از نظر تاریخچه نوشتن، سطوح عملکرد مختلفی دارند.
SSD دارای صفحات خالی، سرعت بیشتری دارد چون نیازی به انجام Garbage Collection ندارد. اگر این تست ها بر روی یک دستگاه کاملا جدید که تمام صفحات آن خالی هستند انجام شود نتایج عملکرد بسیار بهتر خواهند بود. همچنین این که الگوریتم Garbage Collection و مدیریت SSD Controller دقیقا به چه صورتی است، مساله ای است که فقط شرکت سازنده از آن خبر دارد. بنابراین به سختی می توان بدون انجام تست پیش بینی کرد که یک SSD چگونه عملکردی دارد. همچنین این بدین معنی است که برای تست عملکرد SSD اینکه مقداری دیتا بر روی SSD بنویسیم و سپس آن را تست کنیم کافی نخواهد بود، چون ما هیچ وقت از حالت درونی SSD و این که مجموعا آن SSD چطور کار می کند آگاه نیستیم. در این صورت تمام تاریخچه نوشتن می تواند در عملکرد دستگاه موثر باشد. به این دلیل مهم است که در انجام این تست ها تمام SSDها را در یک بار کاری یکسانی قرار دهیم. 
Storage Networking Industry Association (SNIA) سازمانی است که استانداردهای مختلفی برای صنعت ذخیره سازی وضع می کند. 
یکی از آنها Solid State Storage (SSS) Performance Test Specification (PTS) است. این مشخصات به ما می گوید که تست چطور باید انجام شود تا نتیجه ای دقیق و قابل اطمینان بدست آید. توضیحات گام به گام برای انجام تست هایی مثل تست خواندن و نوشتن تصادفی، خواندن و نوشتن ترتیبی و … ارائه شده است. در بسیاری از تست ها به این مشخصات ارجاع داده می شود؛ مثل تست هایی که توسط سازمان های پیشرو در فناوری اطلاعات انجام می شود مثل Tom’s Hardware. این مشخصات را در اینجا تکرار نمی کنیم، چون برای یک مقاله خیلی طولانی هستند و همچنین قدری پیچیده اند (البته خیلی هم پیچیده نیستند! بنابراین پیشنهاد می کنم نگاهی به آنها بیندازید). در اینجا مراحلی را که برای انجام تست عملکرد SSD باید انجام شود ذکر می کنیم. تمام این مراحل باید برای تمام تست ها انجام شود تا آن تست قابل اطمینان و قابل مقایسه باشد.

SSD_Test_filter_precondition_1

تخلیه و Preconditioning
قبل از این که یک تست عملکرد انجام شود، SSD باید تخلیه شود. یعنی نزدیک ترین وضعیت به حالتی که برای اولین بار از جعبه بیرون آورده شده است. در صورتی که اولین بار است که از SSD استفاده می کنید و دیتایی بر روی آن وجود ندارد نیازی به انجام این مرحله نیست. برای انجام این کار می توان از نرم افزاری استفاده کرد که چنین دستوری به SSD می فرستد: ATA SECURITY ERASE (به عنوان مثال با استفاده از hdparm روی لینوکس)، SCSI FORMAT UNIT، یا این که از ابزار یا نرم افزار مخصوصی استفاده کنیم که توسط شرکت خاصی ساخته شده باشد. 
وقتی SSD تخلیه شد، قبل از تست باید Preconditioning را انجام دهیم. Preconditioning عبارت است از اعمال بار کاری به دستگاه برای این که آن را از حالت استفاده نشده و تازه از جعبه بیرون آمده به حالتی تبدیل کنیم که به استفاده واقعی نزدیک تر است. این مرحله بیشترین زمان را از ما می گیرد چون نیاز است بار کاری چند بار به دستگاه اعمال شود. باید هر بار عملکرد دستگاه را ببینیم و توجه کنیم که هر بار چطور تغییر می کند. این کار را باید آنقدر تکرار کرد که نتایج بدست آمده از آن به پایداری نسبی رسیده و تغییر زیادی در نتایج تست های مختلف که پشت سر هم انجام می شوند دیده نشود. SNIA الگوی خاصی برای رسیدن به این پایداری تعریف کرده است ولی در حالت کلی اگر این اختلاف ها خیلی قابل ملاحظه نباشند می توان گفت نتیجه تست قابل قبول است. معمولا دیسک در یک تست عملکرد سریع تری داشته و در تست بعدی عملکرد کندتری دارد. اگر دستگاه چنین وضعی دارد و این الگو در حال تکرار است، یعنی دستگاه آماده انجام تست است. هر تست Preconditioning را باید بلافاصله بعد از دیگری انجام داد تا دستگاه در این میان فرصتی برای انجام Garbage Collection نداشته باشد که Preconditioning را تحت تاثیر قرار می دهد.


SSD_Test_filter_precondition_2

حالت پایدار 
SSD بعد از انجام Preconditioning بر روی آن، به حالت پایدار می رسد. همان طور که در پاراگراف قبل گفته شد، دستگاه بعد از اعمال مکرر بار کاری مشخص بر روی آن، نتایج بسیار شبیه به هم در تست های پشت سر هم دارد. در این مرحله SSD آماده انجام تست عملکرد واقعی است. این تست باید بلافاصله بعد از Preconditioning انجام شود تا دیسک فرصتی برای Garbage Collection نداشته باشد که روی تست تاثیر منفی می گذارد (مگر این که صد در صد مطمئن باشید که آن SSD در آن زمان Garbage Collection پس زمینه انجام نمی دهد). نتایج این مرحله از تست را می توان به عنوان عملکرد واقعی SSD در نظر گرفت و با استفاده از آن می توان این SSD را با SSD های دیگر مقایسه کرد. 

نحوه کار و آشنایی با IOmeter - بخش دوم

این دومین قسمت از مجموعه تست عملکرد SSD است.در قسمت قبل، از حافظه فلش به طور کلی صحبت کردیم.

این قسمت را به این موضوع اختصاص می دهیم که وقتی صفحات SSD شما برای ذخیره کردن در حال اتمام است باید چه کنید؟ پس شما را دعوت می کنیم که بخوانید و یاد بگیرید!


Garbage Collection
تغییر دادن داده هایی که بر روی SSDها ذخیره شده اند از تغییر این داده ها در صورتی که بر روی هارد درایو ذخیره هستند، سخت تر است. در هارد درایو به سادگی می توان داده ها را Overwrite کرد. اساسا وقتی می خواهیم دیتای یک صفحه را در SSD تغییر دهیم، دیتای آن صفحه تغییر نمی کند، چون باید ابتدا آن را پاک کنیم. این کار هم فقط با پاک کردن کل Block ممکن است. برای حل این مشکل، صفحه ای که تغییر یافته است، بر روی صفحه دیگری که خالی است ذخیره می شود، و صفحه ای که باید تغییر یابد، به عنوان "قدیمی" علامت گذاری می شود. تا زمانی که SSD صفحه ای خالی دارد این روش نوشتن و علامت گذاری یک صفحه به عنوان قدیمی ممکن است. ولی زمانی خواهد رسید که این صفحات خالی تمام می شوند. برای اجتناب از این وضعیت، فرآیندی به نام Garbage Collection در SSD انجام می شود. این کار سختی است که توسط SSD controller انجام می شود که خود به تنهایی یک کامپیوتر با CPU و حافظه مستقل است. این Controller مدیریت کل دیتای ذخیره شده بر روی SSD را بر عهده دارد. 
سیستم عامل از این که در بطن ماجرا چه می گذرد کاملا بی خبر است و فقط دستور می دهد که دیتایی بر روی یک قسمت logical خاص از دیسک نوشته شود. قرار دادن دیتا بر روی دیسک به صورت فیزیکی توسط SSD controller انجام می شود. تنها کاری که سیستم عامل های مدرن انجام می دهند این است که یک دستور TRIM به SSD می فرستند که به آن بگویند بخشی از دیتا حذف شد. این کار، فرآیند Garbage Collection را قدری ساده تر می کند چون SSD بیشتر در جریان این مساله قرار می گیرد که کدام صفحه ها دیگر معتبر نیستند. در طول فرآیند SSD Controller Block ،Garbage Collectionها را پاک می کند تا صفحه ها را خالی کند. ولی نمی توان هر Blockی را پاک کرد، چون برخی صفحات دیتای معتبری دارند که روی آنها ذخیره شده است. همچنین این امکان وجود ندارد که Block هایی را که فقط صفحات قدیمی دارند یافته و آنها را پاک کنیم. چون ممکن است تعداد این Blockها تمام شود، مثلا در صورتی که هر Block روی دیسک حداقل یک صفحه معتبر داشته باشد.

garbage_collection_1

کاری که SSD در طول فرآیند Carbage Collection انجام می دهد این است که تمام صفحات معتبر را از یک Block خاص به یک Block جدید بازنویسی می کند. Block بعدی که صفحات از روی آن کپی شدند می تواند پاک شده باشد. SSD معمولا Blockهایی را برای Garbage Collection انتخاب می کند که هیچ صفحه آزادی ندارند. می توان زمان معینی برای انجام Garbage Collection پیش بینی کرد چون این فرآیند بعضا فقط در زمان تغییر دیتا صورت می گیرد. در بعضی مواقع که از SSD استفاده نمی شود این فرآیند در پس زمینه انجام می شود. زمان انجام Carbage Collection به Controller بستگی دارد و این زمان را فقط سازنده Controller می داند. معمولا Enterprise SSDها Garbage Collection را فقط در زمان نوشتن انجام می دهند و Garbage Collection پس زمینه فقط برای SSDهای معمولی استفاده می شود. Enterprise SSDها از Garbage Collection پس زمینه پشتیبانی نمی کنند تا از نوشتن های غیر ضروری جلوگیری کنند (وقتی Block ها کپی می شوند) که باعث افزایش طول عمر دیسک می شود. طراحی به این صورت انجام شد چون حافظه فلش تعداد نوشتن محدودی دارد و بعد از آن دیگر قابل استفاده نیست. Garbage Collection پس زمینه در یک محیط Enterprise اصلا مناسب نیست چون دستگاه وقتی برای انجام این کار ندارد. اما SSDهای معمولی چنین بار کاری بالایی ندارند و معمولا سازندگان تصمیم می گیرند Garbage Collection پس زمینه را در این نوع SSDها تعبیه کنند تا دستگاه با سرعت بیشتری کار کند.

garbage_collection_2

فرآیند Garbage Collection در SSDها به اختصار توضیح داده شد چون تاثیر قابل ملاحظه ای بر عملکرد دارد. وقتی SSD فرآیند Garbage Collection را در طول نوشتن انجام می دهد سرعت آن به طور قابل ملاحظه ای کاهش می یابد مخصوصا زمانی که برای تکمیل نوشتن، Blockهای زیادی باید بازنویسی شوند. در بسیاری از موارد، دیسک باید دیتای بسیار زیادی نسبت به آنچه سیستم عامل برایش فرستاده است بنویسد چون Blockهای زیادی باید در طول Garbage Collection بازآرایی شوند.

نحوه کار و آشنایی با IOmeter - بخش اول

کی از مهم ترین ابزار جهت تست سرعت I/O در Storage نرم افزار رایگان IOmeter می باشد. اما برای اجرای آن و گرفتن تست مورد نظر باید تنظیمات مورد نظر بر روی این نرم افزار به درستی انجام شود تا نتایج ارایه شده، قابل استناد باشد.
در این مجموعه مقالات با کارکرد دیسک های SSD آشنا خواهیم شد و در ادامه خواهیم توانست خروجی مورد نیاز خود را از نرم افزار دریافت کنیم.

 

iometer1

درباره حافظه فلشدر اینجا به مجموعه ای از مقالات در مورد SSD می پردازیم که در آنها به توضیح مفاهیم تست SSD و چگونگی تفسیر نتایج تست ها، پرداخته شده است. مطالبی که در این مقالات گنجانده شده اند در ارزیابی بهتر نتایج تست SSD به کاربر نهایی کمک خواهند کرد.
اندازه گیری و ارزیابی تست عملکرد دستگاه های SSD کار آسانی نیست و نیازمند تلاش و زمان زیاد برای تهیه نتایج دقیق می باشد. این مساله اهمیت بسزایی دارد،چراکه مقایسه عملکرد دستگاه های مختلف موجود در بازار در به دنبال این نتایج دقیق حاصل خواهد شد.
مقاله ی پیش رو در راستای کمک به درک بهتر مجموعه محیط های ذخیره سازی دیتا تاثیر به سزایی خواهد داشت؛ به خصوص ذخیره سازیِ All-Flash که در آن، سرور فقط از دیسک های SSD استفاده می کند. 
در اینجا به اولین بخش از مجموعه مقالات SSD می پردازیم.

SSD flash memory

حافظه فلش چطور کار می کند؟ خلاصه ای از SSD
دستگاه های SSD بسته به دیتایی که از قبل روی آنها نوشته شده است عملکردهای مختلفی دارند. یعنی ممکن است یک دستگاه SSD در زمان انجام یک تست خاص، عملکردهای مختلفی را به نمایش بگذارد، چون ممکن است قبل از انجام تست، در معرض Workloadهای مختلفی قرار گرفته باشد. میتوان گفت که SSDها بعد از نوشته شدن مقدار خاصی دیتا روی آنها، کندتر می شوند. معمولا این مساله زمانی اتفاق می افتد که بیشتر یا تمام فضای دیسک پر باشد. البته این لزوما به معنی پر کردن تمام فضای دیسک نیست، بلکه می تواند آن تعداد Write باشد که برای پر کردن تمام فضای دیسک نیاز است.
سرعت SSD در تمامی موارد، مدتی بعد از استفاده نسبت به حالت اولیه کاهش خواهد یافت.
قبل از این که به مباحث اولیه تست عملکرد SSD بپردازیم بهتر است روش کار SSD را توضیح دهیم. دانستن روش کار SSD ضروری است، چون با علم به این مساله است که می توان فهمید که چرا بعد از مقداری نوشتن روی SSD عملکرد آن کاهش می یابد. 
قسمت سازندۀ ابتدایی در حافظه فلش، سلول دیتا است که در واقع یک ترانزیستور است. حافظه فلش روش کاری شبیه DRAM دارد، اما دیتا در آن ماندگار است. این ماندگاری را توسط Gate Transistorهای شناور (Floating Gate) ایجاد می کنند. این ترانزیستور نیازمند تامین ولتاژ خود توسط یک خازن نمی باشد (کاری که در DRAM انجام می شود)، بلکه می تواند مقداری بار در خود ذخیره کند که بر روی Gate ترانزیستور وجود دارد (ورودی ترانزیستور). نحوه عملکرد این ترانزیستور به صورتی است که اعمال مقدار کمی ولتاژ (ولتاژ خواندن) بر روی Gate (در صورتی که بار ذخیره نشود) باعث می شود جریان خاصی شارش کند. وقتی بار در Gate ذخیره شود، ولتاژ پایین برای شارش جریان کافی نیست. بنابراین می توان گفت این سلول یک حالت باینری داشته و وقتی بار در آن ذخیره نشده است 1 و وقتی بار در آن ذخیره شده است 0 را نشان می دهد. 
به علاوه، Gate Transistorهای شناور وقتی ولتاژی بیش از مقدار خاصی (مقدار آستانه) به آنها اعمال می شود، قادر هستند جریان را هدایت کنند (ترانزیستور فعال می شود). این ولتاژ بیش از ولتاژی است که برای خواندن آن سلول استفاده می شود.

SSD

اساسا حافظه فلش (سلول های ذخیره سازی داده) از همین Gate Transistorهای شناور ساخته شده است. این سلول ها در صفحاتی قرار می گیرند و هر یک از این صفحات معمولا شامل دو هزار، چهار هزار، هشت هزار یا شانزده هزار سلول هستند. این صفحات Blockهایی را می سازند که 128 یا 256 صفحه دارند. Block یک شبکه است که هر صفحه به عنوان یک سطر بر روی آن قرار گرفته است. در حافظه های فلشِ NAND که معمولا از آنها استفاده می شود، صفحات در یک Block به صورت سری به هم متصل می شوند. خروجی یک صفحه (Drain در ترانزیستورها) به ورودی ترانزیستور در صفحه بعدی متصل است. در این چینش صفحات، دیتا در هر زمان فقط بر روی یک صفحه نوشته و خوانده می شود (اما Overwrite نمی شود که بعدا در این مورد توضیح خواهیم داد). برای خواندن، ولتاژ کمی به Gate صفحه ای که باید خوانده شود و ولتاژ بالاتری به سلول های صفحات دیگر اعمال می شود. از آنجا که این ولتاژ بالا، سلول ها را روشن می کند، دیتایی که از آن صفحه خوانده می شود در این شبکه انتقال یافته و می توان به آن دسترسی داشت. نوشتن دیتا با اعمال ولتاژ بالا به Gate سلول های موجود در آن صفحه انجام می شود در حالی که خروجی تمام سلول های دیگر موجود در آن Block به ground متصل است. فقط ستون هایی که سلول های موجود در آنها باید شارژ شوند به ground متصل می شوند. به این صورت بار بر روی Gate شناور قرار گرفته و مقدار باینری صفر در آن ذخیره می شود. 
صفحه کوچک ترین قسمت حافظه فلش است که خوانده و نوشته می شود. Overwrite یک صفحه به تنهایی امکان پذیر نیست، بلکه باید کل Block را Overwrite کرد.
پاک کردن سلول ها نیاز به ولتاژ بالایی دارد. مقدار این ولتاژ آنقدر زیاد است که اگر بخواهیم فقط یک صفحه را پاک کنیم ممکن است صفحات مجاور نیز تحت تاثیر قرار گیرند. به بیان ساده تر، اقدام برای پاک کردن یک صفحه نیاز به اعمال ولتاژ بالا دارد که این مسئله ممکن است باعث تغییر در سطح ولتاژ سایر سلول ها شده که به وضوح می تواند باعث Corrupt شدن دیتا شود و به هیچ وجه قابل قبول نیست. به این دلیل است که خواندن و نوشتن می تواند روی یک صفحه انجام شود، اما پاک کردن (یا Overwrite کردن) فقط در مقیاس Block قابل انجام است. 
به طور خلاصه می توان گفت حافظه فلش دارای صفحاتی است که کل Block را می سازند. می توان دیتا را بر روی یک صفحه نوشت و خواند، اما نمی توان یک صفحه را به تنهایی Overwrite کرد، بلکه باید کل Block را Overwrite کرده و سپس دیتا را روی آن Block نوشت.