ইংরেজিফরাসিস্প্যানিশ

Ad


অনওয়ার্কস ফেভিকন

ফ্লাফাইন্ডার - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks ফ্রি হোস্টিং প্রদানকারীতে ফ্লাফাইন্ডার চালান

এটি হল কমান্ড ফ্লাফাইন্ডার যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


ফ্লাফাইন্ডার - আভিধানিকভাবে সোর্স কোডে সম্ভাব্য নিরাপত্তা ত্রুটি ("হিট") খুঁজে বের করুন

সাইনোপিসিস


ফ্লাফাইন্ডার [--help|-h] [--সংস্করণ] [-- তালিকা]
[--অনুমতি লিঙ্ক] [--followdotdir] [--কোন সংযোগ নেই]
[--প্যাচ=ফাইলের নাম|-P ফাইলের নাম]
[--ইনপুট|-I] [ --মিনলেভেল=X | -m X ] [--ইতিবাচক মিথ্যা|-F]
[-- কখনো অবহেলা করবেন না|-n]
[--regex=দৃষ্টান্ত | -e দৃষ্টান্ত]
[--প্রসঙ্গ|-c] [--কলাম|-C] [--ডেটামাত্র|-D] [--html|-H] [-- অবিলম্বে|-i]
[--সপ্তাহের দিন|-S] [-- বাদ দেওয়ার সময়] [-- শান্ত|-Q]
[--লোডহিটলিস্ট=F] [--savehitlist=F] [--ডিফহিটলিস্ট=F]
[--] [ উৎস কোড ফাইল or উৎস শিকড় ডিরেক্টরি ]+

বর্ণনাঃ


Flawfinder C/C++ সোর্স কোডের মাধ্যমে সম্ভাব্য নিরাপত্তা ত্রুটির জন্য অনুসন্ধান করে। প্রতি
ফ্লাফাইন্ডার চালান, কেবল ফ্লাফাইন্ডারকে ডিরেক্টরি বা ফাইলগুলির একটি তালিকা দিন। প্রতিটি ডিরেক্টরির জন্য
প্রদত্ত, সেই ডিরেক্টরিতে C/C++ ফাইলের নাম এক্সটেনশন রয়েছে এমন সমস্ত ফাইল (এবং এর
সাবডিরেক্টরিগুলি, পুনরাবৃত্তিমূলকভাবে) পরীক্ষা করা হবে। এইভাবে, বেশিরভাগ প্রকল্পের জন্য, সহজভাবে দিন
ফ্লাফাইন্ডার সোর্স কোডের শীর্ষস্থানীয় ডিরেক্টরির নাম (কারেন্টের জন্য ``.'' ব্যবহার করুন
ডিরেক্টরি), এবং ফ্লাফাইন্ডার প্রকল্পের সমস্ত C/C++ সোর্স কোড পরীক্ষা করবে। আপনি যদি
শুধুমাত্র পেতে চান পরিবর্তনগুলি পর্যালোচনা করা হয়েছে, সেই পরিবর্তনগুলির একটি ইউনিফাইড পার্থক্য সংরক্ষণ করুন (GNU দ্বারা নির্মিত
একটি প্যাচ ফাইলে "diff -u" বা "svn diff" বা "git diff") এবং --patch (-P) বিকল্পটি ব্যবহার করুন।

ফ্লাফাইন্ডার ঝুঁকি অনুসারে সাজানো ``হিট'' (সম্ভাব্য নিরাপত্তা ত্রুটি) তালিকা তৈরি করবে; দ্য
ঝুঁকিপূর্ণ হিট প্রথম দেখানো হয়. ঝুঁকির মাত্রা বর্গাকার বন্ধনীর ভিতরে দেখানো হয় এবং পরিবর্তিত হয়
0 থেকে, খুব কম ঝুঁকি, 5 থেকে, বড় ঝুঁকি। এই ঝুঁকি স্তর শুধুমাত্র উপর নির্ভর করে না
ফাংশন, কিন্তু ফাংশনের প্যারামিটারের মানের উপর। উদাহরণস্বরূপ, ধ্রুবক
স্ট্রিংগুলি প্রায়শই সম্পূর্ণ পরিবর্তনশীল স্ট্রিংগুলির তুলনায় কম ঝুঁকিপূর্ণ হয় অনেক প্রসঙ্গে এবং সেগুলিতে৷
প্রেক্ষাপটে আঘাতের ঝুঁকি কম থাকবে। ফ্লাফাইন্ডার গেটটেক্সট সম্পর্কে জানে (একটি সাধারণ
আন্তর্জাতিকীকৃত প্রোগ্রামের জন্য লাইব্রেরি) এবং ধ্রুবক স্ট্রিং-এর মধ্য দিয়ে যাওয়াকে চিকিত্সা করবে
gettext যেন তারা ধ্রুবক স্ট্রিং; এটি মিথ্যা হিটের সংখ্যা হ্রাস করে
আন্তর্জাতিক প্রোগ্রাম। ফ্লাফাইন্ডার _T() এবং এর সাথে একই ধরণের জিনিস করবে
_TEXT(), আন্তর্জাতিক প্রোগ্রাম পরিচালনার জন্য সাধারণ মাইক্রোসফ্ট ম্যাক্রো। ফ্লাফাইন্ডার
সঠিকভাবে মন্তব্য এবং স্ট্রিং ভিতরে অধিকাংশ পাঠ্য উপেক্ষা. সাধারণত ফ্লাফাইন্ডার সব দেখায়
কমপক্ষে 1 এর ঝুঁকি স্তর সহ হিট, তবে আপনি শুধুমাত্র দেখানোর জন্য --minlevel বিকল্পটি ব্যবহার করতে পারেন
আপনি যদি চান উচ্চ ঝুঁকি মাত্রা সঙ্গে হিট. হিট বর্ণনা প্রাসঙ্গিক সাধারণ নোট
দুর্বলতা গণনা (CWE) শনাক্তকারী(গুলি) বন্ধনীতে, যেমনটি নীচে আলোচনা করা হয়েছে। ফ্লাফাইন্ডার
আনুষ্ঠানিকভাবে CWE- সামঞ্জস্যপূর্ণ।

প্রতিটি আঘাত আসলে একটি নিরাপত্তা দুর্বলতা নয়, এবং প্রতিটি নিরাপত্তা দুর্বলতা নয়
অগত্যা পাওয়া যায়। তবুও, ফ্লাফাইন্ডার খুঁজে পেতে এবং অপসারণ করতে সাহায্য করতে পারে
নিরাপত্তা দুর্বলতা। ফ্লাফাইন্ডার ব্যবহার করার একটি সাধারণ উপায় হল প্রথমে ফ্লাফাইন্ডার প্রয়োগ করা
সোর্স কোডের একটি সেট এবং সর্বোচ্চ ঝুঁকিপূর্ণ আইটেম পরীক্ষা করুন। তারপর, পরীক্ষা করার জন্য --inputs ব্যবহার করুন
ইনপুট অবস্থান, এবং শুধুমাত্র আইনি এবং নিরাপদ ইনপুট মান আছে তা নিশ্চিত করতে পরীক্ষা করুন
অবিশ্বস্ত ব্যবহারকারীদের কাছ থেকে গৃহীত।

একবার আপনি একটি প্রোগ্রাম অডিট করে নিলে, আপনি সোর্স কোড লাইনগুলি চিহ্নিত করতে পারেন যা আসলে ঠিক আছে কিন্তু
বানোয়াট সতর্কতা সৃষ্টি করুন যাতে ফ্লাফাইন্ডার তাদের সম্পর্কে অভিযোগ করা বন্ধ করে দেয়। চিহ্নিত করা a
লাইন যাতে এই সতর্কতাগুলিকে চাপা দেওয়া হয়, একটি বিশেষভাবে বিন্যাসিত মন্তব্য রাখুন
একই লাইন (সোর্স কোডের পরে) বা আগের লাইনে নিজেই সব। মন্তব্যটি
নিম্নলিখিত দুটি ফরম্যাটের মধ্যে একটি থাকতে হবে:

· // ফ্লাফাইন্ডার: উপেক্ষা করুন

· /* ফ্লাফাইন্ডার: উপেক্ষা করুন */

সামঞ্জস্যের জন্য, আপনি "ফ্লাফাইন্ডার:" এর পরিবর্তে "ITS4:" বা "RATS:" এর সাথে পরিবর্তন করতে পারেন
বিশেষভাবে ফরম্যাট করা মন্তব্য। যেহেতু এটা সম্ভব যে এই ধরনের লাইনগুলি ভুল, আপনি ব্যবহার করতে পারেন
--neverignore অপশন, যার কারণে ফ্লাফাইন্ডার কখনোই কোনো লাইন উপেক্ষা করে না
মন্তব্যের নির্দেশাবলী বলে (আরো বিভ্রান্তিকরভাবে, -- কখনোই উপেক্ষা করা উপেক্ষা করে না)।

ফ্লাফাইন্ডার একটি অভ্যন্তরীণ ডাটাবেস ব্যবহার করে যাকে বলা হয় `রুলসেট'; বিধিমালা চিহ্নিত করে
ফাংশন যা নিরাপত্তা ত্রুটির সাধারণ কারণ। স্ট্যান্ডার্ড রুলসেট একটি বড় অন্তর্ভুক্ত
বিভিন্ন সম্ভাব্য সমস্যাগুলির সংখ্যা, উভয় সাধারণ সমস্যা সহ যেগুলি যে কোনওটিকে প্রভাবিত করতে পারে৷
সি/সি++ প্রোগ্রাম, সেইসাথে নির্দিষ্ট ইউনিক্স-এর মতো এবং উইন্ডোজ ফাংশনগুলির একটি সংখ্যা
বিশেষ করে সমস্যাযুক্ত। --listrules বিকল্প বর্তমান নিয়মের তালিকা এবং রিপোর্ট করে
তাদের ডিফল্ট ঝুঁকির মাত্রা। উপরে উল্লিখিত হিসাবে, প্রতিটি সম্ভাব্য নিরাপত্তা ত্রুটি একটি প্রদত্ত পাওয়া যায়
সোর্স কোড ফাইল (রুলসেটে একটি এন্ট্রির সাথে মিলে যাওয়া) কে বলা হয় ``হিট,'' এবং এর সেট
প্রোগ্রামের যে কোনো বিশেষ রানের সময় যে হিট পাওয়া যায় তাকে বলা হয় ``হিটলিস্ট।' হিটলিস্ট
সংরক্ষণ করা যেতে পারে (--savehitlist ব্যবহার করে), পুনরায় প্রদর্শনের জন্য পুনরায় লোড করা যেতে পারে (--loadhitlist ব্যবহার করে), এবং
আপনি শুধুমাত্র হিটগুলি দেখাতে পারেন যা অন্য রানের থেকে আলাদা (--diffhitlist ব্যবহার করে)।

ফ্লাফাইন্ডার হল একটি সহজ টুল, যা কিছু মৌলিক সুবিধা এবং অসুবিধার দিকে নিয়ে যায়। ফ্লাফাইন্ডার কাজ করে
সহজ আভিধানিক টোকেনাইজেশন করে (মন্তব্য এড়িয়ে যাওয়া এবং সঠিকভাবে স্ট্রিং টোকেনাইজ করা),
ডাটাবেসের সাথে টোকেন মিল খুঁজছেন (বিশেষ করে ফাংশন কল খুঁজে পেতে)।
ফ্লাফাইন্ডার এইভাবে RATS এবং ITS4 এর অনুরূপ, যা সাধারণ আভিধানিক টোকেনাইজেশনও ব্যবহার করে।
ফ্লাফাইন্ডার তারপর ঝুঁকি অনুমান করার জন্য ফাংশন প্যারামিটারের পাঠ্য পরীক্ষা করে। অপছন্দ
সরঞ্জাম যেমন স্প্লিন্ট, জিসিসির সতর্কতা ফ্ল্যাগ এবং ক্ল্যাং, ফ্লাফাইন্ডার করে না ব্যবহার বা আছে
অনুসন্ধান করার সময় নিয়ন্ত্রণ প্রবাহ, ডেটা প্রবাহ, বা ডেটা প্রকার সম্পর্কে তথ্যের অ্যাক্সেস
সম্ভাব্য দুর্বলতা বা ঝুঁকির মাত্রা অনুমান করা। এইভাবে, ফ্লাফাইন্ডার হবে
অগত্যা দুর্বলতার জন্য অনেক মিথ্যা ইতিবাচক উত্পাদন করে এবং অনেকগুলি রিপোর্ট করতে ব্যর্থ হয়
দুর্বলতা অন্যদিকে, ফ্লাফাইন্ডার প্রোগ্রামগুলিতে দুর্বলতা খুঁজে পেতে পারে
নির্মাণ করা যাবে না বা লিঙ্ক করা যাবে না. এটি প্রায়ই এমন প্রোগ্রামগুলির সাথে কাজ করতে পারে যা হতে পারে না
সংকলিত (অন্তত পর্যালোচনাকারীর সরঞ্জাম দ্বারা)। ফ্লাফাইন্ডারও বিভ্রান্ত হয় না
ম্যাক্রো সংজ্ঞা এবং অন্যান্য অদ্ভুততা যা আরও পরিশীলিত সরঞ্জামগুলির সাথে সমস্যা হয়।
ফ্লাফাইন্ডার স্ট্যাটিক বিশ্লেষণ সরঞ্জামগুলির একটি সাধারণ ভূমিকা হিসাবেও কার্যকর হতে পারে
সাধারণ, যেহেতু এটি ব্যবহার করা শুরু করা সহজ এবং বোঝা সহজ।

কমান্ড লাইনে প্রদত্ত যেকোন ফাইলের নাম পরীক্ষা করা হবে (এমনকি যদি এটি একটি স্বাভাবিক না থাকে
C/C++ ফাইলের নাম এক্সটেনশন); এইভাবে আপনি ফ্লাফাইন্ডারকে আপনার কোনো নির্দিষ্ট ফাইল পরীক্ষা করতে বাধ্য করতে পারেন
ইচ্ছা. পুনরাবৃত্তভাবে ডিরেক্টরি অনুসন্ধান করার সময়, ফ্লাফাইন্ডার শুধুমাত্র খোলে এবং পরীক্ষা করে
C/C++ ফাইলের নাম এক্সটেনশন আছে এমন নিয়মিত ফাইল। ফ্লাফাইন্ডার অনুমান করে যে ফাইলগুলি
C/C++ ফাইলগুলির যদি এক্সটেনশন থাকে ".c", ".h", ".ec", ".ecp", ".pgc", ".C", ".cpp",
".CPP", ".cxx", ".cc", ".CC", ".pcc", ".hpp", বা ".H"। ফাইলের নাম ``-'' মানে
স্ট্যান্ডার্ড ইনপুট। নিরাপত্তা সমস্যা প্রতিরোধ করতে, বিশেষ ফাইল (যেমন ডিভাইস বিশেষ ফাইল
এবং নামযুক্ত পাইপগুলি) সর্বদা এড়িয়ে যায় এবং ডিফল্টরূপে প্রতীকী লিঙ্কগুলি এড়িয়ে যায় (দি
--allowlink বিকল্পটি প্রতীকী লিঙ্ক অনুসরণ করে)।

হিট তালিকার পরে ফলাফলের একটি সংক্ষিপ্ত সারাংশ (এটি সরাতে -D ব্যবহার করুন
তথ্য)। এটি হিট সংখ্যা, লাইন বিশ্লেষণ (wc -l দ্বারা রিপোর্ট হিসাবে) দেখাবে, এবং
কোডের ভৌত উৎস লাইন (SLOC) বিশ্লেষণ করা হয়েছে। একটি ভৌত ​​SLOC হল একটি অ-শূন্য, অ-
মন্তব্য লাইন। এটি তারপর প্রতিটি স্তরে হিট সংখ্যা দেখাবে; মনে রাখবেন যে সেখানে থাকবে
minlevel (ডিফল্টরূপে 1) থেকে কম স্তরে কখনই হিট হবেন না। সুতরাং, "[0] 0 [1] 9"
মানে লেভেল 0 এ 0 হিট রিপোর্ট করা হয়েছে এবং লেভেল 1 এ 9 হিট হয়েছে
রিপোর্ট এটি পরবর্তীতে একটি প্রদত্ত স্তরে বা তার চেয়ে বড় হিটের সংখ্যা দেখাবে (তাই স্তর 3+
লেভেল 3, 4, এবং 5 এ হিট সংখ্যার যোগফল আছে)। সুতরাং, "[0+] 37" এর একটি এন্ট্রি
দেখায় যে 0 বা উচ্চতর স্তরে 37টি হিট ছিল (0+ এন্ট্রি সর্বদা একই হবে
উপরের "হিট" সংখ্যা হিসাবে)। KSLOC প্রতি হিট পরবর্তীতে দেখানো হয়েছে; এটি প্রতিটি "স্তর বা
উচ্চতর" মানগুলিকে 1000 দ্বারা গুণিত করে এবং প্রকৃত SLOC দ্বারা ভাগ করা হয়৷ যদি সিমলিঙ্কগুলি হত
বাদ দেওয়া হয়েছে, সেগুলির গণনা রিপোর্ট করা হয়েছে। যদি হিট দমন করা হয় ("উপেক্ষা" ব্যবহার করে
উপরে বর্ণিত সোর্স কোড মন্তব্যে নির্দেশিকা), চাপা সংখ্যা রিপোর্ট করা হয়েছে।
রিপোর্টে অন্তর্ভুক্ত করার জন্য ন্যূনতম ঝুঁকির স্তর প্রদর্শিত হয়; ডিফল্টরূপে এটি 1
(এটি পরিবর্তন করতে --minlevel ব্যবহার করুন)। সারাংশ গুরুত্বপূর্ণ অনুস্মারক দিয়ে শেষ হয়: প্রতিটি হিট নয়
অগত্যা একটি নিরাপত্তা দুর্বলতা, এবং অন্যান্য নিরাপত্তা দুর্বলতা থাকতে পারে
টুল দ্বারা রিপোর্ট করা হয় না।

ফ্লাফাইন্ডার GNU GPL লাইসেন্স সংস্করণ 2 বা তার পরবর্তী (GPLv2+) অধীনে প্রকাশিত হয়েছে।

Flawfinder অন্য একটি প্রোগ্রাম, ITS4 অনুরূপ কাজ করে, যা সম্পূর্ণরূপে ওপেন সোর্স নয়
সফ্টওয়্যার (ওপেন সোর্স সংজ্ঞায় সংজ্ঞায়িত) বা বিনামূল্যের সফ্টওয়্যার (যেমন দ্বারা সংজ্ঞায়িত করা হয়েছে
ফ্রি সফটওয়্যার ফাউন্ডেশন)। Flawfinder এর লেখক ITS4 এর সোর্স কোড দেখেননি।

সংক্ষিপ্ত টিউটোরিয়াল


ফ্লাফাইন্ডার কীভাবে ব্যবহার করা যেতে পারে তার একটি সংক্ষিপ্ত উদাহরণ এখানে। কল্পনা করুন যে আপনার কাছে C/C++ আছে
xyzzy নামের কিছু প্রোগ্রামের জন্য সোর্স কোড (যা আপনি লিখতে পারেন বা নাও থাকতে পারেন), এবং
আপনি নিরাপত্তা দুর্বলতার জন্য অনুসন্ধান করছেন (তাই আপনি গ্রাহকদের আগে তাদের ঠিক করতে পারেন
দুর্বলতার সম্মুখীন হওয়া)। এই টিউটোরিয়ালের জন্য, আমি অনুমান করব যে আপনি একটি ইউনিক্স ব্যবহার করছেন-
যেমন লিনাক্স, ওপেনবিএসডি বা ম্যাকওএস এক্স।

যদি সোর্স কোডটি xyzzy নামে একটি সাবডিরেক্টরিতে থাকে, আপনি সম্ভবত একটি খোলার মাধ্যমে শুরু করবেন
টেক্সট উইন্ডো এবং ফ্লাফাইন্ডারের ডিফল্ট সেটিংস ব্যবহার করে, প্রোগ্রামটি বিশ্লেষণ করতে এবং একটি রিপোর্ট করতে
সম্ভাব্য নিরাপত্তা দুর্বলতার অগ্রাধিকার তালিকা (`` কম'' শুধু নিশ্চিত করে
ফলাফল স্ক্রিনে থাকে):
ফ্লাফাইন্ডার xyzzy | কম

এই মুহুর্তে, আপনি প্রচুর সংখ্যক এন্ট্রি দেখতে পাবেন। প্রতিটি এন্ট্রির একটি ফাইলের নাম আছে, a
কোলন, একটি লাইন নম্বর, বন্ধনীতে একটি ঝুঁকির স্তর (যেখানে 5 সবচেয়ে ঝুঁকিপূর্ণ), একটি বিভাগ,
ফাংশনের নাম, এবং ফ্লাফাইন্ডার কেন লাইনটিকে একটি বলে মনে করে তার একটি বর্ণনা
দুর্বলতা ফ্লাফাইন্ডার সাধারণত ঝুঁকির স্তর অনুসারে বাছাই করে, প্রথমে সবচেয়ে ঝুঁকিপূর্ণ আইটেমগুলি দেখায়;
আপনার যদি সীমিত সময় থাকে তবে সবচেয়ে ঝুঁকিপূর্ণ আইটেমগুলিতে কাজ শুরু করা সম্ভবত ভাল এবং
আপনার সময় শেষ না হওয়া পর্যন্ত চালিয়ে যান। আপনি যদি ডিসপ্লেকে ঝুঁকির মধ্যে সীমাবদ্ধ করতে চান তবে শুধুমাত্র ক
নির্দিষ্ট ঝুঁকি স্তর বা উচ্চতর, --minlevel বিকল্প ব্যবহার করুন। যদি আপনি একটি পেয়ে থাকেন
অস্বাভাবিক সংখ্যক মিথ্যা ইতিবাচক কারণ পরিবর্তনশীল নামগুলি বিপজ্জনক মনে হয়
ফাংশনের নাম, তাদের সম্পর্কে প্রতিবেদনগুলি সরাতে -F বিকল্পটি ব্যবহার করুন। না বুঝলে
ত্রুটি বার্তা, যেমন নথি দেখুন লেখা নিরাপদ প্রোগ্রাম উন্নত লিনাক্স এবং
ইউনিক্স কিভাবেhttp://www.dwheeler.com/secure-programs⟩ এ http://www.dwheeler.com/secure-
প্রোগ্রাম যা সুরক্ষিত প্রোগ্রাম লেখার উপর আরো তথ্য প্রদান করে।

একবার আপনি সমস্যাটি সনাক্ত করে এবং এটি বুঝতে পারলে, আপনি এটি ঠিক করতে পারেন। মাঝে মাঝে আপনিও পারেন
বিশ্লেষণ পুনরায় করতে চান, উভয় কারণ লাইন সংখ্যা পরিবর্তন হবে এবং নিশ্চিত করুন
যে নতুন কোড এখনও একটি ভিন্ন দুর্বলতা প্রবর্তন করে না।

আপনি যদি নির্ধারণ করে থাকেন যে কিছু লাইন আসলেই কোনো সমস্যা নয়, এবং আপনি এটি সম্পর্কে নিশ্চিত, আপনি করতে পারেন
সন্নিবেশ করান ঠিক আগে বা আপত্তিকর লাইন একটি মত মন্তব্য
/* ফ্লাফাইন্ডার: উপেক্ষা করুন */
আউটপুটে দেখানো থেকে তাদের রাখা.

একবার আপনি এটি সম্পন্ন করার পরে, আপনাকে ফিরে যেতে হবে এবং প্রোগ্রামের ইনপুটগুলি অনুসন্ধান করতে হবে
নিশ্চিত করুন যে প্রোগ্রাম দৃঢ়ভাবে তার অবিশ্বস্ত ইনপুট কোনো ফিল্টার. ফ্লাফাইন্ডার পারে
--inputs বিকল্প ব্যবহার করে অনেক প্রোগ্রাম ইনপুট সনাক্ত করুন, যেমন:
ফ্লাফাইন্ডার -- ইনপুট xyzzy

ফ্লাফাইন্ডার টেক্সট এডিটর এবং ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্টের সাথে ভালোভাবে সংহত করতে পারে;
আরও তথ্যের জন্য উদাহরণ দেখুন।

Flawfinder-এর এইচটিএমএল সংস্করণ তৈরি করা সহ অন্যান্য অনেক বিকল্প রয়েছে
আউটপুট (সুন্দর প্রদর্শনের জন্য দরকারী)। পরবর্তী বিভাগে সেই বিকল্পগুলিকে আরও বর্ণনা করা হয়েছে
বিস্তারিত।

বিকল্প


ফ্লাফাইন্ডারের অনেকগুলি বিকল্প রয়েছে, যেগুলিকে নিজের নিয়ন্ত্রণকারী বিকল্পগুলিতে গোষ্ঠীভুক্ত করা যেতে পারে
ডকুমেন্টেশন, ইনপুট ডেটা নির্বাচন করুন, কোন হিটগুলি প্রদর্শন করতে হবে তা নির্বাচন করুন, আউটপুট বিন্যাস নির্বাচন করুন,
এবং হিটলিস্ট ব্যবস্থাপনা সঞ্চালন. ফ্লাফাইন্ডারে সংজ্ঞায়িত স্ট্যান্ডার্ড সিনট্যাক্স সমর্থন করে
POSIX (ইস্যু 7, 2013 সংস্করণ) বিভাগ ``ইউটিলিটি কনভেনশনস'। এটি GNU সমর্থন করে
দীর্ঘ বিকল্প (ফর্মের ডাবল-ড্যাশ বিকল্পগুলি --পছন্দ) হিসাবে সংজ্ঞায়িত গনুহ C লাইব্রেরি
উল্লেখ ম্যানুয়াল ``প্রোগ্রাম আর্গুমেন্ট সিনট্যাক্স কনভেনশনস'' এবং গনুহ কোডিং স্ট্যান্ডার্ড
''কমান্ড লাইন ইন্টারফেসের জন্য মান''। দীর্ঘ বিকল্প আর্গুমেন্ট হিসাবে প্রদান করা যেতে পারে
``--নাম=মান'' বা ``-নাম মান''। কিছু বিকল্প শুধুমাত্র আরো ব্যবহার করে অ্যাক্সেস করা যেতে পারে
পঠনযোগ্য GNU দীর্ঘ বিকল্প কনভেনশন; সাধারণ বিকল্পগুলি পুরানো দ্বারা সমর্থিত
একক-অক্ষর বিকল্প কনভেনশন।

ডকুমেন্টেশন
--help

-h ব্যবহার (সহায়তা) তথ্য দেখান।

--সংস্করণ (শুধু) সংস্করণ নম্বর দেখায় এবং প্রস্থান করে।

-- তালিকা শর্তাবলী (টোকেন) তালিকাভুক্ত করুন যা আরও পরীক্ষা শুরু করে, তাদের ডিফল্ট ঝুঁকি
স্তর, এবং ডিফল্ট সতর্কতা (CWE শনাক্তকারী(গুলি সহ), যদি
প্রযোজ্য), সমস্ত ট্যাব-বিচ্ছিন্ন। শর্তাবলী প্রাথমিকভাবে সম্ভাব্য নাম-
বিপজ্জনক ফাংশন। নোট করুন যে রিপোর্ট করা ঝুঁকির স্তর এবং কিছু জন্য সতর্কতা
নির্দিষ্ট কোড ডিফল্ট থেকে ভিন্ন হতে পারে, শব্দটি কেমন তার উপর নির্ভর করে
ব্যবহৃত আপনি স্বাভাবিক হেডার না চাইলে -D এর সাথে একত্রিত করুন। ফ্লাফাইন্ডার
সংস্করণ 1.29 স্পেস থেকে ট্যাবে বিভাজক পরিবর্তন করেছে এবং ডিফল্ট যোগ করেছে
সতর্কতা ক্ষেত্র।

নির্বাচন ইনপুট উপাত্ত
--অনুমতি লিঙ্ক প্রতীকী লিঙ্ক ব্যবহারের অনুমতি দিন; সাধারণত প্রতীকী লিঙ্কগুলি এড়িয়ে যায়। করবেন না
আপনি যদি অন্যদের দ্বারা কোড বিশ্লেষণ করেন তবে এই বিকল্পটি ব্যবহার করুন; হামলাকারীরা অনেক কিছু করতে পারে
এই বিকল্পটি সক্ষম করে বিশ্লেষণের জন্য সমস্যা সৃষ্টি করে। জন্য
উদাহরণস্বরূপ, একজন আক্রমণকারী ফাইলগুলিতে প্রতীকী লিঙ্ক সন্নিবেশ করতে পারে যেমন / Etc / passwd
(ফাইল সম্পর্কে তথ্য ফাঁস) বা একটি বৃত্তাকার লুপ তৈরি করুন, যা হবে
ফ্লাফাইন্ডারকে `` চিরতরে'' চালানোর কারণ। এটি সক্ষম করার সাথে আরেকটি সমস্যা
বিকল্প হল যদি একই ফাইল একাধিকবার প্রতীকী ব্যবহার করে উল্লেখ করা হয়
লিঙ্ক, এটি একাধিকবার বিশ্লেষণ করা হবে (এবং এইভাবে একাধিকবার রিপোর্ট করা হয়েছে)।
মনে রাখবেন যে ফ্লাফাইন্ডার ইতিমধ্যেই প্রতীকী লিঙ্কগুলির বিরুদ্ধে কিছু সুরক্ষা অন্তর্ভুক্ত করে
বিশেষ ফাইলের ধরন যেমন ডিভাইস ফাইলের ধরন (যেমন, /dev/zero বা
C:\mystuff\com1)। নোট করুন যে ফ্লাফাইন্ডার সংস্করণ 1.01 এবং তার আগে, এটি ছিল
ডিফল্ট.

--followdotdir
যে ডিরেক্টরিগুলির নাম "" দিয়ে শুরু হয় সেগুলি লিখুন৷ সাধারণত এই ধরনের ডিরেক্টরি হয়
উপেক্ষা করা হয়েছে, যেহেতু তারা সাধারণত সংস্করণ নিয়ন্ত্রণ ব্যক্তিগত ডেটা অন্তর্ভুক্ত করে (যেমন
.git/ বা .svn/), কনফিগারেশন, ইত্যাদি।

--কোন সংযোগ নেই উপেক্ষা করা হয়েছে। ঐতিহাসিকভাবে এই অক্ষম নিম্নলিখিত প্রতীকী লিঙ্ক; এই আচরণ
এখন ডিফল্ট।

--প্যাচ=প্যাচফাইল

-P প্যাচফাইল
নির্বাচিত ফাইল বা ডিরেক্টরি পরীক্ষা করুন, কিন্তু শুধুমাত্র সেই লাইনে হিট রিপোর্ট করুন
প্রদত্ত প্যাচ ফাইল দ্বারা যোগ বা সংশোধন করা হয়। প্যাচ ফাইল একটি হতে হবে
স্বীকৃত ইউনিফাইড ডিফ ফরম্যাট (যেমন, GNU এর আউটপুট "diff -u old new",
"svn diff", অথবা "git diff [commit]")। ফ্লাফাইন্ডার প্যাচ আছে যে অনুমান
ইতিমধ্যে ফাইলগুলিতে প্রয়োগ করা হয়েছে। প্যাচ ফাইল এছাড়াও পরিবর্তন অন্তর্ভুক্ত করতে পারে
অপ্রাসঙ্গিক ফাইল (তারা কেবল উপেক্ষা করা হবে)। লাইন নম্বর দেওয়া
প্যাচ ফাইল কোন লাইন পরিবর্তন করা হয়েছে তা নির্ধারণ করতে ব্যবহার করা হয়, তাই যদি আপনার আছে
প্যাচ ফাইল তৈরি হওয়ার পর থেকে ফাইলগুলি সংশোধন করা হয়েছে, প্যাচ ফাইলটি পুনরায় তৈরি করুন
প্রথম সাবধান যে প্যাচ ফাইলে নতুন ফাইলের ফাইলের নাম দেওয়া আছে
আপার/লোয়ার কেস, পাথ প্রিফিক্স এবং ডিরেক্টরি সহ হুবহু মেলে
বিভাজক (\ বনাম /)। শুধুমাত্র ইউনিফাইড ডিফ ফরম্যাট গৃহীত হয় (GNU diff, svn
diff, এবং git diff আউটপুট ঠিক আছে); আপনি একটি ভিন্ন বিন্যাস আছে, আবার
প্রথমে এটি পুনরুত্পাদন করুন। শুধুমাত্র পরিবর্তিত লাইনে যে হিটগুলি ঘটে, বা৷
অবিলম্বে তাদের উপরে এবং নীচে, রিপোর্ট করা হয়. এই বিকল্পটি বোঝায়
-- কখনো অবহেলা করবেন না।

নির্বাচন হিট থেকে প্রদর্শন
--ইনপুট

-I প্রোগ্রামের বাইরে থেকে তথ্য প্রাপ্ত শুধুমাত্র ফাংশন দেখান; এই সেট
0 থেকে minlevel.

--মিনলেভেল=X

-m X হিটলিস্টে অন্তর্ভুক্তির জন্য ন্যূনতম ঝুঁকির স্তর X এ সেট করুন। এটি 0 থেকে হতে পারে (`না
ঝুঁকি '') থেকে 5 (`সর্বোচ্চ ঝুঁকি''); ডিফল্ট হল 1।

--ইতিবাচক মিথ্যা

-F মিথ্যা ইতিবাচক হতে পারে এমন হিটগুলি অন্তর্ভুক্ত করবেন না৷ বর্তমানে, এই মানে
যে ফাংশনের নামগুলি উপেক্ষা করা হয় যদি সেগুলি "(" দ্বারা অনুসরণ না করা হয় এবং এটি
অক্ষর অ্যারের ঘোষণা উল্লেখ করা হয় না. সুতরাং, যদি আপনি একটি পরিবর্তনশীল ব্যবহার করে থাকেন
সর্বত্র "অ্যাক্সেস" নামে, এটি এই সাধারণের উল্লেখগুলিকে মুছে ফেলবে৷
পরিবর্তনশীল এটি ডিফল্ট নয়, কারণ এটি হওয়ার সম্ভাবনাও বাড়িয়ে দেয়
গুরুত্বপূর্ণ হিট অনুপস্থিত; বিশেষ করে, # ডিফাইন ক্লজ এবং কলে ফাংশনের নাম
ফাংশনের মাধ্যমে পয়েন্টার মিস করা হবে।

-- কখনো অবহেলা করবেন না

-n নিরাপত্তা সমস্যাগুলিকে কখনই উপেক্ষা করবেন না, এমনকি যদি তাদের a তে একটি ``উপেক্ষা' নির্দেশনা থাকে
মন্তব্য।

--regexp=দৃষ্টান্ত

-e দৃষ্টান্ত
শুধুমাত্র রেগুলার এক্সপ্রেশন প্যাটার্ন PATTERN এর সাথে মেলে এমন টেক্সট সহ হিট রিপোর্ট করুন।
উদাহরণস্বরূপ, শুধুমাত্র "CWE-120" টেক্সট ধারণকারী হিট রিপোর্ট করতে, ``--regex ব্যবহার করুন
CWE-120''। এই বিকল্প পতাকা নাম grep হিসাবে একই.

নির্বাচন আউটপুট বিন্যাস
--কলাম

-C প্রতিটি হিটের কলাম নম্বর (পাশাপাশি ফাইলের নাম এবং লাইন নম্বর) দেখান;
এটি একটি কোলন এবং কলাম নম্বর যোগ করে লাইন নম্বরের পরে দেখানো হয়
লাইন (একটি লাইনের প্রথম অক্ষরটি কলাম নম্বর 1)। এটি দরকারী
সম্পাদকদের জন্য যারা নির্দিষ্ট কলামে যেতে পারে, বা অন্যদের সাথে একীভূত করার জন্য
টুলস (যেমন যেগুলি মিথ্যা ইতিবাচক ফিল্টার আউট করার জন্য)।

--প্রসঙ্গ

-c প্রসঙ্গ দেখান, অর্থাৎ, যে লাইনে "হিট"/সম্ভাব্য ত্রুটি আছে। ডিফল্টরূপে
সতর্কতার পরে অবিলম্বে লাইন দেখানো হয়।

--ডেটামাত্র

-D হেডার এবং ফুটার প্রদর্শন করবেন না। শুধু দেখতে -- শান্ত সহ এটি ব্যবহার করুন
ডেটা নিজেই।

--html

-H সাধারণ পাঠ্যের পরিবর্তে HTML হিসাবে আউটপুট ফর্ম্যাট করুন।

-- অবিলম্বে

-i অবিলম্বে হিট প্রদর্শন (শুধু শেষ পর্যন্ত অপেক্ষা করবেন না)।

--সপ্তাহের দিন

-S প্রতিটি হিটের জন্য পাঠ্য আউটপুটের একক লাইন হিসাবে প্রদর্শন করুন। মিথস্ক্রিয়া জন্য দরকারী
সংকলন সরঞ্জাম সহ।

-- বাদ দেওয়ার সময় সময়ের তথ্য বাদ দিন। এটি ফ্লাফাইন্ডারের রিগ্রেশন পরীক্ষার জন্য দরকারী
নিজেই, যাতে আউটপুট বিশ্লেষণ কতক্ষণের উপর নির্ভর করে পরিবর্তিত হয় না
লাগে.

-- শান্ত

-Q অবস্থার তথ্য প্রদর্শন করবেন না (যেমন, কোন ফাইলগুলি পরীক্ষা করা হচ্ছে)
বিশ্লেষণ চলছে।

হিট তালিকা ম্যানেজমেন্ট
--savehitlist=F
ফলস্বরূপ সমস্ত হিট ("হিটলিস্ট") F এ সংরক্ষণ করুন।

--লোডহিটলিস্ট=F
উত্স প্রোগ্রাম বিশ্লেষণের পরিবর্তে F থেকে হিটলিস্ট লোড করুন। সতর্কতা: করুন না
অবিশ্বস্ত উৎস থেকে হিটলিস্ট লোড করুন (নিরাপত্তার কারণে)।

--ডিফহিটলিস্ট=F
শুধুমাত্র হিটগুলি দেখান (লোড করা বা বিশ্লেষণ করা) F তে নয়। F সম্ভবত তৈরি করা হয়েছিল
পূর্বে ব্যবহার করা হয়েছে --savehitlist. সতর্কতা: করুন না অবিশ্বস্ত থেকে ভিন্ন হিটলিস্ট
সূত্র (নিরাপত্তার কারণে)। যদি --loadhitlist বিকল্প প্রদান করা না হয়,
এটি বিশ্লেষণ করা সোর্স কোড ফাইলগুলিতে হিট দেখাবে যা ছিল না
পূর্বে F-তে সংরক্ষিত। --loadhitlist-এর সাথে ব্যবহার করা হলে, এটি দেখাবে
লোডেড হিটলিস্টে হিট এফ-এ নয়। পার্থক্য হল অ্যালগরিদম
রক্ষণশীল হিটগুলিকে শুধুমাত্র ``একই'' বলে গণ্য করা হয় যদি তাদের একই থাকে
ফাইলের নাম, লাইন নম্বর, কলামের অবস্থান, ফাংশনের নাম এবং ঝুঁকির স্তর।

উদাহরণ


ফ্লাফাইন্ডারকে কীভাবে আহ্বান করতে হয় তার বিভিন্ন উদাহরণ এখানে রয়েছে। প্রথম উদাহরণ বিভিন্ন দেখান
সহজ কমান্ড লাইন বিকল্প। Flawfinder টেক্সট এডিটর এবং সঙ্গে ভাল কাজ করার জন্য ডিজাইন করা হয়েছে
ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট, তাই পরবর্তী বিভাগগুলি দেখায় কিভাবে ফ্লাফাইন্ডারকে সংহত করতে হয়
vim এবং emacs-এ।

সহজ কম্যান্ড-লাইন অপশন
ফ্লাফাইন্ডার /usr/src/linux-3.16
ডিরেক্টরির /usr/src/linux-3.16 এবং এর সমস্ত C/C++ ফাইল পরীক্ষা করুন
সাবডিরেক্টরিগুলি (পুনরাবৃত্তভাবে), পাওয়া সমস্ত হিটের রিপোর্টিং। গতানুগতিক
ফ্লাফাইন্ডার নামের সাথে শুরু হওয়া প্রতীকী লিঙ্ক এবং ডিরেক্টরিগুলি এড়িয়ে যাবে
একটি সময়কাল

ফ্লাফাইন্ডার --মিন লেভেল=4 .
বর্তমান ডিরেক্টরি এবং এর সাবডিরেক্টরিতে সমস্ত C/C++ ফাইল পরীক্ষা করুন
(পুনরাবৃত্তভাবে); শুধুমাত্র দুর্বলতা লেভেল 4 এবং তার উপরে রিপোর্ট করুন (দুটি সর্বোচ্চ
ঝুঁকির মাত্রা)।

ফ্লাফাইন্ডার --ইনপুট mydir
মাইডির এবং এর সাবডিরেক্টরিতে সমস্ত C/C++ ফাইল পরীক্ষা করুন (পুনরাবৃত্তভাবে), এবং
ইনপুট গ্রহণকারী ফাংশনগুলি রিপোর্ট করুন (যাতে আপনি নিশ্চিত করতে পারেন যে তারা ফিল্টার করে
যথাযথভাবে ইনপুট)।

ফ্লাফাইন্ডার -- কখনো অবহেলা করবেন না mydir
mydir এবং এর সাবডিরেক্টরিতে থাকা সমস্ত C/C++ ফাইল পরীক্ষা করুন,
এমনকি কোড মন্তব্যে উপেক্ষা করার জন্য চিহ্নিত হিটগুলি সহ।

ফ্লাফাইন্ডার -কিউডি mydir
mydir পরীক্ষা করুন এবং শুধুমাত্র প্রকৃত ফলাফল রিপোর্ট করুন (শিরোনাম অপসারণ এবং
আউটপুটের ফুটার)। এই ফর্মটি উপযোগী যদি আউটপুটটি পাইপ করা হয়
আরও বিশ্লেষণের জন্য অন্যান্য সরঞ্জাম। -C (--কলাম) এবং -S (--একক লাইন)
আপনি যদি অন্যান্য সরঞ্জামগুলিতে ডেটা পাইপ করছেন তবে বিকল্পগুলিও কার্যকর হতে পারে।

ফ্লাফাইন্ডার -কিউডিএসসি mydir
mydir পরীক্ষা করুন, শুধুমাত্র প্রকৃত ফলাফল রিপোর্ট করুন (কোন শিরোনাম বা পাদলেখ নেই)। প্রতিটি
হিট এক লাইনে রিপোর্ট করা হয়, এবং কলাম সংখ্যা রিপোর্ট করা হয়। এই একটি হতে পারে
আপনি যদি অন্য সরঞ্জামগুলিতে ফ্লাফাইন্ডার আউটপুট খাওয়ান তবে দরকারী কমান্ড।

ফ্লাফাইন্ডার -- শান্ত --html --প্রসঙ্গ mydir > ফলাফল.html
mydir এবং এর সাবডিরেক্টরিতে থাকা সমস্ত C/C++ ফাইল পরীক্ষা করুন এবং
ফলাফলের একটি এইচটিএমএল ফর্ম্যাট সংস্করণ তৈরি করে। সোর্স কোড ম্যানেজমেন্ট
সিস্টেম (যেমন SourceForge এবং Savannah) এইরকম একটি কমান্ড ব্যবহার করতে পারে।

ফ্লাফাইন্ডার -- শান্ত --সেভহিটলিস্ট saved.hits *.[সিএইচ]
বর্তমান ডিরেক্টরির সমস্ত .c এবং .h ফাইল পরীক্ষা করুন। রিপোর্ট করবেন না
প্রক্রিয়াকরণের স্থিতি, এবং ফলস্বরূপ হিটলিস্ট (সমস্ত হিটের সেট) সংরক্ষণ করুন
ফাইল saved.hits.

ফ্লাফাইন্ডার -- ডিফহিটলিস্ট saved.hits *.[সিএইচ]
বর্তমান ডিরেক্টরির সমস্ত .c এবং .h ফাইলগুলি পরীক্ষা করুন এবং যে কোনও হিট দেখান৷
ইতিমধ্যে saved.hits ফাইলে ছিল না। এটি শুধুমাত্র দেখানোর জন্য ব্যবহার করা যেতে পারে
একটি পরিবর্তিত প্রোগ্রামে ``নতুন' দুর্বলতা, যদি saved.hits থেকে তৈরি করা হয়
প্রোগ্রামের পুরানো সংস্করণ বিশ্লেষণ করা হচ্ছে।

ফ্লাফাইন্ডার --প্যাচ সাম্প্রতিক.প্যাচ .
বর্তমান ডিরেক্টরিটি পুনরাবৃত্তভাবে পরীক্ষা করে দেখুন, কিন্তু শুধুমাত্র যে লাইনগুলি ছিল তা রিপোর্ট করুন
ইতিমধ্যেই প্রয়োগ করা প্যাচফাইলে পরিবর্তন বা যোগ করা হয়েছে সাম্প্রতিক.প্যাচ.

ফ্লাফাইন্ডার --regex "CWE-120|CWE-126" src /
ডিরেক্টরি পরীক্ষা করুন src পুনরাবৃত্তিমূলকভাবে, কিন্তু শুধুমাত্র হিট রিপোর্ট যেখানে CWE-120 বা
CWE-126 প্রয়োগ করুন।

invoking থেকে তেজ
টেক্সট এডিটর ভিম একটি "কুইকফিক্স" মেকানিজম অন্তর্ভুক্ত করে যা ফ্লাফাইন্ডারের সাথে ভাল কাজ করে, তাই
যাতে আপনি সহজেই সতর্কতা বার্তা দেখতে পারেন এবং প্রাসঙ্গিক সোর্স কোডে যেতে পারেন।

প্রথমত, আপনাকে হিটগুলির একটি তালিকা তৈরি করতে ফ্লাফাইন্ডারকে আহ্বান করতে হবে এবং দুটি উপায় রয়েছে
এটা কর. প্রথম উপায় হল প্রথমে ফ্লাফাইন্ডার শুরু করা এবং তারপর (এর আউটপুট ব্যবহার করে) আহ্বান করা
vim দ্বিতীয় উপায় হল vim শুরু করা (বা চালানো চালিয়ে যাওয়া) এবং তারপরে ফ্লাফাইন্ডারকে আহ্বান করা
(সাধারণত ভিমের ভিতর থেকে)।

প্রথম উপায়ে, ফ্লাফাইন্ডার চালান এবং এর আউটপুট কিছু FLAWFILE এ সংরক্ষণ করুন (বলুন "ফ্লাফাইল"),
তারপর vim এর -q বিকল্পটি ব্যবহার করে ডাকুন, এইরকম: "vim -q ফ্লাফাইল"। দ্বিতীয় উপায়
(vim শুরু করার পরে ফ্লাফাইন্ডার শুরু করা) উপায়গুলির একটি বাহিনী করা যেতে পারে। একটি হল আহ্বান করা
ফ্লাফাইন্ডার একটি শেল কমান্ড ব্যবহার করে, ":!flawfinder-command > FLAWFILE", তারপর এটি অনুসরণ করুন
কমান্ড ":cf FLAWFILE"। আরেকটি উপায় হল আপনার ফ্লাফাইন্ডার কমান্ড সংরক্ষণ করা
makefile (যেমন, বলুন, "flaw" এর মত একটি pseudocommand), এবং তারপর ":make flaw" চালান।

এই সমস্ত ক্ষেত্রে আপনার ফ্লাফাইন্ডার চালানোর জন্য একটি কমান্ড প্রয়োজন। একটি যুক্তিসঙ্গত আদেশ, যা
প্রতিটি হিটকে তার নিজস্ব লাইনে (-S) রাখে এবং শিরোনাম এবং ফুটারগুলি সরিয়ে দেয় যা বিভ্রান্ত করবে
এটাই:

ফ্লাফাইন্ডার -এসকিউডি .

ফলাফল দেখতে আপনি এখন বিভিন্ন সম্পাদনা কমান্ড ব্যবহার করতে পারেন। কমান্ড ":cn" প্রদর্শন করে
পরবর্তী আঘাত; ":cN" পূর্ববর্তী হিট প্রদর্শন করে, এবং ":cr" প্রথম আঘাতে ফিরে যায়।
":copen" হিটগুলির বর্তমান তালিকা দেখানোর জন্য একটি উইন্ডো খুলবে, যাকে "কুইকফিক্স" বলা হয়
window"; ":cclose" কুইকফিক্স উইন্ডো বন্ধ করবে। যদি ব্যবহৃত উইন্ডোতে বাফার থাকে
পরিবর্তিত হয়েছে, এবং ত্রুটিটি অন্য ফাইলে রয়েছে, ত্রুটিটিতে জাম্প করা ব্যর্থ হবে। তোমাকে করতেই হবে
নিশ্চিত করুন যে উইন্ডোটিতে একটি বাফার রয়েছে যা a-তে যাওয়ার চেষ্টা করার আগে পরিত্যাগ করা যেতে পারে
নতুন ফাইল, ফাইল সংরক্ষণ করে বলুন; এটি দুর্ঘটনাজনিত ডেটা ক্ষতি প্রতিরোধ করে।

invoking থেকে Emacs
টেক্সট এডিটর/অপারেটিং সিস্টেম ইম্যাক্সে "গ্রেপ মোড" এবং "কম্পাইল মোড" অন্তর্ভুক্ত থাকে
মেকানিজম যা ফ্লাফাইন্ডারের সাথে ভাল কাজ করে, সতর্কতা বার্তা দেখতে সহজ করে, লাফ দেয়
প্রাসঙ্গিক সোর্স কোডে, এবং আপনার খুঁজে পাওয়া যেকোনো সমস্যা সমাধান করুন।

প্রথমত, সতর্কীকরণ বার্তাগুলির একটি তালিকা তৈরি করতে আপনাকে ফ্লাফাইন্ডার আহ্বান করতে হবে। তুমি ব্যবহার করতে পার
এই তালিকা তৈরি করতে "grep মোড" বা "কম্পাইল মোড"। প্রায়ই "grep মোড" আরো সুবিধাজনক;
এটি কম্পাইল মোডকে স্পর্শ না করে রাখে যাতে আপনি একবার পরিবর্তন করার পরে সহজেই পুনরায় কম্পাইল করতে পারেন
কিছু যাইহোক, আপনি যদি একটি হিটের সঠিক কলাম অবস্থানে যেতে চান তবে কম্পাইল করুন
মোড আরও সুবিধাজনক হতে পারে কারণ emacs ফ্লাফাইন্ডারের কলাম আউটপুট ব্যবহার করতে পারে
কোনো বিশেষ কনফিগারেশন ছাড়াই সরাসরি সঠিক অবস্থানে ঝাঁপ দিন।

grep মোড ব্যবহার করতে, "Mx grep" কমান্ড লিখুন এবং তারপর প্রয়োজনীয় ফ্লাফাইন্ডার লিখুন
আদেশ কম্পাইল মোড ব্যবহার করতে, "Mx compile" কমান্ডটি প্রবেশ করান এবং প্রয়োজনীয় লিখুন
ফ্লাফাইন্ডার কমান্ড। এটি একটি মেটা-কী কমান্ড, তাই আপনাকে মেটা কী ব্যবহার করতে হবে
আপনার কীবোর্ড (এটি সাধারণত ESC কী)। সমস্ত emacs কমান্ডের মতো, আপনাকে এটি করতে হবে
"গ্রেপ" বা "কম্পাইল" টাইপ করার পর রিটার্ন টিপুন। তাই অনেক সিস্টেমে, grep মোড হয়
ESC xgrep RETURN টাইপ করে আহ্বান করা হয়েছে।

তারপরে আপনাকে একটি কমান্ড লিখতে হবে, প্রয়োজনে আগে যা ছিল তা সরিয়ে ফেলতে হবে। ক
যুক্তিসঙ্গত আদেশ হল:

ফ্লাফাইন্ডার -এসকিউডিসি .

এই কমান্ডটি প্রতিটি হিট রিপোর্টকে একটি একক লাইন করে, যা সরঞ্জামগুলির জন্য অনেক সহজ
হাতল. শান্ত এবং শুধুমাত্র ডেটা বিকল্পগুলি অন্যান্য স্থিতির তথ্যগুলিকে সরিয়ে দেয় যার জন্য প্রয়োজন নেই৷
emacs ভিতরে ব্যবহার করুন। ট্রেলিং পিরিয়ড মানে বর্তমান ডিরেক্টরি এবং সব
বংশধরদের C/C++ কোডের জন্য অনুসন্ধান করা হয়, এবং ত্রুটিগুলির জন্য বিশ্লেষণ করা হয়।

একবার আপনি ফ্লাফাইন্ডার চালু করলে, আপনি ইম্যাক্স ব্যবহার করতে পারেন এর ফলাফলে ঘুরে আসতে। দ্য
কমান্ড Cx ` (কন্ট্রোল-এক্স ব্যাকটিক) পরবর্তী সতর্কতার জন্য সোর্স কোড অবস্থান পরিদর্শন করে
বার্তা Cu Cx ` (control-u control-x backtick) শুরু থেকে পুনরায় চালু হয়। তুমি পারবে
কোন নির্দিষ্ট ত্রুটি বার্তার জন্য উৎস দেখুন
*সংকলন* বাফার বা *গ্রেপ* বাফার এবং রিটার্ন কী টাইপ করা। (প্রযুক্তিগত নোট: মধ্যে
কম্পাইলেশন বাফার, এটি কম্পাইল-গোটো-এরর আহ্বান করে।) আপনি মাউস-২-এ ক্লিক করতে পারেন
ত্রুটি বার্তার বোতাম (আপনাকে প্রথমে *সংকলন* বাফারে স্যুইচ করতে হবে না)।

আপনি যদি একটি হিটের নির্দিষ্ট কলামে ঝাঁপ দিতে grep মোড ব্যবহার করতে চান তবে আপনাকে এটি করতে হবে
এটি করার জন্য বিশেষভাবে emacs কনফিগার করুন। এটি করার জন্য, emacs ভেরিয়েবল পরিবর্তন করুন "grep-regexp-
alist। এই ভেরিয়েবলটি Emacs কে বলে কিভাবে একটি "grep" কমান্ডের আউটপুট পার্স করতে হয়, যেমন
পরিবর্তনশীল "সংকলন-এরর-রেগএক্সপ-অ্যালিস্ট" যা সংকলন ত্রুটির বিভিন্ন বিন্যাস তালিকাভুক্ত করে
বার্তা।

invoking থেকে সংহত উন্নয়ন এনভায়রনমেন্ট (আইডিই)
(অন্যান্য) IDE-এর জন্য, আপনার IDE-এর প্লাগ-ইন-এর সেটের পরামর্শ নিন।

সাধারণ দুর্বলতা গণনা (CWE)


কমন উইকনেস এনুমারেশন (CWE) হল সাধারণ সফ্টওয়্যারের একটি আনুষ্ঠানিক তালিকা বা অভিধান
সফ্টওয়্যারের আর্কিটেকচার, ডিজাইন, কোড বা বাস্তবায়নে যে দুর্বলতা দেখা দিতে পারে
শোষণযোগ্য নিরাপত্তা দুর্বলতার দিকে নিয়ে যেতে পারে... একটি সাধারণ ভাষা হিসাবে পরিবেশন করার জন্য তৈরি করা হয়েছে
সফ্টওয়্যার নিরাপত্তা দুর্বলতা বর্ণনা করার জন্য''(http://cwe.mitre.org/about/faq.html)। জন্য
CWEs সম্পর্কে আরও তথ্য, দেখুন http://cwe.mitre.org.

ফ্লাফাইন্ডার CWE সমর্থন করে এবং আনুষ্ঠানিকভাবে CWE- সামঞ্জস্যপূর্ণ। বর্ণনা সাধারণত আঘাত
বন্ধনীতে একটি প্রাসঙ্গিক কমন উইকনেস এনুমারেশন (CWE) শনাক্তকারী অন্তর্ভুক্ত করুন যেখানে সেখানে
একটি প্রাসঙ্গিক CWE হিসাবে পরিচিত। উদাহরণস্বরূপ, বাফার-সম্পর্কিত অনেক হিট উল্লেখ
CWE-120, CWE শনাক্তকারী ``ইনপুটের আকার পরীক্ষা না করেই বাফার কপি'' (ওরফে
``ক্লাসিক বাফার ওভারফ্লো'')। কিছু ক্ষেত্রে একাধিক CWE শনাক্তকারী তালিকাভুক্ত হতে পারে।
এইচটিএমএল রিপোর্টে MITRE-এ হোস্ট করা CWE সংজ্ঞাগুলির হাইপারটেক্সট লিঙ্কগুলিও অন্তর্ভুক্ত রয়েছে। ভিতরে
এইভাবে, ফ্লাফাইন্ডার CWE-আউটপুট প্রয়োজনীয়তা মেটাতে ডিজাইন করা হয়েছে।

CWE/SANS শীর্ষ 25 তালিকা 2011-এ ফ্লাফাইন্ডার দ্বারা রিপোর্ট করা অনেক CWE-কে চিহ্নিত করা হয়েছে
(http://cwe.mitre.org/top25/) অনেকেই এই তালিকায় সিডব্লিউই খুঁজতে চাইবেন,
যেমন CWE-120 (ক্লাসিক বাফার ওভারফ্লো), যখন ফ্লাফাইন্ডার একটি CWE-তে ম্যাপ করে যা বেশি
একটি শীর্ষ 25 আইটেমের চেয়ে সাধারণ, এটি এটিকে আরও সাধারণ হিসাবে তালিকাভুক্ত করে: আরও-নির্দিষ্ট (যেমন,
CWE-119:CWE-120), যেখানে আরও সাধারণ হল প্রকৃত ম্যাপিং। যদি ফ্লাফাইন্ডার আরও একটি মানচিত্র
নির্দিষ্ট সিডব্লিউই আইটেম যা একটি শীর্ষ 25 আইটেমের একটি নির্দিষ্ট ক্ষেত্রে, এটি ফর্মে তালিকাভুক্ত করা হয়
শীর্ষ-25/আরো-নির্দিষ্ট (যেমন, CWE-362/CWE-367), যেখানে আসল ম্যাপিং আরও নির্দিষ্ট
CWE এন্ট্রি। একই এন্ট্রি ম্যাপ একাধিক CWE-তে থাকলে, CWE গুলি কমা দ্বারা পৃথক করা হয়
(এটি প্রায়শই CWE-20, অনুপযুক্ত ইনপুট বৈধকরণের সাথে ঘটে)। এটি অনুসন্ধানকে সহজ করে তোলে
নির্দিষ্ট CWE.

CWE সংস্করণ 2.7 (23 জুন, 2014 এ প্রকাশিত) ম্যাপিংয়ের জন্য ব্যবহার করা হয়েছিল। বর্তমান CWE
ম্যাপিংগুলি সবচেয়ে নির্দিষ্ট CWE নির্বাচন করে যা টুলটি নির্ধারণ করতে পারে। তাত্ত্বিকভাবে, বেশিরভাগ CWE
নিরাপত্তা উপাদান (স্বাক্ষর/প্যাটার্ন যা টুল অনুসন্ধান করে) তাত্ত্বিকভাবে হতে পারে
CWE-676-এ ম্যাপ করা হয়েছে (সম্ভাব্য বিপজ্জনক ফাংশনের ব্যবহার), কিন্তু এই ধরনের ম্যাপিং হবে না
দরকারী এইভাবে, আরও নির্দিষ্ট ম্যাপিং পছন্দ করা হয়েছিল যেখানে একটি পাওয়া যেতে পারে। ফ্লাফাইন্ডার
একটি আভিধানিক বিশ্লেষণ টুল; ফলস্বরূপ, এটির চেয়ে আরও নির্দিষ্ট হওয়া অবাস্তব
ম্যাপিং বর্তমানে বাস্তবায়িত. এর অর্থ এই যে এটির খুব বেশি প্রয়োজনের সম্ভাবনা নেই
মানচিত্র মুদ্রার জন্য আপডেট করা; এটা সহজভাবে একটি পরিমার্জিত করার জন্য যথেষ্ট তথ্য নেই
বিস্তারিত CWE স্তর যা CWE পরিবর্তনগুলি সাধারণত প্রভাবিত করবে। CWE শনাক্তকারীদের তালিকা
"make show-cwes" ব্যবহার করে স্বয়ংক্রিয়ভাবে তৈরি করা হয়েছে, তাই এই তালিকার আস্থা আছে
সঠিক. আপনি যদি কোনো খুঁজে পান তাহলে দয়া করে বাগ হিসাবে CWE ম্যাপিং সমস্যা প্রতিবেদন করুন।

ফ্লাফাইন্ডার একটি দুর্বলতা খুঁজে পেতে ব্যর্থ হতে পারে, এমনকি যদি ফ্লাফাইন্ডার এই CWE এর একটিকে কভার করে
দুর্বলতা. তাতে বলা হয়েছে, ফ্লাফাইন্ডার এটি কভার করে এমন CWE-এর তালিকাভুক্ত দুর্বলতা খুঁজে পায়,
এবং এটি অনেক ক্ষেত্রে সেই দুর্বলতা ছাড়া লাইন রিপোর্ট করবে না। এইভাবে, হিসাবে
CWE সামঞ্জস্যপূর্ণ হতে ইচ্ছুক যে কোনো টুলের জন্য প্রয়োজন, ফ্লাফাইন্ডারের হার মিথ্যা
ইতিবাচক 100% এর কম এবং মিথ্যা নেতিবাচকের হার 100% এর কম। প্রায় ফ্লাফাইন্ডার
যখনই এটি একটি CWE নিরাপত্তা উপাদানের (একটি স্বাক্ষর/প্যাটার্ন হিসাবে একটি মিল খুঁজে পায়) সর্বদা রিপোর্ট করে
এর ডাটাবেসে সংজ্ঞায়িত করা হয়েছে), যদিও কিছু অস্পষ্ট নির্মাণ এটিকে ব্যর্থ করতে পারে (বাগস দেখুন
নিচে).

ফ্লাফাইন্ডার নিম্নলিখিত CWEs সম্পর্কে রিপোর্ট করতে পারে (এগুলি হল CWEs যা ফ্লাফাইন্ডার কভার করে;
CWE/SANS শীর্ষ 25 তালিকায় যাদেরকে ``*'' চিহ্নিত করেছে):

· CWE-20: অনুপযুক্ত ইনপুট বৈধতা

· CWE-22: একটি সীমাবদ্ধ ডিরেক্টরিতে একটি পাথনামের অনুপযুক্ত সীমাবদ্ধতা (`পাথ ট্রাভার্সাল')

· CWE-78: একটি OS কমান্ডে ব্যবহৃত বিশেষ উপাদানগুলির অনুপযুক্ত নিরপেক্ষকরণ (`OS কমান্ড
ইনজেকশন'')*

· CWE-119: একটি মেমরি বাফারের সীমানার মধ্যে অপারেশনের অনুপযুক্ত সীমাবদ্ধতা (a
CWE-120* এর জনক, তাই এটি CWE-119:CWE-120 হিসাবে দেখানো হয়েছে)

· CWE-120: ইনপুটের আকার পরীক্ষা না করেই বাফার কপি (`ক্লাসিক বাফার ওভারফ্লো')*

· CWE-126: বাফার ওভার-রিড

· CWE-134: অনিয়ন্ত্রিত বিন্যাস স্ট্রিং*

· CWE-190: পূর্ণসংখ্যা ওভারফ্লো বা মোড়ক*

· CWE-250: অপ্রয়োজনীয় বিশেষাধিকার সহ মৃত্যুদন্ড

· CWE-327: একটি ভাঙা বা ঝুঁকিপূর্ণ ক্রিপ্টোগ্রাফিক অ্যালগরিদমের ব্যবহার*

· CWE-362: অনুপযুক্ত সিঙ্ক্রোনাইজেশন সহ শেয়ার্ড রিসোর্স ব্যবহার করে সমসাময়িক সম্পাদন
(`রেসের অবস্থা')

· CWE-377: অনিরাপদ অস্থায়ী ফাইল

· CWE-676: সম্ভাব্য বিপজ্জনক ফাংশনের ব্যবহার*

· CWE-732: ক্রিটিক্যাল রিসোর্সের জন্য ভুল অনুমতি অ্যাসাইনমেন্ট*

· CWE-785: সর্বাধিক আকারের বাফার ছাড়া পাথ ম্যানিপুলেশন ফাংশনের ব্যবহার (এর শিশু
CWE-120*, তাই এটি CWE-120/CWE-785 হিসাবে দেখানো হয়েছে)

· CWE-807: একটি নিরাপত্তা সিদ্ধান্তে অবিশ্বস্ত ইনপুটগুলির উপর নির্ভর করা*

· CWE-829: অবিশ্বস্ত নিয়ন্ত্রণ ক্ষেত্র থেকে কার্যকারিতা অন্তর্ভুক্তি*

আপনি ``--regex'' (-e) বিকল্প ব্যবহার করে রিপোর্ট করার জন্য CWE-এর একটি নির্দিষ্ট উপসেট নির্বাচন করতে পারেন।
এই বিকল্পটি একটি নিয়মিত অভিব্যক্তি গ্রহণ করে, তাই আপনি একাধিক CWE নির্বাচন করতে পারেন, যেমন, ``--regex
"CWE-120|CWE-126"''। আপনি যদি একটি কমান্ড লাইনে ``|'' সহ একাধিক CWE নির্বাচন করেন
সাধারণত পরামিতিগুলি উদ্ধৃত করতে হবে (যেহেতু একটি উদ্ধৃত না করা ``|'' হল পাইপ প্রতীক)।
ফ্লাফাইন্ডার CWE-অনুসন্ধানযোগ্য প্রয়োজনীয়তা পূরণ করার জন্য ডিজাইন করা হয়েছে।

আপনার লক্ষ্য যদি একটি ফাইলে তালিকাভুক্ত CWE-এর একটি উপসেট রিপোর্ট করা হয়, তাহলে তা অর্জন করা যেতে পারে
ইউনিক্স-এর মতো সিস্টেমে ``--regex'' ওরফে ``-e'' বিকল্প ব্যবহার করে। ফাইলটি অবশ্যই থাকতে হবে
নিয়মিত অভিব্যক্তি বিন্যাস। উদাহরণস্বরূপ, ``flawfinder -e $(cat file1)'' শুধুমাত্র রিপোর্ট করবে
হিট যা ``file1''-এর প্যাটার্নের সাথে মিলেছে। যদি ফাইল 1 এ ``CWE-120|CWE-126'' থাকে
শুধুমাত্র সেই CWE এর সাথে মিলে যাওয়া হিট রিপোর্ট করবে।

সমস্ত CWE নিরাপত্তা উপাদানের একটি তালিকা (স্বাক্ষর/প্যাটার্ন যা ফ্লাফাইন্ডার খোঁজে)
``--listrules' অপশন ব্যবহার করে পাওয়া যাবে। প্রতিটি লাইন স্বাক্ষর টোকেন তালিকাভুক্ত
(সাধারণত একটি ফাংশনের নাম) যা একটি হিট হতে পারে, ডিফল্ট ঝুঁকি স্তর, এবং
ডিফল্ট সতর্কতা (যাতে ডিফল্ট CWE শনাক্তকারী অন্তর্ভুক্ত)। অধিকাংশ উদ্দেশ্যে এই হয়
এছাড়াও যথেষ্ট যদি আপনি দেখতে চান যে CWE নিরাপত্তা উপাদান কোন CWE, বা
বিপরীত উদাহরণস্বরূপ, সর্বাধিক স্বাক্ষর (ফাংশনের নাম) দেখতে যা ম্যাপ করে
CWE-327, ডিফল্ট ঝুঁকির স্তর বা বিশদ সতর্কীকরণ পাঠ্য না দেখে, ``ফ্লাফাইন্ডার চালান
--লিস্ট্রুলস | grep CWE-327 | কাট -f1''। আপনি CWE ম্যাপিং ছাড়াই টোকেন দেখতে পারেন
এইভাবে ``ফ্লাফাইন্ডার -ডি --লিস্ট্রুলস | চালিয়ে grep -v CWE-''। যাইহোক, যখন
--listrules সমস্ত CWE নিরাপত্তা উপাদান তালিকাভুক্ত করে, এটি শুধুমাত্র CWE থেকে ডিফল্ট ম্যাপিং তালিকাভুক্ত করে
CWE শনাক্তকারীদের নিরাপত্তা উপাদান। এটি ফ্লাফাইন্ডারের পরিমার্জনগুলিকে অন্তর্ভুক্ত করে না
প্রযোজ্য (যেমন, ফাংশন পরামিতি পরীক্ষা করে)।

আপনি যদি CWE নিরাপত্তা উপাদান এবং CWE এর মধ্যে একটি বিস্তারিত এবং সঠিক ম্যাপিং চান
শনাক্তকারী, ফ্লাফাইন্ডার সোর্স কোড (ডিস্ট্রিবিউশনে অন্তর্ভুক্ত) হল সেরা জায়গা
সেই তথ্যের জন্য। এই বিশদ তথ্যটি প্রাথমিকভাবে সেই কয়েকজনের আগ্রহের বিষয়
যারা ফ্লাফাইন্ডারের CWE ম্যাপিংগুলিকে পরিমার্জিত করার বা সাধারণভাবে CWE পরিমার্জন করার চেষ্টা করছেন।
সোর্স কোড সংশ্লিষ্ট CWE-তে নিরাপত্তা উপাদানগুলির মধ্যে ম্যাপিং নথিভুক্ত করে
শনাক্তকারী, এবং এটি একটি একক পাইথন ফাইল। ``c_rules'' ডেটাসেট অধিকাংশ নিয়ম সংজ্ঞায়িত করে,
একটি ফাংশনের রেফারেন্স সহ যা আরও পরিমার্জন করতে পারে। আপনি অনুসন্ধান করতে পারেন
ফাংশন নামের জন্য ডেটাসেট ডিফল্টরূপে CWE কী তৈরি করে তা দেখতে; যদি প্রথম প্যারামিটার হয়
``স্বাভাবিক' নয় তাহলে এটি একটি পরিশোধন পাইথন পদ্ধতির নাম যা ভিন্ন নির্বাচন করতে পারে
CWEs (অতিরিক্ত তথ্যের উপর নির্ভর করে)। বিপরীতভাবে, আপনি ``CWE- নম্বর' অনুসন্ধান করতে পারেন
এবং সিডব্লিউই শনাক্তকারীকে কী নিরাপত্তা উপাদান (স্বাক্ষর বা নিদর্শন) নির্দেশ করে তা খুঁজে বের করুন।
বেশিরভাগ মানুষের জন্য, এটি তাদের প্রয়োজনের চেয়ে অনেক বেশি; অধিকাংশ মানুষ শুধু তাদের স্ক্যান করতে চান
সোর্স কোড দ্রুত সমস্যা খুঁজে পেতে.

নিরাপত্তা


এই টুলের পুরো পয়েন্ট হল দুর্বলতা খুঁজে পেতে সাহায্য করা যাতে সেগুলি ঠিক করা যায়।
যাইহোক, বিকাশকারী এবং পর্যালোচকদের অবশ্যই এটি ব্যবহার করার জন্য কীভাবে সুরক্ষিত সফ্টওয়্যার তৈরি করতে হয় তা অবশ্যই জানতে হবে
টুল, কারণ অন্যথায়, a মূর্খ সঙ্গে a টুল is এখনো a মূর্খ. আমার বই এ
http://www.dwheeler.com/secure-programs সাহায্য করতে পারে.

এই টুলটি, সর্বাধিক, একটি বৃহত্তর সফ্টওয়্যার বিকাশ প্রক্রিয়ার একটি ছোট অংশ হওয়া উচিত
দুর্বলতার প্রভাব দূর করতে বা কমানোর জন্য ডিজাইন করা হয়েছে। বিকাশকারী এবং পর্যালোচক
নিরাপদ সফ্টওয়্যার কিভাবে বিকাশ করতে হয় তা জানতে হবে এবং তাদের এই জ্ঞান কমাতে প্রয়োগ করতে হবে
প্রথম স্থানে দুর্বলতার ঝুঁকি।

বিভিন্ন দুর্বলতা-অনুসন্ধানের সরঞ্জামগুলি বিভিন্ন দুর্বলতা খুঁজে পেতে থাকে। এইভাবে, আপনি
মানুষের পর্যালোচনা এবং বিভিন্ন সরঞ্জাম ব্যবহার করে সেরা। এই টুল কিছু খুঁজে পেতে সাহায্য করতে পারে
দুর্বলতা, কিন্তু কোন উপায়ে সব.

আপনি সবসময় একটি বিশ্লেষণ করা উচিত কপি উৎস প্রোগ্রামের বিশ্লেষণ করা হচ্ছে, একটি ডিরেক্টরি নয়
যেটি একটি বিকাশকারী দ্বারা সংশোধন করা যেতে পারে যখন ফ্লাফাইন্ডার বিশ্লেষণটি সম্পাদন করছে। এই
বিশেষত সত্য যদি আপনি বিশ্লেষণ করা প্রোগ্রামের একজন বিকাশকারীকে অগত্যা বিশ্বাস না করেন।
আপনি সেগুলি বিশ্লেষণ করার সময় যদি কোনও আক্রমণকারীর ফাইলগুলির উপর নিয়ন্ত্রণ থাকে তবে আক্রমণকারী তা করতে পারে৷
একটি নিরাপত্তা সমস্যার প্রকাশ এড়াতে ফাইলগুলিকে চারপাশে সরান বা তাদের বিষয়বস্তু পরিবর্তন করুন
(বা এমন একটি সমস্যার ছাপ তৈরি করুন যেখানে কোনটি নেই)। যদি আপনি চিন্তিত হন
দূষিত প্রোগ্রামারদের যেভাবেই হোক আপনার এটি করা উচিত, কারণ বিশ্লেষণের পরে আপনাকে এটি করতে হবে
যাচাই করুন যে কোডটি শেষ পর্যন্ত চালানো হচ্ছে সেই কোড যা আপনি বিশ্লেষণ করেছেন। এছাড়াও, ব্যবহার করবেন না
--এই ধরনের ক্ষেত্রে অনুমতি লিঙ্ক বিকল্প; আক্রমণকারীরা ফাইলগুলিতে দূষিত প্রতীকী লিঙ্ক তৈরি করতে পারে
তাদের সোর্স কোড এলাকার বাইরে (যেমন / Etc / passwd).

সোর্স কোড ম্যানেজমেন্ট সিস্টেম (যেমন সোর্সফোর্জ এবং সাভানা) অবশ্যই এর মধ্যে পড়ে
বিভাগ; আপনি যদি এই সিস্টেমগুলির মধ্যে একটি বজায় রাখেন, প্রথমে ফাইলগুলি কপি করুন বা এক্সট্রাক্ট করুন
ফ্লাফাইন্ডার চালানোর আগে একটি পৃথক ডিরেক্টরি (যা আক্রমণকারীদের দ্বারা নিয়ন্ত্রণ করা যায় না) বা
অন্য কোন কোড বিশ্লেষণ টুল।

মনে রাখবেন যে ফ্লাফাইন্ডার শুধুমাত্র নিয়মিত ফাইল, ডিরেক্টরি এবং (যদি অনুরোধ করা হয়) প্রতীকী খোলে
লিঙ্ক; এটি কখনই অন্য ধরণের ফাইল খুলবে না, এমনকি যদি তাদের সাথে একটি প্রতীকী লিঙ্ক তৈরি করা হয়।
এটি আক্রমণকারীদের কাউন্টার করে যারা উত্স কোডে অস্বাভাবিক ফাইল প্রকার সন্নিবেশ করে। যাইহোক, এই
শুধুমাত্র তখনই কাজ করে যখন বিশ্লেষণ করা হচ্ছে ফাইল সিস্টেমের সময় কোনো আক্রমণকারী দ্বারা পরিবর্তন করা না যায়
বিশ্লেষণ, উপরে প্রস্তাবিত হিসাবে। এই সুরক্ষা সাইগউইন প্ল্যাটফর্মগুলিতেও কাজ করে না,
দুর্ভাগ্যক্রমে

সাইগউইন সিস্টেমে (উইন্ডোজের উপরে ইউনিক্স এমুলেশন) ফ্লাফাইন্ডার হলে একটি অতিরিক্ত সমস্যা আছে
বিশ্লেষক বিশ্বাস করতে পারে না এমন প্রোগ্রাম বিশ্লেষণ করতে ব্যবহৃত হয়। একটি নকশার কারণে সমস্যা হয়েছে
উইন্ডোজের ত্রুটি (এটি MS-DOS থেকে উত্তরাধিকারসূত্রে প্রাপ্ত)। Windows এবং MS-DOS-এ, নির্দিষ্ট ফাইলের নাম
(যেমন, ``com1'') স্বয়ংক্রিয়ভাবে অপারেটিং সিস্টেম দ্বারা এর নাম হিসাবে বিবেচিত হয়
পেরিফেরাল, এবং এটি সত্য এমনকি যখন একটি সম্পূর্ণ পাথনাম দেওয়া হয়। হ্যাঁ, উইন্ডোজ এবং এমএস-ডস
সত্যিই এই খারাপভাবে ডিজাইন করা হয়. ফ্লাফাইন্ডার কি একটি ফাইল সিস্টেম চেক করে এটি মোকাবেলা করে
অবজেক্ট হল, এবং তারপর শুধুমাত্র খোলার ডিরেক্টরি এবং নিয়মিত ফাইল (এবং সিমলিংক সক্রিয় থাকলে)।
দুর্ভাগ্যবশত, এটি Cygwin এ কাজ করে না; কিছুতে সাইগউইনের অন্তত কিছু সংস্করণে
উইন্ডোজ এর সংস্করণ, শুধুমাত্র একটি ফাইল একটি ডিভাইস টাইপ কিনা তা নির্ধারণ করার চেষ্টা করতে পারে
ঝুলানো প্রোগ্রাম। একটি সমাধান হল ব্যাখ্যা করা যেকোন ফাইলের নাম মুছে ফেলা বা পুনঃনামকরণ করা
বিশ্লেষণ করার আগে ডিভাইসের নাম হিসাবে। এই তথাকথিত ``সংরক্ষিত নাম'' হল
CON, PRN, AUX, CLOCK$, NUL, COM1-COM9, এবং LPT1-LPT9, ঐচ্ছিকভাবে একটি এক্সটেনশন অনুসরণ করে
(যেমন, ``com1.txt''), যেকোনো ডিরেক্টরিতে, এবং যেকোনো ক্ষেত্রে (উইন্ডোজ কেস-সংবেদনশীল)।

Do না অবিশ্বস্ত উত্স থেকে লোড বা ভিন্ন হিটলিস্ট. তারা ব্যবহার করে বাস্তবায়িত হয়
পাইথন আচার মডিউল, এবং আচার মডিউল ভুলের বিরুদ্ধে নিরাপদ হওয়ার উদ্দেশ্যে নয়
বা দূষিতভাবে নির্মিত ডেটা। সঞ্চিত হিটলিস্ট একই দ্বারা পরবর্তী ব্যবহারের জন্য উদ্দেশ্যে করা হয়
ব্যবহারকারী যিনি হিটলিস্ট তৈরি করেছেন; সেই পরিপ্রেক্ষিতে এই সীমাবদ্ধতা কোন সমস্যা নয়।

onworks.net পরিষেবা ব্যবহার করে অনলাইনে ফ্লাফাইন্ডার ব্যবহার করুন


বিনামূল্যে সার্ভার এবং ওয়ার্কস্টেশন

উইন্ডোজ এবং লিনাক্স অ্যাপ ডাউনলোড করুন

  • 1
    Phaser
    Phaser
    Phaser একটি দ্রুত, বিনামূল্যে, এবং মজার খোলা
    উৎস HTML5 গেম ফ্রেমওয়ার্ক অফার করে
    WebGL এবং ক্যানভাস রেন্ডারিং জুড়ে
    ডেস্কটপ এবং মোবাইল ওয়েব ব্রাউজার। গেমস
    সহ হতে পারে...
    Phaser ডাউনলোড করুন
  • 2
    ভাসাল ইঞ্জিন
    ভাসাল ইঞ্জিন
    VASSAL তৈরির জন্য একটি গেম ইঞ্জিন
    ঐতিহ্যগত বোর্ডের ইলেকট্রনিক সংস্করণ
    এবং কার্ড গেম। এটি জন্য সমর্থন প্রদান করে
    গেম পিস রেন্ডারিং এবং মিথস্ক্রিয়া,
    এবং...
    ভাসাল ইঞ্জিন ডাউনলোড করুন
  • 3
    OpenPDF - iText এর কাঁটা
    OpenPDF - iText এর কাঁটা
    OpenPDF তৈরির জন্য একটি জাভা লাইব্রেরি
    এবং LGPL দিয়ে PDF ফাইল সম্পাদনা করা এবং
    এমপিএল ওপেন সোর্স লাইসেন্স। OpenPDF হল
    LGPL/MPL ওপেন সোর্স iText এর উত্তরসূরি,
    আছে ...
    OpenPDF ডাউনলোড করুন - iText এর ফর্ক
  • 4
    সাগা জিআইএস
    সাগা জিআইএস
    SAGA - স্বয়ংক্রিয় জন্য সিস্টেম
    ভূ-বৈজ্ঞানিক বিশ্লেষণ - একটি ভৌগলিক
    সাথে ইনফরমেশন সিস্টেম (GIS) সফটওয়্যার
    জিওডাটার জন্য বিশাল ক্ষমতা
    প্রক্রিয়াকরণ এবং ana...
    SAGA GIS ডাউনলোড করুন
  • 5
    Java/JTOpen এর জন্য টুলবক্স
    Java/JTOpen এর জন্য টুলবক্স
    Java/JTOpen এর জন্য IBM টুলবক্স হল a
    জাভা ক্লাসের লাইব্রেরি সমর্থন করে
    ক্লায়েন্ট/সার্ভার এবং ইন্টারনেট প্রোগ্রামিং
    OS/400 চালিত একটি সিস্টেমের মডেল,
    i5/OS, o...
    Java/JTOpen এর জন্য টুলবক্স ডাউনলোড করুন
  • 6
    D3.js
    D3.js
    D3.js (বা ডেটা-চালিত নথিগুলির জন্য D3)
    একটি জাভাস্ক্রিপ্ট লাইব্রেরি যা আপনাকে অনুমতি দেয়
    গতিশীল, ইন্টারেক্টিভ ডেটা তৈরি করতে
    ওয়েব ব্রাউজারে ভিজ্যুয়ালাইজেশন। D3 সহ
    আপনি...
    D3.js ডাউনলোড করুন
  • আরও »

লিনাক্স কমান্ডগুলি

  • 1
    আবিদিফ
    আবিদিফ
    abidiff - ELF ফাইলের ABIs তুলনা করুন
    abidiff অ্যাপ্লিকেশন বাইনারি তুলনা করে
    দুটি শেয়ার্ড লাইব্রেরির ইন্টারফেস (ABI)
    ELF ফরম্যাটে। এটি একটি অর্থপূর্ণ নির্গত
    রিপোর্ট...
    আবিদিফ চালান
  • 2
    abidw
    abidw
    abidw - একটি ELF এর ABI সিরিয়ালাইজ করুন
    ফাইল abidw ELF-এ একটি ভাগ করা লাইব্রেরি পড়ে
    ফর্ম্যাট করে এবং একটি XML উপস্থাপনা নির্গত করে
    এর ABI থেকে স্ট্যান্ডার্ড আউটপুট। দ্য
    নির্গত...
    abidw রান
  • 3
    copac2xml
    copac2xml
    bibutils - গ্রন্থপঞ্জি রূপান্তর
    ইউটিলিটি...
    copac2xml চালান
  • 4
    মিশরদেশীয় খৃষ্টান
    মিশরদেশীয় খৃষ্টান
    copt - peephole অপ্টিমাইজার SYSNOPIS:
    copt ফাইল.. বর্ণনা: copt হল একটি
    সাধারণ উদ্দেশ্য peephole অপ্টিমাইজার. এটা
    এর স্ট্যান্ডার্ড ইনপুট থেকে কোড পড়ে এবং
    লেখেন একটি...
    কপ্ট চালান
  • 5
    gather_stx_titles
    gather_stx_titles
    gather_stx_titles - শিরোনাম সংগ্রহ করুন
    Stx নথি থেকে ঘোষণা...
    gather_stx_titles চালান
  • 6
    gatling-বেঞ্চ
    gatling-বেঞ্চ
    বেঞ্চ - http বেঞ্চমার্ক ...
    গ্যাটলিং-বেঞ্চ চালান
  • আরও »

Ad