ریچی در سال ۱۹۶۷ شروع به کار در آزمایشگاههای بل، مرکز تحقیقاتی علوم کامپیوتر کرد و در سال ۱۹۶۸ دکترای خود را از دانشگاه هاروارد تحت نظارت پاتریک سی. فیشر دریافت کرد. پایاننامهٔ وی «پیچیدگی محاسباتی و ساختار برنامه» بود.
ریچی عمده شهرت خود را مدیون ابداع زبان برنامهنویسی C است. وی همچنین R در کتاب K&R (یک کتاب مرجع مشهور که نویسندگان آن ریچی و کرینگهان بودند) است. ریچی به همکاری با کن تامپسون پرداخت. دانشمندانی که برای نوشتن نسخهٔ اصلی یونیکس مشهور شدند. یکی از مهمترین همکاریهای ریچی با تامپسون در پروژهٔ یونیکس، بردن آن برنامه به ماشینها و پلتفرمهای مختلف بود
زبان برنامهنویسی C امروزه به طور گسترده در نرمافزارها، سیستم عاملها و توسعهٔ سیستمهای تعبیه شده استفاده میشود و تأثیر آن بر اکثر زبانهای برنامهنویسی امروزی مشهود است.
ریچی عمده شهرت خود را مدیون ابداع زبان برنامهنویسی C است. وی همچنین R در کتاب K&R (یک کتاب مرجع مشهور که نویسندگان آن ریچی و کرینگهان بودند) است. ریچی به همکاری با کن تامپسون پرداخت. دانشمندانی که برای نوشتن نسخهٔ اصلی یونیکس مشهور شدند. یکی از مهمترین همکاریهای ریچی با تامپسون در پروژهٔ یونیکس، بردن آن برنامه به ماشینها و پلتفرمهای مختلف بود
زبان برنامهنویسی C امروزه به طور گسترده در نرمافزارها، سیستم عاملها و توسعهٔ سیستمهای تعبیه شده استفاده میشود و تأثیر آن بر اکثر زبانهای برنامهنویسی امروزی مشهود است.
در سال ۱۹۸۳، ریچی و تامپسون جایزهٔ تورینگ را برای تئوری تعمیم و توسعهٔ سیستم عاملها و به خصوص تکمیل سیستم عامل یونیکس دریافت کردند. عنوان سخنرانی وی در مراسم اهدای جایزهٔ تورینگ، «تاملاتی در مورد تحقیقات نرمافزاری» بود.در سال ۱۹۹۰، ریچی و تامپسون مدال «آی ای ای ای ریچارد دبلیو. همینگ» را از کانون مهندسین برق و الکترونیک برای ابداع سیستم عامل یونیکس و زبان برنامهنویسی C دریافت کردند.
در سال ۱۹۹۷ ریچی و تامپسون موزهٔ تاریخ کامپیوتر را برای خلق سیستم عامل یونیکس و همچنین توسعهٔ زبان برنامهنویسی C ساختند.
در ۲۱ آوریل ۱۹۹۹، ریچی و تامپسون به طور مشترک مدال ملی فناوری سال ۱۹۹۸ را از بیل کلینتون، رئیس جمهور وقت ایالات متحده آمریکا، برای ساخت سیستم عامل یونیکس و زبان برنامهنویسی "C" دریافت کردند.
در سال ۲۰۰۵، کانون تحقیقاتی صنعتی، جایزهٔ دستاورد خود را به ریچی، به پاس زحمات وی در علم و فناوری و همچنین توسعهٔ سیستم عامل یونیکس اهدا کرد
در سال ۲۰۱۱، ریچی به همراه تامپسون، جایزهٔ ژاپن را برای علم ارتباطات و اطلاعات، به پاس زحماتشان در توسعهٔ سیستم عامل یونیکس دریافت کردند.
در سال ۱۹۹۷ ریچی و تامپسون موزهٔ تاریخ کامپیوتر را برای خلق سیستم عامل یونیکس و همچنین توسعهٔ زبان برنامهنویسی C ساختند.
در ۲۱ آوریل ۱۹۹۹، ریچی و تامپسون به طور مشترک مدال ملی فناوری سال ۱۹۹۸ را از بیل کلینتون، رئیس جمهور وقت ایالات متحده آمریکا، برای ساخت سیستم عامل یونیکس و زبان برنامهنویسی "C" دریافت کردند.
در سال ۲۰۰۵، کانون تحقیقاتی صنعتی، جایزهٔ دستاورد خود را به ریچی، به پاس زحمات وی در علم و فناوری و همچنین توسعهٔ سیستم عامل یونیکس اهدا کرد
در سال ۲۰۱۱، ریچی به همراه تامپسون، جایزهٔ ژاپن را برای علم ارتباطات و اطلاعات، به پاس زحماتشان در توسعهٔ سیستم عامل یونیکس دریافت کردند.
زنیکس (به انگلیسی: Xenix) یک نسخه انحصاری از سیستمعامل یونیکس بود که توسط شرکت مایکروسافت توسعه داده میشد. توسعه این سیستمعامل امروزه متوقف شده است. در اوخر دهه ۱۹۸۰، زنیکس رایجترین نسخه از سیستمعامل یونیکس بود (بر اساس تعداد ماشینهایی که آن را اجرا میکردند)
Apache Cassandra is an Apache Software Foundation project, so it has an Apache License (version 2.0).
Main features
Main features
کاسانترا یک پایگاه داده غیر رابطه ای (no sql) هست
Alternatives
Apache Accumulo—Secure Apache Hadoop based distributed database.
Aerospike
Berkeley DB
Bigtable, available as part of Google Cloud Platform
Druid (open-source data store)
Apache HBase—Apache Hadoop based distributed database; very similar to Bigtable
HyperDex
Hypertable—Apache Hadoop based distributed database; very similar to Bigtable
MongoDB
Riak
ScyllaDB
Apache Accumulo—Secure Apache Hadoop based distributed database.
Aerospike
Berkeley DB
Bigtable, available as part of Google Cloud Platform
Druid (open-source data store)
Apache HBase—Apache Hadoop based distributed database; very similar to Bigtable
HyperDex
Hypertable—Apache Hadoop based distributed database; very similar to Bigtable
MongoDB
Riak
ScyllaDB
سامانههای تشخیص نفوذ (Intrusion Detection System) وظیفهٔ شناسایی و تشخیص هر گونه استفادهٔ غیرمجاز به سیستم، سوء استفاده و یا آسیب رسانی توسط هر دو دستهٔ کاربران داخلی و خارجی را بر عهده دارند. تشخیص و جلوگیری از نفوذ امروزه به عنوان یکی از مکانیزمهای اصلی در برآوردن امنیت شبکهها و سیستمهای رایانهای مطرح است و عمومأ در کنار دیوارههای آتش و به صورت مکمل امنیتی برای آنها مورد استفاده قرار میگیرند.
سامانههای تشخیص نفوذ به صورت سامانههای نرمافزاری و سخت افزاری ایجاد شده و هر کدام مزایا و معایب خاص خود را دارند. سرعت و دقت از مزایای سیستمهای سخت افزاری است و عدم شکست امنیتی آنها توسط نفوذگران، قابلیت دیگر این گونه سیستمها میباشد. اما استفادهٔ آسان از نرمافزار، قابلیت سازگاری در شرایط نرمافزاری و تفاوت سیستمهای عامل مختلف، عمومیت بیشتری را به سامانههای نرمافزاری میدهد و عمومأ این گونه سیستمها انتخاب مناسب تری هستند. به طور کلی سه عملکرد اصلی IDS عبارت است از: نظارت و ارزیابی، کشف و واکنش. بر همین اساس هر IDS را میتوان بر اساس روشهای تشخیص نفوذ، معماری و انواع پاسخ به نفوذ دسته بندی کرد.
سامانههای تشخیص نفوذ به صورت سامانههای نرمافزاری و سخت افزاری ایجاد شده و هر کدام مزایا و معایب خاص خود را دارند. سرعت و دقت از مزایای سیستمهای سخت افزاری است و عدم شکست امنیتی آنها توسط نفوذگران، قابلیت دیگر این گونه سیستمها میباشد. اما استفادهٔ آسان از نرمافزار، قابلیت سازگاری در شرایط نرمافزاری و تفاوت سیستمهای عامل مختلف، عمومیت بیشتری را به سامانههای نرمافزاری میدهد و عمومأ این گونه سیستمها انتخاب مناسب تری هستند. به طور کلی سه عملکرد اصلی IDS عبارت است از: نظارت و ارزیابی، کشف و واکنش. بر همین اساس هر IDS را میتوان بر اساس روشهای تشخیص نفوذ، معماری و انواع پاسخ به نفوذ دسته بندی کرد.
نفوذ به مجموعهٔ اقدامات غیرقانونی که صحت و محرمانگی و یا دسترسی به یک منبع را به خطر میاندازد، اطلاق میگردد. نفوذها میتوانند به دو دستهٔ داخلی و خارجی تقسیم شوند. نفوذهای خارجی به آن دسته نفوذهایی گفته میشود که توسط افراد مجاز و یا غیرمجاز از خارج شبکه به درون شبکهٔ داخلی صورت میگیرد و نفوذهای داخلی توسط افراد مجاز در سیستم و شبکهٔ داخلی، از درون خود شبکه انجام میپذیرد. نفوذگرها عموماً از عیوب نرمافزاری، شکستن کلمات رمز، شنود میزان تردد در شبکه و نقاط ضعف طراحی در شبکه، سرویسها و یا کامپیوترهای شبکه برای نفوذ به سیستمها و شبکههای رایانهای بهره میبرند.
به منظور مقابله با نفوذگران به سیستمها و شبکههای رایانهای، روشهای متعددی تحت عنوان روشهای تشخیص نفوذ ایجاد گردیدهاست که عمل نظارت بر وقایع اتفاق افتاده در یک سیستم یا شبکهٔ رایانهای را بر عهده دارد. روشهای تشخیص مورد استفاده در سامانههای تشخیص نفوذ به دو دسته تقسیم میشوند:
روش تشخیص رفتار غیر عادی (anomaly detection)
روش تشخیص سوءاستفاده یا تشخیص مبتنی بر امضاء(misuse detection)
به منظور مقابله با نفوذگران به سیستمها و شبکههای رایانهای، روشهای متعددی تحت عنوان روشهای تشخیص نفوذ ایجاد گردیدهاست که عمل نظارت بر وقایع اتفاق افتاده در یک سیستم یا شبکهٔ رایانهای را بر عهده دارد. روشهای تشخیص مورد استفاده در سامانههای تشخیص نفوذ به دو دسته تقسیم میشوند:
روش تشخیص رفتار غیر عادی (anomaly detection)
روش تشخیص سوءاستفاده یا تشخیص مبتنی بر امضاء(misuse detection)
روش تشخیص رفتار غیرعادی
در این روش، یک نما از رفتار عادی ایجاد میشود. یک ناهنجاری ممکن است نشان دهندهٔ یک نفوذ باشد. برای ایجاد نماهای رفتار عادی از رویکردهایی از قبیل شبکههای عصبی، تکنیکهای یادگیری ماشین و حتی سیستمهای ایمنی زیستی استفاده میشود. برای تشخیص رفتار غیرعادی، باید رفتارهای عادی را شناسایی کرده و الگوها و قواعد خاصی برای آنها پیدا کرد. رفتارهایی که از این الگوها پیروی میکنند، عادی بوده و رویدادهایی که انحرافی بیش از حد معمول آماری از این الگوها دارند، به عنوان رفتار غیرعادی تشخیص داده میشود. نفوذهای غیرعادی برای تشخیص بسیار سخت هستند، چون هیچگونه الگوی ثابتی برای نظارت وجود ندارد. معمولاً رویدادی که بسیار بیشتر یا کمتر از دو استاندارد انحراف از آمار عادی به وقوع میپیوندد، غیرعادی فرض میشود. به عنوان مثال اگر کاربری به جای یک یا دو بار ورود و خروج عادی به سیستم در طول روز، بیست بار این کار را انجام دهد، و یا رایانهای که در ساعت ۲:۰۰ بعد از نیمه شب مورد استفاده قرار گرفته در حالی که قرار نبوده کامپیوتر فوق پس از ساعت اداری روشن باشد. هر یک از این موارد میتواند به عنوان یک رفتار غیر عادی در نظر گرفته شود.
در این روش، یک نما از رفتار عادی ایجاد میشود. یک ناهنجاری ممکن است نشان دهندهٔ یک نفوذ باشد. برای ایجاد نماهای رفتار عادی از رویکردهایی از قبیل شبکههای عصبی، تکنیکهای یادگیری ماشین و حتی سیستمهای ایمنی زیستی استفاده میشود. برای تشخیص رفتار غیرعادی، باید رفتارهای عادی را شناسایی کرده و الگوها و قواعد خاصی برای آنها پیدا کرد. رفتارهایی که از این الگوها پیروی میکنند، عادی بوده و رویدادهایی که انحرافی بیش از حد معمول آماری از این الگوها دارند، به عنوان رفتار غیرعادی تشخیص داده میشود. نفوذهای غیرعادی برای تشخیص بسیار سخت هستند، چون هیچگونه الگوی ثابتی برای نظارت وجود ندارد. معمولاً رویدادی که بسیار بیشتر یا کمتر از دو استاندارد انحراف از آمار عادی به وقوع میپیوندد، غیرعادی فرض میشود. به عنوان مثال اگر کاربری به جای یک یا دو بار ورود و خروج عادی به سیستم در طول روز، بیست بار این کار را انجام دهد، و یا رایانهای که در ساعت ۲:۰۰ بعد از نیمه شب مورد استفاده قرار گرفته در حالی که قرار نبوده کامپیوتر فوق پس از ساعت اداری روشن باشد. هر یک از این موارد میتواند به عنوان یک رفتار غیر عادی در نظر گرفته شود.
روش تشخیص سوءاستفاده یا تشخیص مبتنی بر امضاء
در این تکنیک که معمولاًبا نام تشخیص مبتنی بر امضاء شناخته شدهاست، الگوهای نفوذ از پیش ساخته شده (امضاء) به صورت قانون نگهداری میشوند. به طوری که هر الگو انواع متفاوتی از یک نفوذ خاص را در بر گرفته و در صورت بروز چنین الگویی در سیستم، وقوع نفوذ اعلام میشود. در این روشها، معمولاً تشخیص دهنده دارای پایگاه دادهای از امضاءها یا الگوهای حملهاست و سعی میکند با بررسی ترافیک شبکه، الگوهای مشابه با آن چه را که در پایگاه دادهٔ خود نگهداری میکند، بیابد. این دسته از روشها تنها قادر به تشخیص نفوذهای شناخته شده میباشند و در صورت بروز حملات جدید در سطح شبکه، نمیتوانند آنها را شناسایی کنند و مدیر شبکه باید همواره الگوی حملات جدید را به سامانه تشخیص نفوذ اضافه کند. از مزایای این روش دقت در تشخیص نفوذهایی است که الگوی آنها عیناً به سیستم داده شدهاست.
در این تکنیک که معمولاًبا نام تشخیص مبتنی بر امضاء شناخته شدهاست، الگوهای نفوذ از پیش ساخته شده (امضاء) به صورت قانون نگهداری میشوند. به طوری که هر الگو انواع متفاوتی از یک نفوذ خاص را در بر گرفته و در صورت بروز چنین الگویی در سیستم، وقوع نفوذ اعلام میشود. در این روشها، معمولاً تشخیص دهنده دارای پایگاه دادهای از امضاءها یا الگوهای حملهاست و سعی میکند با بررسی ترافیک شبکه، الگوهای مشابه با آن چه را که در پایگاه دادهٔ خود نگهداری میکند، بیابد. این دسته از روشها تنها قادر به تشخیص نفوذهای شناخته شده میباشند و در صورت بروز حملات جدید در سطح شبکه، نمیتوانند آنها را شناسایی کنند و مدیر شبکه باید همواره الگوی حملات جدید را به سامانه تشخیص نفوذ اضافه کند. از مزایای این روش دقت در تشخیص نفوذهایی است که الگوی آنها عیناً به سیستم داده شدهاست.
معماری سامانههای تشخیص نفوذ
معماریهای مختلف سامانه تشخیص نفوذ عبارتند از:
سامانه تشخیص نفوذ مبتنی بر میزبان (HIDS)
سامانه تشخیص نفوذ مبتنی بر شبکه (NIDS)
سامانه تشخیص نفوذ توزیع شده (DIDS)
معماریهای مختلف سامانه تشخیص نفوذ عبارتند از:
سامانه تشخیص نفوذ مبتنی بر میزبان (HIDS)
سامانه تشخیص نفوذ مبتنی بر شبکه (NIDS)
سامانه تشخیص نفوذ توزیع شده (DIDS)