Alan Cox و آینده امنیت کامپیوتری


Alan Cox را حتما مي شناسيد.
مقدار زيادي از وصله هاي كرنل لينوكس دست پخت ايشون هست. ( از آلن كه نوشته بشه
بايد اسم تسلا رو هم آورد ديگه !!!) ايشون مصاحبه اي كوتاه با O’Reilly Network
انجام داده اند در مورد آينده امنيت در حوزه كامپيوتر-سيستم ها-برنامه نويسي. با
اينكه كوتاه هستش اما جمع بندي خوبي انجام شده. قسمتي كه به نظرم قابل توجه رسيد :


The
Next 50 Years of Computer Security: An Interview with Alan Cox

It’s important perhaps to point out here that secure programs, reliable programs and correct programs are all different things. Knowing how to write provably secure programs is very different from saying we know how to write reliable or correct programs.

Versions System

از دوران خيلي دور
Revision control روش خوبي براي نگهداري و آرشيو كردن سورس كد ها و تلاش هاي برنامه
نويسي ( سازي ) بود و هست.
چند تا لينك مفيد و مختصر ميزارم تا اگر شما هم مثل من زياد آشنا نيستيد، نگاهي
بهشون بندازيد.

    –
در ابتدا Source Code Control System يا همان
SCCS ( البته نسخه GNU
اون به CSSC
معروف
ميباشد.)

It was described in an
article by M. J. Rochkind titled: "The
Source Code Control System" in the IEEE
Transactions on Software Engineering, volume SE-1, number 4, pages 364-370,
۱۹۷۵٫ It is now part of the Single UNIX Specification.

    –
يك تحقيق خوب و خيلي جالب ( و البته جديد ) رو در رابطه با سيستم هاي كنترل ورژن را
در Version
Control System Comparison
ببينيد.

    –
Concurrent Versions System كه
تقريبا در حال حاضر رايج ترين روشي است كه بسياري از توسعه دهنده ها از اون
استفاده مي كنند.

    –
Subversion و به قول مهران پسر
CVS كه روشي جديد و مدرن تر از CVS هستش و
البته نوع كاربرد هاي بيشتري رو هم پوشش ميده. مورد جالبي كه من ازش استفاده مي كنم
sync كردن home/ هاي خودم در دو
دستگاه مختلف است.

Keeping Your Life in Subversion by Joey Hess — Revision control is great for collaborative projects and distributed projects. How well does it work for individuals? According to Joey Hess, fantastically. He’s kept his home directory under revision control for years–here’s how he does it with Subversion.

   

Version Control with Subversion

    –
Automating
deployment with Subversion

حاشيه :
كمي نوشته شلوغي شد اما اميدوارم اگر علاقه مند بوديد روي بعضي از لينك ها كليك
كنيد و بخونيد.
حاشيه ۲ : البته من منظور خاصي ندارم، اما به نظرم كم كم
دنيا داره ميشه اين فيلم هاي تخيلي كه توش آدم ها يا بد هستند يا آنارشيست.
آنارشيست ها به گونه اي خوب هستند و خواهان تحول، و آدم هاي بد عقيده اي ثابت
دارند.

سرور :
Mac OS X Server
من جاي بيلي بودم يك بودجه شيك و تر و تميز ميزاشتم كنار يكي از
اين لينوكس هاي باكلاس و خوب رو مي خريدم. يعني باور كنيد اگر مايكروسافت الان چيزي
مثل Ubuntu رو بخره به كل با اين شرط كه كه به تمام
قوانين موجودشان احترام بگذارد شايد بتونه براي سال هاي ديگه باز هم احترام سال هاي
پيشين رو كسب كنه وگر نه تمام توليدش چيزي به جز ويندوز خوشگل و گرافيكي نخواهد
بود. هر چند ديگر هيچ قالب ويندوزي به شكيلي و زيبايي KDE
نمي رسد. واقعا دارم فكر مي كنم مايكروسافت ميشه اون آدم بده فيلم هاي تخيلي با يك
لباس خاكستري سرتاسري و در ورودي قصرش كه با عتيقه هاي هندي و ايراني  و هنر
مدرن زيبا شده و تمام توسعه دهنده هاي نرم افزار اون آنارشيست هاي آزادي خواه
هستند.

Reliability and availability




Reliability and availability: What’s the difference?

How do you design a computing system to provide continuous service and to ensure that any failures interrupting service do not result in customer safety issues or loss of customers due to dissatisfaction? Historically, system architects have taken two approaches to answer this question: building highly reliable, fail-safe systems with low probability of failure, or building mostly reliable systems with quick automated recovery. The RAS (Reliability, Availability, Serviceability) concept for system design integrates concepts of design for reliability and for availability along with methods to quickly service systems that can’t be recovered automatically. This approach is fundamental to systems where the concern is quality of service, customer retention, and due diligence for customer safety.

SHA1 Broken

Bruce Schneier  یکی از GURU های رمزنگاری جدیدا اعلام کرده که SHA1 شکسته شده. کسانی که به این شاخه ی علم ریاضی علاقه دارند (که البته تعدادشون بیشتر از انگشتان دست نیست) حتما می دونند که این الگوریتم نسخه بهبود یافته MD5 هست که خودش نسخه ی بهینه ی MD4.
نظر به این مهم که من بدجوری امشب بیکارم قصد دارم یه کمی در مورد الگوریتم های Hash تایپ کنم  البته سعی می کنم خیلی ساده و مفید باشه.
یکی از هزاران مشکل ساختن سیستم های امن, ساختن مکانی مطمئن برای ذخیره ی پسورد افراده. اگر این اطلاعات بدون رمز شدن در جایی قرار بگیره حتما توسط CRACKER پیدا می شه و می تونه از حساب کاربری یک کاربر معتبر سوء استفاده کنه. پس ما باید از یک الگوریتم برای رمز کردن پسورد ها استفاده کنیم. از هر الگوریتم رمز کردن که استفاده کنیم به یه کلید احتیاج داریم که رمز نیست ( چرا؟) خوب حالا هر چقدر هم سعی کنیم این کلید رو پنهان کنیم CRACKER به داشتن امکانات ابزاری و زمان کافی حتما پیداش می کنه. حالا هم اطلاعات رمز شده رو داره هم کلید رو پس اطلاعات رو به دست آورده. چون میتونه با الگوریتم معکوس اولی و داشتن کلید اطلاعات اصلی رو به دست بیاره اینجاست که الگوریتم های Hash به درد می خورند.
یکی از دو خصوصیت الگوریتم های Hash اینه که معکوس پذیر نیستند! دومی اینه که هرگز دو ورودی متفاوت به خروجی یکسان منجر نمی شوند. هر یک از این دو خصوصیت اگر نقض بشه می گیم الگوریتم شکسته!!!
خوب در این شرایط CRACKER هم داده رو داره هم کلید رو ولی الگوریتم قابل معکوس کردن نیست. یعنی اگر می خواد بدونه  “ـِ؛آِّ)*$#)#(#ٍ]\ً[ٌٍ«َـُِ”  رمز شده چه رشته ای هست باید همه رشته های ممکن رو رمز کنه با الگوریتم و کلیدی که داره تا یکیش برابر این بشه یعنی حتی با ابرکامپیوتر های جهان یه چندین صد سال. 
قبلا لازم بود برای شکستن SHA1  دو به توان 80 حالت بررسی بشه ولی برادران چینی موفق شدن روشی رو بوجود بیارن(البته به دلیل ضعف الگوریتم) که با امتحان کردن دو به توان 69 حالت بشه این رمز روز باز کرد یعنی 2025 بار سریعتر که البته هنوز یه چند صد سالی می شه  اما چون کمتر از میزان ضمانت شده توسط الگوریتمه میگن شکسته!
در پایان به دوستانی که به موضوع علاقه مند شدن توصیه میکنم این کتاب رو بخونند. Applied Cryptography

رابط های کاربری ۳بعدی

شاید در خیلی از فیلم
های علمی – تخیلی محیط های کاری سه بعدی را دیده باشید. پنجره های کاری در یک محیط
سه بعدی مرتب می شوند و شما درون آن ها حرکت می کنید.
محمد قبلا
Looking Glass از شرکت
sun رو که برای UNIX و لینوکس و با
استفاده از جاوا توسعه داده شده است رو معرفی کرده بود.
می تونید چند سری عکس از این محصول را در اینجا ببنید :
Project
Looking Glass


The Project Looking Glass is being created to work with the Solaris and
Linux desktop environments using Java technology. When completed, it
will work alongside applications designed for a
۲D window system, without application modifications. With the Project
Looking Glass – as well as the new Sun Java Desktop System, StarOffice 7 office suite and Java Card technology – Sun is reinventing the way you think about desktop computing.

چنین محیطی با نام 
Cube نیز برای سیستم عامل ویندوز پیاده
سازی شده است.

 Cube:
Brings 3D UI to desktop PC. Cube is a replacement of conventional 2D GUI.

می توانید در اینجا چند
عکس و فیلم از کارکرد این سیستم ببینید :
Screenshots and Videos of
Cube


An attempt of 3D user
interface for Windows

به فایرفاکس بپیوندید.

مامور اسمیت را در
ماتریکس به خاطر دارید؟دیگران را به پیوستن به شبکه ماتریکس دعوت می کرد.من هم به
سبک او شما را به
فایرفاکس دعوت می کنم !!! ( البته شخصیت مورد علاقه من در ماتریکس
مورفیوس است.)
تقریبا هر هفته خبری برای به روز کردن
IE
و یا یک آسیب پذیری جدید برای آن وجود دارد.هر چه به جلو پیش می رویم خطرات جالب
تری یافت می شود.تقریبا
جنگی که تا چند سال پیش شدت زیادی داشت و مدتی کم رنگ شده بود، دوباره از سر گرفته
شده است.اما این بار اوضاع کمی متفاوت است.مراجع مختلفی مانند US-CERT
به جای اینکه هر بار نسبت به به روز رسانی IE هشدار دهند،
راه حل دیگری پیش نهاد کرده اند.از
فایر فاکس استفاده کنید.
من یک پیش نهاد دارم برای تمامی افرادی که فکر می کنند استفاده از فایرفاکس می
تواند به آن ها و سایرین لذت گردش بیشتری از وب

گردی ها بدهد.به صراحت در وب سایت /
وبلاگ یا مانند آن اعلام کنید که شما از فایرفاکس استفاده می کنید و اگر می توانید
و اطمینان دارید اعلام کنید که صفحه شما به خوبی در فایر فاکس نمایش داده می
شود.اگر به ستون سمت راست صفحه اصلی تکوپیدیا نگاه کنید ، نمونه ای از این لوگو را
خواهید دید.برای انتخاب یک لوگو شبیه به آن از این صفحه استفاده کنید :
Mozilla Firefox –
Promotional Buttons



Get Firefox - Web Browsing Redefined

مطمئن باشید اگر مشکلی
هم پیش بیاید ( مانند این و یا

این
) گروهی از بهترین ها همیشه با شما هستند و در زمانی بسیار کم ( حتی کمتر
از ۲۴ ساعت ) Patch مناسب را دریافت خواهید کرد :

Commentary: Patched in 60 Seconds



Browser Wars to recommence?
| LWN

binary search trees

از عنوان نوشته قلبی
خودم "merry eXamZ" خوشم اومد.در همان رستای بچه های درس خوان، توجه شما دوستانی را
که ساختمان داده ها دارید به این مقاله(ها) محترم در مورد binary search trees جلب
می نماید.


binary
search trees

more on
binary search trees

Binary searching, for those who don’t know (no need to raise your hand
in shame), is a method of searching (duh) in which you attempt to
compare as few items in the dataset to the item you are looking for as
possible by halving your dataset with each comparison you make. Hence
the word binary (meaning two).

راه اندازی Minix بر روی windows xp با استفاده از Bochs

با ایجاد و پیشرفت شبیه
ساز های سیستم عامل ،کم کم می توان بیشتر سیستم عامل ها را بر روی یک دستگاه یکتا
کامپیوتر بدون در نظر گرفتن نوع معماری ایجاد کرد.معروف ترین نمونه آن هم اجرای OSX
Panther بر روی pc های x86 بود.
در مقاله زیر با استفاده از امکاناتی مشابه با نمونه قبل
Minix بر روی
Windows XP با استفاده از
Bochs نصب شده است.
جدا از اینکه تجربه جالبی خواهد بود ، برای دانشجو های کامپیوتر هم بسیار قابل
استفاده خواهد بود.احتمالا بسیاری از دانشجوی های کامپیوتر که واحد سیستم عامل با
استفاده از کتاب پرفسور تننبام را گذرانده اند ، با این مشکل که ماشینی برای تست
Minix پیدا نکرده اند ، برخورد کرده اند.با استفاده از
ترکیبی که ذکر شد می توان به سادگی Minix را در کنار
Windows XP نصب کرد.

اگر وقت دارید آن را
امتحان کنید ( سر امتحان ها کی وقت داره؟!!! ) و اگر هم دانشجو هستید روش خوبی برای
بهتر فهمیدن مطالب درس سیستم عامل خواهد بود.


Virtually Minix: A
Tutorial & Intro to Minix on XP via Bochs

This tutorial will walk the reader through setting up Minix
۲٫۰٫۴ on Windows XP via Bochs 2.1.1. These are the latest versions of
Minix, Bochs and Windows XP as of May of 2004. In this era of Linux and
Windows domination of the OS scene, it is important to remember that
there are alternatives. Hence, this article will also serve as an
introduction to one such alternative, Minix, which has a very rich
heritage, indeed.