پروتکل TFTP یا Trivial File Transfer Protocol پروتکلی ساده برای انتقال فایل درون شبکه است که این امکان را در اختیار کلاینت قرار میدهد تا فایل موردنظرش را به یک سیستم راه دور ارسال یا از آن دریافت کند.
این پروتکل قدیمی بوده و در سال 1981 میلادی در قالب یک استاندارد ارائه و در سالهای بعد نسخههای تکمیلی به استاندارد افزودهشده است.
از عمدهترین کاربردهای این پروتکل میتوان به انتقال خودکار فایلهای مربوط به تنظیمات یک دستگاه یا فایلهای موردنیاز یک دستگاه برای بوت شدن در یک شبکه محلی اشاره کرد.
TFTP از پروتکل UDP و شماره پورت 69 برای انتقال فایل یا گاهی از TCP و شماره پورت 8099 بهمنظور انتقال اطلاعات مربوط به رابط کاربری استفاده میکند.
هدف از طراحی پروتکل TFTP کوچک بودن و سادگی پیادهسازی آن بوده و بنابراین فاقد بسیاری از ویژگیهایی است که توسط دیگر پروتکلهای انتقال فایل قدرتمند ارائه میگردد.
تنها کاری که TFTP انجام میدهد خواندن یا نوشتن فایلها از یا روی سیستم راه دور است و نمیتواند فایلها یا دایرکتوریها را حذف، تغییر نام یا لیست کند؛ همچنین فاقد قابلیت احراز اصالت کاربران است که بزرگترین نقطهضعف امنیتی آن محسوب میشود.
پروتکل TFTP طبق گزارش مـاهر، بهترین مصداق امنیت از طریق گمنام است و اگر شخصی قصد سوءاستفاده از این سرویس را داشته باشد باید نام فایل موردنظرش را حتماً بداند.
اگرچه این مورد ساده به نظر میرسد ولی با توجه به عدم امکان ارسال درخواست مبنی بر لیست کردن فایلها یا دایرکتوریها در پروتکل TFTP، این گمنامی میتواند زمان نتیجه گرفتن حمله را به تأخیر بیاندازد. با توجه به امنیت بسیار پایین این پروتکل، توصیهشده است که حداکثر در شبکههای محلی به کار گرفته شود.
یکی دیگر از تهدیدهای پراهمیت پروتکل TFTP امکان سوءاستفاده از آن برای انجام حملات DDOS است.
عدم تعیین سایز پیشفرض برای برخی از فیلدهای پرسش و پاسخ پروتکل،Stateless بودن پروتکل و عدم استفاده از روشهای احراز اصالت از مهمترین دلایل پیدایش این حمله است.
برای اجرای حمله، فرد حملهکننده ابتدا اقدام به یافتن سرورهای TFTP مینماید که از طریق شبکه اینترنت قابلدسترسی هستند. پسازآن یک درخواست PRQ TFTP با حداقل سایز ممکن را ارسال نموده که پاسخ آن حداکثر بوده و بهجای قرار دادن آدرس IP خود در فیلد آدرس IP فرستنده، آدرس IP فرد قربانی را قرار میدهد.
درنتیجه پاسخ تولیدی برای فرد قربانی ارسال خواهد شد.
به دلیل اینکه تعداد بایت موجود در پیامی که سرور در پاسخ بازمیگرداند نسبت به تعداد بایت موجود در پرسش ارسالشده از سوی کلاینت قابلتوجه است، حملهکننده میتواند به ضریب تقویت بالایی دست پیدا کند.
به این صورت با بهکارگیری یک شبکه باتنت میتوان حجم بسیار زیادی ترافیک بهسوی فرد قربانی هدایت نمود. درنتیجه یک سرویسدهنده TFTP که پیکربندی صحیحی ندارد میتواند بهطور ناخواسته در حمله DDoS مورد سوءاستفاده قرار گیرد.
اگر تمام شرایط موردنظر بهدرستی وجود داشته باشد، با استفاده از این حمله، ترافیک خروجی میتواند به میزان 60 برابر ترافیک اولیه نیز برسد.
بررسیها نشان میدهد بسیاری از نرمافزارهای TFTP بهطور خودکار ترافیک خروجی در حدود 6 برابر ترافیک ورودی تولید میکنند.
برای امن سازی تجهیزات در برابر سوءاستفاده از این آسیبپذیری، موارد زیر باید اعمال شوند:
بایستی در صورت عدم نیاز به TFTP، این سرویس غیرفعال گردد.
بایستی در صورت نیاز به TFTP، تنها در شبکه محلی قابلدسترسی باشد. در صورت نیاز به دسترسی به این سرویس از طریق شبکه اینترنت، بایستی ترافیک واردشده از بیرون شبکه به این سرویس و همچنین ترافیک خروجی از آن از داخل شبکه به بیرون کنترل شود.
این کار با کنترل کردن ترافیک UDP/69 توسط دیواره آتش قابل انجام است