<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مهدی فولادگر</title>
        <link>https://virgool.io/feed/@professormahi</link>
        <description>مدیر نوآوری شرکت پیام‌پرداز، دانشجوی دکتری کامپیوتر - دانشگاه تهران</description>
        <language>fa</language>
        <pubDate>2026-06-07 12:52:36</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/5784/avatar/JFrNV5.png?height=120&amp;width=120</url>
            <title>مهدی فولادگر</title>
            <link>https://virgool.io/@professormahi</link>
        </image>

                    <item>
                <title>فروشگاه‌داری ایسنتاگرامی پر چالش!</title>
                <link>https://virgool.io/@professormahi/%D9%81%D8%B1%D9%88%D8%B4%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%B1%DB%8C-%D8%A7%DB%8C%D8%B3%D9%86%D8%AA%D8%A7%DA%AF%D8%B1%D8%A7%D9%85%DB%8C-%D9%BE%D8%B1-%DA%86%D8%A7%D9%84%D8%B4-ygczidbeuw8v</link>
                <description>در سال‌های اخیر، اینستاگرام به یکی از پلتفرم‌های اصلی فروش آنلاین تبدیل شده است. برای کسب‌وکارهایی که قصد دارند محصولات خود را از طریق این شبکه اجتماعی عرضه کنند، ایجاد و مدیریت یک پیج فروشگاه اینستاگرامی به ظاهر آسان به نظر می‌رسد، اما در واقعیت با چالش‌های متعددی روبه‌رو هستند. در این پست قصد داریم به چالش‌های اصلی مدیریت یک پیج فروشگاه اینستاگرامی بپردازیم و راه‌حل‌هایی عملی برای غلبه بر این مشکلات ارائه دهیم.فروشگاه‌داری در اینستاگرام1. چالش: مدیریت تعداد زیاد پیام‌ها و دایرکت‌هایکی از بزرگ‌ترین چالش‌ها در مدیریت پیج فروشگاه اینستاگرامی، پاسخ‌گویی به حجم زیاد پیام‌ها و دایرکت‌هایی است که از طرف مشتریان دریافت می‌شود. بسیاری از کاربران اینستاگرام از طریق دایرکت به سوالات خود پاسخ می‌دهند یا از طریق پیام از فروشنده درخواست اطلاعات بیشتر می‌کنند. این پیام‌ها ممکن است به سرعت افزایش پیدا کنند و به یک بار سنگین تبدیل شوند که مدیریت آن‌ها می‌تواند وقت‌گیر و پیچیده باشد.راه‌حل:برای حل این مشکل، استفاده از ابزارهای مدیریت پیام‌ها و دایرکت‌ها پیشنهاد می‌شود. این ابزارها می‌توانند پیام‌ها را دسته‌بندی کنند، پاسخ‌های خودکار برای سوالات متداول ایجاد کنند و حتی به تیم‌های پشتیبانی این امکان را بدهند تا به‌صورت گروهی پاسخ دهند. این روش نه‌تنها سرعت پاسخ‌دهی را افزایش می‌دهد بلکه تجربه مشتری را بهبود می‌بخشد و موجب افزایش رضایت مشتریان می‌شود.2. چالش: مدیریت سفارشات و پیگیری آن‌هایکی دیگر از چالش‌های بزرگ، مدیریت سفارشات و پیگیری وضعیت هر یک از آن‌هاست. در بسیاری از موارد، سفارشات از طریق دایرکت یا کامنت‌ها دریافت می‌شوند و نیاز به پردازش دستی دارند. این فرآیند می‌تواند زمان‌بر باشد و خطاهایی مانند فراموشی یا تأخیر در پردازش سفارشات را به همراه داشته باشد که نتیجه آن نارضایتی مشتری و کاهش فروش است.راه‌حل:استفاده از نرم‌افزارهای مدیریت فروشگاهی می‌تواند این مشکل را به‌طور کامل حل کند. این نرم‌افزارها قادرند سفارشات را به‌صورت خودکار ثبت کرده و وضعیت آن‌ها را به‌روز کنند. همچنین می‌توانند به فروشنده هشدار دهند که سفارشات به‌موقع پردازش شوند و مشتریان از وضعیت سفارش خود مطلع شوند. این ابزارها علاوه بر اینکه مدیریت سفارشات را ساده‌تر می‌کنند، باعث کاهش خطاها و افزایش دقت در انجام فرآیند فروش می‌شوند.3. چالش: محتوای متنوع و جذاب برای جذب مشتریدر فضای رقابتی اینستاگرام، تولید محتوای جذاب و متنوع یکی از بزرگ‌ترین چالش‌ها برای صاحبان فروشگاه‌هاست. کاربران اینستاگرام به دنبال محتوای بصری زیبا و جذاب هستند که توجه آن‌ها را جلب کند. اگر محتوای شما جذاب و متفاوت نباشد، ممکن است در رقابت با دیگر فروشگاه‌ها شکست بخورید.راه‌حل:برای جلب توجه کاربران، باید به تولید محتوای خلاقانه و حرفه‌ای تمرکز کنید. این محتوا می‌تواند شامل تصاویر باکیفیت، ویدئوهای آموزشی، بررسی‌های محصولات و پست‌های تعاملی باشد. همچنین استفاده از ویژگی‌های جدید اینستاگرام مانند استوری‌ها، ریلس‌ها و خرید مستقیم از پست‌ها می‌تواند به افزایش تعامل و فروش کمک کند. اگر قادر به تولید محتوای خلاقانه نیستید، همکاری با طراحان گرافیک و عکاسان حرفه‌ای می‌تواند کمک بزرگی باشد.4. چالش: مدیریت تبلیغات و جذب مخاطب هدفیکی از مهم‌ترین بخش‌های هر فروشگاه اینستاگرامی، تبلیغات و جذب مخاطب هدف است. اگر تبلیغات به‌طور صحیح و هدفمند انجام نشوند، هزینه‌های زیادی را به همراه خواهند داشت و ممکن است بازده مناسبی نداشته باشند. علاوه بر این، یافتن مخاطب مناسب در اینستاگرام می‌تواند چالش‌برانگیز باشد.راه‌حل:برای جذب مخاطب هدف، باید به استفاده از تبلیغات هدفمند و استراتژی‌های جذب فالوور توجه داشته باشید. اینستاگرام ابزارهای تبلیغاتی متنوعی دارد که می‌توانید از آن‌ها برای رسیدن به مخاطبان خاص خود استفاده کنید. علاوه بر این، ایجاد محتوای تبلیغاتی جذاب و استفاده از اینفلوئنسرها می‌تواند به جذب فالوورهای جدید و افزایش فروش کمک کند. همچنین، تحلیل عملکرد تبلیغات و بررسی نتایج می‌تواند به شما کمک کند تا استراتژی‌های تبلیغاتی خود را بهبود ببخشید.5. چالش: حفظ تعامل و وفاداری مشتریانجذب مشتریان جدید مهم است، اما حفظ آن‌ها برای رشد بلندمدت کسب‌وکار اهمیت بیشتری دارد. بسیاری از فروشگاه‌ها پس از اولین خرید مشتری، نمی‌توانند ارتباط موثری با آن‌ها برقرار کنند و این موضوع باعث می‌شود که مشتریان به سرعت از دست بروند.راه‌حل:برای حفظ تعامل و وفاداری مشتریان، باید به روابط پس از فروش توجه ویژه‌ای داشته باشید. ارسال پیام‌های تشکر، ارائه تخفیف‌های ویژه و ایجاد یک برنامه وفاداری می‌تواند به حفظ مشتریان کمک کند. همچنین، تعامل مستمر با مشتریان از طریق استوری‌ها، دایرکت‌ها و کامنت‌ها باعث ایجاد ارتباط نزدیک‌تر و افزایش اعتماد مشتری به برند شما می‌شود.نتیجه‌گیری:مدیریت پیج فروشگاه اینستاگرامی نیازمند توجه به چندین جنبه مختلف است، از جمله پاسخ‌دهی به پیام‌ها، مدیریت سفارشات، تولید محتوای جذاب و تبلیغات هدفمند. با استفاده از ابزارها و استراتژی‌های مناسب، می‌توان به راحتی بر این چالش‌ها غلبه کرد و فروش را افزایش داد.اگر راه‌حل می‌خوایی، به https://shopify.landin.ir/instashop یه سری بزن!</description>
                <category>مهدی فولادگر</category>
                <author>مهدی فولادگر</author>
                <pubDate>Tue, 08 Apr 2025 16:36:37 +0330</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی و امنیت</title>
                <link>https://virgool.io/@professormahi/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D9%88-%D8%A7%D9%85%D9%86%DB%8C%D8%AA-j7clco7oudyy</link>
                <description>هوش مصنوعی را می‌توان یکی از مهم‌ترین فناوری‌های انقلابی در چندسال اخیر دانست و من در حاشیه جشنواره ملی امنیت فضای تبادل اطلاعات به بررسی تلاقی هوش مصنوعی و امنیت سایبری پرداختم. در این ارائه توضیح دادم که هوش مصنوعی را می‌توان ابزاری برای دفاع، ابزاری برای حمله و هدفی برای حمله دانست. در این مقاله تلاش‌ کرده‌ام بخشی از ارائه را با اهالی ویرگول نیز در میان بگذارم.هوش مصنوعی؛ ابزار دفاعاستفاده از هوش مصنوعی به عنوان ابزاری برای دفاع شاید اولین کاربردی باشد که برای هوش مصنوعی به ذهن متخصصان رسیده‌است و شاید به عنوان اولین قدم بتوانیم هوش مصنوعی را به عنوان دستیاری برای بهبود فرایندهای مدیریت امنیت در سازمان‌ها بدانیم.هوش مصنوعی در مدیریت امنیت سازمان‌هابر طبق آمارهای جهانی، ۶۸ درصد از نشت‌های امنیتی در سازمان‌ها به واسطه‌ی یک عامل انسانی بوده‌است و حدود ۱۶ درصد از آن‌ها به واسطه‌ی انتشار ناصحیح سامانه‌هایی که نباید منتشر می‌شده‌اند اتفاق اتفاده است. در راستای جلوگیری از این حملات می‌توان از چت‌بات‌ها برای آموزش و توانمندسازی کارشناسان و متخصصان امنیت استفاده کرد.ارتباط هوش مصنوعی و متخصص برای آموزش و توانمندسازی متخصصان امنیتکاربرد دیگر هوش مصنوعی در مدیریت امنیت، اولویت‌بندی خودکار تهدیدها و کمک به تدوین استراتژی‌های کاهش ریسک است. جالب آن‌جاست که بدانیم در ۸۰ درصد نشت‌هایی که در سال ۲۰۲۳ در سازمان‌ها اتفاق افتاده‌ است، سازمان هدف یک ابزار برای دفاع در مقابل حمله‌ی مذکور داشته است اما به دلیل تنظیم ناصحیح و مشخص نبودن نقاط ضعف سازمان برای کارشناسان امنیت، ابزار موفق به جلوگیری از حمله نشده‌است. با این تفسیر، استفاده از موتورهای هوشمندی که بتوانند از میان انبوده رویدادهای مشکوک تنها تمرکز متخصصین را به تهدیدهای بالقوه معطوف کنند، بسیار کاربردی خواهد بود. همچنین، مشخص کردن محتمل‌ترین ریسک‌های سازمان از جمله دیگر کاربردهای هوش مصنوعی در افزایش تمرکز کارشناسان و متخصصان سازمان‌ها به بخش‌های پر ریسک شبکه در سازمان است.علاوه بر موارد ذکر شده، در بسیاری از ابزارهای لبه‌ دانش در سال‌های اخیر، ردپای هوش مصنوعی در تولید خودکار حوادث برای ارزیابی تجهیزات امنیتی مورد استفاده در سازمان و صحت تنظیم آن‌ها دیده شده‌است. از این رو، ابزارهای هوشمندی توسعه یافته‌اند که بر اساس مختصات شبکه‌ی سازمان‌ها تلاش می‌کنند حملاتی را تولید کنند که ابزارهای مورد استفاده در سازمان‌ها را به چالش بکشد. خصوصا، در سال‌های اخیر و با مدل‌های جدید Generative AI انتظار می‌رود ابزارهای هوشمند بتوانند با ترکیب حملات موجود، حملات خلاقانه‌ی جدیدی را تولید کنند.استفاده از هوش مصنوعی برای تولید خودکار حوادث به منظور ارزیابی تجهیزات امنیتیاز آنجایی که در ۲۰۲۴، در دنیا بیش از ۳٫۵ میلیون جایگاه شغلی حوزه‌ی امنیت پر نشده‌اند؛ ۷۵درصد متخصصان حوزه‌ی امنیت معتقند که هوش‌مصنوعی می‌تواند وظایف تکراری آن‌ها را بر عهده بگیرد تا این متخصصان بتوانند بر مسائل پیچیده‌‌تر در سازمان خود بپردازند و نیازمندی سازمان‌ها به تیم‌های امنیتی بزرگ‌ کاهش یابد. به همین دلیل، در دنیا ابزارهایی تلاش می‌کنند به صورت خودکار حادثه‌هایی که در سازمان‌ها رخ می‌دهند را تحلیل کرده و پیش‌نویس گزارش رسیدگی‌ به حادثه را تدوین کنند.هوش مصنوعی در ابزارهای تشخیص حملهابزارهای SIEM همیشه تلاش کرده‌اند از روش‌هایی هوشمند برای تحلیل رخدادهای امنیتی سازمان‌ها و تشخیص هم‌بستگی میان آن‌ها استفاده کنند و از این رو انتظار می‌رود پیشرفت چشمگیر الگوریتم‌های هوش مصنوعی، تاثیری شگرف در این محصولات داشته باشد. جالب آنجاست که اکثر محصولات مطرح در حوزه به جای آن‌که محصولات قبلی خود را به روش‌های مبتنی بر هوش مصنوعی مدرن تجهیز کنند، تصمیم گرفته‌اند تا محصولات جدیدی به صورت هوش‌پایه طراحی و پیاده‌سازی کنند. همچنین، بسیاری از ابزارهای موجود SIEM تلاش کرده‌اند برای دور نماندن از رقابت تنگاتنگ با ابزارهای دیگر حداقل ویژگی‌هایی را برای فیلتر کردن و اولویت‌بندی هوشمند هشدارها در ابزار خود پیاده‌سازی نمایند.استفاده از هوش مصنوعی در فیلترکردن و اولیت‌بندی هوشمند هشدارهای ابزارهای SOCاز دیگر کاربردهای هوش مصنوعی در ابزارهای تشخیص حمله، می‌تواند به تحلیل رفتار کاربران برای تشخیص تهدیدهای داخلی (insider) و حساب‌های کاربری در اختیار مهاجم (compromised accounts) اشاره کرد. در سال ۲۰۲۳، تعداد ۸۵۱ نشت اطلاعات در دنیا به واسطه‌ی سوء استفاده از دسترسی‌های کاربران داخلی اتفاق افتاده است؛ از این رو، ابزارهای هوشمندی که رفتارهای کاربران سازمان‌ها می‌شناسند و در صورت بروز سوء رفتار می‌توانند به سرعت به متخصصان و کارشناسان گزارش دهند می‌تواند چنین حملاتی را خنثی کند.در ادامه، اخیرا انتشار مدل‌های Generative قدرت‌مندتر و پر استفاده‌شدن مدل‌های GPT، احتمال استفاده از هوش مصنوعی در تحلیل خودکار حملات و بهبود خودکار Playbookهای SOAR برای جلوگیری از این حملات در آینده را تقویت کرده‌است.هوش مصنوعی؛ ابزار حملههوش مصنوعی‌های هکر!!همگام با متخصصان و پژوهشگران امنیت، حمله‌کنندگان به سازمان‌ها نیز در پی استفاده از هوش مصنوعی برای بهبود روش‌های حمله‌ی خود هستند. به این منظور، برخی به احتمال استفاده از هوش ‌مصنوعی برای تولید حملات ماحی‌گیری (فیشینگ) هدفمندتر اشاره می‌کنند. همچنین، استفاده از هوش مصنوعی برای تولید خودکار بدافزارها چه از طریق ترکیب بدافزارهای قدیمی‌تر و کوچک‌تر و چه از طریق تولید بدافزارهای کاملا نو و مستقل از طریق هوش مصنوعی‌های Generative قابل احصا به نظر می‌رسد. علاوه بر این موارد، به زودی شاهد هوش‌های مصنوعی مبتنی بر چت‌بات هستیم که از طریق تماس تلفنی و یا پیام‌های متنی به اجرای حملات مهندسی اجتماعی علیه کاربران می‌پردازند. این ابزارها می‌توانند به شدت هزینه حملات مهندسی اجتماعی را کاهش دهند و همچنین از طریق بررسی سابقه و شبکه‌های اجتماعی قربانیان خود، این حملات‌ را هدفمندتر و موفق‌تر دنبال کنند.هوش مصنوعی؛ هدف حملهبا پر استفاده‌شدن ابزارهای مبتنی هوش مصنوعی و آن‌که بسیاری از کاربران فضای مجازی اطلاعات مهمی را با این ابزارها به اشتراک می‌گذارند؛ حمله به الگوریتم‌های هوش مصنوعی به جدیدتر علاقه‌مندی هکرها تبدیل شد‌ه‌است.تولید مثال‌های خصمانه (Adverserial)اولین نوع از حملات که علیه ابزارهای هوش‌مصنوعی انجام شد، تلاش برای تولید ورودی‌هایی بود که این الگوریتم‌های هوشمند را به خطا بیاندازد. به عنوان مثال، تحقیقاتی تلاش کرده‌اند تا با تولید تی‌شرت‌هایی الگوریتم‌های تشخیص انسان را به چالش بکشند و یا یک با قرارداد یک شی در کنار اشیاء مد نظر خود منجر به تشخیص اشتباه Classifierهای مبتنی بر هوش مصنوعی شوند.تولید تی‌شرت‌هایی که شما را نامرئی می‌کند!این مثال‌های خصمانه می‌توانند، استفاده الگوریتم‌های هوش‌مصنوعی را در ابزارها و محصولاتی که با ایمنی کاربران خود سروکار دارند، مختل کنند. در این خصوص؛ ماشین‌های خودرانی را تصور کنید که در مواجهه با یک شی که یک حمله‌کننده در کنار جاده قرارداده است، مسیر جاده را اشتباه تشخیص‌ داده و از مسیر منحرف شوند.تولید ابزارهای برای به اشتباه‌ انداختن هوش مصنوعیمسموم‌کردن (Posisoning) داده‌هادر این نوع از حمله، حمله‌کننده تلاش می‌کند داده‌های مسمومی به الگوریتم‌های یادگیری ماشین تحمیل کند که منجر به یادگیری مدلی نادقیق شود. این مدل‌ها، ممکن است در تمام حالات رفتار درست و دقیقی داشته‌ باشند، اما به دلیل وجود داده‌های مسموم، تنها در موارد مد نظر حمله‌کننده خروجی غلط داشته باشند.این روش‌ از حمله، می‌تواند توسط مجموعه‌هایی که مجموعه‌داده‌های خود را منتشر می‌کنند اتفاق افتاده و یا در الگوریتم‌های یادگیری برخط (Online Learning) در گذر زمان و با وارد کردن داده‌های مسموم توسط حمله‌کنند بروز کند.مسموم‌کردن (Posisoning) داده‌ها در الگوریتم‌های یادگیری ماشین
استخراج/سرقت مدلبسیاری از پژوهشگران حوزه هوش مصنوعی، تلاش می‌کنند الگوریتم‌های خود را که دارای دقت بالا هستند به عنوان سرویس در اختیار کاربران تجاری قراردهند تا امکان استفاده از این الگوریتم‌ها و کسب درامد وجود داشته باشند. در چنین شرایطی؛ حمله‌کننده‌ها تلاش می‌کنند از طریق تولید پرس‌وجوهای زیاد و ارسال آن‌ها برای سرویس ارائه‌شده مدل آموزش دیده را تخمین‌زده و مشابه آن را تولیدکنند. این حمله می‌تواند با دو هدف تشخیص نقاط ضعف مدل و یا نقض کپی‌رایت کاربران اتفاق بیافتد.استخراج/سرقت مدل‌های یادگیری ماشینسخن آخر: تاثیر هوش مصنوعی بر آینده ما انسان‌ها غیرقابل چشم‌پوشی است؛ اما توجه به آن در کاربردهای امنیتی نهایتا می‌تواند منجر به بهبود امنیت سازمان‌ها شده و در عین‌حال استفاده از الگوریتم‌های هوش مصنوعی در کاربردهای ایمنی-بحرانی (Safety Critical) را واقع‌گرایانه‌تر کند.</description>
                <category>مهدی فولادگر</category>
                <author>مهدی فولادگر</author>
                <pubDate>Sat, 06 Jul 2024 20:51:39 +0330</pubDate>
            </item>
                    <item>
                <title>وقتی ماشین خودران تسلا ماشین آتش‌نشانی را تشخیص نمی‌دهد</title>
                <link>https://virgool.io/@professormahi/%D8%A2%D8%B2%D9%85%D9%88%D9%86-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%87%D8%A7-%D9%88-%D9%85%D8%AF%D9%84-%D9%87%D8%A7%DB%8C-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-jjnpbug3k3ij</link>
                <description>من اخیرا مطالعاتی در زمینه‌ آزمون انجام دادم که می‌خوام در مقالاتی این اطلاعات رو با شما هم به اشتراک بگذارم. عمده‌ی این مقالات در واقع برداشت من از مقالاتی بوده که در این حوزه (خصوصا [1]) خوندم. خوش‌حال می‌شم اگر بتونیم این بحث‌ها را در کامنت‌ها ادامه بدیم و در موردش صحبت کنیم.داستان آزمون الگوریتم‌ها و مدل‌های یادگیری ماشین تقریبا همزمان به مطرح شدن کاربردهای هوش مصنوعی خصوصا در جاهایی که با جان آدم‌ها سر و کار داره شروع میشه. بخش‌هایی از این دغدغه‌ها را کسانی دارن که ممکنه در مواجهه با تکنولوژی‌های جدید نگران بشن؛ اما از طرف دیگه سپردن جان انسان‌ها به چیزهایی که خودمون هم دقیقا نمی‌دونم چه شکلی کار می‌کنن (شبکه‌های عصبی) کار ترسناکی هست. این نگرانی‌ها با اولین حادثه‌های ناشی از ماشین‌های خودران بیشتر هم شد و به جامعه کشیده شد. در فوریه‌ی ۲۰۱۴ ماشین خودران گوگل اولین تصادف خودش را داشت اما در ادامه تصادف‌های دیگه‌ای هم از ماشین‌های خودران دیگه مثل تسلا گزارش شد.تصادف خودروی تسلا با  ماشین آتش‌نشانی در حالت خودران در سال ۲۰۱۸خطرات مالی و خصوصا جانی ناشی از سو رفتار مدل‌های یادگیری ماشین باعث شد تا پژوهشگران متعددی در دنیا تلاش کنند تجربیات مربوط به آزمون نرم‌افزارهای دیگه (مثلا خلبان‌ خودکارها، ماهواره‌ها و ...) را اینجا هم به کار بگیرن و تلاش کنند مکانیزم‌های برای اطمینان پیدا کردن از صحت رفتار این الگوریتم‌ها و مدل‌ها و همین‌طور افزایش استحکام آن‌ها (Robustness) ارائه کنن.تلاش‌های اولیه از خطاهای مرسوم ماشین‌های خودران و الگوریتم‌های هوش مصنوعی الهام گرفتن که اتفاقا نتایج جذابی هم به دنبال داشتند. در این تلاش‌ها پژوهشگران تلاش می‌کنند اتفاقاتی که ممکنه باعث بشه هوش مصنوعی یک ماشین خودران اشتباه کنه را در نظر می‌گیرن و تلاش می‌کنن تصاویری را تولید کنند به ماشین‌های خودران را به اشتباه می‌اندازه. مثلا تغییر یک پیکسل در تصویر سمت چپ باعث میشه که ماشین خودران تابلو را کاملا برعکس و «مستقیم یا چپ برو» تشخیص بده. همین الگو را میشه باز تکرار کرد و تصاویر را به نحوی تغییر بدیم که شبیه عکس‌های بارانی، برفی، با لنز کثیف، در نور زیاد، در نور کم، چرخیده و ... بشن و همین الگوریتم‌های ما را به اشتباه بندازه.تغییر یک پیکسل که ماشین‌های خودران را به  خطا می‌اندازه [2]این مشکلات فقط محدود به ماشین‌های خودران نیست و هوش‌ مصنوعی‌های مختلفی هستند که اونقدر‌ها هم که ما فکر می‌کنیم باهوش نیستند و خطاهایی دارن که ممکنه ما رو به خطر بندازه. مثلا تغییراتی در عکس X-Ray از قفسه‌ی سینه که با چشم انسان حتی قابل تشخیص هم نیست، ممکنه باعث بشه هوش مصنوعی دقیقا تشخیص برعکس داشته باشه.اشتباه در تشخیص توسط هوش مصنوعی با تغییراتی که حتی با چشم انسان قابل تشخیص نیست [3]. تصاویر بالا، تصاویر اصلی هستند و تصاویر پایین تغییر یافته‌اند.اما بررسی الگوریتم‌ها و مدل‌های هوش مصنوعی در همه‌ موارد به این سادگی نیست، در واقع، در شبکه‌های عصبی که در آن‌ها از در مورد تصاویر صحبت نمی‌کنیم، امکان تغییر داده‌های قبلی برای ساخت داده‌های آزمون جدیدی که نتیجه‌‌ی مورد انتظار را در مورد آن‌ها بدانیم لزوما وجود ندارد یا بسیار پیچیده و هزینه‌بر است. مثلا، برای تست کردن Google Translate به راحتی می‌توانیم انواع جملات به زبان اول را تولید کنیم اما بررسی کردن این که ترجمه‌ی گوگل درست است یا خیر، به سادگی ممکن نیست (مسئله‌ی اوراکل). اما استفاده از روابط متامورفیک می‌تواند به ما کمک کند؛ روابط متامورفیک در واقع به جای این که جواب دقیق خروجی مورد انتظار را بدهند، به ما کمک می‌کنند بتوانیم خروجی را با خروجی‌ دیگری از نرم‌افزار (مدل یادگیری) مقایسه کنیم. مثلا، صرف نظر از این که خروجی sin(x) چیست می‌دانیم یک نرم‌افزار نمی‌تواند خروجی آن را متفاوت از sin(π - x) بداند. در مورد سرویس ترجمه‌ی گوگل هم شرایط مشابهی داریم و این سرویس نمی‌تواند برای جملات انگلیسی که تنها برخی حروف آن کوچک یا بزرگ شده‌است، ترجمه‌های متفاوت ارائه کند.ترجمه‌ی متفاوت گوگل برای یک جمله [4]می‌توان مثال‌های عمیق‌تری هم (مشابه شکل زیر) برای تست سرویس ترجمه‌ی گوگل و بر اساس اصول متامورفیک زیر داشت:اگر گوگل موفق شده‌است در جمله‌ی دیگری یک کلمه را ترجمه کند، در جملات دیگر هم باید بتواند همان کلمه را ترجمه کند.نام‌های خاص با تغییر کردن نباید تغییری در ساختار جمله ایجاد کنند. مثلا، Emma و Victoria هر دو نام افراد هستند و جملات Emma likes Mini و Victoria likes Mini نباید به جز نام همان افراد در ترجمه تفاوت دیگری داشته باشند.ناموفق بودن گوگل در ترجمه‌ی  کلمات یکسان در جایگاه یکسان در جملات با تفاوت کم [5]در این مقاله تلاش کردیم مروری داشتی باشیم بر بعضی از مهم‌ترین تلاش‌های صورت گرفته برای افزایش استحکام الگوریتم‌ها و مدل‌های هوش مصنوعی که به تدریج در حال نقش آفرینی در مهم‌ترین بخش‌های زندگی ما انسان‌ها هستند. شاید، یکی از پر تکرارترین مثال‌های این روزها Chat GPTست و خطاهایی که در برخی از پاسخ‌های آن وایرال شده و برای آن که اطلاعات حاصل از این هوش‌های مصنوعی با اطمینان بیشتری قابل استفاده باشند، نیاز است بتوانیم تا حدود بالایی از صحت کارکرد آن‌ها اطمینان حاصل کنیم. بنابراین، اگر علاقه‌مند به آزمون و صحت‌سنجی الگوریتم‌های یادگیری ماشین هستند شاید شروع از مقالات مطرح‌شده در این  متن شروع خوبی باشد و اگر مهندس هوش‌مصنوعی هستید، به ابعاد صحت یا عدم صحت کارکرد مدل هوش مصنوعی خود کمی بیشتر فکر کنید.مراجع[1] Huang, X., Kroening, D., Ruan, W., Sharp, J., Sun, Y., Thamo, E., Wu, M., &amp; Yi, X. (2020). A survey of safety and trustworthiness of deep neural networks: Verification, testing, adversarial attack and defence, and interpretability. Computer Science Review, 37, 100270. https://doi.org/10.1016/j.cosrev.2020.100270[2] Wu, M., Wicker, M., Ruan, W., Huang, X., &amp; Kwiatkowska, M. (2020). A game-based approximate verification of deep neural networks with provable guarantees. Theoretical Computer Science, 807, 298-329.[3] Finlayson, S. G., Chung, H. W., Kohane, I. S., &amp; Beam, A. L. (2018). Adversarial attacks against medical deep learning systems. arXiv preprint arXiv:1804.05296.[4] Lee, D. T., Zhou, Z. Q., &amp; Tse, T. H. (2020, June). Metamorphic robustness testing of Google Translate. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops (pp. 388-395).[5] Sun, L., &amp; Zhou, Z. Q. (2018, November). Metamorphic testing for machine translations: MT4MT. In 2018 25th Australasian Software Engineering Conference (ASWEC) (pp. 96-100). IEEE.</description>
                <category>مهدی فولادگر</category>
                <author>مهدی فولادگر</author>
                <pubDate>Wed, 22 Mar 2023 18:33:53 +0330</pubDate>
            </item>
                    <item>
                <title>در عمق بلاک‌چین: آیا بلاک‌چین ناشناسی را تامین می‌کند؟</title>
                <link>https://virgool.io/payampardaz/%D8%B9%D9%85%DB%8C%D9%82-%D8%AF%D8%B1-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%D8%A2%DB%8C%D8%A7-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%D9%86%D8%A7%D8%B4%D9%86%D8%A7%D8%B3%DB%8C-%D8%B1%D8%A7-%D8%AA%D8%A7%D9%85%DB%8C%D9%86-%D9%85%DB%8C%DA%A9%D9%86%D8%AF-waralxbyjpyy</link>
                <description>در مجموعه نوشته‌های «در عمق بلاک‌چین» تلاش می‌کنم هر بار در مورد بلاک‌چین و ویژگی‌های اون صحبت کنم. نوشته‌های این مجموعه معمولا با یک سوال شروع می‌شوند و در طول بحث تلاش می‌کنیم در مورد پاسخ آن سوال بحث کنیم. اگر به بلاک‌چین علاقه‌مند هستید خوشحال می‌شم که متن را مطالعه کنید و نظراتتون را بنویسید. برای مطالعه در مورد بلاک‌چین به این پست رجوع کنید.یک اشتباه رایج در میان جامعه استفاده‌کنندگان از بلاک‌چین فرض کردن ناشناسی در بلاک‌چین است. در واقع حقیقت چیز دیگری است و بلاک‌چین به خودی خود نمی‌تواند ناشناسی را به صورت کامل برای کاربران خود تامین نماید. همچنین، در مقابل تامین ناشناسی در پلتفرمی شفاف مانند بلاک‌چین به سادگی نیز ممکن نخواهد بود.در بلاک‌چین کاربران با یک جفت‌کلید عمومی-خصوصی مشخص می‌شوند و برای مشخص کردن مالکیت خود بر روی یک حساب از امضای دیجیتال استفاده می‌کنند. برای امضای دیجیتال کافی‌است یک پیام با استفاده از کلید خصوصی که تنها در اختیار کاربر است استفاده شود، اما در مقابل تمامی افراد با در اختیار داشتن کلید عمومی می‌تواند از صحت امضای دیجیتال مطمئن شود. به همین دلیل در بلاک‌چین، یک کاربر برای آن که مقداری از دارایی خود را منتقل نماید باید با استفاده از کلید خصوصی متناظر با آن حساب استفاده کرده و تراکنش را امضا نماید. ماینرها و دیگر گره‌های شبکه تنها پس از وارسی این امضای دیجیتال اجازه دارند آن تراکنش را در دفترکل قرار دهند.حال با در نظر گرفتن مطالب فوق، هویت فیزیکی کاربر تا زمانی که ارتباط فیزیکی و بیرونی اون منجر به فاش شدن هویت او نشود، ناشناس خواهد ماند. اما ناراحت‌کننده آن‌جاست که اتصال یک کاربر به جفت کلید او پیچیده نخواهد بود، به عنوان مثال، فرض کنید شما می‌خواهید در ازای بیت‌کوین از یک مجموعه خرید کنید، پس از انجام خرید، فروشنده متوجه آدرس شما در شبکه بلاک‌چین خواهد شد و با دنبال کردن تراکنش‌های دیگر شما مقدار دارایی شما و احیانا افراد دیگری که با آن‌ها در ارتباط هستید (که ممکن است به طرق مشابه هویت آن‌ها نیز برای او فاش باشد)، ناشناسی و حریم خصوصی شما را به خطر می‌اندازد. لذا می‌توان نتیجه گرفت که بیت‌کوین در مقابل ناشناسی کامل، تنها شبه‌ناشناسی را تامین می‌کند.اما چگونه می‌توان با استفاده از تجربیات پژوهش‌های پیشین در حوزه‌های امنیتی ناشناسی را نیز در بیت‌کوین تامین نمود؟ برای پاسخ به این سوال نیاز است ابتدا با مفهوم اثبات‌های صفر-دانش (Zero Knowledge Proofs) آشنا شویم.اثبات صفر-دانشاثبات صفر-دانش روشی است که در آن یک فرد بدون آن که به طرف مقابل اطلاعات محرمانه‌ای را منتقل نماید می‌تواند صحت یک گزاره را اثبات نماید. فردی را فرض کنید که علاقه ‌دارد به دوست نابینای خود اثبات کند که دو گوی مفروض (که می‌توانند سفید یا مشکی باشند) رنگ‌های متفاوتی دارند. در چنین حالتی، این فرد در ابتدا رنگ دو گوی را به دوست نابینای خود منتقل می‌کند. فرد نابینا برای اطمینان پیدا کردن از صحت گفتار دوست خود، گوی‌ها را به پشت سر برد و بدون آن که قابل دیدن باشد با یک‌دیگر جابجا می‌کند. سپس از دوست خود در مورد رنگ گوی‌ها می‌پرسد، از آن‌جایی که فرد نابینا نحوه جابجایی گوی‌ها را می‌داند دقیقا رنگ گوی‌ها را پس از جابجایی می‌داند اما در صورت یک‌رنگ بودن گوی‌ها دوست او تنها می‌تواند به صورت تصادفی رنگ‌ها را مشابه بار قبل اعلام کند. با تکرار این فرآیند احتمال آن که فرد بینا بتواند رنگ‌ها را به صورت تصادفی صحیح بگوید به صفر میل کرده و پس از چندین با امتحان می‌توان این احتمال را تقریبا برابر با صفر در نظر گرفت [۱].فرآیندی مشابه مثال بالا را می‌توان در علم ریاضیات و رمزنگاری رقم زده تا بدون انتقال دانش از یک اطلاعات محرمانه (در مثال فرد نابینا دانش رنگ‌ها را نداشته و صرفا بر اساس تعاملات با دوست خود از همرنگ بودن گوی‌ها اطلاع پیدا می‌کند.) در مورد گزاره‌ای تصمیم گرفت. در صورتی که علاقه‌مند هستند ریاضیات پشت مفهوم اثبات صفر‌دانش و نحوه استفاده از آن در بلاک‌چین را دقیق‌تر مطالعه کنید به مستندات ZKSNAKs رجوع کنید.زیروکوین: اثبات صفر-دانش در خدمت تامین ناشناسی بیت‌کوینزیروکوین (ZeroCoin) می‌توان به عنوان یک سیستم پول‌شویی!! برای بیت‌کوین در نظر گرفت. هر زیرکوین با یک بیت‌کوین برابری می‌کند و برای ناشناس کردن هر بیت‌کوین کافیست آن را به زیروکوین تحویل داده و بیت‌کوین ناشناس‌شده را در آدرس جدید از زیروکوین تحویل بگیریم. بنابراین می‌توان زیرو کوین را در دو فاز مورد بررسی قرار داد:ضرب کردن؛ برای ضرب کردن زیرکوین کافیست ابتدا شماره سریال تصادفی مانند S را برای سکه خود در نظر گفته و سپس تعهد C را برای آن تولید کنیم. این تعهد را می‌توان با عدد تصادفی r گشود. برای ضرب‌کردن یک زیروکوین کافیست معادل بیت‌کوین آن را به آدرس مرکز ناشناس‌سازی زیروکوین ارسال کرده و C را در تابلو اعلانات (Bulletin board) منتشر کنیم.خرج کردن؛ برای تبدیل زیروکوین به بیت‌کوین کافیست اثبات صفر-دانش w مبنی بر دانستن آن که (۱) C در میان سکه‌های داخل تابلو اعلانات بوده و (۲) r مورد نیاز برای گشودن C و تبدیل آن به S را داریم، منتشر کنیم. در واقع برای خرج کردن زیروکوین باید زوج مرتب (w, S) را منتشر کنیم. دیگر کاربران به بررسی اثبات w پرداخته و بررسی می‌کنند S در هیچ تراکنش دیگری وجود نداشته باشد (پیش از این پرداخت نشده باشد). در صورتی که شرایط فوق برآورده شد، معادل مالی زیروکوین به حساب بیت‌کوین درخواست کننده ارسال می‌شود.ناشناس‌سازی به سبک زیروکوین [۲]و[۳]بنابراین با در نظر گرفتن این روش می‌توان بیت‌کوین را از یک آدرس فاش شده به آدرس دیگری منتقل نمود. ایده زیروکوین پس از بلوغ در رمزارز ZCash پیاده‌سازی شده و یک رمزارز کاملا ناشناس را تشکیل داده‌است. بسیاری از پیاده‌سازی‌های بلاک‌چین و فناوری دفترکل غیر متمرکز نیز در حال حاضر از ایده‌ای مشابه برای ارائه ویژگی ناشناسی استفاده می‌کنند.مراجع[1] Chalkias, K. &quot;Demonstrate how Zero-Knowledge Proofs work without using maths&quot;. CordaCon 2017. Retrieved 2017-09-13.[2] Miers, I., Garman, C., Green, M., &amp; Rubin, A. D. (2013, May). Zerocoin: Anonymous distributed e-cash from bitcoin. In 2013 IEEE Symposium on Security and Privacy (pp. 397-411). IEEE.[3] Takabatake, Y., Kotani, D., &amp; Okabe, Y. (2016). An anonymous distributed electronic voting system using Zerocoin.</description>
                <category>مهدی فولادگر</category>
                <author>مهدی فولادگر</author>
                <pubDate>Mon, 10 Aug 2020 20:54:57 +0430</pubDate>
            </item>
                    <item>
                <title>در عمق بلاک‌چین: بلاک‌چین چیست؟</title>
                <link>https://virgool.io/@professormahi/%D8%AF%D8%B1-%D8%B9%D9%85%D9%82-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%D8%A8%D9%84%D8%A7%DA%A9%DA%86%DB%8C%D9%86-%DA%86%DB%8C%D8%B3%D8%AA-rsquebtzt4yp</link>
                <description>در مجموعه نوشته‌های «در عمق بلاک‌چین» تلاش می‌کنم هر بار در مورد بلاک‌چین و ویژگی‌های اون صحبت کنم. نوشته‌های این مجموعه معمولا با یک سوال شروع می‌شوند و در طول بحث تلاش می‌کنیم در مورد پاسخ آن سوال بحث کنیم. اگر به بلاک‌چین علاقه‌مند هستید خوشحال می‌شم که متن را مطالعه کنید و نظراتتون را بنویسید.در ویرگول یا پلتفرم‌های نوشتاری مشابه حتما می‌تونید در مورد بلاک‌چین نوشته‌های متعددی پیدا کنید. من هم احتمالا قرار نیست چیزی فراتر و یا خیلی متفاوت از آن نوشته‌ها در این پست چیزی بگم، اما ترجیح دادم در ابتدای کار و برای شروع مجموعه «در عمق بلاک‌چین»، ابتدا به صورت خلاصه از کمی در مورد بلاک‌چین و ساختار آن صحبت کنیم و به ادبیات یکسان برسیم.بلاک‌چین یک پایگاه‌داده توزیع‌شده و به عبارتی یک «دفترکل توزیع‌شده (Distributed Public Ledger)» است. این مفهوم اولین بار به عنوان هسته‌مرکزی پول دیجیتال بیت‌کوین معرفی شده و در واقع شامل شبکه‌ای از گره‌های (Node) یک شبکه همتا-به-همتا (Peer to Peer) است که هر کدام از آن‌ها یک نسخه تمامی اطلاعات شبکه (شامل تراکنش‌های مالی در بیت‌کوین) را نزد خود نگهداری می‌کنند. بنابراین طبیعی‌ است که امکان وجود اختلاف در کپی‌های مختلف وجود داشته باشد که در چنین شرایطی ملاک نسخه‌ای است که حداقل بیش از نیمی از گره‌های شبکه بر روی آن اتفاق نظر دارند.بلاک‌چین را می‌توان یک ساختمان داده دانست که در آن تمامی اطلاعات شبکه به نحوی ذخیره می‌شوند که تغییر ناپذیری اطلاعات را تضمین نماید. برای تسلط بیشتر بر روی این ساختمان داده نیاز است که ابتدا مفهوم هش-پوینتر را معرفی کنیم.هش‌-پوینتر از مفهوم اشاره‌گر‌ها وام گرفته‌است و اشاره‌گرهایی را شامل می‌شود که علاوه بر آدرس داده‌ها در حافظه، چکیده‌ای (رجوع شود به مفهوم Hash) از اطلاعات آن را نیز ذخیره می‌کند. بنابراین تغییر یک بیت از اطلاعات حافظه هم امکان‌پذیر نخواهد بود و منجر به ناهم‌خوانی با چکیده ذخیره‌شده در هش‌-پوینتر می‌شود. با این تفاسیر، هش‌-پوینتر اشاره‌گری به داده‌هاست که تغییرناپذیری آن‌ها را نیز تامین می‌کند.با استفاده از هش-‌پوینتر می‌توان تمامی ساختمان‌داده‌ای که با استفاده از اشاره‌گرها ساخته می‌شوند را به منظور تامین ویژگی تغییر ناپذیری باز طراحی کرد. به عنوان مثال، می‌توان ساختمان‌داده‌ای مشابه با لیست‌پیوندی (Linked List) را پیاده‌سازی نمود که دقیقا همان ساختمان‌داده بلاک‌چین است.بلاک‌چین؛ لیست‌پیوندی با استفاده از هش-پوینتر [۱].بلاک‌چین دفترکل توزیع‌شدهدر علم اقتصاد دفاتر کل برای نگهداری خرد و کلان حساب‌ها استفاده می‌شود. از آن‌جایی که بلاک‌چین اولین در بیت‌کوین و برای مصارف مالی استفاده شده‌است، آن را معادل یک دفتر کل در نظر گرفته‌اند. در واقع، در بلاک‌چین بیت‌کوین، تمامی تراکنش‌های مالی در ساختارداده فوق ذخیره‌سازی شده و نزد تمامی گره‌های شبکه ذخیره می‌شوند.پیش از این، ساختاری مشابه، اما به صورت مرکزی و نه توزیع‌شده، در بانک‌ها و نرم‌افزارهای آنان پیاده‌سازی و استفاده شده بود. اما از آن‌جا که نگهداری حساب‌ها نیازمند اعتماد سرمایه‌داران به بانک است، بیت‌کوین پیشنهاد می‌دهند ذخیره‌سازی این اطلاعات در محیط‌های بی‌اعتمادی (Trustless Environments) نزد تمامی گره‌های شبکه صورت پذیرد تا تغییر در آن امکان‌پذیر نباشد.مفهوم دفترکل غیر متمرکز؛ در بلاک‌چین هر گره نسخه‌ای از دفترکل را نگهداری می‌کند [۱].اما نکته‌ مهم آن‌جاست که چگونه می‌توان از ناهماهنگی این نسخ مختلف از دفترکل جلوگیری کرده و به یک نمای واحد از واقعیت دست یافت؟ اولین راهکاری که به ذهن می‌رسد آن است که طی یک فرآیند کاملا تصادفی هر بار تنها یکی از گره‌های شبکه اجازه داشته باشد بر اساس تراکنش‌های دریافتی خود از جانب کاربران شبکه، تغییرات مورد نیاز در دفترکل را اعمال نماید و به تمامی گره‌های شبکه اطلاع دهد. گره‌های دیگر شبکه صحت تراکنش‌ها را (از طریق تطبیق‌دهی امضای دیجتال بر روی آن‌ها) بررسی می‌کنند و در صورتی که درخواست‌ها صحیح بود کپی خود از دفترکل را آپدیت می‌کنند. به این فرآیند توافق بر روی نسخه‌ای واحد از دفترکل پروتکل اجماع (Consensus Protocol) گفته می‌شود و به فرآیند انتخاب یک گره‌ی تصادفی برای اعمال تغییرات در دفترکل، استخراج (Mining) می‌گویند.به منظور تحقق فرآیند انتخاب تصادفی نیاز است تا تمامی گره‌های شبکه یک پازل سخت که تنها راه حل کردن آن بررسی تمامی حالات ممکن است را حل نمایند. در بلاک‌چین بیت‌کوین پیدا کردن عددی است که چکیده آن  در یک بازه مشخص باشد. گره‌های شبکه برای یافتن این عدد بایستی چکیده را برای تمامی اعداد ممکن بررسی کرده و عدد مد نظر خود را بیابند. یافتن چنین عددی برای کامپیوتر به تنهایی ممکن است سال‌ها زمان‌بر باشد اما سختی چنین پازلی به صورتی تنظیم می‌شود که در مدت محدود (حدود ۱۰ دقیقه)  حداقلی یکی از اعضای شبکه موفق به یافتن پاسخ برای پازل مربوطه شود. به عنوان مثال این فرآیند را می‌توان مشابه با ریختن تاس دانست؛ به این معنا که کسی اجازه دارد دفترکل را ویرایش نماید که با ریختن چندهزار تاس موفق به بدست آوردن حدود ۸۰ درصد تاس با مقدار ۶ شود.به فرآیند اجماع پیشنهادی بیت‌کوین که مبتنی بر پازل سخت یافتن عدد با چکیده مناسب است، اثبات کار (Proof of Work) گفته می‌شود. همچنین به کسانی که تلاش می‌کنند تا جواب مناسب پازل هر ده دقیقه را بیابند ماینر، استخراج‌کننده یا کاوش‌گر گفته می‌شود (همه کلمات به جای کلمه انگلیسیMiner به کار می‌روند). در حال حاضر قدرت پردازشی تمام ماینرهای شبکه بیت‌کوینی چیزی در حدود ۱۲۲ اگزا-هش بر ثانیه است.قدرت‌پردازشی شبکه بیت‌کوین بر حسب اگزا-هش بر ثانیه (از سایت blockchain.com/charts)قراردادهای هوشمنداز آن‌جایی که بلاک‌چین یک ساختمان داده تغییرناپذیر بوده و قادر است در محیط بی‌اعتمادی نیز صحت عملکرد و نگهداری اطلاعات را تضمین نماید. به مرور، عده‌ای به فکر استفاده از این تکنولوژی برای کاربردهای غیر مالی نیز افتادند. قراردادهای هوشمند (Smart Contracts) مجموعه‌ای از دستورات برنامه‌نویسی هستند که با استفاده از آن‌ها می‌توان پرداخت‌ها را در چارچوب‌ قراردادهای انجام داد. در واقع قراردادهای هوشمند را می‌توان قیودی بر خروجی تراکنش‌ها قرار گرفت؛ در صورتی که شروط مذکور بر قرار باشند یک پرداخت انجام خواهد شد. تکنولوژی دفترکل غیر متمرکز می‌تواند نیاز به اعتماد در قراردادهای دنیای فیزیکی را از میان برداشته و حتی در محیط‌های بی‌اعتمادی صحت تحقق یک قرارداد را تضمین نماید. با اضافه کردن قراردادهای هوشمند به بلاک‌چین‌ها می‌توان کاربردهای جدیدی را خلق کنیم که عبارتند از:دارایی‌های هوشمند: می‌توان دارایی‌های را با خاصیت خرید، فروش، جابجایی خلق کرد. این دارایی‌ها می‌توانند ما‌به‌ازای فیزیکی داشته باشند، مانند خودرو، تلفن‌همراه، مسکن و ...، یا آن‌که کامل دیجیتال باشند، مانند سهام، اوراق بهادار و ....دارایی‌های مجازی قابل واگذاری: با استفاده از بلاک‌چین می‌توانیم موجودیت‌های دیجیتالی را خلق کنیم که قابلیت انتقال دارند اما همواره تنها متعلق به یک فرد هستند. از مهم‌ترین چنین دارایی‌هایی می‌توان به فایل‌های صوتی، تصویری و یا حتی یک فشنگ در بازی‌های ویدیویی، اشاره کرد.عامل‌ها: برنامه‌های خودمختار و هوشمندی را در نظر بگیرید که بر اساس تعاملات با محیط به تنهایی به ارائه خدمت، خرید و فروش و تولید تراکنش‌های مالی بپردازند.بازارهای توزیع‌شده: قیمت‌گذاری و واگذاری بسیاری از اجناس در حال حاضر در بازارها انجام می‌شوند. با استفاده از بلاک‌چین می‌توان نظارت برخط بر روی صحت انجام معاملات را فراهم نمود. بازارهای انرژی، مالکیت سهام و اوراق قرضه و موارد مشابه از مهم‌ترین بازارهایی است که قابلیت پیاده‌سازی در بلاک‌چین را دارند.و بسیاری کاربردهای کوچک و بزرگ دیگر.ویژگی‌های امنیتی بلاک‌چین‌مهم‌ترین ویژگی‌هایی که بلاک‌چین فراهم‌ می‌آورد را در لیست زیر بررسی می‌کنیم:توزیع‌پذیری و بی‌نیازی از نهاد مرکزی قابل اعتمادشبه‌ناشناسی*شفافیت و تغییرناپذیریجامعیت (Integrity) داده و فرآیند جابجایی داده‌هاقابلیت پی‌‌گیری و رهگیری تغییراتمتن‌باز بودن اکثر پیاده‌سازی‌ها با هدف قابلیت بررسی امنیتی آن‌ها توسط عده زیادی از جامعه متخصصینامکان طراحی قراردادهای هوشمند و امکان بررسی صحت رفتار آن‌ها برای همگاندر مورد ویژگی شبه‌ناشناسی نیاز است کمی توضیح دهیم: بلاک‌چین به خودی خود امکان ناشناسی را برای کاربران فراهم نمی‌کند، اما با توجه به این موضوع که هویت کاربران در بلاک‌چین تنها توسط جفت‌کلید خصوصی-عمومی آن‌ها مشخص می‌شود در صورتی که در هیچ فرآیندی هویت واقعی کاربر به هویت دیجیتال او در بلاک‌چین متصل نشود می‌تواند کاربر را ناشناس دانست. البته مکانیزم‌هایی در علم امنیت وجود دارند که بتوانند ناشناسی را برای بلاک‌چین‌ها تضمین نمایند که از حوصله این نوشته خارج است.مراجع[۱] مهدی فولادگر، «تحلیل و طراحی مشوق برای بلاک‌چین‌های بدون نیاز به مجوز از دیدگاه نظریه بازی‌ها»، پایان‌نامه کارشناسی ارشد، دانشگاه صنعتی اصفهان، ۱۳۹۸</description>
                <category>مهدی فولادگر</category>
                <author>مهدی فولادگر</author>
                <pubDate>Fri, 07 Aug 2020 14:32:47 +0430</pubDate>
            </item>
                    <item>
                <title>تزریق LDAP</title>
                <link>https://virgool.io/@professormahi/ldap-injection-jvingrhkuobn</link>
                <description>ال‌دپ‌ (LDAP) مخفف Lightweight Directory Access Protocol است. این سرویس وظیفه ذخیره‌سازی اطلاعات و مدیریت کاربران، هاست‌ها و دیگر منابع موجود در شبکه  را بر عهده دارد.  حمله تزریق LDAP یک حمله سمت سرور است که همانند دیگر حملات تزریق (نظیر SQL Injection) به دلیل بررسی نکردن ورودی‌ها در زمان برنامه‌نویسی و دخالت دادن مستقیم ورودی‌ها در پرس‌وجوها به وجود می‌آید. این حمله به حمله‌کننده اجازه می‌دهد داده‌های LDAP را مشاهده، حذف یا ویرایش کند.ال‌دپ‌ می‌تواند در وب‌اپلیکیشن‌ها برای ورود، احراز هویت، بررسی سطوح دسترسی و حتی جست‌وجو اطلاعات دیگر کاربران یک سازمان استفاده شود. برای این کار وب‌اپلیکیشن‌ها با اتصال به ال‌دپ و اجرای پرس‌وجوهای خود از ال‌دپ خروجی می‌گیرند. برای مثال برای احراز هویت یک کاربر می‌توان پرس‌وجویی نظیر عبارت زیر نوشت:find(&quot;cn=John &amp; userPassword=mypass&quot;)در ادامه به بررسی مثال‌هایی از حملات تزریق LDAP خواهیم پرداخت:مثال ۱. جست‌وجوفرض کنید یک وب‌اپلیکیشن می‌خواهد با دریافت نام یک کاربر محتویات پروفایل او را نمایش دهد برای این کار پرس‌وجویی مشابه پرس‌وجوی زیر نیاز است:searchfilter=&quot;(cn=&quot; + user + &quot;)&quot;کاربر با ارسال یک درخواست GET به آدرسی مشابه آدرس زیر متغیر user را برای وب‌اپلیکیشن ارسال می‌کند:http://www.example.com/ldapsearch?user=Johnحال اگر به جای «John»، «*» را به عنوان محتویات متغیر user ارسال کنیم پرس‌وجو به صورت زیر در خواهد آمد:searchfilter=&quot;(cn=*)&quot;واضح است که پرس‌وجوی بالا تمامی کاربران موجود در سیستم را لیست خواهد کرد. بنابراین اگر وب‌اپلیکیشن مورد نظر ما در این مثال به تزریق ال‌دپ آسیب‌پذیر باشد حمله‌کننده می‌تواند به راحتی همه یا قسمتی از کاربران سیستم را به دست آورد. برای تست جعبه‌سیاه در چنین سناریو‌هایی می‌توان از  کاراکتر‌های مخصوص دیگر نظیر «(»، «|» و «&amp;» نیز استفاده کرد.مثال ۲. ورود به حساب کاربریدر سناریو‌ جدید اگر وب‌اپلیکیشن آسیپ‌پذیر برای احراز هویت کاربران از ال‌دپ استفاده کند، می‌توان بدون دانستن رمز عبور و انجام مراحل طبیعی احراز هویت به سیستم وارد شد. در چنین سیستم‌هایی پرس‌وجوی ال‌دپ مشابه زیر خواهد بود:searchlogin= &quot;(&amp;(uid=&quot;+user+&quot;)(userPassword={MD5}&quot;+base64(pack(&quot;H*&quot;,md5(pass)))+&quot;))&quot;;در این سناریو با ارسال مقادیر زیر به عنوان نام‌کاربری و رمز عبور:user=*) (uid=*))(| (uid=*
pass=passwordپرس‌وجو به صورت زیر در خواهد آمد:searchlogin=&quot;(&amp;(uid=*)(uid=*))(|(uid=*)(userPassword{MD5}X03MO1qnZdYdgyfeuILPmQ==))&quot;;این پرس‌وجو همواره صحیح است بنابراین کاربر می‌تواند با استفاده از ورودی‌های حساب‌شده بدون دانستن رمزعبور به سیستم وارد شود.مثال ۳.سایت ringzer0team یک سایت برای تمرین و آماده‌سازی تیم‌ها برای مسابقات فتح‌پرچم است. با توجه به اهمیت تزریق LDAP یکی از چالش‌های این سایت نیز به بررسی همین موضوع پرداخته است. در این چالش همان طور که در شکل مشاهده می‌شود حمله‌کننده باید تلاش کند بدون دانستن رمز عبور صفحه لاگین را با موفقیت submit کند. پس از ورود موفقیت آمیز سایت پرچم را در اختیار حمله‌کننده قرار خواهد داد:صفحه چالش در سایت ringzer0teamدر این چالش می‌توان با نام‌کاربری admin و رمزعبور «*» بدون دانستن رمز عبور در سایت لاگین کرد و پرچم را دریافت نمود.به دست آوردن پرچم بدون داشتن نام‌کاربری و رمز عبورمقابله به حمله تزریق ال‌دپحمله تزریق ال‌دپ در سال‌های اخیر بسیار فراگیر شده است؛ دلیل فراگیری این حملات عبارت است از:استفاده از رابط‌های نامناسب و ناامن برای تولید و استفاده از پرس‌وجوهای ال‌دپاستفاده فراگیر از ال‌دپ برای احراز هویت در اکثر سامانه‌های مدیریت متمرکزدر اولین قدم برای جلوگیری از این حمله باید از چارچوب‌های نرم‌افزاری امن و استاندارد استفاده کرد. در قدم دوم باید حتما از اعتبارسنجی مناسب ورودی‌ها اطمینان حاصل کرد. برای این کار می‌توان از ورود کاراکترهایی نظیر «*» جلوگیری کرد.مراجعمستند OWASP؛ «OWASP Testing Guide v3»؛ صفحه ۲۴۱سایت ringzer0teamسایت OWASP؛ مستند «LDAP Injection Prevention Cheat Sheet»؛ مطالعه بیشتر</description>
                <category>مهدی فولادگر</category>
                <author>مهدی فولادگر</author>
                <pubDate>Fri, 25 May 2018 16:23:56 +0430</pubDate>
            </item>
            </channel>
</rss>