ربات های تلگرام طی فرایندهای هوشمندانهای اقدام به ذخیرهسازی اطلاعات شخصی کاربران میکنند. در ادامه با خطرات امنیتی و همچنین نحوه ساخت یک ربات بیشتر آشنا خواهید شد.
- توجه داشته باشید هدف از این متن توهین به هیچ شخص خاصی نخواهد بود و هر جا اسم از ربات شخصی برده میشود، فقط صحبت از احتمال خطر است.
در سالهای اخیر، تلگرام به وسیله ارتباطی اصلی ما ایرانیها تبدیل شده و در کنار سرعت بالا و امنیت، با امکانات نوآورانه خود موجب سرگرمی ما ایرانیان شده است؛ اما در کنار همه این خوبیها خطراتی هم برای ما به ارمغان آورده که در ادامه آنها را بررسی خواهیم کرد.
ربات های تلگرام میتوانند بسیار خطرناک باشند زیرا در واقع برنامههای شخص ثالث هستند. به عبارت سادهتر تلگرام تنها نقش پوسته و رابط کاربری رباتها را بازی میکند و درونمایه و ساختار داخلی آنها در اختیار شخص سازنده است. برای درک بهتر موضوع به تصویر زیر دقت کنید:
این یک چرخه سالم داده در یک ربات تلگرام است. دادهها از سمت شما ارسال شده و در یک سرور با اهداف مثبت و با امنیت بالا پردازش میشود. حالا این سرور میتواند متعلق به یک شخص یا یک شرکت باشد ولی نکته مهم این است که اطلاعات شما در جایی ذخیره نمیشود مگر اینکه لازم باشد. حالا به تصویر دوم دقت کنید:
در این تصویر میبینید که پیام از شما به ربات ارسال میشود، سپس ربات پیامهای شما را دستهبندی و پالایش کرده و تعدادی از آنها را که حاوی اطلاعات تماس شما هستند برای بخش تبلیغات ارسال میکند. این کمخطرترین بخش ماجراست. سپس ربات های تلگرام شما را ترغیب به عضویت و دعوت دوستان به بستر ناامن خودش میکند و طی فرایندهای هوشمندانهای اقدام به ذخیرهسازی اطلاعات شخصی و محرمانه شما خواهد کرد. به عنوان مثال بیایید فرض کنیم که ربات مورد نظر ما، یکی از این ربات های جاسوس تلگرام باشد. کار این ربات بدین شکل است که پیام شما را بدون اسم به شخصی ارسال کند. این پیام وسوسهکننده باعث میشود این ربات با پنج میلیون کاربر به یک دیتابیس از محرمانهترین حرفهای مردم تبدیل شود. به عقیده من خیلی راحت میشود این موضوع را چک کرد؛ چرا که پیام شما بدون درنگ به شخص ارسال نمیشود و شخص باید یک فرمان را اجرا کند تا پیامها به او ارسال شود.
در واقع ارسال یک کوئری به دیتابیس ربات! چیزی شبیه این:
Select message from inbox_tb where id=”your id
پیامها را نمایش بده زمانی که شماره کاربری برابر شماره کاربری شما بود. البته کد پایین به نظر محتملتر است:
Select message from inbox_tb where id=”your name” and userdeleted=”no
اما چرا اینطور فکر میکنم؟ چون یک فرمان دیگر وجود دارد که پیامهای شما را پاک خواهد کرد.
ولی یک هکر میتواند با تعریف یک ستون دیگر در جدول، پیامهای شما را پاک کند. به این شکل که به صورت پیشفرض در ستون userdeleted کلمه no وجود داشته باشد و زمانی که شما فرمان Delete را ارسال میکنید برای تمام پیامهای شما در ستون userdeleted عبارت yes را جایگزین کند.
بیایید عبارت بالا را ترجمه کنیم؛ پیامهایی را برای نمایش دادن انتخاب کن که متعلق به ID شخص باشند و فیلد userdeleted آنها no باشد. با این عبارت دو شرطی با وجود باقیماندهی دادههایتان، چیزی به شما نمایش داده نمیشود مگر پیامهایی که بعد از اجرای فرمان Delete ارسال کردید.
حالا از این بحث خارج میشویم و به نکات فنیتر میپردازیم. در ابتدا شما را دعوت میکنیم تا به چند نکته توجه داشته باشید:
امنیت و رمزگذاری دادهها در این نرم افزار پیام رسان، چیزی مستقل از امنیت دادههای شما در ربات های تلگرام است و اگر شخصی سعی کند این ایمنی را به ربات خودش بسط بدهد و این دو را یکی بداند، قطعا قصد فریب شما را دارد.
ربات های تلگرام نمیتوانند به شما چیزی ارسال کنند و شروعکننده یک گفتگو باشند؛ اما شما با ارسال حتی یک حرف یا استارت ربات باعث ایجاد یک گفتگو و تولید یک کد یکتا میشوید که ربات با ذخیره کردن آن میتواند هر وقت بخواهد به شما پیام ارسال کند. تلگرام امکان کنترل عملکرد رباتها را ندارد چون کد روی سرور تلگرام نیست پس توجه داشته باشد که هر نوع ادعایی در این رابطه، نشانهای از دروغ و کلاهبرداری است.
اگر مشاهده کردید که ربات، شما را به یاد آورد اطمینان داشته باشید که حتما اطلاعات شما در جایی ذخیره شده است؛ البته نام، نام خانوادگی، یوزر شما و عکس پروفایل شامل این موضوع نمیشود، زیرا آنها با ارسال هر پیامی از سمت شما مانند هر کاربر دیگری در اختیار ربات هم قرار می گیرد. اکنون به سراغ بررسی فنیتر داستان میرویم:
برنامه نویسی ربات های تلگرام
برای این کار شروع میکنیم به نوشتن یک ربات ساده:
- اولین قدم ارسال دستور newbot/ به رباتِ botFather یا استفاده از https://my.telegram.org/auth
اما چه چیزی جالبتر از ساخت یک ربات به کمک ربات دیگر! پس از ساخت اسم ربات و یوزر آن، یک توکن به شما داده میشود که کلید اتصالتان به تلگرام است؛ پس در حفظ و نگهداری آن کوشا باشید. حالا دو راه برای دریافت اطلاعات از ربات دارید: استفاده از متد یعنی ایجاد یک چرخه که به صورت مرتب آپدیت کنیم که این روش اصلا بهینه به نظر نمیرسد و راه دوم استفاده از پدیده دوستداشتنی وب هوک. اگر بخواهیم به شکل سادهتر توضیح بدهیم، در این روش شما نیستید که به تلگرام سرکشی میکنید. تلگرام در زمانی که اتفاقی مرتبط با ربات شما پیش بیاید، اطلاعات آن رویداد را به آدرسی که شما معرفی کردید ارسال میکند و هیچ بار اضافهای به سرور شما وارد نمیشود.
حالا زمان انتخاب یک زبان برنامهنویسی میرسد که انتخاب من پی اچ پی است؛ چون سادهترین زبان برنامه نویسی است که میشناسم و دردسر تنظیمات را ندارد و کد نویسی آن به قدری ساده است که هر کسی میتواند درکش کند. کافیست یک نوت پد باز کنید و هر جا گیر کردید از گوگل بپرسید.
php?>
$bottoken = “”;//توکن خود را وارد کنید
;website = “https://api.telegram.org/bot”.$bottoken$
;update = file_get_contents(“php://input”)$
;update = json_decode($update, TRUE)$
آی دی فرستنده پیام//;chatId = $update[“message”][“chat”][“id”]$
;message = $update[“message”][“text”]$
if($text == ‘سلام’){
file_get_contents($website.”/sendmessage?chat_id=”.$chatid.”سلام به روی ماهت”);
}
elseif($text == ‘خوبی؟’){
file_get_contents($website.”/sendmessage?chat_id=”.$chatid.”مگه تو دکتری؟”);
}
این دستورات را به سلیقه خود ویرایش کنید سپس با پسوند php در سایت خود در مسیر زیر ذخیره کنید. توجه داشته باشید سایت شما حتما باید ssl داشته باشد تا مورد تایید تلگرام قرار بگیرد.
- /domains/yoursite.com/private_html/
سپس اطلاعات خود را در این آدرس جایگزین کرده و این خط را در مرورگر خود کپی کنید درست مثل زمانی که یک سایت را باز میکنید.
- https://api.telegram.org/bot[yourtoken]/setWebhook?url=https://Yoursite.com/robot.php
اگر پیام زیر به نمایش درآمد شما موفق به ساخت ربات شدهاید.
{“ok”:true,”result”:true,”description”:”Webhook was set”}