Package google.security.safebrowsing.v5alpha1

সূচক

নিরাপদ ব্রাউজিং

নিরাপদ ব্রাউজিং এপিআই ক্লায়েন্টদের ওয়েব রিসোর্স (সর্বাধিক সাধারণভাবে ইউআরএল) গুগলের অনিরাপদ ওয়েব রিসোর্সের ক্রমাগত আপডেট হওয়া তালিকার বিপরীতে পরীক্ষা করতে সক্ষম করে।

ব্যাচগেটহ্যাশলিস্ট

rpc BatchGetHashLists( BatchGetHashListsRequest ) returns ( BatchGetHashListsResponse )

একসাথে একাধিক হ্যাশ তালিকা পান।

একজন ক্লায়েন্টের একাধিক হ্যাশ তালিকা পাওয়ার প্রয়োজন হওয়া খুবই সাধারণ ব্যাপার। নিয়মিত Get পদ্ধতি একাধিকবার ব্যবহারের চেয়ে এই পদ্ধতিটি ব্যবহার করা বেশি পছন্দনীয়।

এটি https://google.aip.dev/231 দ্বারা সংজ্ঞায়িত একটি স্ট্যান্ডার্ড ব্যাচ গেট পদ্ধতি এবং HTTP পদ্ধতিটিও GET।

GetHashList সম্পর্কে

rpc GetHashList( GetHashListRequest ) returns ( HashList )

একটি হ্যাশ তালিকার সর্বশেষ বিষয়বস্তু পান। একটি হ্যাশ তালিকা হুমকি তালিকা বা গ্লোবাল ক্যাশের মতো হুমকিবিহীন তালিকার মাধ্যমে তৈরি হতে পারে।

এটি https://google.aip.dev/131 দ্বারা সংজ্ঞায়িত একটি স্ট্যান্ডার্ড Get পদ্ধতি এবং HTTP পদ্ধতিটিও GET।

তালিকা হ্যাশলিস্ট

rpc ListHashLists( ListHashListsRequest ) returns ( ListHashListsResponse )

হ্যাশ তালিকা তালিকাভুক্ত করুন।

V5 API-তে, Google কখনও এই পদ্ধতি দ্বারা ফেরত পাঠানো হ্যাশ তালিকাটি সরাবে না। এটি ক্লায়েন্টদের এই পদ্ধতিটি ব্যবহার করা এড়িয়ে যেতে এবং তাদের প্রয়োজনীয় সমস্ত হ্যাশ তালিকা হার্ড-কোড করতে সক্ষম করে।

এটি https://google.aip.dev/132 দ্বারা সংজ্ঞায়িত একটি স্ট্যান্ডার্ড তালিকা পদ্ধতি এবং HTTP পদ্ধতি হল GET।

সার্চহ্যাশ

rpc SearchHashes( SearchHashesRequest ) returns ( SearchHashesResponse )

নির্দিষ্ট উপসর্গের সাথে মিলে যাওয়া সম্পূর্ণ হ্যাশগুলি অনুসন্ধান করুন।

এটি https://google.aip.dev/136 দ্বারা সংজ্ঞায়িত একটি কাস্টম পদ্ধতি (কাস্টম পদ্ধতি বলতে গুগলের সাধারণ API ডেভেলপমেন্ট নামকরণের মধ্যে একটি কাস্টম নাম থাকা এই পদ্ধতিটিকে বোঝায়; এটি একটি কাস্টম HTTP পদ্ধতি ব্যবহার করার কথা উল্লেখ করে না)।

সার্চ ইউআরএল

rpc SearchUrls( SearchUrlsRequest ) returns ( SearchUrlsResponse )

পরিচিত হুমকির সাথে মিলে যাওয়া URL গুলি খুঁজুন। প্রতিটি URL এবং এর হোস্ট-সাফিক্স এবং পাথ-প্রিফিক্স এক্সপ্রেশন (সীমিত গভীরতা পর্যন্ত) পরীক্ষা করা হয়। এর অর্থ হল প্রতিক্রিয়ায় এমন URL থাকতে পারে যা অনুরোধে অন্তর্ভুক্ত ছিল না, তবে অনুরোধ করা URL গুলির এক্সপ্রেশন।

ব্যাচগেটহ্যাশলিস্টের অনুরোধ

একই সাথে একাধিক হ্যাশ তালিকা পাওয়ার অনুরোধ।

ক্ষেত্র
names[]

string

প্রয়োজন। নির্দিষ্ট হ্যাশ তালিকার নাম। তালিকাটি একটি হুমকি তালিকা হতে পারে, অথবা এটি গ্লোবাল ক্যাশেও হতে পারে। নামগুলিতে ডুপ্লিকেট থাকা উচিত নয়; যদি থাকে, তাহলে ক্লায়েন্ট একটি ত্রুটি পাবে।

version[]

bytes

ক্লায়েন্টের কাছে ইতিমধ্যেই থাকা হ্যাশ তালিকার সংস্করণগুলি। যদি ক্লায়েন্ট প্রথমবার হ্যাশ তালিকাগুলি আনছে, তাহলে ক্ষেত্রটি খালি রাখা উচিত। অন্যথায়, ক্লায়েন্টকে সার্ভার থেকে পূর্বে প্রাপ্ত সংস্করণগুলি সরবরাহ করতে হবে। ক্লায়েন্টকে অবশ্যই সেই বাইটগুলি ম্যানিপুলেট করতে হবে না।

ক্লায়েন্টকে সংশ্লিষ্ট তালিকার নামের মতো একই ক্রমে সংস্করণগুলি পাঠাতে হবে না। ক্লায়েন্ট একটি অনুরোধে নামের চেয়ে কম বা বেশি সংস্করণ পাঠাতে পারে। তবে ক্লায়েন্টকে একই নামের সাথে সম্পর্কিত একাধিক সংস্করণ পাঠাতে হবে না; যদি তা করে থাকে, তাহলে ক্লায়েন্ট একটি ত্রুটি পাবে।

ঐতিহাসিক দ্রষ্টব্য: API এর V4 তে, এটিকে states বলা হত; স্পষ্টতার জন্য এখন এটির নামকরণ করা হয়েছে version

size_constraints

SizeConstraints

প্রতিটি তালিকার আকারের সীমাবদ্ধতা। যদি বাদ দেওয়া হয়, তাহলে কোনও সীমাবদ্ধতা নেই। মনে রাখবেন যে এখানে আকারগুলি তালিকা অনুসারে, সমস্ত তালিকা জুড়ে একত্রিত নয়।

ব্যাচগেটহ্যাশলিস্টের প্রতিক্রিয়া

একাধিক হ্যাশ তালিকা সম্বলিত প্রতিক্রিয়া।

ক্ষেত্র
hash_lists[]

HashList

অনুরোধে প্রদত্ত একই ক্রমে হ্যাশ তালিকাগুলি।

ফুলহ্যাশ

এক বা একাধিক মিলের সাথে সম্পূর্ণ হ্যাশ শনাক্ত করা হয়েছে।

ক্ষেত্র
full_hash

bytes

মিলছে পূর্ণ হ্যাশ। এটি হল SHA256 হ্যাশ। দৈর্ঘ্য ঠিক 32 বাইট হবে।

full_hash_details[]

FullHashDetail

অক্রমিক তালিকা। এই সম্পূর্ণ হ্যাশের সাথে প্রাসঙ্গিক বিবরণ সনাক্তকারী একটি পুনরাবৃত্ত ক্ষেত্র।

ফুলহ্যাশবিস্তারিত

একটি মিলে যাওয়া পূর্ণ হ্যাশ সম্পর্কে বিশদ বিবরণ।

ফরোয়ার্ড সামঞ্জস্যতা সম্পর্কে একটি গুরুত্বপূর্ণ নোট: সার্ভার যেকোনো সময় নতুন হুমকির ধরণ এবং হুমকির বৈশিষ্ট্য যুক্ত করতে পারে; এই সংযোজনগুলিকে ছোটখাটো সংস্করণ পরিবর্তন হিসাবে বিবেচনা করা হয়। API গুলিতে ছোটখাটো সংস্করণ নম্বর প্রকাশ না করা Google এর নীতি (সংস্করণ নীতির জন্য https://cloud.google.com/apis/design/versioning দেখুন), তাই ক্লায়েন্টদের অবশ্যই ThreatType enum মান বা ThreatAttribute enum মান ধারণকারী FullHashDetail বার্তা পাওয়ার জন্য প্রস্তুত থাকতে হবে যা ক্লায়েন্ট দ্বারা অবৈধ বলে বিবেচিত হয়। অতএব, সমস্ত ThreatType এবং ThreatAttribute enum মানের বৈধতা পরীক্ষা করা ক্লায়েন্টের দায়িত্ব; যদি কোনও মান অবৈধ বলে বিবেচিত হয়, তাহলে ক্লায়েন্টকে অবশ্যই সম্পূর্ণ FullHashDetail বার্তাটি উপেক্ষা করতে হবে।

ক্ষেত্র
threat_type

ThreatType

হুমকির ধরণ। এই ক্ষেত্রটি কখনই খালি থাকবে না।

attributes[]

ThreatAttribute

তালিকাটি অক্রমিক। পূর্ণ হ্যাশগুলির জন্য অতিরিক্ত বৈশিষ্ট্য। এটি খালি থাকতে পারে।

GetHashListRequest সম্পর্কে

একটি হ্যাশ তালিকা পাওয়ার অনুরোধ, যা হুমকি তালিকা বা গ্লোবাল ক্যাশের মতো হুমকিবিহীন তালিকা হতে পারে।

V5-এ নতুন কী : V4-তে পূর্বে যাকে states বলা হত তা স্পষ্টতার জন্য version নামকরণ করা হয়েছে। তালিকাগুলির এখন নামকরণ করা হয়েছে, প্ল্যাটফর্মের ধরণ এবং হুমকি প্রবেশের ধরণগুলি সরানো হয়েছে। এখন একাধিক তালিকার জন্য একই হুমকির ধরণ, অথবা একাধিক হুমকির ধরণ সম্পর্কিত একটি একক তালিকা থাকা সম্ভব। V4-এর পরিবর্তনশীল-দৈর্ঘ্যের হ্যাশ প্রিফিক্সের বিপরীতে যা অনেক ক্লায়েন্ট বাস্তবায়নে সমস্যা তৈরি করেছে: একটি তালিকার সমস্ত হ্যাশের এখন একটি একক দৈর্ঘ্য রয়েছে, যা অনেক বেশি দক্ষ ক্লায়েন্ট বাস্তবায়নের অনুমতি দেয়। সীমাবদ্ধতাগুলি সরলীকৃত করা হয়েছে, এবং কম্প্রেশনের ধরণ সরানো হয়েছে (কম্প্রেশন সর্বদা প্রয়োগ করা হয়)।

ক্ষেত্র
name

string

প্রয়োজন। এই নির্দিষ্ট হ্যাশ তালিকার নাম। এটি একটি হুমকি তালিকা হতে পারে, অথবা এটি গ্লোবাল ক্যাশেও হতে পারে।

version

bytes

ক্লায়েন্টের কাছে ইতিমধ্যেই থাকা হ্যাশ তালিকার সংস্করণ। যদি ক্লায়েন্ট প্রথমবার হ্যাশ তালিকা আনছে, তাহলে এই ক্ষেত্রটি খালি রাখতে হবে। অন্যথায়, ক্লায়েন্টকে সার্ভার থেকে পূর্বে প্রাপ্ত সংস্করণটি সরবরাহ করতে হবে। ক্লায়েন্টকে অবশ্যই সেই বাইটগুলি ম্যানিপুলেট করতে হবে না।

V5 এ নতুন কি আছে : API এর V4 এ, এটিকে states বলা হত; স্পষ্টতার জন্য এখন এটির নাম পরিবর্তন করে version রাখা হয়েছে।

size_constraints

SizeConstraints

তালিকায় আকারের সীমাবদ্ধতা। যদি বাদ দেওয়া হয়, তাহলে কোনও সীমাবদ্ধতা নেই। সীমিত প্রসেসিং পাওয়ার, ব্যান্ডউইথ, বা স্টোরেজ সহ সমস্ত ডিভাইসে সীমাবদ্ধতাগুলি সুপারিশ করা হয়।

হ্যাশলিস্ট

এর নাম দ্বারা চিহ্নিত হ্যাশের একটি তালিকা।

ক্ষেত্র
name

string

হ্যাশ তালিকার নাম। মনে রাখবেন যে গ্লোবাল ক্যাশেও কেবল একটি হ্যাশ তালিকা এবং এখানে উল্লেখ করা যেতে পারে।

version

bytes

হ্যাশ তালিকার সংস্করণ। ক্লায়েন্টকে অবশ্যই সেই বাইটগুলি ম্যানিপুলেট করতে হবে না।

partial_update

bool

যখন সত্য হয়, এটি একটি আংশিক পার্থক্য যা ক্লায়েন্টের কাছে ইতিমধ্যে কী আছে তার উপর ভিত্তি করে সংযোজন এবং অপসারণ ধারণ করে। যখন মিথ্যা হয়, এটি সম্পূর্ণ হ্যাশ তালিকা।

যখন মিথ্যা হয়, তখন ক্লায়েন্টকে এই হ্যাশ তালিকার জন্য স্থানীয়ভাবে সংরক্ষিত যেকোনো সংস্করণ মুছে ফেলতে হবে। এর অর্থ হল ক্লায়েন্টের কাছে থাকা সংস্করণটি গুরুতরভাবে পুরানো, অথবা ক্লায়েন্টের ডেটা দূষিত বলে মনে করা হচ্ছে। compressed_removals ক্ষেত্রটি খালি থাকবে।

যখন সত্য হয়, তখন ক্লায়েন্টকে অপসারণ এবং তারপর সংযোজন প্রয়োগ করে একটি ক্রমবর্ধমান আপডেট প্রয়োগ করতে হবে।

compressed_removals

RiceDeltaEncoded32Bit

অপসারণ সূচকের রাইস-ডেল্টা এনকোডেড সংস্করণ। যেহেতু প্রতিটি হ্যাশ তালিকায় অবশ্যই 2^32 এর কম এন্ট্রি থাকে, তাই সূচকগুলিকে 32-বিট পূর্ণসংখ্যা হিসাবে বিবেচনা করা হয় এবং এনকোড করা হয়।

minimum_wait_duration

Duration

ক্লায়েন্টদের হ্যাশ তালিকাটি আবার পেতে কমপক্ষে এতক্ষণ অপেক্ষা করা উচিত। যদি বাদ দেওয়া হয় বা শূন্য হয়, তাহলে ক্লায়েন্টদের অবিলম্বে আনতে হবে কারণ এটি নির্দেশ করে যে সার্ভারের ক্লায়েন্টকে একটি অতিরিক্ত আপডেট পাঠানোর আছে, কিন্তু ক্লায়েন্ট-নির্দিষ্ট সীমাবদ্ধতার কারণে তা সম্ভব হয়নি।

sha256_checksum

bytes

সমস্ত হ্যাশের সাজানো তালিকা, SHA256 দিয়ে আবার হ্যাশ করা হয়েছে। প্রদত্ত আপডেট প্রয়োগ করার পরে ডাটাবেসে উপস্থিত সমস্ত হ্যাশের সাজানো তালিকার জন্য এটি চেকসাম। যদি কোনও আপডেট সরবরাহ করা না হয়, তবে ক্লায়েন্টের বিদ্যমান চেকসাম ব্যবহার করা উচিত তা নির্দেশ করার জন্য সার্ভার এই ক্ষেত্রটি বাদ দেবে।

metadata

HashListMetadata

হ্যাশ তালিকা সম্পর্কে মেটাডেটা। এটি GetHashList পদ্ধতি দ্বারা পূরণ করা হয় না, তবে এটি ListHashLists পদ্ধতি দ্বারা পূরণ করা হয়।

Union ফিল্ড compressed_additions । রাইস-ডেল্টা এনকোডেড সংযোজন সংস্করণ। তালিকার সমস্ত সংযোজনে সংযোজনের হ্যাশ প্রিফিক্স দৈর্ঘ্য অভিন্ন। compressed_additions নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
additions_four_bytes

RiceDeltaEncoded32Bit

৪-বাইট সংযোজন।

additions_eight_bytes

RiceDeltaEncoded64Bit

৮-বাইট সংযোজন।

additions_sixteen_bytes

RiceDeltaEncoded128Bit

১৬-বাইট সংযোজন।

additions_thirty_two_bytes

RiceDeltaEncoded256Bit

৩২-বাইট সংযোজন।

হ্যাশলিস্ট মেটাডেটা

একটি নির্দিষ্ট হ্যাশ তালিকা সম্পর্কে মেটাডেটা।

ক্ষেত্র
threat_types[]

ThreatType

অক্রমিক তালিকা। যদি খালি না থাকে, তাহলে এটি নির্দিষ্ট করে যে হ্যাশ তালিকাটি এক ধরণের হুমকি তালিকা, এবং এটি এই হ্যাশ তালিকার হ্যাশ বা হ্যাশ উপসর্গের সাথে সম্পর্কিত হুমকির ধরণগুলিকে গণনা করে। যদি এন্ট্রিটি কোনও হুমকির প্রতিনিধিত্ব না করে, অর্থাৎ যদি এটি একটি সম্ভাব্য নিরাপদ ধরণের প্রতিনিধিত্ব করে তবে এটি খালি থাকতে পারে।

likely_safe_types[]

LikelySafeType

অক্রমিক তালিকা। যদি খালি না থাকে, তাহলে এটি নির্দিষ্ট করে যে হ্যাশ তালিকাটি সম্ভাব্য নিরাপদ হ্যাশগুলির একটি তালিকা উপস্থাপন করে এবং এটি কীভাবে সেগুলিকে সম্ভাব্য নিরাপদ বলে বিবেচনা করা হয় তা গণনা করে। এই ক্ষেত্রটি threat_types ক্ষেত্রের সাথে পারস্পরিকভাবে একচেটিয়া।

description

string

এই তালিকা সম্পর্কে মানুষের পঠনযোগ্য বর্ণনা। ইংরেজিতে লেখা।

hash_length

HashLength

এই হ্যাশ তালিকার জন্য সমর্থিত হ্যাশ দৈর্ঘ্য। প্রতিটি হ্যাশ তালিকা ঠিক একটি দৈর্ঘ্য সমর্থন করবে। যদি একই ধরণের হুমকি বা নিরাপদ ধরণের জন্য আলাদা হ্যাশ দৈর্ঘ্য প্রবর্তন করা হয়, তবে এটি একটি পৃথক নাম এবং সংশ্লিষ্ট হ্যাশ দৈর্ঘ্যের সেট সহ একটি পৃথক তালিকা হিসাবে প্রবর্তন করা হবে।

হ্যাশলেংথ

একটি হ্যাশ তালিকার হ্যাশের দৈর্ঘ্য।

এনামস
HASH_LENGTH_UNSPECIFIED অনির্দিষ্ট দৈর্ঘ্য।
FOUR_BYTES প্রতিটি হ্যাশ একটি চার-বাইট উপসর্গ।
EIGHT_BYTES প্রতিটি হ্যাশ একটি আট-বাইট উপসর্গ।
SIXTEEN_BYTES প্রতিটি হ্যাশ একটি ষোল-বাইট উপসর্গ।
THIRTY_TWO_BYTES প্রতিটি হ্যাশ একটি বত্রিশ বাইট পূর্ণ হ্যাশ।

সম্ভাব্য নিরাপদ প্রকার

সম্ভাব্য-নিরাপদ সাইটের প্রকারভেদ।

মনে রাখবেন যে SearchHashesResponse ইচ্ছাকৃতভাবে LikelySafeType ধারণ করে না।

এনামস
LIKELY_SAFE_TYPE_UNSPECIFIED অজানা।
GENERAL_BROWSING এই সাইটটি সম্ভবত সাধারণ ব্রাউজিংয়ের জন্য যথেষ্ট নিরাপদ। এটি গ্লোবাল ক্যাশে নামেও পরিচিত।
CSD এই সাইটটি সম্ভবত যথেষ্ট নিরাপদ যে ক্লায়েন্ট-সাইড ডিটেকশন মডেল বা পাসওয়ার্ড সুরক্ষা পরীক্ষা চালানোর প্রয়োজন নেই।
DOWNLOAD এই সাইটটি সম্ভবত যথেষ্ট নিরাপদ যে সাইট থেকে ডাউনলোডগুলি পরীক্ষা করার প্রয়োজন নেই।

তালিকা হ্যাশলিস্ট অনুরোধ

উপলব্ধ হ্যাশ তালিকা তালিকাভুক্ত করার অনুরোধ।

ক্ষেত্র
page_size

int32

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

page_token

string

পূর্ববর্তী ListHashLists কল থেকে প্রাপ্ত একটি পৃষ্ঠা টোকেন। পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করার জন্য এটি প্রদান করুন।

তালিকা হ্যাশলিস্টের প্রতিক্রিয়া

হ্যাশ তালিকা সম্পর্কে মেটাডেটা সম্বলিত প্রতিক্রিয়া।

ক্ষেত্র
hash_lists[]

HashList

হ্যাশ তালিকাগুলি একটি নির্বিচারে ক্রমানুসারে তৈরি করা হয়েছে। শুধুমাত্র হ্যাশ তালিকার মেটাডেটা অন্তর্ভুক্ত করা হবে, বিষয়বস্তু নয়।

next_page_token

string

একটি টোকেন, যা পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করার জন্য page_token হিসাবে পাঠানো যেতে পারে। যদি এই ক্ষেত্রটি বাদ দেওয়া হয়, তাহলে পরবর্তী কোনও পৃষ্ঠা থাকবে না।

রাইসডেল্টাএনকোডেড১২৮বিট

RiceDeltaEncoded32Bit এর মতোই, তবে এটি 128-বিট সংখ্যা এনকোড করে।

ক্ষেত্র
first_value_hi

uint64

এনকোডেড ডেটাতে প্রথম এন্ট্রির উপরের ৬৪ বিট (হ্যাশ)। যদি ক্ষেত্রটি খালি থাকে, তাহলে উপরের ৬৪ বিটগুলি সব শূন্য হবে।

first_value_lo

fixed64

এনকোডেড ডেটাতে প্রথম এন্ট্রির নিচের ৬৪ বিট (হ্যাশ)। যদি ক্ষেত্রটি খালি থাকে, তাহলে নিচের ৬৪ বিটগুলি সবই শূন্য হবে।

rice_parameter

int32

গোলম্ব-রাইস প্যারামিটার। এই প্যারামিটারটি ৯৯ এবং ১২৬ এর মধ্যে হবে বলে নিশ্চিত করা হচ্ছে, সমেত।

entries_count

int32

এনকোড করা ডেটাতে ডেল্টা এনকোড করা এন্ট্রির সংখ্যা। যদি শুধুমাত্র একটি পূর্ণসংখ্যা এনকোড করা থাকে, তাহলে এটি শূন্য হবে এবং একক মানটি first_value তে সংরক্ষণ করা হবে।

encoded_data

bytes

গোলম্ব-রাইস কোডার ব্যবহার করে এনকোড করা এনকোডেড ডেল্টা।

রাইসডেল্টাএনকোডেড২৫৬বিট

RiceDeltaEncoded32Bit এর মতোই, তবে এটি 256-বিট সংখ্যা এনকোড করে।

ক্ষেত্র
first_value_first_part

uint64

এনকোডেড ডেটাতে প্রথম এন্ট্রির প্রথম ৬৪ বিট (হ্যাশ)। যদি ক্ষেত্রটি খালি থাকে, তাহলে প্রথম ৬৪ বিট সব শূন্য হবে।

first_value_second_part

fixed64

এনকোডেড ডেটাতে প্রথম এন্ট্রির ৬৫ থেকে ১২৮ তম বিট (হ্যাশ)। যদি ক্ষেত্রটি খালি থাকে, তাহলে ৬৫ থেকে ১২৮ তম বিট সব শূন্য হবে।

first_value_third_part

fixed64

এনকোডেড ডেটাতে প্রথম এন্ট্রির ১২৯ থেকে ১৯২তম বিট (হ্যাশ)। যদি ক্ষেত্রটি খালি থাকে, তাহলে ১২৯ থেকে ১৯২তম বিট সব শূন্য হবে।

first_value_fourth_part

fixed64

এনকোডেড ডেটাতে প্রথম এন্ট্রির শেষ ৬৪ বিট (হ্যাশ)। যদি ক্ষেত্রটি খালি থাকে, তাহলে শেষ ৬৪ বিট সব শূন্য হবে।

rice_parameter

int32

গোলম্ব-রাইস প্যারামিটার। এই প্যারামিটারটি 227 এবং 254 এর মধ্যে হবে বলে নিশ্চিত করা হচ্ছে, সমেত।

entries_count

int32

এনকোড করা ডেটাতে ডেল্টা এনকোড করা এন্ট্রির সংখ্যা। যদি শুধুমাত্র একটি পূর্ণসংখ্যা এনকোড করা থাকে, তাহলে এটি শূন্য হবে এবং একক মানটি first_value তে সংরক্ষণ করা হবে।

encoded_data

bytes

গোলম্ব-রাইস কোডার ব্যবহার করে এনকোড করা এনকোডেড ডেল্টা।

রাইসডেল্টাএনকোডেড৩২বিট

রাইস-গোলম্ব এনকোডেড ডেটা। হ্যাশ বা অপসারণ সূচকের জন্য ব্যবহৃত হয়। এটি নিশ্চিত যে এখানে প্রতিটি হ্যাশ বা সূচকের দৈর্ঘ্য একই, এবং এই দৈর্ঘ্য ঠিক 32 বিট।

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

ঐতিহাসিক দ্রষ্টব্য: এই API-এর V4-তে প্রথমে রাইস-ডেল্টা এনকোডিং ব্যবহার করা হয়েছিল। V5-তে, দুটি উল্লেখযোগ্য উন্নতি করা হয়েছিল: প্রথমত, রাইস-ডেল্টা এনকোডিং এখন 4 বাইটের বেশি লম্বা হ্যাশ প্রিফিক্স সহ উপলব্ধ; দ্বিতীয়ত, এনকোড করা ডেটা এখন বিগ-এন্ডিয়ান হিসাবে বিবেচিত হয় যাতে ব্যয়বহুল বাছাইয়ের পদক্ষেপ এড়ানো যায়।

ক্ষেত্র
first_value

uint32

এনকোড করা ডেটার প্রথম এন্ট্রি (হ্যাশ বা সূচক), অথবা, যদি শুধুমাত্র একটি হ্যাশ প্রিফিক্স বা সূচক এনকোড করা থাকে, তাহলে সেই এন্ট্রির মান। যদি ক্ষেত্রটি খালি থাকে, তাহলে এন্ট্রিটি শূন্য হবে।

rice_parameter

int32

গোলম্ব-রাইস প্যারামিটার। এই প্যারামিটারটি ৩ থেকে ৩০ এর মধ্যে হবে বলে নিশ্চিত করা হচ্ছে, সমেত।

entries_count

int32

এনকোড করা ডেটাতে ডেল্টা এনকোড করা এন্ট্রির সংখ্যা। যদি শুধুমাত্র একটি পূর্ণসংখ্যা এনকোড করা থাকে, তাহলে এটি শূন্য হবে এবং একক মানটি first_value তে সংরক্ষণ করা হবে।

encoded_data

bytes

গোলম্ব-রাইস কোডার ব্যবহার করে এনকোড করা এনকোডেড ডেল্টা।

রাইসডেল্টাএনকোডেড64বিট

RiceDeltaEncoded32Bit এর মতোই, তবে এটি 64-বিট সংখ্যা এনকোড করে।

ক্ষেত্র
first_value

uint64

এনকোড করা ডেটার প্রথম এন্ট্রি (হ্যাশ), অথবা, যদি শুধুমাত্র একটি হ্যাশ প্রিফিক্স এনকোড করা থাকে, তাহলে সেই এন্ট্রির মান। যদি ক্ষেত্রটি খালি থাকে, তাহলে এন্ট্রিটি শূন্য হবে।

rice_parameter

int32

গোলম্ব-রাইস প্যারামিটার। এই প্যারামিটারটি 35 এবং 62 এর মধ্যে হবে বলে নিশ্চিত করা হচ্ছে, সমেত।

entries_count

int32

এনকোড করা ডেটাতে ডেল্টা এনকোড করা এন্ট্রির সংখ্যা। যদি শুধুমাত্র একটি পূর্ণসংখ্যা এনকোড করা থাকে, তাহলে এটি শূন্য হবে এবং একক মানটি first_value তে সংরক্ষণ করা হবে।

encoded_data

bytes

গোলম্ব-রাইস কোডার ব্যবহার করে এনকোড করা এনকোডেড ডেল্টা।

অনুসন্ধান হ্যাশ অনুরোধ

নির্দিষ্ট হ্যাশ প্রিফিক্স অনুসন্ধান করার জন্য ক্লায়েন্ট যে অনুরোধটি জারি করে।

এটি শুধুমাত্র হুমকি তালিকা অনুসন্ধানের জন্য ডিজাইন করা হয়েছে, এবং গ্লোবাল ক্যাশের মতো হুমকি-মুক্ত তালিকা অনুসন্ধান করে না।

V5-এ নতুন কী আছে : ক্লায়েন্টদের তাদের স্থানীয় ডাটাবেসে ClientInfo বা হ্যাশ তালিকার অবস্থা নির্দিষ্ট করার প্রয়োজন নেই। এটি উন্নত গোপনীয়তার জন্য। তদুপরি, ক্লায়েন্টদের তাদের আগ্রহী হুমকির ধরণগুলি পাঠানোর প্রয়োজন নেই।

ক্ষেত্র
hash_prefixes[]

bytes

প্রয়োজনীয়। হ্যাশ প্রিফিক্সগুলি অনুসন্ধান করতে হবে। ক্লায়েন্টদের 1000 টির বেশি হ্যাশ প্রিফিক্স পাঠাতে হবে না। তবে, URL প্রক্রিয়াকরণ পদ্ধতি অনুসরণ করে, ক্লায়েন্টদের 30 টির বেশি হ্যাশ প্রিফিক্স পাঠাতে হবে না।

বর্তমানে প্রতিটি হ্যাশ প্রিফিক্স ঠিক ৪ বাইট লম্বা হতে হবে। ভবিষ্যতে এটি শিথিল করা হতে পারে।

filter

string

ঐচ্ছিক। যদি ক্লায়েন্ট ফিল্টারিং করতে আগ্রহী হয়, যেমন শুধুমাত্র নির্দিষ্ট ধরণের হুমকি পুনরুদ্ধার করা, তাহলে এটি নির্দিষ্ট করা যেতে পারে। যদি বাদ দেওয়া হয়, তাহলে সমস্ত মিলিত হুমকি ফেরত দেওয়া হবে। নিরাপদ ব্রাউজিং যে সর্বাধিক সম্পূর্ণ সুরক্ষা প্রদান করতে পারে তা পেতে এটি বাদ দেওয়ার জন্য অত্যন্ত পরামর্শ দেওয়া হচ্ছে।

ফিল্টারটি গুগল কমন এক্সপ্রেশন ল্যাঙ্গুয়েজ ব্যবহার করে নির্দিষ্ট করা হয়েছে, যা https://github.com/google/cel-spec- এ সাধারণ উদাহরণ সহ পাওয়া যাবে। এখানে কিছু নির্দিষ্ট উদাহরণ দেওয়া হল যা এখানে ব্যবহার করা যেতে পারে:

"threat_type == ThreatType.SOCIAL_ENGINEERING" ফিল্টারের জন্য FullHashDetail মধ্যে হুমকির ধরণটি SOCIAL_ENGINEERING হওয়া আবশ্যক। "threat_type" শনাক্তকারীটি বর্তমান হুমকির ধরণকে বোঝায়। "ThreatType" শনাক্তকারীটি সম্ভাব্য সমস্ত ধরণের হুমকির সংগ্রহকে বোঝায়।

"threat_type in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" ফিল্টারটির জন্য হুমকির ধরণটি হয় UNWANTED_SOFTWARE অথবা MALWARE হতে হবে।

অনুসন্ধান হ্যাশ প্রতিক্রিয়া

হুমকি হ্যাশ অনুসন্ধানের পরে প্রতিক্রিয়া ফিরে এসেছে।

যদি কিছু না পাওয়া যায়, তাহলে সার্ভারটি NOT_FOUND স্ট্যাটাস (HTTP স্ট্যাটাস কোড 404) ফেরত দেওয়ার পরিবর্তে, full_hashes ফিল্ড খালি রেখে একটি OK স্ট্যাটাস (HTTP স্ট্যাটাস কোড 200) ফেরত দেবে।

V5 তে নতুন কী আছে : FullHash এবং FullHashDetail এর মধ্যে একটি বিচ্ছেদ রয়েছে। যখন একটি হ্যাশ একাধিক হুমকি (যেমন MALWARE এবং SOCIAL_ENGINEERING উভয়) সহ একটি সাইটকে প্রতিনিধিত্ব করে, তখন V4 এর মতো সম্পূর্ণ হ্যাশটি দুবার পাঠানোর প্রয়োজন হয় না। তদুপরি, ক্যাশের সময়কাল একটি একক cache_duration ক্ষেত্রে সরলীকৃত করা হয়েছে।

ক্ষেত্র
full_hashes[]

FullHash

অক্রমিক তালিকা। সম্পূর্ণ হ্যাশের অক্রমিক তালিকা পাওয়া গেছে।

cache_duration

Duration

ক্লায়েন্ট-সাইড ক্যাশের সময়কাল। মেয়াদ শেষ হওয়ার সময় নির্ধারণের জন্য ক্লায়েন্টকে অবশ্যই বর্তমান সময়ের সাথে এই সময়কাল যোগ করতে হবে। এরপর মেয়াদ শেষ হওয়ার সময়টি ক্লায়েন্টের অনুরোধে জিজ্ঞাসা করা প্রতিটি হ্যাশ প্রিফিক্সের ক্ষেত্রে প্রযোজ্য হয়, প্রতিক্রিয়ায় কতগুলি পূর্ণ হ্যাশ ফেরত দেওয়া হয়েছে তা নির্বিশেষে। এমনকি যদি সার্ভার একটি নির্দিষ্ট হ্যাশ প্রিফিক্সের জন্য কোনও পূর্ণ হ্যাশ ফেরত না দেয়, তবুও এই তথ্যটি ক্লায়েন্টকে অবশ্যই ক্যাশে করতে হবে।

যদি এবং শুধুমাত্র যদি full_hashes ক্ষেত্রটি খালি থাকে, তাহলে ক্লায়েন্ট সার্ভার দ্বারা নির্দিষ্ট সময়ের চেয়ে পরে একটি নতুন মেয়াদ নির্ধারণের জন্য cache_duration বৃদ্ধি করতে পারে। যেকোনো ক্ষেত্রে, বর্ধিত ক্যাশের সময়কাল 24 ঘন্টার বেশি হওয়া উচিত নয়।

গুরুত্বপূর্ণ: ক্লায়েন্টকে ধরে নেওয়া উচিত নয় যে সার্ভার সমস্ত প্রতিক্রিয়ার জন্য একই ক্যাশে সময়কাল প্রদান করবে। পরিস্থিতির উপর নির্ভর করে সার্ভার বিভিন্ন প্রতিক্রিয়ার জন্য বিভিন্ন ক্যাশে সময়কাল বেছে নিতে পারে।

সার্চ ইউআরএল অনুরোধ

নির্দিষ্ট URL গুলির সাথে মিলে যাওয়া হুমকি অনুসন্ধানের জন্য ক্লায়েন্ট যে অনুরোধটি জারি করে।

এটি শুধুমাত্র হুমকি তালিকা অনুসন্ধানের জন্য ডিজাইন করা হয়েছে, এবং গ্লোবাল ক্যাশের মতো হুমকি-মুক্ত তালিকা অনুসন্ধান করে না।

ক্ষেত্র
urls[]

string

প্রয়োজনীয়। যেসব URL গুলি অনুসন্ধান করতে হবে। ক্লায়েন্টদের ৫০ টির বেশি URL পাঠাতে হবে না।

সার্চ ইউআরএলের প্রতিক্রিয়া

নির্দিষ্ট URL গুলির সাথে মিলে যাওয়া হুমকি অনুসন্ধান করার পরে প্রতিক্রিয়াটি ফিরে এসেছে।

যদি কিছু না পাওয়া যায়, তাহলে সার্ভারটি NOT_FOUND স্ট্যাটাস (HTTP স্ট্যাটাস কোড 404) ফেরত দেওয়ার পরিবর্তে, threats ক্ষেত্রটি খালি রেখে একটি OK স্ট্যাটাস (HTTP স্ট্যাটাস কোড 200) ফেরত দেবে।

ক্ষেত্র
threats[]

ThreatUrl

অক্রমিক তালিকা। অক্রমিক মিলের হুমকির তালিকা পাওয়া গেছে। প্রতিটি এন্ট্রিতে একটি URL এবং সেই URL এর সাথে মিলে যাওয়া হুমকির ধরণ রয়েছে। তালিকার আকার অনুরোধে থাকা URL এর সংখ্যার চেয়ে বেশি হতে পারে কারণ URL এর সমস্ত এক্সপ্রেশন বিবেচনা করা হত।

cache_duration

Duration

ক্লায়েন্ট-সাইড ক্যাশের সময়কাল। মেয়াদ শেষ হওয়ার সময় নির্ধারণের জন্য ক্লায়েন্টকে অবশ্যই বর্তমান সময়ের সাথে এই সময়কাল যোগ করতে হবে। এরপর ক্লায়েন্টের অনুরোধে জিজ্ঞাসা করা প্রতিটি URL-এর ক্ষেত্রে মেয়াদ শেষ হওয়ার সময় প্রযোজ্য হয়, প্রতিক্রিয়ায় কতগুলি URL ফেরত দেওয়া হোক না কেন। এমনকি যদি সার্ভার কোনও নির্দিষ্ট URL-এর জন্য কোনও মিল না ফেরায়, তবুও এই তথ্যটি ক্লায়েন্টকে ক্যাশে করতে হবে।

যদি এবং শুধুমাত্র যদি ক্ষেত্রটি threats খালি থাকে, তাহলে ক্লায়েন্ট সার্ভার দ্বারা নির্দিষ্ট সময়ের চেয়ে পরে একটি নতুন মেয়াদ নির্ধারণের জন্য cache_duration বৃদ্ধি করতে পারে। যেকোনো ক্ষেত্রে, বর্ধিত ক্যাশের সময়কাল 24 ঘন্টার বেশি হওয়া উচিত নয়।

গুরুত্বপূর্ণ: ক্লায়েন্টকে ধরে নেওয়া উচিত নয় যে সার্ভার সমস্ত প্রতিক্রিয়ার জন্য একই ক্যাশে সময়কাল প্রদান করবে। পরিস্থিতির উপর নির্ভর করে সার্ভার বিভিন্ন প্রতিক্রিয়ার জন্য বিভিন্ন ক্যাশে সময়কাল বেছে নিতে পারে।

আকারের সীমাবদ্ধতা

হ্যাশ তালিকার আকারের সীমাবদ্ধতা।

ক্ষেত্র
max_update_entries

int32

এন্ট্রির সংখ্যার সর্বোচ্চ আকার। আপডেটে এই মানের চেয়ে বেশি এন্ট্রি থাকবে না, তবে আপডেটে এই মানের চেয়ে কম এন্ট্রি থাকতে পারে। এটি কমপক্ষে ১০২৪ হতে হবে। বাদ দেওয়া হলে বা শূন্য হলে, আপডেটের আকারের কোনও সীমা সেট করা নেই।

max_database_entries

int32

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

থ্রেটঅ্যাট্রিবিউট

হুমকির বৈশিষ্ট্য। এই বৈশিষ্ট্যগুলি একটি নির্দিষ্ট হুমকির অতিরিক্ত অর্থ প্রদান করতে পারে কিন্তু হুমকির ধরণকে প্রভাবিত করবে না। উদাহরণস্বরূপ, একটি বৈশিষ্ট্য কম আত্মবিশ্বাস নির্দিষ্ট করতে পারে যখন একটি ভিন্ন বৈশিষ্ট্য উচ্চ আত্মবিশ্বাস নির্দিষ্ট করতে পারে। ভবিষ্যতে আরও বৈশিষ্ট্য যুক্ত করা হতে পারে।

এনামস
THREAT_ATTRIBUTE_UNSPECIFIED অজানা বৈশিষ্ট্য। যদি এটি সার্ভার দ্বারা ফেরত পাঠানো হয়, তাহলে ক্লায়েন্ট সম্পূর্ণরূপে সংযুক্ত FullHashDetail উপেক্ষা করবে।
CANARY নির্দেশ করে যে threat_type প্রয়োগের জন্য ব্যবহার করা উচিত নয়।
FRAME_ONLY নির্দেশ করে যে threat_type শুধুমাত্র ফ্রেমে প্রয়োগের জন্য ব্যবহার করা উচিত।

হুমকির ধরণ

হুমকির প্রকারভেদ।

এনামস
THREAT_TYPE_UNSPECIFIED অজানা হুমকির ধরণ। যদি এটি সার্ভার দ্বারা ফেরত পাঠানো হয়, তাহলে ক্লায়েন্ট সম্পূর্ণরূপে সংযুক্ত FullHashDetail উপেক্ষা করবে।
MALWARE

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

আরও তথ্য এখানে পাওয়া যাবে।

SOCIAL_ENGINEERING

সোশ্যাল ইঞ্জিনিয়ারিং হুমকির ধরণ। সোশ্যাল ইঞ্জিনিয়ারিং পৃষ্ঠাগুলি মিথ্যাভাবে দাবি করে যে তারা কোনও তৃতীয় পক্ষের হয়ে কাজ করে, যার উদ্দেশ্য দর্শকদের বিভ্রান্ত করে এমন একটি কাজ করানো, যার মাধ্যমে দর্শক কেবল সেই তৃতীয় পক্ষের একজন প্রকৃত এজেন্টকে বিশ্বাস করবে। ফিশিং হল এক ধরণের সোশ্যাল ইঞ্জিনিয়ারিং যা দর্শকদের লগইন শংসাপত্রের মতো তথ্য প্রদানের নির্দিষ্ট কাজ সম্পাদন করতে প্রতারণা করে।

আরও তথ্য এখানে পাওয়া যাবে।

UNWANTED_SOFTWARE অবাঞ্ছিত সফ্টওয়্যার হুমকির ধরণ। অবাঞ্ছিত সফ্টওয়্যার হল এমন যেকোনো সফ্টওয়্যার যা গুগলের সফ্টওয়্যার নীতিমালা মেনে চলে না কিন্তু ম্যালওয়্যার নয়।
POTENTIALLY_HARMFUL_APPLICATION প্লে স্টোরের জন্য গুগল প্লে প্রোটেক্ট দ্বারা ব্যবহৃত সম্ভাব্য ক্ষতিকারক অ্যাপ্লিকেশন হুমকির ধরণ।

থ্রেটইউআরএল

এক বা একাধিক হুমকির সাথে মিলে যাওয়া একটি URL।

ক্ষেত্র
url

string

অনুরোধ করা URL যা এক বা একাধিক হুমকির সাথে মিলেছে।

threat_types[]

ThreatType

অক্রমিক তালিকা। URL-কে যে অক্রমিক হুমকি হিসেবে শ্রেণীবদ্ধ করা হয়েছে তার তালিকা।