90/7/5
8:44 ص
نگاهی به آناتومی یک ایمیل - بخش اول
زمان اش رسیده تا کمی عمیق تر نگاه کنیم. به عنوان یک استاد بزرگ بد نیست بدانیم در پشت صحنه چه اتفاقاتی رخ می دهد. پس کاپوت ماشین را بالا می زنیم و کمی به پیچ و مهره ها نگاه می کنیم. شاید این درس و قسمت بعدی اش کمی سخت و پیچیده به نظر برسد. اما نگران نباشید. اینجا که کلاس درس مدرسه نیست. بنابراین نباید همه چیز را حفظ کنید. هدف این است که کلیاتی را در مورد آناتومی یک ایمیل بلد باشید و به شما قول میدهیم هر چقدر آنها را با دقت بیشتری بخوانید در نهایت بیشتر به کارتان می آید.
هدف ما در این دو درس کالبد شناسی و شناخت کامل اجزای یک ایمیل است. تا هرگاه نقصی (هرچند کوچک) یافتید، بتوانید ایمیل های خرابکارانه را شناسایی و حذف کنید. درست مانند یک پزشک که با شناخت کامل آناتومی شما، هنگام بیماری به درمان می پردازد.
یک ایمیل چگونه ارسال می شود
همه شما با سیستم ارسال نامه های معمولی آشنا هستید. نامه را نوشته و در پاکت می گذارید. بعد از چسباندن تمبر آن را در صندوق پست می اندازید. (خیس کردن تمبر با زبان هم یکی از لذت بخش ترین قسمت های ارسال نامه هست) پستچی نامه شما را به اداره پست می برد. از آنجا نامه به مرکز توزیع مراسلات می رود و پس از تقسیم بندی، نامه ها را به صورت زمینی، هوایی یا دریایی، به نزدیک ترین مرکز توزیع نسبت به آدرس گیرنده می برند. حال نامه تحویل اداره پست محلی می شود و توسط پستچی به دست گیرنده می رسد. جالب اینجاست که به شکل شگفت انگیزی سرگذشت یک ایمیل هم بسیار به این داستان شبیه است.
هنگامی که شما دکمه Send را برای ارسال ایمیلی می زنید، کامپیوتر شما با ماشینی که آن را mail host می نامند تماس می گیرد و معمولا با استفاده ازپروتکل SMTP (پروتکل ارسال نامه آسان - Simple Mail Transfer Protocol) ایمیل را ارسال می کند. این کامپیوتر ممکن است متعلق به شرکت سرویس دهنده اینترنت شما، یا سرور دانشگاه، مدرسه و اداره شما باشد. حال این mail host با سیستم mail host سرور گیرنده ایمیل تماس گرفته و با استفاده از SMTP نامه را برای آن ماشین ارسال می کند. این دو ماشین سرور ایمیل همانند همان ادارات پست محلی در مثال قبلی هستند.
و سرانجام پیام شما بر روی آدرس دامنه گیرنده، به دست یک سرور ویژه با نام MDA (مامور تحویل نامه یا mail delivery agent) می رسد (مثل پستچی محله خودمان) و تا زمانی که گیرنده وارد اکانت ایمیل اش نشده، در آنجا نگهداری می شود. به محض اینکه گیرنده وارد اکانت اش شد، پیام توسط پروتکل POP3 (پروتکل اداره پست یا Post Office Protocol) و یا پروتکل IMAP (پروتکل دسترسی به پیام اینترنتی یا Internet message access protocol) به اینباکس گیرنده منتقل می گردد.
بررسی محتوای یک پیام ایمیلی
حال که شیوه ارسال و دریافت ایمیل ها را شناختیم، بهتر است به بررسی دقیق تر محتوای یک ایمیل بپردازیم. برای اینکه محتوای تمام و کمال یک پیام را ببینید، ابتدا یکی از ایمیل های دریافتی در جیمیل تان را باز کنید و آنگاه از منوی باز شونده کنار دکمه Reply گزینه Show original را انتخاب کنید.
چیزی که می بینید، محتوای اصلی یک ایمیل است که طبق «استاندارد اینترنتی برای ترکیب بندی پیام ایمیلی» ساخته شده است.
هدر (Header)
همه ایمیل ها دارای بخش هدر هستند. هدر حاوی اطلاعاتی است که ماشین ها بتوانند منظور هم را فهمیده و پیام ها را رد و بدل کنند. هدر به طور معمول دارای یک سری اطلاعات مشخص است که دیدن آنها هم چندان برای گیرنده ایمیل مطلوب نیست. بنابراین برنامه های مدیریت ایمیل و سرویس های ایمیل معمولا به جز موارد پرکاربردی مانند from ،to ،date subject و cc، بقیه بخش های هدر را مخفی کرده و به شما نشان نمی دهند. اما این مهم ترین بخش ایمیل است.
حال بگذارید قسمت های مهم هدر را بررسی کرده و جلو برویم. توجه کنید که ترتیب این موارد بسته به سرویس دهنده ایمیل شما ممکن است متفاوت باشد.
بخش مقدماتی و پایه
فیلد Return-path یک فیلد اختیاری در هدر ایمیل است و ممکن است برخی سرورها آن را ایجاد و ثبت نکنند. این بخش به شکل نسبتا منصفانه ای قابل اطمینان بوده و اغلب اوقات آدرس اصلی کسی که ایمیل را ایجاد و ارسال کرده را نشان می دهد.
فیلد return-path را قابل اطمینان می دانیم، زیرا این فیلد دقیقا توسط اولین مامور نامه (mail agent) که پیام را از فرستنده دریافت کرده ساخته می شود. همچنین نشان دهنده آدرسی است که mail host به این پیام، هنگام تایید سندیت آن اختصاص داده است. البته این فیلد کاملا اعتماد برانگیز نیست و می توان آن را در برخی موارد به بازی گرفت و تغییر داد.
فیلد From: (توجه داشته باشید با دو نقطه) که در نمایش فرمت اوریجینال ایمیل می توانیم ببینم، معمولا غیر قابل اعتماد بوده و نشانه خوبی برای آدرس اصلی فرستنده نیست. توجه داشته باشید اگر احتمال دادید که با یک ایمیل جعلی سروکار دارید. به هیچ وجه به فیلد From اطمینان نکنید. و حتی Return-path هم قابل جعل کردن است و چندان مطمئن نیست. بله ممکن است شما به ظاهر یک ایمیل از دوستتان دریافت کنید اما در واقع فرد دیگری آن را ارسال کرده باشد. بنابراین در موارد مشکوک بررسی هدر ایمیل به شما اطلاعات زیادی نشان می دهد.
اطلاعات مسیر یابی (Routing)
خط هایی که با Recevied شروع می شوند، نحوه مسیریابی پیام را شرح می دهند. این مسیری است که ایمیل از یک mail host به mail host دیگر می پیماید تا از فرستنده به گیرنده برسد. هر لاین Received نشان دهنده یک تبادل اطلاعات بین دو ماشین (با استفاده از SMTP) است.
هر لاین Received که بالاتر قرار گرفته، به زمان حال نزدیک تر بوده و دیرتر اتفاق افتاده است. هر هاست تازه ای که میزبان پیام در حال سفر باشد، یک لاین اطلاعات مسیریابی در بالای ایمیل ایجاد می کند.
بسته به سرورهای مورد استفاده فرستنده و گیرنده این مراحل می تواند از این هم طولانی تر باشد. اما نکته مهم این است که زنجیره فیلدهای Received هیچگاه نباید گسسته و پاره شده باشد. یعنی چیزی شبیه مثال زیر:
Received: از هاست شماره سه به هاست گیرنده
Received: از هاست شماره دو به هاست شماره سه
Received: از هاست شماره یک به هاست شماره دو
Received: از فرستنده به هاست شماره یک
همانطور که می بینید، با دنبال کردن لاین های Received از پایین به بالا، می توانید فرایند جابجایی یک پیام از ماشین فرستنده تا گیرنده را دنبال کنید. در واقع پایین ترین خط Recived یک آی پی را نشان می دهد که در صورتی که آن را جستجو کنید ممکن است فرد ارسال کننده را پیدا کنید. در حقیقت با این آی پی ممکن است بتواند فرستنده نامه را شناسایی کرد. برای مثال اگر شما با سرویس ایمیل یاهو یا هات میل ایمیلی را ارسال کنید آی پی کامپیوتر شما در اینجا ثبت می شود و بنابراین گیرنده با بررسی هدر نامه می تواند اطلاعات جالبی در مورد فرستنده پیدا کند. اما اگر از جیمیل برای ارسال نامه استفاده کنید گوگل آی پی کامپیوتر شما را در هدر قرار نمی دهد و خط Receive از آی پی سرور جیمیل شروع می شود. بنابراین احتمال شناسایی آی پی فرستنده توسط گیرنده وجود ندارد.
حالا اجازه دهید تا نگاهی دقیق تر به یکی از لاین های Received داشته باشیم و برخی از عبارات نامفهوم آن را رمزگشایی کنیم:
موردی را که در اینجا بررسی می کنیم، دست به دست شدن داخلی پیام، درون شبکه ی یک شرکت است. به زبان ساده می توان بخش های Received را اینگونه نشان داد:
Received: from [نام هاست فرستنده] [ آدرس هاست فرستنده]
by [نام هاست گیرنده]
[نرم افزار یا تکنولوژی مورد استفاده]
with [پروتکل ارسال] [آی دی پیام]
for [آدرس گیرنده]; [تاریخ] [ساعت] [منطقه زمانی]
و حالا جزئیات
این فیلد هویت هاستی (کامپیوتری) که پیام را فرستاده است مشخص می نماید. به طور معمول، حداقل باید نام یا آی دی نمایش داده شود. این نامی است که کامپیوتر فرستنده خودش را هنگام امضای پیام ارسالی با آن معرفی می کند.
نام کامپیوتر فرستنده به خودی خود به هیچ وجه قابل اطمینان یا امن نیست. زیرا:
1- هاست ارسال کننده ایمیل می تواند هر مقداری را برای نام تخصیص دهد. به طوری که این نام حتی می تواند آدرس یا نام هاست غیر معتبری باشد.
2- SMTP هیچگاه هاست ارسال کننده نام را برای تایید هویت چک نمی کند و نیازی به آن ندارد.
البته برخی هاست های دریافت کننده پیام آدرس های آی پی هاست فرستنده را جدا از نام آن، ذخیره می کنند. این آی پی را می توانید در لاین Received هاست بالاتر ببینید.
آدرس آی پی هاست فرستنده قابل اطمینان است. زیرا ارسال این آی پی از طریق سوکت انتقال امنی بین دو هاست انجام می شود و توسط فرستنده به راحتی قابل تغییر نیست.
اگر در عکس بالاتر دقت کنید، می بینید که هاست mx.google.com آی پی را به دقت ثبت کرده است. زیرا دریافت از یک سرور خارج از دامنه اش بوده و باید به خوبی آن را بشناسد و کنترل کند.
یکی از تست های ساده می تواند استفاده از برخی برنامه و یا سایت ها برای تبدیل نام هاست و آدرس IP آن به یکدیگر باشد. اگر نام هاست پس از تبدیل به آی پی، با آی پی ثبت شده همخوانی و قرابت نداشته باشد، به احتمال خیلی زیاد با یک ایمیل جعلی روبرو هستید.
این فیلد نشان می دهد که کدام سرور دریافت پیام را انجام داده است. البته نیازی به نمایش آدرس در این قسمت وجود ندارد. اما این هاست هنگام انتقال پیام به هاست بعدی در خط بالاتر، باید از همین نام استفاده کند تا زنجیره mail host ها سالم باقی بماند. این مورد یکی از موارد کاملا مشخص تقلب و دردسرسازی هاست است که به راحتی قابل شناسایی است. در صورت پارگی در زنجیره اطلاعات مسیر یابی به احتمال فراوان با یک ایمیل تقلبی طرف هستید.
این فیلد نشان دهنده پروتکل ارسال ایمیل و ID یا شماره شناسایی است که سرور دریافت کننده پیام، بر روی آن الصاق کرده است. این آی دی در حقیقت برای تشخیص و جدا کردن پیام ها از هم به کار می رود. البته ممکن است یک ایمیل دو آی دی داشته باشد. یکی از اینها متعلق به سروری است که ایمیل را ارسال کرده است و دیگری متعلق به هاستی است که ایمیل را دریافت می کند.
در یکی از شیوه های ارسال اسپم که هکر پیام را از راه سیستم ایمیل عادی ارسال نمی کند، ممکن است این آی دی مفقود شده یا جعل شود. در این حالت مدیر سرور گیرنده هیچ رکوردی از این پیام را در لاگ ایمیل های دریافتی نخواهد داشت.
تقریبا تمامی انتقال ایمیل هایی که از طریق اینترنت انجام می شوند از پروتکل SMTP یا ESMTP استفاده می کنند. البته در صورتی که ایمیل را از طریق سرور درون سازمانی ارسال کنید، ممکن است پروتکل دیگری مورد استفاده قرار گیرد.
در برخی مواقع ممکن است این فیلد را مشاهده نکنید، اما گاها در اولین لاین RECEIVED که ساخته می شود، قابل مشاهده است. این فیلد نشان دهنده آدرس گیرنده نهایی ایمیل است. البته توجه داشته باشید که فیلد for و To: را با یکدیگر اشتباه نگیرید. ولی هنگامی اطلاعات این دو فیلد یکسان باشند، احتمال اینکه با یک پیام صحیح و درست طرف باشیم زیاد است. هرچند که متاسفانه بسیاری از هاست های ارسال ایمیل، این اطلاعات را در هدر ثبت نمی کنند. این فیلد در صورتی صحیح و قابل استناد است که حتما با ; به پایان رسیده باشد.
این فیلد هم به سادگی زمان، تاریخ و منطقه زمانی تحویل پیام به هاست دریافت کننده پیام را نشان می دهد. توجه داشته باشید که این زمان بر اساس ساعت داخلی کامپیوتر هاست ساخته می شود و ممکن است اشتباه هم باشد.
کنترل منطقه زمانی درج شده در این قسمت ممکن است به شناخت ایمیل های جعلی و اسپم کمک می کند. مثلا وقتی منطقه زمانی جایی وسط آبهای اقیانوس را نشان دهد، احتمالا با یک هدر جعلی روبرو هستیم.
تا اینجا با اطلاعات بخش های ناپیدای هدر آشنا شدید. در درس بعد به اطلاعات بخش پیدای هدر پرداخته و با شیوه های شناخت هدرهای جعلی و شکار اسپم آشنا می شوید.
مطالب کامپیوتری دارم. از همه وبلاگ ها هم دیدبانی میکنم.در میهن بلاگ هم با همین اسم یک وبلاگ دارم