وبلاگ تخصصی امنیت و شبکه
 
 
سه شنبه 17 / 2 / 1391برچسب:php security, :: 13:33 ::  نويسنده : پویان ایزدی

Simple Is Beautiful
      Complication breeds mistakes, and mistakes can create security vulnerabilities. This
simple truth is why simplicity is such an important characteristic of a secure application.
Unnecessary complexity is as bad as an unnecessary risk.
For example, consider the following code taken from a recent security vulnerability
notice:

$search = (isset($_GET['search']) ? $_GET['search'] : '');

?>

This approach can obscure the fact that $search is tainted, particularly for
inexperienced developers. Contrast this with the following:

$search = '';
if (isset($_GET['search']))
{
$search = $_GET['search'];
}
?>

The approach is identical, but one line in particular now draws much attention:
search = $_GET['search'];
Without altering the logic in any way, it is now more obvious whether $search is
tainted and under what condition.


Minimize Exposure

         PHP applications require frequent communication between PHP and remote sources.
 The primary remote sources are HTTP clients (browsers) and databases. If you properly track
data, you should be able to identify when data is exposed. The primary source of
exposure is the Internet, and you want to be particularly mindful of data that is exposed
over the Internet because it is a very public network.
Data exposure isn't always a security risk. However, the exposure of sensitive data should
be minimized as much as possible. For example, if a user enters payment information,
you should use SSL to protect the credit card information as it travels from the client to
your server. If you display this credit card number on a verification page, you are actually
sending it back to the client, so this page should also be protected with SSL.
In this particular scenario, displaying the credit card number to the user increases its
exposure. SSL does mitigate the risk, but a better approach is to eliminate the exposure
altogether by displaying only the last four digits (or any similar approach).
In order to minimize the exposure of sensitive data, you must identify what data is
sensitive, keep track of it, and eliminate all unnecessary exposure. In this book, I
demonstrate some techniques that can help you minimize the exposure of many common
types of sensitive data



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

روش تشخیص رفتار ویروس ها یا روش hueristic بر مبنای درک کد برنامه های مورد نظر پایه ریزی شده.به طور کلی این روش برای ویروس های پولیمورفیک و متامورفیک و خود اصلاح به کار میره.

نوع تشخیص:

مخرب های نامبرده هیچکدام در روش های الگویی قابل تشخیص نیستند.پس دنبال راهی میگردیم که بتوانیم کد های این برنامه ها رو تشخیص بدیم.عموماً برای روش تشخیص رفتار ویروس ما بدنبال اثراتی از برنامه مخرب می گردیم تا بتونیم اسم اون برنامه رو(ویروس)یا (مخرب)بگذاریم.در این مورد حدودا 20 پرچم موجود تعریف شده ما رو به سمت تشخیص مخرب بودن و یا نبودن یک برنامه می رساند.البته توجه کنید که فقط یک پرچم و یک اخطار برای تشخیص کافی نیست ولی میانگین پرچم ها به ما اجازه زدن برچسب "مخرب"را میدهد.

این پرچم ها از این قرار هستند:

F=دسترسی مشکوک به فایل ها.برنامه ای که می خواهد به برنامه ای دسترسی پیدا کند

R=نقل مکان.برنامه ای که میخواهد به طور مشکوک نقل مکان کند.

A=درخواست حافظه غیر معمولی.برنامه ای که از روش های غیر استاندارد برای اختصاص دادن حافظه استفاده می کند.

N=ایجاد فرمت مغایر.برنامه ای که دارای فرمت هایی مغایر با استاندارد های ساختاری سیستم است.

S=برنامه ای که به دنبال فایل های اجرایی میگردد.

#=برنامه ای که روش هایی برای رمزنگاری دارد.البته این روش در بسیاری از برنامه ها کاربرد دارد

ٍE=نقطه ورودی متغیر.برنامه ای که آدرس ورودی آن آدرس ورودی یک فایل اجرایی باشد

L=برنامه ای که بارگذاری برنامه دیگر را مختل می کند.

D=برنامه ای برای نوشتن روی دیسک عمل کند شده باشد.

M=برنامه ای که در رم مقاوم شود.یعنی در رم باقی بماند و تغییر آن سخت باشد.

!=برنامه ای که دستوراتی مغایر با اندازه و حدود پردازشگر داشته باشد.

T=برچسب زمانی غلط.بعضی از ویروسها از این تکنیک برای برچسب گذاری فایل های آلوده استفاده می کنند.

J=پرش های مشکوک.برنامه هایی که دارای پرش های نامعین در ابتدای کد خود دارند

?=هدر های اجرایی متناقض

G=دستورالعمل های پاکسازی اضافی.این نوع برنامه ها ممکن است از دستورات garbage به عنوان رمزنگاری استفاده کنند

U=وقفه های بی اساس و بی سند.مثل وقفه های دسترسی به سخت افزار

Z=برنامه هایی که اجرایی بودن و یا نبودن فایل های دیگر را تشخیص می دهند.

o=فایل هایی که قصد دوباره نویسی حافظه را دارند.

B=برنامه هایی که دارای کد های برگشت به ابتدای برنامه هستند.

K=ایجاد صف های غیر استاندارد و اضافی

برای مثال ویروس backfont دارای پرچم های FRALDMUZK است.


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


 




امروز دهمین شماره از نشریه الکترونیکی تخصصی نرم افزار دانشگاه رو براتون گذاشتم.البته لینکش رو هم به صورت دائم در وبلاگ قرار دادم.

حتما مطالعه کنید....

با آرزوی موفقیت برای کادر مسئول نشریه و تمامی دوستان

وبسایت نشریه

دانلود شماره دهم



صفحه قبل 1 2 3 صفحه بعد

درباره وبلاگ

برای توسعه سطح مباحث , ایده ها و مقالات مورد جستجوی خود را به آدرس ایمیل بنده ارسال نمایید....موضوع بعدی مطمئناً بحث در مورد موضوع مورد نظر شما خواهد بود
آخرین مطالب
پيوندها

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





نويسندگان


<-PollName->

<-PollItems->

خبرنامه وب سایت:

برای ثبت نام در خبرنامه ایمیل خود را وارد نمایید




آمار وب سایت:
 

بازدید امروز : 1
بازدید دیروز : 0
بازدید هفته : 2
بازدید ماه : 52
بازدید کل : 53181
تعداد مطالب : 8
تعداد نظرات : 3
تعداد آنلاین : 1