දැනට තිබෙන පාඩම්...

Friday, April 21, 2017

Information Security ගැන ඔබ දන්නේ මොනවාද? - 3 පාඩම

කලින් පාඩම් 2ට තිබුන ප්‍රතිචාර සමගම ඊලග article ඒකත් දාන්න හදන්නෙ.
අද පාඩමෙන් අපි කථා කරන්නෙ Cryptography ගැන. තනි article කින් ඉවර කරන්න බැරි වුනත් පුලුවන් තරම් කථා කරන්න හිතුවා.
Cryptography කියන්නේ මායා භාෂාව කියන දේ. මේක පාවිච්චි වෙන්නෙ පණිවිඩයක අාරක්ෂාව කියන දේ තහවුරු කරගන්න.

මුලින් ම බැලුවොත් cryptography වලටම අදාල වුනු වචන මාලාවක් තියෙනවා.

  • Cleartext/ Plaintext - කියවන්න පුලුවන් විදියට තියෙන messages
  • Ciphertext - කියවන්න බැරි විදියට තියෙන messages
  • Encryption / Enciphering - cleartext, ciphertext කරන ක්‍රියාවලිය
  • Decryption / Decriphering - ciphertext, cleartext බවට හරවන ක්‍රියාවලිය
  • Cryptosystem - encryption decryption සපයන පද්ධතිය
  • Encryption/Decryption Algorithm - Enciphering / Deciphering කරන අාකාරය දැක්වෙන නීති මාලාව
  • Key / Cryptovariable - Encryption/ Decryption ක්‍රියාවලියට ලැබෙන අාදායනයක් - an input. මේක හුගක් වෙලාවට random variables වෙනවා. මේකෙදි key විසින් තමයි මේ මුලු ක්‍රියාවලියේම secrecy පවත්වාගෙන යන්නේ.  යවන්නා හා අදාල ලබන්නා අතේ විතරයි මේ key පවතින්න පුලුවන්.
  •   Eavesdropper - නැතිනම් හොරෙන් සවන් දෙන්නා. මොහු විසින් encrypted message මගදි අල්ලගත්තාට වැඩක් නැහැ මොහු ලග key නැත්නම්.
  • Key space - යතුරකට තියෙන්න පුලුවන් මුලු අගය පරාසය. මේ key sapace විශාල වන තරමටම intruder / eavesdropper කෙනෙකුට හොයාගන්න අමාරුයි. 64 bit යතුරකට 2^64 විවිධ key combinations තියෙනවා. 
  • Cryptanalysis - secrecy සම්බන්ධව අධ්‍යයනය කරන හා ඒ encrypt messages බිද දැමීමට  අදාල විද්‍යාව.
  • Cryptology - cryptography cryptanalysis ගැන අධ්‍යයනය කිරීම
Ciphers ප්‍රධාන වර්ග කිහිපයක් තියෙනවා.
  1. Classical ciphers
  2. Rotor Machines
  3. Modern විදිහට
Classical වර්ගය ප්‍රධාන කොටස් 2යි.
  1. Substitution
  2. Transposition කියලා
මේකෙ Substitution cipher කියන්නේ අදාල පණිවිඩයට අදාල වන සියලු අකුරු වෙනත් අකුරු වලින් substituted වෙන අාකාරය. 
උදාහරණයක් විදියට කියනවානම් Sunil කියන දේ වෙනස් කරලා ලියන්න පුලුවන් Gaint කියලා. මේ ක්‍රමයට අකුරු පිහිටලා තියෙන පිළිවෙළ වෙනස් වෙන්නේ නෑ.
මේකට උදාහරණ වෙන්නේ Caesar's Ciper, Vignere Ciper වගේ ඒවා.
Transposition Ciper - සාමාන්‍ය plain text ඛණ්ඩය replace වීමක් වෙන්නෙ නෑ. හැබැයි ඒවා jumble වෙනවා. plaintext වාක්‍ය කණ්ඩයම අකුරු තියෙන තැන් මාරු වෙලා කියවන්න අමාරු විදියට වෙනස් වෙනවා.

Substitution Ciphers  Types කිහිපයක් තියෙනවා.
  1. Monoalphabetic Ciphers - මේ වර්ගයේදී මුලු පණිවිඩය වෙනුවෙන්ම භාවිතා වන අාදේශනයේ යම් නිශ්චිත රටාවක් තියෙනවා.
  2. Polyalphabetic Ciphers - පණිවිඩය අැතුලේදි විවිධ අාකාර වල substitutions කිහිපයක් භාවිතා වෙනවා. 
Kerckhoff's Principle - මේ නියමය 1883දී ඔගස්ටස් කර්කොෆ් තමයි publish කළේ. ඔහු කියනවා cryptosystem ඒකක key විතරක් secret වුනාම අැති කියලා. algorithm publish කරන්න කියලත් ඔහු කියනවා. Eavesdropper කොහොමත් මේ algorithm ඒක ලබාගන්නවාමයි.
අපි කොහොමද යතුරක් යවන්නෙ අනෙක් කොටසට අන් අය දැනගන්නේ නැතුවම
යතුරක් ප්‍රවේසම් සහගතව තබාගන්නේ කොහොමද?

Scytale Cipher - මේක භාවිතා කළේ ක්‍රි.පූ 400 දී. අදාල පණිවිඩය යැව්වේ පැපිරස් කොළ කැබැල්ලක ලී රවුමක දවටලා. ඒ රවුම ගන්න පුද්ගලයාට අදාල පණිවිඩය කියවන්න බැහැ. ඒ සදහා ඔහු ලග නිවැරදි ලී රවුම පැවතිය යුතුයි.
Caesars Cipher - මේ ක්‍රමය භාවිතා කළේ ජුලියස් සීසර් විසින්. මෙයා රහස් පණිවිඩ යැවීමේදී හැම අකුරක්ම හෝඩියේ ඊට අකුරු 3ක් දකුණින් තිබෙන අකුරින් replace කළා. මේකටම තව Rotation - 3 cipher නැත්නම් ROT-3 cipher කියනවා.

Vigenere Cipher - 16 වන සියවසේ ප්‍රංශයේදී Blaise de Vignere විසින් polyalphabetic substitution cipher 1ක් නිර්මාණය කරනවා II Henry රජතුමාට. Ceasers cipher මත පදනම් වුනාට ඊට වඩා වඩා සෑහෙන්න සංකීර්ණයි. 
අපි ටිකක් සරළ උදාහරණයක් ගත්තොත් MAKE IT HAPPEN කියන පණිවිඩයට MATH කියන යතුර භාවිතා කරනවා. මේකට Vigenere tableයක් භාවිතා වෙනවා. හෝඩියේ අකුරු 26න් තමයි මේක සමන්විත වෙන්නේ. මේක lookuptable විදියට substitutions ගාන ගැනගන්න පාවිච්චි වෙනවා. 
A-Z වෙනකන් පවතින වගුවක් තිබෙනවා.

මේ වගුව භාවිතා කරලා අපේ යතුර වුනු MATH කියන වචනයේ අදාල අංක ලබාගන්නවා.
M - 12
A- 0
T - 19
H - 7
විදියට තමයි පවතින්නේ. ඊලගට අපේ පණිවිඩය වුනු MAKE IT HAPPEN වාක්‍යයේ සෑම වචනයක්ම cover වෙන විදිහට ඒ වාක්‍යය ලගින්ම අපි ලියනවා.
MAKE IT HAPPEN
MATH MA THMATH 
විදියට.ඔබට දකින්න පුලුවන් අපි MATHMATH වගේ දාපු තැනට ඉලක්කම් අාදේශ කරනවා. 
MAKE IT HAPPEN
(12)(0(19(7) - (12)(0) - (19)(7)(12)(0)

ඊලගට අපි බලන්නෙ අැත්තටම මේ අකුරට තියෙන අගය කීයද කියන දේ ගැන.පහළ සටහන ඒ ගැන දක්වනවා.
MAKE IT HAPPEN
(12)(0(19(7) - (12)(0) - (19)(7)(12)(0)
(12)(0)(10)(4) - (8)(19) - (7)(0)(15)(15)(4)(13)

මීලගට කරන්නේ අපේ අකුරට අදාල වෙන අංකය හා යතුර මගින් ලැබුනු අංකය අතර සම්බන්ධතාවයක් මගින් මේ තනි තනි අකුරු වලට අදාල රහස්‍ය අකුර ලබාගන්නවා.

Encryption වලදි භාවිතා වෙන්නෙ C = (P+K)mod 26 සමීකරණය
Decryption වලට භාවිතා වෙන්නේ P = (C-K)mod 26 සමීකරණය

මේකෙ C = cipher text , P = plain text , K= key

Cipher text ගනිද්දි කියලා තියෙනවා වගේම අගයන් දෙකේ ඒෙක්‍යය අරගෙන ඒක 26න් බෙදුවට පස්සෙ ලැබෙන අගයට අදාල අකුර අපේ cipher text විදියට සලකනවා.

M අකුර :- 
C = (P+K)mod 26
C = (12+12)mod26
    = 24 mod 26 = 24
    = "Y"
මේ විදියට අගයන් අාදේශ කරමින් අකුරු සොයාගන්නයි තියෙන්නේ.

Playfair Cipher - මේක හොදින් දන්න වර්ගයේ multiple letter encryption cipher ඒකක්.diagrams පාවිච්චි කරලා තමයි මේක encrypt කරන්නේ. මේකෙ ප්‍රධාන නීතියක් තමයි key ඒකේ repeating letters තියෙන්න විදිහක් නෑ.
අපි හිතුවොත් අපේ යතුර =MONARCHY කියලා අපි ඒක අපේ diagram ඒකේ දක්වන්නේ මෙහෙම.

 M   O   N   A  R
C  H Y B D
E F G  I/J   K 
L P Q S
U V W X Z
මේකෙ I හා J අකුරු 2 වෙනුවටම තනි කොටුවක් පාවිච්චි වෙන නිසා අකුරු 26ම මේ සටහන අැතුලේ ලියන්න පුලුවන්.
මීලගට අපේ msg ඒක ලෑස්ති කරගන්නවා. duplicate අකුරු සේරම X අකුර යොදවලා වෙනස් කරගන්නවා.
මුලු වාක්‍යයට අකුරු ඔත්තේ ගානක් තිබ්බොත් අන්තිමට X අකුරක් යොදනවා අපි.
Spaces සේරම අයින් කරනවා.

අපි හිතුවොත් අපේ mg ඒක වෙන්නෙ SECRET MESSAGE කියන වාක්‍ය ඛණ්ඩය ගැන කියලා.
අපි කඩාගන්නවා මේක SE CR ET ME SX SA GE විදිහට.
මේක දෙකම තනි row ඒකකදි වුනානම් අපි Cipher text විදිහට දකුණු පැත්තේ අකුර සළකනවා.
තනි column ඒකක වුනානම් අපි සලකන්නෙ පහළින්ම තියෙන අකුර. පහළින්ම තියෙන අකුරනම් අැවිත් තියෙන්නෙ අපි සලකන්නෙ ඉහළම අකුර. උදාහරණ විදිහට H හා V අකුරු ගත්තොත් ඒවාගෙ cipher letters වෙන්නෙ F හා O. 
වෙනස් පොලිම් 2ක් වුනොත් ඒ අකුරු 2 විකර්ණ වන විදියට සෘජුකෝණාස්‍රයක් අැදලා අනෙක් විකර්ණ 2 cipher text විදියට සලකනවා.

Enigma - Rotor Machine
ජර්මණිය දෙවන ලෝක යුද්ධෙදි පාවිච්චි කළේ මේ ක්‍රමය. Enigmaට පුලුවන් වෙනස් substitutions 7ක්  පෙන්වන්න. මේකෙන් rotors 3ක්ම පාවිච්චි කළේ ployalphabetic substitions වලට. reflector ඒකක් හා plug board ඒකක් විසින් මේක තවත් complexity කළා. rotor settings වලින් encryption key ඒක provide කළා. මේ enigma codes අවසානයේදි බ්‍රිතාන්‍ය හා පාේලන්ත ගණිතඥයින් විසින් බිද දැමීම  ජර්මණිය පැරදීමට මග පෑදුවා.

Cryptosystem පද්ධතියක ප්‍රයෝජන:
  •  Confidentiality - අනවසර පිරිස් වලට තොරතුරු ලැබීමේ මාර්ග අහුරනු ලබනවා.
  • Authenticity - පණිවිඩයේ අාරම්භය තහවුරු කරනවා. මේ මගින් යවන්නා නිවැරදි බව හදුනාගැනීමට.
  • Intergrity - විශ්වාසයක් ලබාදෙනවා මුලින් යැවුණු පණිවිඩයම නැවතත් ලැබෙනවා කියලා වෙනසකින් තොරව
  • Nonrepudiation - මේ වචනය පාවිච්චි කරනවා මනුස්සයෙක්ගෙ නාෙහැකියාව කියන්න යමක් ප්‍රතික්ෂේප කරන්න.
One time pad - මේක සොයාගත්තෙ 1917දී Gilbert Vernam.මේකෙදි පණිවිඩය binary කරනවා. ඊලගට බිහි වෙනවා one time pad ඒකක්, ඒක සමන්විත වෙන්නේ random sequence of bits වලින්.
ciphertext හදන්න plaintext ඒක exclusive-ORed වෙනවා 
Decrypt වෙන්නත් ciphertext ඒක one time pad හරහා යවන්න ඔින.
පහත කරුණු සම්පූර්ණ වුනාම one-time pad ඒක unbreakable වෙනවා. 
  • pad පාවිච්චි කරන්න පුලුවන් තනි පාරයි.
  • pad ඒකත් message ඒක තරම්ම දිග වෙන්න ඔින.
  • pad ඒක තනිකරම random values වලින් හැදිලා තියෙන්න ඔින.
Running Key Cipher 
මේ cipher ඒක අැල්ගොරිතමයක් මත නෙවෙයි පදනම් වෙන්නෙ. මේක පදනම් වෙන්නෙ යම් පොතක යම් පිටුවක අකුරු මත.
  • Plaintext - f l e e a t o n c e
  • Running key - E R R O R S C A N
  • Ciphertext - J C V S R L Q N P S
  • යතුර ගත්තේ The C program language page 63 line 1
  • create කරනවා fake block ඒකක් page number හා line number ඒක පෙනෙන්න.
  • Indicater block වෙන්නෙ (06301)- AGDAB

Stenography - වෙනත් මාධ්‍ය වර්ගයක දත්ත සගවනු ලබනවා.මෙමගින් දත්ත සියල්ලම සැගවෙනවා. සාමාන්‍යයෙන් නම් image fileඒකක සගවනවා. මෙහෙම කළාම රූපයේ අවසාන pixel ඒකේ අවසාන bit ඒක දක්වාම පණිවිඩය අරන් යන්න පුලුවන් රූපයේ පෙනුමට බාධාවක් වෙන්නෙ නැතුව.

Transportation Cipher
  • Rail fence cipher -මුලින් තිබුණු පිළිවෙල නොගැලපෙන අාකාරයට පැවතුන diagram ඒක පසුව නිවැරදි පිළිවෙලට සකස්කරලා ඉදිරිපත් කළාම පහත අාකාරය වෙනවා.
APPLEISVERYTASTY →→ ERYTAPPLASTYEISV
   1   2   3  4
2  A P P L
4 E I  S   V 
1 E R Y
3 A S T Y


 X   1   2   3  4
1  E  R Y T
2 A P  P   L 
3 A S T
4 E I S V
අද පාඩම නොතේරුනු තැන් පහළින් ලියන්න යාලුවනේ. තවත් කොටසක් අරන් ලගදිම හමුවෙමු.

Monday, April 17, 2017

Information Security ගැන ඔබ දන්නේ මොනවාද? - 2 පාඩම

තවත් පරක්කු කරන්නේ මොකටද කියලා අපේ අලුත් පාඩමේ දෙවෙනි කොටසටත් අපි අාවා. අද කොටසෙන් අපි කථා කරන්නේ Information Security Management ගැන.
Security වල ප්‍රධාන පියවර 3කට බෙදන්න පුලුවන්...

  • Availability - මේ මගින් reliability නැත්නම් විශ්වාසනීයත්වය හා timely access to data and resources to authorized individuals තවත් විදියකට කියනවානම් දත්ත හා අවශ්‍ය සම්පත් ඊට බලය අැති අයට අවශ්‍ය වේලාවේදී ලබාගැනීමේ හැකියාව
  • Integrity - අපි මේකටම කියනවා අවංකත්වය කියලත්. දත්ත හා පද්ධතිවල නිරවද්‍ය බව තහවුරු කරන්න හා වැඩි කරන්න වගේම දත්ත භාවිතා කිරීමේ අයිතිය, දත්ත භාවිතය ඒවා කියවීමට අයිතියක් නැති අයගෙන් අෑත් කර තබාගැනීමත් මීට අයිතියි.
  • Confidentiality - මේ මගින් තහවුරු කරගන්නේ necessary level of secrecy, ගැලපෙන ප්‍රමාණයට රහස්‍යභාවය. ඒ වගේම unauthorized disclosure - අනවශ්‍ය හෙළිදරවු වීම් වලක්වනවා.
සාමාන්‍යයෙන් පෞද්ගලික අංශයේ ව්‍යාපාර වල දත්තවල integrity හා availability වලට වැදගත්කමක් ලබාදෙනවා.

නමුත් අාරක්ෂක අංශ වලට වැදගත් වෙන්නේ confidentiality .

Vulnerability - මේකෙන් කියවෙන්නේ අනතුරට පත්විය හැකි බව ගැන
මේකෙ අර්ථ දැක්වීම තියෙන්නේ "A software, hardware, or procedural weakness that may provide an attacker the open door he is looking to enter a computer or network and have unauthorized access to resources within the environment. "
සරලවම කියනවානම් පරිසරය තුල පරිගණකයට පහරදෙන්නෙකුට ඊට පහසුකම් සළසාදීමට උදව් වන මෘදුකාංගයක් දෘඩාංගයක් හෝ පවතින යම් දුර්වලතාවයකට අපි කියන්නෙ Vulnerability කියලා.

  • Serverයක් තුල run වෙන services
  • OS තුල අැති unpatched applications
  • Restrict වුනේ නැති Dial -in access modems
  • Firewall තුල තියෙන open ports
  • Password Management වල තිබෙන දුර්වලතා 
Threat - තොරතුරු වලට හෝ පද්ධතියට සිදුවන ඔිනෑම විදිහේ අනතුරක් . යම් පුද්ගලයෙක් හෝ දෙයක් විශේෂ අනතුරුදායක vulnerability තත්වයක් හදුනාගෙන ඒ තත්වය සමාගමට විරුද්ධව භාවිතා කිරීමත් මේ නමින් හදුන්වන්න පුලුවන්. මේ විදියට මේ අඩුපාඩු වලින් වාසි ලබාගන්න පුද්ගලයාට අපි කියනවා threat agent කියලා. 
මේ threat agent වෙන්න පුලුවන් කිහිප දෙනෙක් ඉන්නවා.
  • Firewall port හරහා පරිගණකයකට අැතුල්වන පිටස්තරයන්
  • Security policy බිද වැටෙන අාකාරයට data access කරන ඔිනෑම ක්‍රියාවලියක්
  • නොදැන වැරදි විදියට system access කරන නිළධාරියෙක්
Risk - Vulnerabilityයකින් අැතිවන වාසිය ගන්න threat agent කෙනෙකුට අැති සම්භාවිතාව හා ඊට අනුරූපව ව්‍යාපාරයට අැති බලපෑම
Exposure - මේක යම් අාකාරයක උදාහරණයක් threat agent පාඩු ලබපු, යම් හෙළිදරව් වීමක් නිසා.


Countermeasures - මේකටම තමයි safeguard කියන්නෙත්.  මේක පාවිච්චි කරලා potential risk mitigate නැත්නම් අඩු කරගන්න පුලුවන්.

  • Strong Password Management
  • BIOS නැතිනම් Basic Input/Output System වල passwords implemet කිරීම
  • කාර්යමණ්ඩලයට security awareness සම්බන්ධ training දෙන්න පුලුවන්.
Threat agent --විසින් නිර්මාණය කරනවා-->Threat --අයුතු ලෙස ගන්නවා -->Vulnerability --මෙහෙයවනවා --> Risk-- හානිවෙන්න පුලුවන් -->Asset වලට -- ගැටලුවක් වෙන්න පුලුවන් --> Exposure වලට -- countermeasure කරන්න පුලුවන් --> Safeguard -- සෘජුවම බලපානවා --> Threat agentට

අාරක්ෂාව සම්බන්ධව වගකියන්නෙ කවුද???
සමාගමක ඉහළ කළමණාකාරීත්වය සෘජුවම වගකිව යුතුයි සමාගමේ තොරතුරු හා දේපළවල  අාරක්ෂාව සම්බන්ධව. ඒක IT adminගේ වගකීමක් නෙවෙයි. ඉහළ කළමණාකාරීත්වය අවශ්‍ය සම්පත්, අරමුදල් සැපයීම වගකීම් බෙදාදීම් වගේ දේවල් කරන්න ඔින. ඒ වගේම අාරක්ෂණ ක්‍රියාවලියේ ප්‍රගතිය පාලනය මෙයාලගෙ වගකීමක්. අාරක්ෂණ ක්‍රියාවලියේ වැඩකරන කණ්ඩායම වැඩ අාරම්භ කරන්න ඔින ඉහළ කළමණාකාරීත්වයේ අදහස් වලට අනුකුලව. 
Security Policy - මේක සමාගමක අාරක්ෂණ ක්‍රියාවලියේ පිටපතක් විදියට ඉදලා පියවරෙන් පියවර අවශ්‍ය පරිදි ගොඩනැගෙන්න ඉඩලබාදෙනවා.මේක හදන්නේ ඉහළ කළමණාකාරීත්වය. 
Security Policies වර්ග 3යි.
  1. Issue Specific Policies - functional implementing policy කියන්නෙත් මෙයාටම තමයි. තවදුරටත් email policy වගේ වැදගත් issues වලට අවශ්‍ය වෙනවා.
  2. System specific policies - මෙයා represent කරන්නේ management decisions. ඒවා හුගක් දුරට අදාල වෙන්නේ actual computers, networks, applications හා data වලට.
  3. Organizational Policies - අායතනයේ අනාගත අාරක්ෂක වැඩපිලිවෙළ සම්බන්ධ scope හා directions සපයන්නේ මේ මගින්.
ඉහළ කළමණාකාරීත්වය තමයි Security administration පත්කිරීම කරන්නේ. මේ admin තනි පුද්ගලයෙක් වෙන්නත් පුලුවන්. පුද්ගල කණ්ඩායමක් වෙන්නත් පුලුවන්.මේ තනතුරේ මූලික වගකීම වෙන්නේ අාරක්ෂණ ක්‍රියාවලියේ හුගක් විෂය කොටස් පාලනය කිරීම.

Due Diligence - මේක තමයි සමාගම මුහුණදෙන අවදානම් තත්ව හදුනාගන්නා හා ඒ සම්බන්ධව පරීක්ෂණ පැවැත්වීම 
Due Care - මේ මගින් තමයි අදාල අවදානම් වලින් ගැලවීමට අවශ්‍ය countermeasures සපයන්නේ මේ මගින් 
යම් සමාගමක් මේ due diligence හෝ due care පිළිබද පුහුණුවක් ලබාගන්නේ නැත්නම් නමුත් ඔවුන්ගේ දේපළ සම්බන්ධ පැහැදිලි වගකීමක් ඔවුන්ට තිබෙනවානම් ඒ අයට විරුද්ධව නීතිමය ක්‍රියාමාර්ගයක් වුවත් ගැනීමේ හැකියාවක් පවතිනවා. යම් හානියක් වුනොතින් ඒවා ඔවුන්ගේ නොසැලකිල්ල නිසා වුන දේවල් බවට ඔවුනටම වගකීමේ පැවරීමේ හැකියාවක් පවතිනවා.

සාමාන්‍ය අාරක්ෂණ වැඩසටහනක අරමුණු 3යි.
  1. කෙටිකාලීන අරමුණු
  2. මධ්‍යකාලීන අරමුණු
  3. දිගුකාලීන අරමුණු
අාරක්ෂණ පාලන ක්‍රියාවලිය
පරිගණක අාරක්ෂණය විශේෂයෙන්ම අනවසර දත්ත පිටතට යෑම්, අනවසර දත්ත යාවත්කාලීන වීම් හෝ පරිගණක පද්ධතියම අනවසර භාවිතය හෝ වෙනස් කිරීම, Denial of Service වගේ කරුණු නිසා ප්‍රධාන කරුණු 3කට බෙදන්න පුලුවන්.
  1. Administrative Control
  2. Technical Controls
  3. Physical Controls
  • Administrative Control - policies, standards, procedures හා guidelines නිර්මාණය හා පළකිරීම මෙහි කාර්යයක්
  • Technical Controls - control mechanisms නිර්මාණය හා නඩත්තුව, රහස් පද හා සම්පත් කළමණාකරණය, හදුනාගැනීම හා සහතික කරගැනීමේ මාර්ගය, අාරක්ෂණ උපාංග, යටිතල පහසුකම් සකස් කිරීම තමයි මේකෙන් කෙරෙන්නෙ.
  • Physical Controls - තනි තනිව භාවිතාකළ හැකිවන පරිද්දෙන් දෙපාර්තුමේන්තු අතර පාලනයක් සිදුකිරීම , පද්ධති පරික්ෂාකිරීම හා අනවශ්‍ය floppy හා CD rom අාදිය ඉවත්කිරීම, lock අාදිය දැමීම හා නඩත්තුව
Information Risk Management වලින් තමයි අපේ පරිසරයේ තියෙන අවදානම් හදුනාගෙන ඒවා වර්ගීකරණය කරලා පාලනය කරගත හැකි මට්ටමකට අඩු කරගෙන නිවැරදි ක්‍රමෝපායන් වලින් තත්වය පාලනය කරන්නේ. 

අවදානම් ප්‍රධාන කොටස් කිහිපයකට වර්ගීකරණය කරන්න පුලුවන්.
  • Physical Damage- ගින්දර, වතුර, බලශක්ති අහිමිවීම් හා ස්වභාවික විපත්
  • Human Interaction - අහම්බෙන් හෝ හිතාමතා සිදුකරණ ක්‍රියාවක් නිසා නිෂ්පාදන ක්‍රියාවලියට බලපෑම් අැති කරන්න පුලුවන්
  • Equipment Malfunction - පද්ධති හෝ සවිකර අැති උපාංග වල දෝෂ
  • Inside and Outside attacks - Hacking, crack කිරීම් හා පහරදීම්
  • Data misuse - වෙළද රහස් පිටතට ලබාදීම, බොරු කිරීම්, ඔත්තු බැලීම්, හොරකම් කිරීම්
  • Data Loss - දත්ත භාවිතයේදී වන නොසැලකිලිමත් බව නිසා දැනුවත්ව හෝ නොදැනුවත්ව දත්ත අහිමි වීම්
  • Application Error - පරිගණක දෝෂ, අාදාන දෝෂ හා Buffer overflows
Risk Analysis - සිදුවුන හානිය පැහැදිලිව හදුනාගෙන වුනු හානිය තක්සේරු කරගන්නවා. ඉන්පසු අාරක්ෂක පිළියම් යෙදිය යුතු ස්ථාන සොයාගන්නවා. මේක උදව්වක් වෙනවා අවදානම් පිළිවෙළට හදාගන්න(prioritize). ඒ වගේම ඉහළ කළමණාකාරීත්වය දැනුවත් කරන්න යන වියදම් සම්බන්ධව. 


Organizational Security Policy -
මෙහි ප්‍රධාන features කිහිපයක් අඩංගුයි.




  • අාරක්ෂණ වැඩසටහනක් සකස් වෙන්නේ කෙසේද? ඒ වැඩසටහනේ අරමුණු හා ඒවාට ලගාවන අාකාරය කොහොමද? වගකීම් ලබාදෙන්නේ කොහොමද?
  • අාරක්ෂාවේ උපායමාර්ගික වැදගත්කම හා අාකෘතියට අදාලවන වලංගුභාවය පවත්වාගෙන යන්නේ කොහොමද?
  • Policy මගින් කථා කරන්න ඔින අදාල වන නීති රෙගුලාසි හා ඒවා තෘප්තිමත් වීමට ඉටු විය යුතු කාර්යභාරය සම්බන්ධව
  • අායතනයේ අරමුණු වලින් තමයි policy නිර්මාණය වීමට උදව් වෙන්නේ. policy කියන ලියවිල්ල කියවීමේදී තේරුම් ගන්න පහසු වෙන්න ඔින වැඩ කරන අය policy ලියවිල්ල අත් පොතක් විදියට පාවිච්චි කරන්න පුලුවන් විදියට.
  • policy ලියවිල්ල නිර්මාණය විය යුත්තේ හා භාවිතා විය යුත්තේ සියළු ව්‍යාපාර කටයුතු වල කොටසක් වෙන විදිහට.
  • අපේ සමාගම තමන්ගේ ස්වරූපය වෙනස් කරන සෑම වෙලාවකම, අළුත් ව්‍යාපාරයක් හා සම්බන්ධ වන සෑම වෙලාවකම හිමිකාරීත්වය මාරු වෙන සෑම මොහොතකම policy ලියවිල්ලත් ඒ හා අනුරූපව වෙනස් විය යුතුයි.
  • වෙනස් වන සෑම අවස්ථාවකදීම ඒවා දින හා අංක යොදා පීලිවෙළට තැබිය යුතුයි.
  • policy ලියවිල්ල මත පාලනය වන සියලුම පිරිස් හට අදාල අවස්ථාවලට අනුව විසදුම් ලබාගත යුතුයි. මුළුමනින්ම policy ලියවිල්ල තුලින්ම විසදුම් ලබාගත යුතු වන්නේ නැහැ.
Policies ප්‍රධාන අාකාර 3යි
  1. Regulatory - ඔිනෑම අායතනයක් තමන්ට අදාලවන industry regulations වලට අදාලවුන standards වල පවතිනවාද කියන දේ තහවුරු කරන්නෙ මේ වර්ගය විසින්
  2. Advisory - මේ වර්ගය විසින් ඉතා ප්‍රබල ලෙස employeesලා ට අවවාද කරනවා අායතනය තුල තමන්ගේ හැසිරීම් හා ක්‍රියාවන් පවත්වාගත යුත්තේ කෙසේද යන්න සම්බන්ධව
  3. Informative - අායතනයට අදාල වේවි කියලා සිතෙන විදියේ මාතෘකා පිළිබදව employeesලාව දැනුවත් කරන්නේ මේ policyයෙන්. බලකිරීමක් නොවුනත් මේකත් කරන්නෙ ඉගැන්වීමක්.
Standards - මේවා භාවිතා වන්නේ නියෝගකළ ක්‍රියාකාරකම් නීති, රෙගුලාසි වගේ දේවල් සදහන් කරන්න. මේවා internal, external හෝ mandated(රාජ්‍ය නීති රෙගුලාසි) විදියට කොටස් වලට බෙදන්න පුලුවන්. මේ standards පාවිච්චි කරනවා specify කරගන්න දෘඩාංග හා මෘදුකාංග නිෂ්පාදන භාවිතා කරන අාකාරය සම්බන්ධව. usersලා ගේ හැසිරීම නිරීක්ෂණය කරන නිර්නායකයක් විදිහටත් මෙය භාවිතා වෙනවා.

Baseline - පද්ධතිය අාරක්ෂා කරගන්න අවශ්‍ය අවම අාරක්ෂා මට්ටම කොපමණක්ද කියන දේ define කරන්න තමයි මේක භාවිතා වෙන්නේ.

Guidelines - අපිට standards වගයක් ලැබුනත් ඒවා නිවැරදි විදිහට ගැලපෙන්නේ නැත්නම් පාරිභෝගිකයන්ට හා IT කාර්යමණ්ඩලයට ලබාදී තිබෙන උපදෙස් 

Procedures - යම් අරමුණක් සාක්ෂාත් කරගන්න පියවරෙන් පියවර සිදුකරනු ලබන ක්‍රියාකාරකම් වලට කියනවා procedures කියලා.

Information Classification - අපි දත්ත අාරක්ෂා කරන්න යොදාගන්න ක්‍රම වලට යන වියදම , අායතනයක අයවැයට සෑහෙන්න බලපානවා. හොදම වියදම් අඩු ක්‍රමයට කරන විදිහ ගැන තොරතුරු දෙන්නෙ Data classification වලින්. classifications කිහිපයක් තියෙන්න පුලුවන්. ඒවාට අදාලව වෙන වෙනම ක්‍රියාවලි තියෙන්න පුලුවන්. ඒ හැම ක්‍රමයකින්ම කියවෙන්න data අරගන්නෙ කොහොමද, පාවිච්චි කරන්නෙ කොහොමද, විනාශ කරන්නෙ කොහොමද කියන කාරණාව.

Information classifications ප්‍රධාන කොටස් 2යි.

  1. Private Business Classification
  2. Military classification
1. Private Business Classification Levels- ප්‍රධාන අාකාර 4යි
  • Confidential : මේ තොරතුරු, තොරතුරු පනත නිදහස යටතේ හෙළිදරව් disclosure වලින් නිදහස් කර අැත
  • Private : පෞද්ගලිකත්ව පරිසරය මත පදනම් වූ තොරතුරු. මේවා අායතනය තුල භාවිතයට පමණයි.
  • Sensitive : අනවසර වෙනස් වීමක් නිසා රහස්‍යභාවය හෝ විශ්වාසවන්ත භාවය නැතිවීමක් විය හැකි තොරතුරු
  • Public
2.Military Classifications - ප්‍රධාන අාකාර 5යි.
  • Top Secret : රටක ජනාධිපතිවරයෙකුට වගේ හිමිවන ඉහළ මට්ටමක්
  • Secret : රහස්‍ය පරිසරයක් මත පැවතිය යුතු තොරතුරු. මේවා හෙළිදරව් වීම නිසා අති විශාල හානියක් වීමට හැකියි
  • Confidential : මේ තොරතුරු පිටතට දීම නිසා රටේ ජාතික අාරක්ෂාවට යම් හානියක් වෙන්න පුලුවන්.
  • Sensitive but unclassified - කුඩා රහසක් වුනාට පිටතට ගියොත් විශාල හානියක්වෙන්න පුලුවන්. පරීක්ෂණයක ප්‍රතිඵල / සොෟඛය තොරතුරු වගේ දේවල්
  • Unclassified
Data Owner - මේ පුද්ගලයා සාමාන්‍යයෙන් කළමණාකරණ කණ්ඩායමේ සාමාජිකයෙක්. විශේෂ business unit ක ප්‍රධානියා වශයෙන් කටයුතු කරනවා. අදාල විෂය කොටසේ පවතින සියලුම තොරතුරු වල ultimate responsibility නැත්නම් අසාමාන්‍ය වගකීමක් ඔහු වෙත පැවරෙනවා. security controls ගැන, backup requirements හා classifications වලට අදාල security requirments වල වගකීම වගේම data access කරන්න ඔින කවුද නැත්තේ කවුද කියලා තීරණය කරන්නෙත් ඔහු.

Data Custodian - මොහු තමයි  data maintain හා  protection වලට ඉන්න පුද්ගලයා. මේ රාජකාරිය හුගක් වෙලාවට IT department ම සිදුකරනවා. නිවැරදි පරිදි data backups ලබාගැනීම, කාලයෙන් කාලයට දත්තවල intergrity validate කිරීම වගේ දේවල් මෙයා කරනවා.

Hardware Software වලට නඩත්තුවක් ලබාදුන්නත් දුර්වලම විදියට අාරක්ෂාව තර්ජනයට ලක්වෙන්නෙ මිනිසුන් අතින්.
Hacker attacks, outside espionage හෝ equipment failureටත් වැඩියෙන් security issues අැතිවෙනවා අහම්බෙන් වන අත්වැරදීම්, පුහුණුව මදිකම, සිතාමතා හෝ අහම්බෙන් අැතුල්වීම් වලදි. අනාගතයේ කරන දේවල් අපිට අනාවැකි පළකරන්න බැරි නිසා හානි අවම කරගන්න තමයි උත්සාහ කරන්න ඔින. 

Nondisclosure agreements - අලුතින් වැඩට පැමිණෙන සියලු දෙනා අායතනය හා සියලු දත්ත ප්‍රවේසම් කරන බවට වන පොරොන්දුව

Separation of duties - critical task නැත්නම් භාරදූර කාර්යභාරයක් තනිව අවසන් කරන්න අමාරුයි කියන කරුණ තහවුරු කරනවා.  Separation of duties කියන ක්‍රමය පුරුදු වෙන අායතනයක් collusion සිදුකිරීමට fraud කරන්නම ඔින. 

Collusion - මේ කියන්නෙ කුමන්ත්‍රණයක් ගැන. අවම වශයෙන් මිනිසුන් දෙදෙනෙක් කණ්ඩායමක් විදියට වැඩ කරනවා වංචාවක් කිරීමට.

Personnel Controls
  • Rotation of duties - හැම වෙලාවකම යම් පුද්ගලයෙක් තනි තනතුරක හුගකාලයක් සිටීම නුවනට හුරු නෑ. ඒ විදියට නැතුව දිගටම සිටියොත් ඔහු වැඩකරන කොටස තුල අාධිපත්‍යය ඔහු රදවා ගන්නවා.
  • Mandatory Vacations - sensitive data areas වල වැඩකරන අයව අනිවාර්යය නිවාඩු යැවිය යුතුමයි. යැවුන පසු අනෙක් අයට අදාල තනතුරු බලන ගමන්ම කලින් කෙනාගේ වංචාවල් සොයා බලන්න භාවිතා කරන්නත් පුලුවන්.
Employee termination - සාමාජිකයෙකු අායතනය හැරයන අවස්ථාවක ඔහු/ අැය අායතනය හැර යා යුතුයි හැකි ඉක්මනින් කළමණාකරුවෙකුගේ අනුදැනුම යටතේ. අායතනය සතු ඔහු භාවිතා කළ සියලු භාණ්ඩ ඔහු අාපසු බාරදිය යුතුයි. අදාල පුද්ගලයාගේ අායතනය සතු සියලු ගිණුම් වසා දැමිය යුතුයි.

Security Awareness Program - අායතනික දත්තවල අාරක්ෂාවට අායතනයේ සියලු දෙනාටම යම්කාලයක පුහුණුවක් ලබාදිය යතුයි.කළමණාකාරීත්වය පාරිභෝගිකයන් හා කාර්ය මණ්ඩලයට වෙන වෙනම පුහුණුව ලබාදිය යුතුයි.

සෑහෙන ලොකු පාඩම් කොටසක් පුලුවන් කරම් සරළව ඉදිරිපත් කලේ. ගැටලු තියෙනවාකම් පහළ ලින්කුව මගින් ලබාදෙන්න යාලුවනේ.
 




Friday, April 14, 2017

Information Security ගැන ඔබ දන්නේ මොනවාද? - 1 පාඩම

සෑහෙන කාලෙකට පස්සේ තවත් අලුත් මාතෘකාවක් ගැන කථා කරන්න හිතුවා. ඒ තමයි තොරතුරු අාරක්ෂණය ගැන.
මුලින්ම කියන්න ඔින පහුගිය අවුරුදු ගානටම ඒච්ච්ර කථාවට ලක්වුන මාතෘකාවක් නෙමෙයි මේක. ඒත් තමන්ගේ තොරතුරු වල පෞද්ගලිකත්වය නැති වෙලා ඒ දේවල් පොදු මාධ්‍ය වලට නිරාවරණය වෙන්න පටන් ගත්තම මිනිස්සු හිතන්න පටන් ගත්තා තමන්ගේ privacy  නැත්නම් පෞද්ගලිකත්වයට මේ වෙන්නේ මොකක්ද කියලා...
ඒත් අන්තිමට 2001 වෙනකොට ලෝකයේ ප්‍රධාන අායතන වලින් 85%ක්ම අාරක්ෂක බිදවැටීමක් නැත්නම් Security Breach කියන සංසිද්ධිය අත්විදලා තිබ්බා තනි වසරක් අැතුලත. මේ බිද වැටීම් නිසා 64% අායතන මූල්‍යමය පාඩු විදිමින් තමයි උන්නේ...
මේ 2001 තත්වේ. නමුත් අද වෙද්දි තත්වය ගැන අමුතුවෙන් කියන්න ඔින නෑනේ. අද වෙනකොට පරිගණක අපරාධ සාමාන්‍යකරණය වෙලා.

මේ තත්වය නිසාම තොරතුරු අාරක්ෂණය කියන වෘත්තිය කරළියට අැවිත් තියෙනවා. ප්‍රධාන තණතුරු කිහිපයක් හදුනගන්න පුලුවන් මේ විදියට.

  • Chief Information Security Officer 
  • Security Architects
  • Security Consultants
  • Security Engineers
  • Security Administrators
  • Security Auditors
  • Penetration Testers(Ethical Hackers)
  • Law Enforcement and Legal Officers.
මේ වෘත්තීන් සමගම ඒ වෘත්තිකයන්ගේ දැනුම බෙදාගන්න, ඒ අයව පුහුණු කරන්න, ඔවුන්ට අවශ්‍ය ප්‍රමිතිකරණයන් සපයන්න සංවිධාන බිහිවුනා.
  • (ISC)2 - International Information Systems Security Certification Consortium
  • ISSA - Information Systems Security Association
  • CERT - Computer Emergency Response Team
(ISC)2 අය තොරතුරු අාරක්ෂණය සම්බන්ධ සියලුම තොරතුරු CBK නැත්නම් Common Body of Knowledge විදියට වර්ගීකරණය කළා. මේ වර්ගීකරණය ලොව සියලුම තොරතුරු තාක්ෂණ වෘත්තීන් විසින් පිළිගනු ලැබුවා. CBK ප්‍රධාන domain 10ක් පවතිනවා.
  1. Information Security Management
  2. Access Control Systems and Methodology
  3. Physical Security
  4. Telecommunication and Network Security
  5. Cryptography
  6. Information Security Architecture and Models
  7. Business Continuity Planning and Disaster Recovery
  8. Software Development Security
  9. Operational Security
  10. Law, Investigation and Ethics
Secure Software නිර්මාණය කිරීමේදී සැලකිලිමත් විය යුතු කරුණු මොනවාද?
  • අාරක්ෂාවද මෘදුකාංගයේ ප්‍රධාන කොටසක් කියලා මතකයේ තියෙන්න ඔින.
  • Testing හා Auditing
  • Secure Software හදන ක්‍රමය නිතරම අමාරු ක්‍රියාවලියක් වෙන්නේ අැයි කියන කාරණාව.
  • ඒවාගෙ Risk අඩු කරන්න යොදලා තියෙන උපක්‍රම මාෙනවාද? - Threat Model
  • පද්ධතියක අනෙක් කොටස් වලින් අාරක්ෂාවට යොදාගන්න වැදගත් කොටස් වෙන් කරලා තබාගැනීම
අනතුරු තක්සේරුව - මේකට අපි කියනවා අනතුරු හදුනාගැනීම කියලත්
  • අදුනගන්නවා - අාරක්ෂා විය යුත්තේ මොනවාද?  කාගෙන්ද?  කොපමණ කාලයකටද? අාරක්ෂණයේ වටිනාකම කොපමණක්ද? කොපමණ හදිසියිද?
  • නිවැරදි මෘදුකාංග ඉංජිනේරු ක්‍රම භාවිතා වෙනවාද?
අාරක්ෂක පියවර
  • Buffer Overflows වගේ සාමාන්‍ය ගැටලු උද්ගතවීම වලක්වාගන්න ඔින
  • Attacks වලින් recover  වීමේ හැකියාවක් තියෙන්න ඔින. - Security අදාල වන අවස්ථා වල Traceability හා Auditing කරගැනීම
  • Monitoring - Attack වුනාට පස්සේ වුන දේ මුළුමනින්ම සොයාගැනීමේ හැකියාවක් තිබීම
  • Privacy, Confidentiality, Anonymity - දත්තවල රහස්‍යභාවය සුරකින්න පුලුවන් විය යුතුයි
  • Authenticity - Control  කිරීමට බලතල ලැබී පැවතිය යුතුයි
  • Integrity - අනවශ්‍ය විදියට නවීකරණය වීම් වලින් වැලකිය යුතුයි
  • Availability හා Reliability - DoS නැත්නම් Denial of Service attacks වල අවදානම පහත හෙලීම 
  1. දුර්වලම මාර්ගය අාරක්ෂා කරන්න - පහරදෙන්නන් මුලින්ම බලන්නේ පහසුම මාර්ගය. මේක අදුරගන්නෙ කොහොමද?  දුර්වලම මාර්ගය කියන්නේ මෘදුකාංග ප්‍රශ්නයක් නෙවෙයි. ඒ මාර්ගය පද්ධතියේ සාමාන්‍ය කොටසක් වෙන්න පුලුවන්.
  2. අාරක්ෂක උපක්‍රමය අනිවාර්යයෙන්ම ගැඹුරු විය යුතුයි - තනි අාරක්ෂාවකට වැඩිය පියවර කිහිපයක අාරක්ෂාවක් බිදීමට අපහසුයි ඒ වගේම කාලය ගත වෙනවා.
  3. අාරක්ෂා බිදවැටීම් - අති සංකීර්ණ පද්ධති ඉතා ඉක්මණින් බිද වැටෙනවා. ඒකට යම් පිලියමක් තියෙන්න ඔින. ගැටලුවක් හම්බුනු ගමන් පද්ධතිය නැවැත්වීම හෝ බිද දැමීම හොදයි. ඊට හේතුව වෙන්නේ පද්ධතිය continue වීම තව ප්‍රශ්න වලට හේතු වෙන්න පුලුවන් නිසා. සාමාන්‍යයෙන් හොද මෘදුකාංග සැලැස්මකට පුලුවන් බිද වැටීම් කළමනාකරණය කරගන්න තමන් විසින්ම.  exceptions handling වගේ දේවල්.
  4. ඔිනවට වඩා ඔින නෑ - පද්ධතියකට ඒකෙන් කළ යුතු දේවල් වලට වඩා දේවල් ලබාදිය යුතු නෑ. යම් පද්ධතියකට පැවරී අැති කාර්යයන් ඉටුකරන්න ලබා දිය යුතු සම්පත් ලබාදිය යුතුමයි. නමුත් සීමාවකින් තොරව නෙවෙයි. අපි මේකට කියනවා Principles of least Privilege කියලා
  5. වැඩ අංශ වලට පවරන්න - අංශ වලට කැඩීම නැත්නම් අපි කියනවා modularity වැදගත් වෙනවා ගැටලුවක් අාවට පස්සේ ඒක නිවැරදිව අදුනගන්න. රාජකාරි බෙදී යාමක් කියලා සලකන්නත් පුලුවන්. මේකට ගන්න පුලුවන් සාර්ථකම උදාහරණය තමයි බැංකුවක ගිණුම් පරීක්ෂක කෙනාට cashierගේ චෙක් පත් නිකුත් කරන්න බැහැ. මේකෙදි මේ අංශ 2ම සම්බන්ධ වෙලා තිබ්බානම් යම් අංශයක බිද වැටීමක් අනෙක් අංශයට ඝෘජුවම බලපාන්න තිබුනා.
  6. සරළ කරන්න - සංකීර්ණත්වය තමයි පොඩි පොඩි bugs වලට හේතු වෙන්නෙත්. ඔිනෑම පද්ධතියක default configuration අනිවාර්යයෙන්ම ප්‍රවේශම් විය යුතුමයි. 
  7. පෞද්ගලිකත්වයට මුල්තැන - තොරතුරු අනවශ්‍ය පරිදි නිකුත් කිරීමෙන් වැලකිය යුතුයි අනිවාර්යයෙන්ම. Credit card information වගේ තියෙන තැන්වල විශ්වාසනීයත්වය අනිවාර්යයෙන්ම සුරැකිය යුතුමයි. 
  8. රහස් රැකීම - රහසක් විශාල වෙන තරමට ඒක රැකගන්න අමාරුයි.  ඒ නිසා රහසිගත තොරතුරු සියල්ලම කවදාවත් තනි තැනක රැදවීම නුවනට හුරු නැත්තේ.
  9. හැම තිස්සේම සැක කරන්න - පද්ධතියක් අාරක්ෂිත වෙන්නනම් ඒකෙ අංශ සියල්ලම ක්‍රියාත්මක විය යුතුයි. නිතරම සැකයෙන් වැඩකරන්න. කේතයන් ඔබ ලියන ලද්දක් වුවත් බාහිරින් ලබාගත්තක් වුවත් නිතරම කේතයේ ප්‍රමිතිය පිළිබද සැලකිලිමත් වන්න.
  10. සමාජ භාවිතයෙන් ප්‍රයෝජන ලබාගන්න - මෘදුකාංග ඉංජිනේරුවන් අාරක්ෂක විශේෂඥයන් නොවේ. තමන් අතින් නිර්මාණය වන කේතයකට වඩා සමාජ සම්මත නිවැරදි කේතයක් භාවිතය හොද විය හැකියි.
අද පාඩමෙන් කථා කරන්න හිතුවෙ අාරක්ෂාව ගැන පොඩි කොටසක්. මේ ගැන තව තොරතුරු ඉදිරියට කථා කරමු අපි...

What is PowerShell -1

PowerShell mainly using by system administrators and system engineers to their daily work.  This task based command line mainly created by ...