پروتکل 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 توسط دیواره آتش قابل انجام است.