مایکروسافت تکنیک رمزگشایی ۱۲۰۰ ساله ابویوسف کندی را برای کرک حملات سایبری و پسورد پایگاه دادهها به کار میبرد
ابویوسف یعقوب بن اسحاق کندی موسوم به ابوالحکما ریاضیدان، منجم و فیلسوف عرب و نخستین حکیم اسلامی است که مستقیماً به آثار حکمای یونانی دسترسی داشته و شخصاً به ترجمه پارهای از آثار ارسطو و تفسیر و بیان آنها پرداخته است. وی در بصره متولد شد و در بغداد پرورش یافت. الکندی به فلسفههای یونانی، ایرانی و هندی آشنا بود و زبان پهلوی را نیز میدانست و در موضوعات مختلف مانند: موسیقی، هندسه، حساب، نجوم، منطق، الهیات و سیاست کتاب و رساله نوشت.
در قرن نوزدهم، بغداد تنها مرکز شورش و اختلافهای غرب و شرق نبود؛ بلکه به عنوان مهد پرورش حکیمانی همچون ابویوسف یعقوب نیز شناخته میشد. عراق برخلاف تصورات دارای مراکز آموزشی و دانشگاههای متعددی مانند بیتالحکمه بود؛ بیتالحکمه مرکز خرد، دانش و تحقیق بود که تا به حال دست نوشتههای بسیاری را از کشورهای متعدد سراسر دنیا جمعآوری کرده است که از جملهی این کشورها میتوان به یونان، ایران و هند اشاره کرد. در گذشته زمانی که برخی از زبانها از بین رفته یا ناشناس باقی مانده یا رمزنگاری میشد، دانشمندهای عرب شروع میکردند تا با توسعهی تکنیکهای خاص، زبان مورد نظر را رمزگشایی کرده و آن را قابل استفاده کنند. همان طور که در کتاب «ریشهی رمزنگاری: مشارکت عربها» نیز اشاره شده، عربها جزء اولین افرادی بودند که نوشتهها را رمزنگاری میکردند؛ فرآیندی که امروزه در دنیای تکنولوژی و امنیت شبکه از آن به عنوان کریپتوگرافی یاد میکنند. الکندی به عنوان فیلسوف بزرگ عربها شناخته میشد و اولین مدیر بخش کتابخانه و آکادمی ترجمهی دانشگاه بیتالحکمه بود. وی همچنین به عنوان یکی از نویسندههای قدیمی نیز شناخته میشود که کتابهای بسیاری را نوشته بود؛ «رمزگشایی پیامهای رمزنگاری شده» یکی از قدیمیترین دستنوشتههای الکندی است. این نسخه اصلیترین منبعی است که در آن به ایدهی مهم رمزنگاری اشاره شده که امروزه در کلاسهای درس نیز شاهد تدریس آن هستیم؛ استفاده از تعداد حروف پرتکرار برای رمزگشایی
دیاگرام الکندی برای رمز گشایی متن
دیاگرام ترجمه شدهی الکندی
دیاگرام الکندی بر اساس استانداردهای امروزی است و در آن بیشترین کاراکتر مورد استفاده شده، برای رمزگشایی به کار میرود. از اینرو ابتدا در نوشتهای که رمزگشایی خواهد شد، تمام کاراکترهایی که بیشترین تکرار را داشتهاند در نظر گرفته میشود؛ سپس بر اساس آنها حدسهایی برای رمزگشایی زده میشود. به طور مثال در زبان انگلیسی حرف E بیشترین تکرار را دارد؛ بنابراین در متن رمزی (به زبان انگلیسی) که A جایگزین E شده، حدس زده میشود که A بیشترین تکرار را خواهد داشت زیرا فرض بر این است که در انگلیسی حرف E بیش از دیگر حروف، تکرار دارد. با استفاده بر حدسهای آگاهانه و اطلاعات در دست، میتوان نوشته را رمزگشایی کرد تا متن اصلی به دست بیاید.
سنی کامارا که حال یکی از محققان امنیتی مایکروسافت است، در دورهی کارشناسی خود در دانشگاه پوردیو با چنین تکنیکهایی سر و کار داشته است. وی بیش از ۱۰ سال و پس از آنکه آموزشهای گستردهای را در مبحث کریپتوگرافی داشته است، در حال کار بر روی یک تکنیک جدید با نام state-of-the-art است که میتواند به عنوان ابزارهای رمزگشایی مورد استفاده قرار گیرد. حال کامارا و محمد نوید از دانشگاه ایلینویس و کارلس رایت از دانشگاه پورتلند که همگی محققان امنیتی هستند، با انتشار گزارشی نشان دادند که چگونه میتوان اطلاعات پزشکی را از پایگاه دادهی بیمارستان که با تکنیکهای بسیار قوی رمزنگاری شدهاند، استخراج کرد.
این محققان امنیتی ابتدا EDB یا پایگاه دادههای رمزنگاری شدهای که قابل جستجو هستند را مورد استفاده قرار دادند؛ در EDB عملیات بر روی اطلاعات رمزنگاری شدهای انجام میشود که نیازی به استفاده از کلید به اشتراک گذاشته شده برای رمزگشایی نیست. در سیستمهای امروزی هر کسی که بخواهد اطلاعات دادههای رمزنگاری شده را آنالیز و بررسی کند، ابتدا باید دادهها را آنلاک کند که در این حالت خطر حملهی سایبری هکرها و سوءاستفاده از اطلاعات به وجود میآید؛ اما این خطرات برای EDBها وجود ندارد؛ زیرا تا زمانی که کلید به اشتراک گذاری وجود ندارد، تقریبا احتمال دسترسی افراد ناشناس یا هکرها به شبکه ناممکن میشود.
تعداد تکنیک تعریف شده برای دستیابی به اینگونه اطلاعات وجود دارد که یکی از جالبترین آنها روشی است که FHE یا رمزنگاری همریختی نام دارد و در آن از رمزگذاری هوموگرافیک استفاده میشود؛ رمزنگاری همریختی نوعی از رمزنگاری است که به وسیله آن می توان بر روی متن رمز، عملیات خاص ریاضی انجام داد و عملیات ریاضی انجام شده عیناً بر روی متن آشکار پیاده میشود. برای مثال یک نفر میتواند دو عدد رمزشده را با هم جمع کند، و رمزگشایی نتیجه، جمع آن دو عدد را نشان خواهد داد. از جمله کاربردهای رمزنگاری همریختی می توان به سیستمهای رای امن و بازیابی اطلاعات مخفی اشاره کرد. در سال ۲۰۰۹ کریگ جنتری که یکی از مهندسان آیبیاِم است، مشکل این رمزنگاری را اعلام کرد و آن هم استفادهی بیش از حد از توان و مصرف باتری کامپیوتر است. هنوز همریختی به عنوان روشی عملی شناخته نشده است.
برای حل این مشکل هم دانشمندان امآیتی در سال ۲۰۱۱ روشی با نام CryptDB را توسعه دادند. CryptDB که مبتنی بر رمزنگاری پایگاه داده است به عنوان یک سامانهی واسط بین DBMS و کاربر شناخته میشود. این سامانه برای تأمین محرمانگی دادهها در برنامههایی که از DBMS استفاده میکنند طراحی شده و در آن پرس و جوها به صورت رمز شده به پایگاه دادهی SQL ارسال میشود.
لایههای مختلف رمزنگاری در CryptDB بر روی دادههای ذخیره شده اعمال میگردد و با توجه به کاربرد موردنیاز، این لایهها ممکن است رمزگشایی شوند. برای رمزگشایی هر لایه از کلید آن لایه و توابع UDF استفاده میشود؛ به این ساختار لایهبندی در CryptDB پیاز اطلاق میشود.
CryptDB طراحی بسیاری از پایگاهدادههای مهم دنیا از جمله Encrypted BigQuery گوگل و سرویسهای پایگاه دادهی SEEED شرکت SAP را به عهده داشته است. اما زمانی که CryptDB توسعه داده شد و لایههای آن ایجاد شدند، برخی اطلاعات به بیرون درز کردند؛ در این شرایط ایدهی الکندی و هکهای کامارا را میتوان با یک مک بوکِ اپل اجرا کرد.
سنی کامارا، محقق امنیتی مایکروسافت
داستان از آنجایی شروع میشود که سنی و همکارش اطلاعات دویست بیمار از بیمارستانهای آمریکا را دانلود میکنند. این اطلاعات در پایگاه دادهی NIS پروژهی هزینهی بهداشت و درمان قرار داشت که در حالت معمولی تنها با پرداخت هزینه میتوان به اطلاعات دست پیدا کرد. سپس آنها به این فکر میکنند که اگر اطلاعات موجود در این پایگاه داده با اطلاعات عمومی که در دسترس همگان است ادغام شود، آیا میتوان با CryptDB آنها را رمزنگاری کرد؟ آنها دو نوع از المانهای حفظ اموال CryptDB را مورد هدف قرار دادند. اولین اقدام حفظ رمزنگاری یا OPE بود که در این مرحله پیامها رمزنگاری میشود؛ اما به طوری که متن رمزنگاری شده اولویت پیامها را نشان میدهد. دومین اقدام رمزگذاری قطعی یا DTE است.
سندی با استفاده از تکنیک ۱۲۰۰ سالهی الکندی توانست اطلاعات رمزنگاری شدهی موجود در ستون DTE که درهم بودند را رمزگشایی کند. سندی و همکارش در برخی اوقات دو دسته از اطلاعات و آمار مهم بیمارستان که یکی مربوط به سال ۲۰۰۴ و دیگری مربوط به سال ۲۰۰۹ بود را مقایسه و بررسی میکردند. این مقایسه به آنها اجازه داد تا بتوانند حدسهایی را برای رمزگشایی متون رمز شده بزنند. درنهایت به نتایج بسیار جالبی دست یافتند؛ آنها پس از رمزگشایی به اطلاعات و دادههای حساس مرگ بیماران مربوط به بیش از ۲۰۰ بیمارستان بزرگ آمریکا را به دست آوردند.
سندی و همکارش به استفاده از تکنیک الکندی خاتمه ندادند. آنها به واسطهی این روش هک دیگری را انجام دادند که درنهایت توانستند به اطلاعات حساس دیگری نیز دست یابند. سندی کامارا در این خصوص گفت:
با استفاده از متود مرتب کردن، میتوان از اطلاعات بر جای ماندهی OPE بهرهمند شد. اگر من به شما یک ستون رمز شدهای را بدهم و فرض کنیم که شما نیز اعدادی از یک تا ۱۰ دارید، تنها چیزی که برای رمزگشایی لازم خواهد بود استفاده از یک ستون و مرتب کردن آن است. استفاده از روشهای گنگ در رمزگشایی اطلاعات بیمارستان طبیعتا زمانبر میشد؛ اما با تکنیک الکندی توانستیم خطر احتمالی برای ۹۰ درصد از بیماران ۲۰۰ بیمارستان بزرگ را کشف کنیم.
این محققان حتی توانستند روش جدیدی از حملات سایبری پیچیده را ایجاد کنند. نتیجهی این حملات نیز مشابه حملات گذشته بود؛ به دست آوردن اطلاعات وسیعی از پایگاه دادهها. هکرهایی که قصد دارند تا این تکنیکها را اکسپلویت کنند ابتدا باید به سروری که چنین پایگاه دادههایی دارد دسترسی پیدا کنند؛ پس از آن باید منتظر بارگذاری کوئریهای پایگاه داده باشند تا بتوانند با موفقیت به لایههای مورد نظر از پایگاه داده دسترسی داشته باشند.
کامارا در خصوص CryptDB گفت:
CryptDB همانند یک گلولهی سحر آمیز است؛ اما چندین حقیقت ناخوشایند در خصوص آن وجود دارد و آن هم اینکه تعادل واقعی ندارد. کسانی که در زمینهی رمزنگاری فعالیت میکنند میدانند که این مشکل غیرقابل تحمل است؛ اما هیچ کس به صراحت نمیتواند نشان دهد که چقدر کمبود در آن وجود دارد.
راس اندرسون یکی از پروفسورهای آزمایشگاه کامپیوتری در دانشگاه کمبریج در خصوص CryptDB گفت:
من عقیده دارم که چنین تکنیکهایی حتی ارزش استفاده را ندارند. خوشبختانه کمتر کسی حاضر به محافظت از اطلاعات خود به واسطهی این روش است. تنها چیزی که در این بین ناراحت کننده به نظر میرسد زحمت محققان امنیتی است که سالهایی را برای ساختن و توسعهی چنین تکنیکهایی سپری کردهاند.
رالوسا پاپ یکی از پایه گذاران CryptDB اعلام کرده که چند قسمت از آن برای نگهداری اطلاعات حساس طراحی نشده است. وی گفت که رمزگذاری OPE نباید برای رمزی کردن اطلاعات حساس و بزرگ مورد استفاده قرار گیرد؛ اگر این مورد رعایت شود هنوز هم میتوان CryptDB را برای محافظت از اطلاعات حساس بکار برد. وی اضافه کرد که اگر CryptDB برای مواردی بکار برده شود که برای آنها طراحی نشده، امکان ریسک و خطر هم به میان خواهد آمد. از اینرو باید همه آگاه شوند که المان OPE از CryptDB را برای هر اطلاعات دلخواه خود به کار نبرند. پاپ علاوه بر این گفت که مدیران شبکه میتوانند اطلاعات مهم و حساس شبکه را مشخص کنند تا CryptDB متوجه شود که آنها را با یک روش قدرتمندتری رمزنگاری کند. بنابراین این مدیران شبکه هستند که باید به خوبی اطلاعات را مدیریت کنند؛ در این حالت CryptDB نیز عملکرد به مراتب خوبی را از خود نشان خواهد داد. با این وجود، رقابت بر سر پیدا کردن روشی است که بتوان به اطلاعات رمزنگاری شده بدون کلید رمزنگاری دست یافت. پاپ در این خصوص هم اضافه کرد که همه روز به روز به سیستمهای همریختی یا هوموگرافیک نزدیک میشوند، اما هنوز برای دستیابی به روش پیادهسازی این سیستمها زود است. از آنجایی که فشار اقتصادی نیز زیاد است، بنابراین پیشبینی زمان دقیق برای فراهم کردن چنین سیستمهایی دشوار خواهد بود. کامارا و دیگر همکارانش که از تکنیکهای به خصوصی برای دستیابی به اطلاعات استفاده میکنند، باید به جای نگران کردن مردم، خیال آنها را از بابت حملات سایبری آسوده کنند. مایکروسافت مطمئنا با بکار گیری محققان امنیتی همچون کامارا و تکنیک الکندی میتواند اطلاعات حساس بیشتری را رمزنگاری کند.
همان طوری که گفته شد، تکنیک الکندی براساس میزان تکرار نشانهها (بسامد یا فرکانس) است؛ برای مثال پرکاربردترین حروف در عربی الف و لام هستند؛ اما بسامد حرف ج یکدهم آنهاست؛ بنابراین میتوان از میزان تکرار نشانهها، حروف را مشخص کرد. الکندی در قرن سوم هجری بیشتر به قصد رمزگشایی از قرآن، نخستین کتاب درباره رمز با نام «رساله در کشف معما» را تالیف کرد. در حقیقت الکندی در این کتاب تکنیک بسامد یا فرکانس را ابداع کرد. تکنیک الکندی چنان کاربردی و مهم است که میتوان به واسطهی آن آیندهای از تکنولوژیهای ایمن را فراهم کرد.