لینک دانلود
http://filepi.com/i/YQygf1B
12 اکتبر، مصادف است با درگذشت پدر سیستم عامل یونیک و زبان C. کسی تو دنیا نمیتونه منکر تاثیر این دو دست آورد در علم کامپیوتر و زندگی بشری بشه. اگر مقایسه کنیم زبانها و سیستم عاملهایی که در آن زمان عرضه شدند و اینکه چند درصر از اونها تونستن زنده بمونن و هنوز هم کارایی داشته باشن، بیشتر به بزرگی کار دنیس ریچی پی میبریم.
او به همراه کنت تامسون بارها جوایز متعددی را برای طراحی سیستم عامل یونیکس دریافت کرده است. همچنین به همراه برایان کریگان کتاب زبان برنامه نویسی سی را نوشته و این دو تقریباً اکثر مواقع در کنار هم نام برده میشوند «K&R» حتماً متوجه شدید که حرف R از آن ریچی است.
او هم به مانند همکار و دوست خود کنت تامسون به نوشتن برنامههای بسیار زیبا معروف است. شاید خصوصیات روحی آن دو باعث شد تا همانند هم برنامه بنویسند و بتوانند به همراه هم پروژهای بزرگ را به مقصود برسانند. او هم برنامهنویسی را بهترین کار ممکن میداند. این دو دوست بهترین خاطره خود را نوشتن ۱۰۰۰ خط برنامه در یک روز میدانند. او بر روی پلن ۹ و زبان برنامهنویسی لیمبو هم کار کرد.
در حال حاضر زبان برنامهنویسی سی نقش فوقالعاده مهم و بنیادی برای بسیاری از برنامههای معروف و پروژههای بزرگ روز دنیا دارد. سیستمعاملها مانند لینوکس، سولاریس، بی اس دی، مک او اس، ویندوز و انواع متنوع دیگر. زبانهای برنامهنویسی مانند سی پلاس پلاس، سی شارپ، جاوا و جاوا اسکریپت و بسیاری دیگر. شاید باید گفت سیستمعاملهایی مانند ویندوز و لینوکس بدون آن به وجود نمیآمدند که این همه جنجال برانگیز شوند. دنیای نرمافزارهای آزاد کاملاً با پدران خود آشنا هستند.
درگذشت دنیس ریچی همزمان بود با درگذشت استیو جابز، من منکر این قضیه که استیو جابز هم انسان بزرگی بود که چندین تحول عمده در علم کامپیوتر بوجود آورد، نیستم، اما من به شخصه از تفاوت عمل جامعه رسانه ای نسبت به پوشش این دو خبر، واقعا شکه و ناراحت شدم.
مجازی سازی توابع شبکه
با توجه به توسعه تکنولوژی مرتبط با شبکه در حیطه سخت افزار کامپیوترهای شخصی، هر سرویسی که در حال حاضر توسط سخت افزارها و کاربردهای خاص در شبکه ارائه میشود، قابلیت انجام بر روی ماشین مجازی را نیز دارا میباشد. این پیشرفت مبنای اصلی مجازی سازی در کاربردهای شبکه ای است. برای مثال: مسیریابها، دیواره های آتش، توزیع کننده های بار و دیگر ابزارها که میتوانند به صورت ماشین مجازی بر روی سخت افزارهای معمولی ارائه شوند.
کتابهای زیادی برای سیستم عامل وجود دارد، اما بدون شک، یکی از بهترین این کتابها، کتاب آقای ویلیام استالینگز هستش. در این کتاب استالینگز، هم مسائل طراحی و هم مفاهیم اصلی در سیستم را بحث میکند. مباحث تاثیرگذار در طراحی یک سیستم و نحوه هماهنگ کردن طراحی، سرعت و امنیت در سیستم بحث شده است.
در این ویرایش مطالب زیر اضافه شده است:
در شبکه های کامپیوتری، port knocking یک روش برای باز کردن پورت مشخص در دیواره آتش، با دریافت درخواست از شبکه خارجی است. این پورت مشخص از خارج شبکه و با انجام عمل پویش مانند پورت اسکن کاملا بسته به نظر میرسد، اما برای درخواست مشخص شده، باز میشود. این عمل باز کردن پورت کاملا به صورت اتوماتیک انجام میشود. یکی از انواع روشهای knocking با عنوان single packet authentication شناخته میشود که در آن، یک بسته اطلاعاتی کد شده، فرستاده میشود تا پورت ارتباطی برای ادامه باز شود.
حفاظها (firewall) در معماری امنیت شبکه، برای فیلتر کردن بستهها یا اعتبارسنجی یک پروتکل استفاده میشوند و در این دو کار، به خوبی عمل میکنند. اما حفاظها اطلاعات کمی درباره برنامهها و روند استفاده شبکه برای هر کدام از آنها و همچنین کاربران شبکه دارد، این مساله باعث بروز دو مشکل میشود:
1 محدود کردن دسترسی به شبکه داخلی از طریق بیرون.
2 محدود کردن دسترسی کاربران داخلی به تعداد محدود پورتهای مشخص.
توجه شود که خود محدودیتهای اعمال شده برای کاربران، به دلیل محدود کردن روشهای سو استفاده و حمله به شبکه است و اگر روشی باشد که بدون محدود کردن کاربران مجاز، بتواند در برابر کاربردهای غیر مجاز به خوبی عمل کند، روش مناسبتری خواهد بود.
معماری نرمافزارهای شبکه بر اساس معماری clinet-server میباشد. قسمت clinet که معمولا یک رابط کاربری است برای ارتباط با کاربر، اتصال به server و درخواست یک سرویس خاص از آن. برای مثال یک مرورگر اینترنت به server متصل میشود و درخواست خود را برای یک صفحه یا سند خاص به آن میدهد. کاربردهای Peer-to-Peer هم نقش server را دارد و هم نقش clinet را. برنامه ای مثل پراکسی، برای مرورگر یک برنامه سرور ایت و برای وب سرور یک کلاینت حساب میشود.
پروتکل اینترنت IP چه مشکلات امنیتی اساسی دارد؟
بعد از این مقدمه نسبتا طولانی به مبحث port knocking ادامه میدهیم.
اگر بخواهیم مقایسه ای انجام دهیم بین روند قدیمی پروتکل اینترنت با روند port knocking، میتوان به یک در تشبیه کرد. در پروتکل اینترنت، مانند این است که در باز است اما کنار در یک نفر نگهبان وجود دارد. با روند ناکینگ اگر مقایسه کنیم، مانند این است که در بسته است، و بعد از در زدن و احراز هویت در باز میشود. همان نگهبانها هم وجود دارند.
یک توضیح اضافی در اینجا لازم است، اینکه در روند پروتکل اینترنت در باز است، همان به معنی باز بودن پورت است.
سرویس port knocking در مقابل یک بسته حاوی درخواست که کدگذاری نیز شده است، آن را به سرویسهای دیگر که خود را ثبت کردهاند تحویل میدهد، و اگر سرویسی توانست پیام دریافتی را کدگشایی کند، پورت مورد نظر باز خواهد شد.
یک تز فوق لیسانس با موضوع برسی کارایی و افزایش کارایی حفاظ ها با این روش با عنوان زیر در لینک http://www.ciphertext.info/papers/thesis-degraaf.pdf برای مطالعه کاملتر وجود دارد.
روند فعالیت Stuxnet:
روند کامل فعالیت stuxnet به صورت کامل شناخته شده نیست، اما با اطلاعات موجود میتوان روند زیر را برای آن ذکر کرد:Stuxnet چیست؟
کالبد شکافی stuxnet
این بدافزار بسیار پیچیده است، در شکل زیر میتوان ساختار آن را مشاهده کرد.
این بد افزار اولین روتکیت شناخته شده برای دستگاههای کنترل صنعتی میباشد. این روتکیت میتوانست خود را به صورت خودکار بروز رسانی کند. توانایی تزریق کد در منطق بار کننده یک plc را دارا بود و بعد از این مرحله فعالیت یک plc به خوبی ادامه پیدا میکرد، و این بد افزار خود را کاملاً مخفی میکند، فقط در مواقع خاصی داده های اشتباه به HMI ارسال میشد.