مهاجرت

ژوئن 4, 2009

چند وقتیه تو آپ کردن وبلاگ مشکل دارم و فکر کنم بدلیل فیل.ترینگ پروتکل HTTPS باشه چون موقع لاگین وارد اون پروتکل میشه ….
خلاصه به جبر مهاجرت میکنم به خانه جدید که فعلا راحت تر آپ کنم
http://securitylab.persianblog.ir

مالک خونه خود

مه 27, 2009

چندین مشکل با ویستا داشتم آخریش که عدم شناسایی فلش مموری بود و راه حلش پاک کردن فایل infcash.1از دایرکتوری Windows\inf است .البته باید قبلش به یوزر مورد نظر پرمیشن بدید! و بعد با نصب فلش مموری ریستارت کنید.
مشکل الانم عدم شناسایی گوشی p1iسونی اریکسونه در حالت phone mode…و در هنگام نصب درایور خطای زیر رو میده
driver installation module stopped working and was closed
درجریان کشف راه حل این مشکل فهمیدم تو ویستا آدم مالک خونه خودش هم نیست !!یعنی حتی یه ادمین سیستم هم عمرانمیتونه فایل یا فولدر سیستمی رو دستکاری کنه…اما راه حلش رو پیدا کردم (خدا عمرشون بده)
دانلود فایل زیپ زیر و نصب اون بوسیله دستکاری در رجیستری
http://www.howtogeek.com/downloads/TakeOwnership.zip
با این عمل یه دکمه در راست کلیک ظاهر میشه
البته روش دستی هم برای مالک شدن فایل وجود داره
فرض کنید نام فایل سیستمی ما winload.exe.muiاست در cmd
takeown /f C:\Windows\System32\en-US\winload.exe.mui
و برای مالکیت کامل توسط یوزر خاص
cacls C:\Windows\System32\en-US\winload.exe.mui /G USERNAME:F

الگوهای طراحی و معماری نرم افزار2

آوریل 27, 2009

الگوی Singleton(یگانه)
مفهوم: کنترل دسترسی به یک کلاس با کنترل روند نمونه سازی از آن کلاس
مساله: برنامه ما دارای یک مجموعه ای از داده ها است که لازم است بصورت عام قابل دسترسی و نگهداری باشد.
راه حل:خود کلاس مسوول کنترل نمونه سازی است بصورتی که یک نمونه از آن را می شازد و دسترسی به آن رافراهم می آورد.
الگو ها در سطوح مختلفی از انتزاع بیان و مورد استفاده قرار میگیرند.این بار از سطح بالاتری به مساله قبل نگاه می کنیم .شما دارید یک برنامه تحت وب قیمت گذاری طراحی میکنید که با تعدادی چند از اصول عملکردی-کاری و ظاهری درگیر هستیم که وابسته به کمپوننت های چندی از نرم افزار ها در محیط مربوطه هستند تا بتوانند کارکردی صحیح داشته باشند در این حالت شما چگونه سیستم را طراحی میکنید تا منعطف ، غیر وابسته در اجزاءدر عین حال مستحکم در کلیت باشد؟ .
یک راه حل در چنین مواردی پیاده سازی سیستم برمبنای لایه ها است بطوریکه لایه ها شامل اجراء با حداکثر انتزاع هستند.سپس شما وابستگی ها را در هر لایه معین میکنید و سپس استراتژی خود را درخصوص لایه بندی «محکم» یا «آزاد» را به کار میگیرید.سپس یا از یک ساختار یا اسکمایی که توسط دیگران مستند شده است استفاده میکنید یا ساختار را خودتان طراحی میکنید.در حالت اول کفته میشود که شما از استراتژی لایه بندی شناخته شده استفاده کرده اید یک لایه برای ظاهر (ارایه) یکی برای عملکرد منطقی و یکی برای دسترسی به داده. شکل زیر:

patern

patern


الگوی Layers(لایه ها)
مفهوم:شما با یک سیستم بزرگ و پیچیده سرو کار دارید و میخواهید بر این پیچیدگی با تجزیه مساله فایق آیید.
مسآله:
چگونه سیستمی را بسازیم که با هدف فوق با در نظر گرفتن مسایل زیر دست یابد.
قابلیت نگهداری،استفاده مجددو چند باره،توسعه و تجمیع پذیری ،استحکام و امنیت
راه حل:
سیستم را به لایه هایی تفکیک میکنیم هر لایه میبایستی یکنواخت و به هم پیوسته و در کل در یک سطح از انتزاع باشد . هر لایه باید کمترین میزان وابستگی به لایه های زیرین را داشته باشد.
این راه حل به ما برای غلبه بر دومشکل در تهیه و تولید نرم افزارها کمک میکند.مدیریت وابستگی ها و نیاز به کمپوننتهایی با قابلیت جایگزینی. ساختن برنامه ها بدونه درنظر گرفتن استراتژی مناسب در زمینه مدیریت وابستگی ها ما را به سمت کمپوننت های شکننده سوق میدهد که این امر نگهداری ، توسعه و جایگزینی برنامه را سخت و پرهزینه می نماید
راه حلی که برای مشکل فوق داده شده یعنی لایه ها بسیار زیرکانه تر از روش singleton است. در الگوی لایه ها اولین همکاری در زمان طراحی مابین کلاسها است چرا که سازماندهی لایه ای تغییرات سورس کد را محلی میکند تا از انتشار تغییر در کل سیستم بصورت دومینویی جلوگیری کند.دومین همکاری در زمان اجرا است هنگامی که کمپوننتهای تقریبا مستقل درون یک لایه قابل تعویض و جایگزینی می شوند و این دوباره باعث جلوگیری از انتشار تغییر در سیستم میشود.
اگرچه الگوی لایه ها آنقدر عام است تا برای محیطهای نظیر پروتکل های شبکه،نرم افزارهای پلات فرم و ماشین های مجازی به کار رود اما نمی تواند فشار کلاسهای مهم عملکردهای سازمانی بر طراحی سیستم را رفع کند.برای مثال علاوه بر تجزیه به لایه ها ،برای غلبه بر پیچیدگی (همانطور اکه اصل الگوی لایه ای می گوید) معماران سیستم و نرم افزار عملکرد های سازمانهای بزرگ مجبورند تکرر در استفاده از منطق برنامه عملکرد سازمانی و ارتباطات با منابع مهم سیستم نظیر دیتابیس ها را مدیریت کنند.یک راه جهت حل این مشکل الگوی برنامه های سه لایه ای است.
برنامه های سه لایه ای
مفهوم:براساس لایه بندی راهکار پیاده سازی سیستم خود را دنبال میکنید.
مشکل: آماده سازی برنامه تان برای تکرر در استفاده از منطق برنامه عملکرد سازمانی آمادگی برای توسعه اینده وصرفه جویی در ارتباطات با منابع مهم سیستم نظیر دیتابیس ها را چگونه انجام میدهید؟
راهکار:ایجاد لایه ظاهر presentation لایه منطق عملکردی(Domain )لایه دسترسی به داده .تمام کمپوننتهای نمایشی را در رایه ظاهر قرار میدهیم.در لایه دسترسی به داده connection polling را مدنظر قرار میدهیم.سهی میکنیم لایه ها تاحد ممکن به هم وابستگی نداشته باشند یا با استفاده از الگوی Observer وابستگی میان لایه ها را کاهش می دهیم.
همانطور که می بینید الگوی سه لایه ای مدل بهینه شده الگوی لایه ای است
یک بهینه سازی دیگردر مبحث لایه ای :
فرض کنید شما برنامه ای برای سیتم قیمت گذاری موفق و مهمی که در حال رشد است را مینویسید.و شما میخواهید توانایی های موتور سیستمتان را برای دیگر شرکایتان ارایه داده و از سرویسهای ایشان (نظیر فروش)در برنامه خودتان استفاده کنید چگونه این کار را انجام میدهید؟
یک راه حل این مشکل توسعه مدل سه لایه ای است با افزودن مسوول سرویس به هر لایه است
12
مدل کلاینت-سرور یه طراحی دولایه است.
کالاستر دسته بندی الگوهای مشابه است
13

الگوهای طراحی و معماری نرم افزار

آوریل 5, 2009

الگوهای معماری برای ساختن نرم افزار های مهم

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

John Gall in Systemantics: How Systems Really Work and How They Fail

کلاسهای مهمی که قوانین و عملیاتهای تجاری و اداری سازمانهای بزرگ بر آنها استوار هستند اغلب پیچیده هستند و میبایستی در مقابل تغییرات قابل اتکا باشند

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

دانش چنین مکانیسم ساده ای آسان بدست نمی آید بهتر است بگوییم هدیه پشت پرد ه ای است در ذهن برنامه نویسان و معماران نرم افزار که آنرا برای پروژه به همراه می آورند

قصد دارم در اینجا از الگوهایی که برنامه نویسان خبره آنها را از کارهایشان گرته برداری کرده اند صحبت کنم:

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

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

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

مثال:

فرض کنید یک برنامه قیمت گذاری را در حال طراحی هستید این برنامه شامل کلاسی است که مسولیت کیه قیمتها را در سیستم برعهده دارد مهم است که مطمئن شوید که تمام قیمتها فقط با یک و فقط یک نمونه از این کلاس سروکار دارند با این حساب شما چگونه طراحی خود را سوق میدهید تا به این هدف نایل شوید؟

راه حل ساده برای این مساله ساختن کلاسی مثلا به نام QuoteManager با سازنده خصوصی می باشدپس هیچ کلاسی نمی تواند از آن نمونه بسازد. این کلاس متد استاتیکی به نام GetInstance() دارد که نمونه استاتیکی از QuoteManager را بر میگرداند

زبان #c

public class QuoteManager

}

//NOTE: فقط برای برنامه های تک ترد!

private static QuoteManager _Instance = null;

private QuoteManager() {}

public static QuoteManager GetInstance()

{

if (_Instance==null)

{

_Instance = new QuoteManager ();

}

return _Instance;

}

//… functions provided by QuoteManager

}

یک خلاقیت دیگر در جامعه فناوری

آوریل 1, 2009

من از دید یک علاقمند به معماری فناوری نرم افزارها و پیگیری رشد دانش بشری در این زمینه، به این شیوع ویروس ها ،کرم ها و تروجانها و…. برچسب خلاقیت در جامعه فناوری رو میگذارم چرا که توانسته بر استعداد و تواناییها ی جمعی از جامعه بشری فایق بیاید و با نمودی از هنرمندی خود ما را غافلگیر کند
صحبت بر سر کرم Confickerاست .بنا بر قولی9 ملیون کامپیوتر تاکنون آلوده شده است.این کرم میتواند در بارگذاری دیگر موارد آلوده اینترنتی روی کامپیوتر شما سهمی بسزا داشته باشد و پسورد ها و اکانتهای ذخیره شده را جمع آوری و ارسال کند.
این کرم چه کار میکندو ما چه کنیم:
1-از طریق نقص در Server Service ویندوز به کامپیوتر حمله میکند .اگر پچ مورد نیاز رو از این جا نصب نکرده باشید دچار مشکل خواهید شد و اجازه میدهد که کدی از راه دور بر روی کامپیوتر شما اجرا شود.
2-سعی میکند پسورد ادمین شبکه را حدس بزندو در نتیجه در شبکه پخش شود.
3-وسایل قابل حمل و اشتراکی شبکه را از طریق اوتوران آلوده میکند تا به کامپیوتر های قربانی راه یابد.
4-مدیران شبکه با این ابزار(blocklist provided by F-Secure) میتوانند جلوی تلاش برای اتصال به وب سایت خود را بگیرند.
5-در فایلی با پسوند.reg مقادیر زیر رو وارد و با دبل کلیک فایل رو اجرا کنید.

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\Autorun.inf]
@=»@SYS:DoesNotExist»

sysdoesnotexist-screenshot

6-فایر وال مناسب رو روی کامپیوترتون نصب کنید و اجرای هر نوع فایلی رو از روی اون مونیتور کنید.
7- آنتی ویروستون رو آب دید کنید
8-از ابزار زیر که توسط مایکروسافت تهیه شده است برای چک سیستم خود استفاده کنید.

Windows Live OneCare safety scanner

روزبه نوروزی 8 شب.12 فروردین 88

ویرایش و تکمیل Svchost

مارس 30, 2009

بررسی فایل اجرایی svchost.exe

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

فایل فوق یک پراسس عام  میزبان برای سرویس های ویندوز 32 بیتی است که برای مدیریت dllهای  سایر برنامه های کاربردی کمکی به کار میرود.

هنگامی که سیستمهای عامل پیچده تر شدند مایکروسافت تصمیم گرفت بجای استفاده از سرویسهای داخلی ویندوز از  dllهای استفاده کند بجای استفاده از فایلهای exeاجرایی.اما dllها نمی توانند به تنهایی اجرا شوند و نیاز به فراخوانی توسط یک برنامه اجرایی دارند.

Svchostبه عنوان پلی میان پراسس های dll و سیستم عامل عمل میکند.

بخاطر یکه بودن فایل svchost.exeفایلهای dll بطور موثر سرویسهای ویندوز 32 بیتی را در بر گرفته و توزیع می کنند تا بتوانند عملیات مربوط به خود را با svchostمربوط به خود انجام دهند.

برای رفتار بعنوان یک میزبان، Svchost چندین نمونه از خود را می سازد و این عمل به قابلیت اطمینان و امنیت سیستم عامل کمک می کند بصورتیکه از کرش پردازش ها بصورت دومینویی(که کرش سیستم عامل را در پی دارد) در اثر کرش پراسس مجاور جلوگیری میکند

حال با Svchost چگونه برخورد کنیم؟

اگر میبینید یک نمونه از Svchost بار روی CPUگذاشته است  (در (task manager

111

 

 

میتوانیدآن سرویس از نمونه Svchost را ریستارت کنید حال چگونه سرویس مربوطه را پیدا کنیم؟

با دستور زیر در کمند لاین میتوانید این کار را انجام دهید: tasklist /SVC

 

2

 

در ویندوز ویستا با استفاده از taskmanager میتوانید به راحتی سرویس مورد نظر را پیدا کنید وببینید

 3

 

 4

 

با استفاده ازبرنامه دانلود رایگان  Process Explorer میتوانید سرویس مورد نظر خود را در xpپیدا کنید کافیست روی svchostمربوطه دبل کلیک کرده و تب سرویس را انتخاب کنید

5

 

علاوه براستفاده از دستور     services.msc در run  برای از کار انداختن سرویس ، میتوان از دستور زیر نیز در کامند پرامپت داس استفاده کرد . trkwks نام سرویس مورد نظر است.

sc config trkwks start= disabled

توضیحات تکمیلی:

فایل Svchost.exe در شاخه %SystemRoot%\System32 سیستم قرار دارد در موقع استارت ویندوز Svchost.exe قسمت سرویس های رجیستری را برای بدست آوردن لیست  سرویسهای که باید لود شوند را میکاود .چندین نمونه یا اینستنس از Svchost.exe میتوانند در یک زمان فعال شوندو کار کنند هر سشن Svchost.exe ممکن است شامل چندین سرویس باشدپس باتوجه به اینکه Svchost.exe چکونه و از کجا اجرا شده است سرویسهای جدا گانه میتوانند اجرا شوند

گروه Svchost.exe کلید رجیستری زیر را در بر دارد

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost

هر مقدار در زیر این کلید بعنوان گروههای جدا گانه Svchost تلقی میشوند(پراسس های جدا گانه)هر مقدار از نوع REG_MULTI_SZاست و شامل سرویسی است که تحت یک گروهSVCHOST اجرا شده است.نام سرویسها در هر گروه توسط کلید پارامتری مقدار ServiceDLL در شاخه زیر است:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service

برای بدست آوردن اطلاعات بیشتر در خصوص هر svchost:

1-       استارت را در تسک بار ویندوز کلیک و RUNرا نیز کلیک کنید

2-       تایپ کنید CMDو اینتر را بزنید.

3-       تایپ کنید Tasklist /SVC(میتوانید با این دستور نتایج را در یک فایل تکست بریزید tasklist /svc >c:\taskList.txt)

4-       Tasklist /FI «PID eq processID«(دبل کوتیشن فراموش نشود)

 

 

 

 

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

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

نکته 3-این فایل میتواند بصورت نرم افزاری برای عملیات اخذ و ضبط و ارسال اطلاعات مانیتور شده سیستم شمارا از طریق ایمیل یا ftp به کاررود.

نکته مهم در تشخیص خطر ناک  بودن فایل، محل اجرا یا قرار گیری فایل است.

روزبه نوروزی 11 فروردین 88

 

بسم الله الرحمن الرحیم

مارس 28, 2009

بررسی فایل اجرایی svchost.exe
فایل فوق یک پراسس عام میزبان برای سرویس های ویندوز 32 بیتی است که برای مدیریت dllهای سایر برنامه های کاربردی کمکی به کار میرود.
هنگامی که سیستمهای عامل پیچده تر شدند مایکروسافت تصمیم گرفت کار کرد بیشتری از dllهای موجود را اخذ کند.اما dllها نمی توانند به تنهایی اجرا شوند و نیاز به فراخوانی توسط یک برنامه اجرایی دارند.
Svchostبه عنوان پلی میان پراسس های dll و سیستم عامل عمل میکند.
بخاطر یکه بودن فایل svchost.exeفایلهای dll بطور موثر سرویسهای ویندوز 32 بیتی را در بر گرفته و توزیع می کنند تا بتوانند عملیات مربوط به خود را با svchostمربوط به خود انجام دهند.
برای رفتار بعنوان یک میزبان چندین نمونه از خود را می سازد و این عمل به قابلیت اطمینان و امنیت سیستم عامل کمک می کند بصورتیکه از کرش پردازش ها بصورت دومینویی در اثر کرش پراسس مجاور جلوگیری میکند
نکته 1-فاایل فوق به عنوان یک درب پشتی به ثبت رسیده است که توسط هکر برای دسترسی از راه دور روی ماشین شمانصب شده باشد.این پراسس بعنوان خطر امنیتی شناخته می شود و باید از سیستم شما حذف گردد.
نکته2-فاایل فوق به عنوان یک تروجان به ثبت رسیده است که توسط هکر برای دسترسی از راه دور روی ماشین شمانصب شده باشد.این پراسس بعنوان خطر امنیتی شناخته می شود و باید از سیستم شما حذف گردد.
نکته 3-این فایل میتواند بصورت نرم افزاری برای عملیات اخذ و ضبط و ارسال اطلاعات مانیتور شده سیستم شمارا از طریق ایمیل یا ftp به کاررود.
نکته مهم در تشخیص خطر ناک بودن فایل محل اجرا یا قرار گیری فایل است.

Hello world!

مارس 28, 2009

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!


دنبال‌کردن

هر نوشتهٔ تازه‌ای را در نامه‌دان خود دریافت نمایید.