مهندسان امنیت، برای تحلیل ضعف های یک سیستم از مفهوم مدل های تهدید[1] استفاده میکنند. این یک واژه تاثیرگذار است که در واقع مفهوم “بدترین اتفاق هایی که ممکن است بیفتد و چگونگی آن را” مطرح میکند. این مفهوم در مورد امضای دیجیتال هم صادق است و با عنوان تهدیدات امضای دیجیتال مطرح میشود.
یک مدل تهدید، بخش هایی از سیستم را که منابع کلیدی ( ظرف های عسل[2]) سیستم هستند و برای حمله کنندههای (امنیتی) میتوانند جذاب باشد شناسایی میکند. دقت کنید که به آنها ظرف(های) عسل میگویند زیرا ممکن است بیش از یک عدد باشند!
واژه دیگری که از زبان مهندسان امنیت میشنوید ” رویه یا سطح حمله[3]” است و آن همان رابطی است که حمله کننده، ابتدا به ساکن و پیش از وقوع هر اتفاقی آن را میبیند.
خبر خوب این است که برای سرویسهای امضای غیرحضوری، مدل تهدید بسیار شفاف و مشخص ، و سطح تهدید کوچک است. در واقع، کل بک اند[4] این سیستم ها آنچنان مورد ممیزی، نظارت، بررسی و تایید قرار خواهد گرفت که هیچ حمله کننده عاقلی به سمتش نمیرود. این به معنای کاملاً آسیب ناپذیر بودن نیست ، بلکه از آن جهت است که حمله کنندههای هوشمند همیشه ابتدا سراغ نقطه ضعف ها میروند.
پس کاملاً واضح است که سطح حمله و آسیب پذیری های اصلی در فرانت اند قرار دارند، که شامل فرایندهایی میشوند که کاربر به صورت مستقیم با آنها بر روی گوشی تلفن همراه، تبلت یا کامپیوترش در تعامل است و ظرف عسل همانا دستکاری کردن کلید حصوصی کاربر است!
کلید خصوصی، یک کلید مخفی امن
دوباره، خبر خوب ! مدل تهدید، ربودن کلید نیست، هرچند کسانی هستند که این کار را بکنند ولی:
- این کار عملا با استقرار سخت افزار ضد دستبرد HSM[5] ناممکن است.
- و البته نیازی به ربودن کلید نیست چون هدف اصلی حمله برای استفاده از آن است!
برای امضای دیجیتال آنلاین، کلیدها در ماژول امنیتی سخت افزار (HSM) نگهداری میشوند. این سخت افزار مورد نظارت، ممیزی، بررسی، تست و تایید قرار گرفته تا اطمینان حاصل شود که کلیدها هرگز برای هیچکس و هیچ چیز (به جز خود سخت افزار) آشکار نمیشوند. این تهدیدات امضای دیجیتال را تا حدود زیادی کاهش میدهد.
ولی به خاطر داشته باشید که امنیت، آزاردهنده است! “الف” در آزاردهنده مربوط به “احراز هویت” است که قسمت سخت ماجراست! این اولین قسمتی است که هربار پیش از سایر بخش ها مورد حمله واقع میشود. اگر کسی بتواند به روشی به سیستم حقه بزند و احراز هویت را به دست بگیرد، برنده شده است.
بهترین سیستم هایی که گواهی قانونی (وضعیت واجد شرایط) را دارند، حایز سطح بالاتری از استاندارد هستند، زیرا:
- نه تنها HSM از کلیدها محافظت میکند، بلکه محافظ کدهایی که از کلیدها استفاده میکنند نیز هست. یک حمله کننده شانس دستکاری در کدی که از کلیدها استفاده میکند را ندارد. این مفهوم را ماژول فعالسازی امضا (SAM[6]) مینامند که قواعد بازی را کاملا تغییر میدهد اما اصلاً ارزان قیمت نیست!
- بهترین سیستمها از سخت افزار احراز هویت تأیید شده در سطح امضا کننده نیز بهره میبرند. احتمالاً قبلاً هم این توکن های سخت افزاری کوچک را مانند آنچه در شکل 5-3 آمده است دیده اید.
تصویر 5-3 : توکن سخت افزاری احراز هویت
این توکن ها از کلیدها محافظت نمیکنند، ولی در عوض از هر سشن[7] منحصر به فرد امضا زدن محافظت به عمل میآورند. عملکرد آنها بدینصورت است که یک عدد تصادفی تولید میکنند که تنها بک اند از آن اطلاع دارد ، این همان کد SAM است که بر روی HSM اجرا میشود و وظیفه امنیت یک سشن را به صورت end-to-end بر عهده دارد.
پس وقتی سخن از حفاظت کانال به میان می آید، منظور کانالی است که به صورت end-to-end رمزگذاری شده، اعتبار سنجی شده، تمامیت آن بررسی شده و با سخت افزاری که آن هم به صورت کامل بر اساس بالاترین استانداردها تست و تایید شده حافظت میشود. با اطمینان میتوان گفت که سیستمهای تجاری کمی هستند که با داشتن حجم وسیعی از مشتری، تجربه امن تری در اختیار قرار دهند.
عامل انسانی
تنها چیزی که باقی می ماند اثر عامل انسانی است. آنچه این فناوری انجام میدهد، دور کردن مرزهای آسیب پذیری تا جای ممکن و بردن آن به سمت رابط کامپیوتری- انسانی است.
توکن یا کارت هوشمند[8]؟
اگر رد پای صفر، تنها چیزی است که برایمان اهمیت دارد، و کارت های هوشمند در عمل کارایی ندارند، پس چرا یک سخت افزار را جایگزین سخت افزار دیگر می کنیم؟
دلیل آن ساده است؛ نگهداری و مدیریت کلید در این سیستم، به مراتب آسان تر است. اگر کارت هوشمند یک کاربر گم شود، باید یک کارت جدید تهیه کند، که به معنای تولید کلیدهای جدید بر روی کارت، تایید آن کلیدها و ابطال کلیدهای قبلی است. همچنین، هرگونه تعاملی با سامانه مدیریت کلیدها باید مورد ممیزی و مدیریت دقیق قرار گیرد.
در مقابل، اگر یک توکن احراز هویت ( مانند آنچه در تصویر 3-5 آمده است) مفقود شود، یک توکن جدید تولید و قبلی باطل میشود ، ولی نیاز به تولید کلیدهای جدید و صدور گواهی برای آنها نیست. به بیان دیگر، به دلیل مستقل بودن امضا کردن از احراز هویت، این امر بسیار ساده تر انجام میشود.
و به یاد داشتته باشیم که سازمان شما هم اکنون نیز ممکن است در حال استفاده از توکن های احراز هویت برای امن سازی دسترسی به حساب های کاربری آنلاین باشد. این مسئله تهدیدات امضای دیجیتال را نیز شامل میشود.
نمود عامل انسانی:
سرویس امضای غیرحضوری:
- صد در صد توسط سرپرستان قابل اعتماد بر اساس بهترین الگوها[9] ی مدیریت امنیت سطح بالا کنترل میشود. بدین معنا که:
- تفکیک وظایف: شرح شفاف عملکرد با وظایفی که همپوشانی ندارند.
- کنترل مضاعف : برای هر تغییر وضعیتی در سیتم، حداقل دو سرپرست باید با هم فعالیت کنند.
- احراز دو عامل قدرتمند: بک توکن و یک رمز عبور
ارائه دهنده خدمات اعتبار : منظور همان متصدی گواهی نامه است و اعتبار نیز در فرایندی که سیستم امضای دیجیتال تاییدیه دریافت میکند. این مسئله در مقررات eiDAS به خوبی تبیین شده و به صورت مجزا قابل ممیزی است.
کاربر : کاربر از تهدیدهای رایجی که متوجه اپلیکیشنهاست از قبیل ویروس های معمول، کی لاگرها[10] و تروجان[11] ها حفاظت میشود. این حملات نباید هیچگونه اطلاعات مفیدی از یک تراکنش امضای دیجیتال که کاربر قصد انجام آن را دارد، دریافت کنند. اینها بهترین سیستم هاییاند که در مقابل ریپلی اتک[12] ها حفاظت به عمل میآورند. با این حال دو تا از بدترین تهدیداتی که هنوز تا حدی در برابر کاربر قدرت دارند عبارتند از:
شما ممکن است تصادفاً گزارش هایی را که در باره ربوده شدن گواهی های دیجیتال منتشر شده است دیده باشید. صحبت کردن درباره آنها به گونه ای که گویا آنها یک منبع ثابت قابل ربودن هستند بسیار گمراه کننده است و نمیتواند اتفاقی را که عملاً افتاده و راه حل مقابله با آن را شفاف سازد.
حمله به یک مرجع صدور گواهی ( یا هر سازمانی که خدمات امنیت ارائه میدهد) در واقع یک حمله به فرایند است و نه دست یابی به منابع استاتیک. تفاوت این دو به هیچ وجه پیچیده نیست. وقتی یک فرایند مورد حمله قرار میگیرد، همیشه انسان ها دخیلند، در صورتی که دزدی دیجیتال میتواند ماشینی باشد. این هم بخشی از تهدیدات امضای دیجیتال است.
مهندسی اجتماعی مستقیم
شما حتماً با تکنیک تله گذاری (فیشینگ[16]) و حتی پسرعموی بد ذاتش، تله گذاری هدفدار ( اسپیر-فیشینگ[17] ) آشنا هستید. حتی ممکن است آن را تجربه کرده باشید. یک سیستم امضای دیجیتال واجد شرایط، باید در برابر این حملات عمومی محافظت داشته باشد، زیرا توکن های تولید کننده اعداد تصادفی منجر به منحصر به فرد بودن هر سشن میشوند که به معنای آن است که حمله کننده نمیتواند کنترل زیادی به دست آورد.
همین مسئله مرزهای حملات را یک پله به عقب میراند: که همانا حمله مهندسی اجتماعی مستقیم است. این حمله میتواند اشکال گوناگونی از قبیل یک تماس تلفنی مستقیم به شخصی که در میانه سشن امضاست داشته باشد.
تماس گیرنده با فریبکاری اعتماد فرد امضا کننده را کسب می کند ، مثلا با نمایش اینکه از جانب ارائه دهنده سرویس تماس میگیرد و در حال تست سیستم است. در این شرایط، تماس گیرنده اطلاعات قربانی خود را در جریان یک تراکنش واقعی ( و جعل شده) با اطمینان دادن از اینکه تنها در حال انجام تست است دریافت میکند.
روش مقابله با این تهدید چیست؟ تا حد امکان، مشتریان خود را آموزش دهید، و آنها را از اینکه کنترل سشن خود را با قطع تماس یا سوال پرسیدن، از دست ندهند، مطلع سازید . آنها باید آگاه شوند که به هیچ وجه و با هیچ ترفندی نباید از مسیر خود در جریان سشن منحرف شوند.
رابط کاربری خود را به گونه ای طراحی کنید که کاربر نیاز به عجله نداشته باشد، و به مشتریان خود یادآور شوید که از پاسخگویی به تماس تلفنی در حین امضا کردن خودداری کنند.
حمله مرد میانی
به جز فرایند اجرای کد امن که در سخت افزار مورد تایید HSM انجام می شود، هیچکس نمیتواند به هیچ فرایند کامپیوتری در هیچ کجا اعتماد کند. زیرا دستکاری عملا کار ساده ای است. آژانس ملی امنیت دارای شواهدی از شاهکارهایی از این دست است که در زمان مقتضی میتواند آن را برملا کند؛ به عنوان مثال باج افزارها را در نظر بگیرید که به موضوعی کاملاً آشنا بدل شدهاند.
در حوزه امضای دیجیتال آنلاین، به این مسئله تحت عنوان مرد میانی پرداخته میشود، که شامل فرآیندی روی دستگاه شماست که آنچه در مرورگر اتفاق میافتد را تحت کنترل دارد.
روش رویارویی؟ همان چیزی است که رمزنگار بروس شیندلر[19] آن را “دفاع در عمق[20]” مینامد، که یک رویکرد تقویت شده[21] شامل موانع سد کننده مستقل در برابر هر حمله کننده است. احتمالاً مشخص ترین نوع آن وابستگی چند کاناله[22] است. برای توضیح آن تصور کنید اگر موارد مستقلی را که یک حمله گر برای موفقیت باید پشت سر بگذارد دو یا بیشتر باشد، کار او حداقل دوبرابر سخت تر خواهد شد.
مفهوم WYSIWYS که توسط کریپتومتیک[23] توسعه داده شده، دقیقاً همین کار را انجام میدهد. به این معنا که اطمینان حاصل میکند که برای تکمیل یک تراکنش امضای دیجیتال، چند کانال مستقل باید همزمان فعال باشند.
[1] Threat Models
[2] Honey Pots
[3] Attack Surface
[4] Backend
[5] HSM: Hardware Security Module
[6] SAM: Signature Activation Module
[7] Session
[8] Smart Card
[9] Best Practice
[10] Keyloggers
[11] Trojans
[12] Replay Attack
[13] Direct Social Engineering
[14] Man-in-the browser Attack
[15] Direct Social Engineering
[16] Phishing: رمزگیری یا فیشینگ یا تلهگذاری، به تلاش برای به دست آوردن اطلاعاتی مانند نام کاربری، گذرواژه، اطلاعات حساب بانکی و مانند آنها از طریق جعل یک وبگاه، آدرس ایمیل و مانند آنها گفته میشود
[17] Spear phishing: در این روش که نوعی از حمله فیشینگ است بر روی یک شخص یا دپارتمان داخل یک سازمان تمرکز دارد و توسط شخصی در داخل سازمان که در جایگاه مورد اعتماد قرار دارد انجام میشود.
[18] Man in-the-browser Attack
[19] Bruce Schindler
[20] Defense-in-depth
[21] Layered Approach
[22] Multi-channel dependency
[23] Cryptomathic
ترجمه و تالیف: فروغ مروّج صالحی